:root{
  --gold1:#9B7A2A; --gold2:#C9A64E; --gold3:#E9D088;
  --ink:#0f0f0f; --muted:#616161; --ring:#efe9d1; --bg:#ffffff;
  --container:1160px; --fs-body:19px; --lh-body:1.75;
  --fs-h1:48px; --fs-h2:36px; --fs-h3:24px;
}
@media(max-width:720px){ :root{ --fs-body:17px; --fs-h1:34px; --fs-h2:30px; --fs-h3:22px; } }
*{box-sizing:border-box} html,body{margin:0;padding:0} html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:#fff;color:var(--ink);line-height:var(--lh-body);font-size:var(--fs-body)}
.wrap{max-width:var(--container);margin:0 auto;padding:0 20px}
a{color:inherit;text-decoration:none;position:relative}
a:hover::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,var(--gold1),var(--gold3))}
/* Header + menu */
header.site{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--ring);z-index:20}
.topbar{display:flex;align-items:center;gap:12px;height:64px}
.topbar img{height:36px;width:36px;border-radius:8px}
.brand{font-weight:800;letter-spacing:.12em;margin-left:6px}
.hamburger{position:fixed;left:14px;top:12px;height:44px;width:48px;border:1.5px solid var(--gold2);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.hamburger .bars{width:22px;height:16px;position:relative}
.hamburger .bars::before,.hamburger .bars::after,.hamburger .bars span{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(135deg,var(--gold1),var(--gold2));border-radius:2px;transition:.25s}
.hamburger .bars::before{top:0}.hamburger .bars span{top:7px}.hamburger .bars::after{bottom:0}
.hamburger[aria-expanded='true'] .bars::before{transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded='true'] .bars::after{transform:translateY(-7px) rotate(-45deg)}
.hamburger[aria-expanded='true'] .bars span{transform:scaleX(0)}
.menu{position:fixed;inset:0;z-index:1000;display:none;opacity:0; transform:translateY(-12px); transition:opacity .35s ease, transform .35s ease}
.menu[data-open='true']{display:block; opacity:1; transform:translateY(0)}
.menu .backdrop{position:absolute;inset:0;background:rgba(255,255,248,.92);backdrop-filter: blur(6px)}
.menu .panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px}
.menu .list{width:min(520px,92vw);text-align:center}
.menu .list a{display:block;padding:14px 0;font-weight:800;letter-spacing:.04em}
.menu .list a + a{border-top:1px solid var(--ring)}
.menu .list a:hover{background:linear-gradient(90deg,rgba(246,232,177,.65),transparent);border-radius:10px}
.menu .title{position:absolute;top:32px;left:50%;transform:translateX(-50%);font-weight:800;letter-spacing:.1em;color:#666}
/* Typo + gold */
h1,h2,h3{font-family:'Cinzel',serif;margin:0}
h1{font-size:var(--fs-h1);line-height:1.2}
h2{font-size:var(--fs-h2);line-height:1.2}
h3{font-size:var(--fs-h3);line-height:1.25}
.gold{background:linear-gradient(135deg,var(--gold1),var(--gold2),var(--gold3));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 .5px 0 rgba(160,120,34,.25)}
.divider{width:100px;height:2px;margin:12px auto 20px;background:linear-gradient(90deg,var(--gold1),var(--gold3));border-radius:1px;position:relative;overflow:hidden}
/* Sections */
.about{padding:110px 0 30px;text-align:center}
.about p{max-width:68ch;margin:22px auto 0;color:var(--muted)}
.hero{position:relative;min-height:72vh;background:url('assets/hero_bg.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;border-top:1px solid var(--ring)}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(1100px 600px at 50% 60%, rgba(0,0,0,.30), rgba(0,0,0,.58)), linear-gradient(180deg, rgba(155,122,42,.18), transparent)}
.hero .inner{position:relative;z-index:2;max-width:800px;padding:22px 20px}
.hero .slogan{font-size:16px;color:#ededed;opacity:.9;margin:0 0 12px;font-style:italic;letter-spacing:.2px}
.hero h1{font-size:30px;line-height:1.18;margin:0;color:transparent;background:linear-gradient(135deg,var(--gold1),var(--gold2),var(--gold3));-webkit-background-clip:text;background-clip:text;font-style:italic}
.page-title{padding:54px 0 8px;text-align:center}
.section{padding:56px 0;border-top:1px solid var(--ring)}
.section:first-of-type{border-top:none}
.section .wrap-narrow{max-width:900px;margin:0 auto;padding:0 20px;text-align:center}
footer{border-top:1px solid var(--ring);padding:30px 0;color:#8a8a8a;text-align:center}
/* Forms */
.form .row{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.form .row{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px}
label{font-weight:600}
input,textarea{border:1px solid var(--ring);border-radius:12px;padding:12px 12px;font:inherit}
textarea{min-height:120px;resize:vertical}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.btn,.cta{display:inline-block;padding:12px 20px;border-radius:14px;border:1.5px solid var(--gold2);background:#fff;font-weight:800;letter-spacing:.05em;transition: all .25s ease}
.btn:hover,.cta:hover{background:linear-gradient(135deg,var(--gold1),var(--gold2),var(--gold3));color:#121212;border-color:transparent;box-shadow:0 12px 24px rgba(201,166,78,.28);transform:translateY(-2px)}
/* Animations soft */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1; transform: translateY(0)}
}
/* Correction bouton Envoyer sur mobile */
button.btn[type="submit"] {
  font-size: 16px !important;
  color: #fff !important;      /* adapte la couleur si besoin */
  text-indent: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

button.btn[type="submit"]::before,
button.btn[type="submit"]::after {
  content: none !important;
}
/* --- Fix bouton Envoyer (toujours visible, mobile + desktop) --- */
.actions .btn,
button[type="submit"] {
  display: inline-block;
  padding: .75rem 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important; /* iOS/Safari */
  text-shadow: none !important;
  background: #b18c47;          /* ton doré */
  border: 1px solid #b18c47;
  border-radius: 28px;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

.actions .btn:hover,
button[type="submit"]:hover {
  filter: brightness(1.06);
}
