/* ============================================================
   CSS commun Maison Oxala — démo Paynel Web traiteur & réceptions
   Inclus dans chaque page : /prestations/, /devis/, /contact/
   Thème SOMBRE gastronomique — espresso + or + lie-de-vin
   ============================================================ */

:root{
  --noir:#16120e;--noir2:#1f1812;--noir3:#2a2118;--noir4:#352a1e;
  --creme:#f4ecdd;--creme2:#d9cdb8;--creme3:#a89b84;
  --or:#c9a24b;--or-d:#a8853a;--or-l:#e6cf94;
  --vin:#8c2f43;--vin-l:#b04458;--vin-d:#6e2435;
  --ligne:rgba(201,162,75,.18);--ligne2:rgba(201,162,75,.30);
  --rouge:#e2001a;--rouge-d:#b30014;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:'Jost',sans-serif;background:var(--noir);color:var(--creme2);overflow-x:hidden;padding-top:38px;line-height:1.55;font-weight:300;}
::selection{background:var(--or);color:var(--noir);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ---- Bandeau démo (signature Paynel, rouge) ---- */
.demo-bar{position:fixed;top:0;left:0;right:0;z-index:300;background:var(--rouge);color:#fff;padding:8px 18px;text-align:center;font-family:'Jost',sans-serif;font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid #fff;}
.demo-bar a{color:#fff;text-decoration:underline;font-weight:700;}
.demo-bar .demo-tag{display:inline-block;background:#fff;color:var(--rouge);padding:2px 8px;margin-right:8px;letter-spacing:1.5px;font-weight:700;}
@media(max-width:560px){.demo-bar{font-size:11px;padding:7px 12px;}.demo-bar .demo-tag{font-size:10px;}}

/* ---- Navigation ---- */
nav.resto{position:fixed;top:38px;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,52px);height:74px;background:rgba(22,18,14,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--ligne);}
.resto-logo{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;color:var(--creme);letter-spacing:.01em;line-height:1;}
.resto-logo span{color:var(--or);font-style:italic;}
.resto-tag{font-family:'Jost',sans-serif;font-size:9px;color:var(--creme3);letter-spacing:.32em;display:block;margin-top:4px;text-transform:uppercase;font-weight:400;}
.resto-menu{display:flex;gap:4px;align-items:center;}
.resto-menu a{font-family:'Jost',sans-serif;font-weight:400;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--creme2);padding:8px 14px;transition:color .2s;}
.resto-menu a:hover,.resto-menu a.active{color:var(--or);}
.resto-cta{background:var(--or)!important;color:var(--noir)!important;font-weight:600!important;padding:11px 22px!important;border-radius:1px;transition:background .2s!important;letter-spacing:.12em!important;}
.resto-cta:hover{background:var(--or-l)!important;}
@media(max-width:880px){.resto-menu a:not(.resto-cta){display:none;}}
@media(max-width:480px){nav.resto{padding:0 16px;}.resto-logo{font-size:24px;}}

/* ---- En-tête de page ---- */
.ph{position:relative;z-index:5;padding:132px 22px 56px;text-align:center;}
.ph-eyebrow{font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--or);margin-bottom:22px;display:inline-flex;align-items:center;gap:14px;}
.ph-eyebrow::before,.ph-eyebrow::after{content:'';width:32px;height:1px;background:var(--or);opacity:.55;}
.ph h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(44px,7vw,86px);line-height:1;letter-spacing:-.5px;color:var(--creme);margin-bottom:20px;}
.ph h1 span{color:var(--or);font-style:italic;}
.ph h1 .vin{color:var(--vin-l);font-style:italic;}
.ph .lead{font-size:17px;color:var(--creme2);line-height:1.8;max-width:640px;margin:0 auto;font-weight:300;}
.ph .lead em{color:var(--or-l);font-style:italic;}
.ph .lead strong{color:var(--creme);font-weight:500;}

/* ---- Sections ---- */
section.sec{position:relative;z-index:5;max-width:1140px;margin:0 auto;padding:62px 22px;}
.eyebrow{display:inline-flex;align-items:center;gap:13px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.36em;text-transform:uppercase;color:var(--or);margin-bottom:18px;font-weight:400;}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--or);opacity:.55;}
h2.st{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.5px;margin-bottom:20px;color:var(--creme);}
h2.st .or{color:var(--or);font-style:italic;}
h2.st .vin{color:var(--vin-l);font-style:italic;}
p.lead{font-size:16.5px;color:var(--creme2);line-height:1.85;max-width:700px;margin-bottom:14px;font-weight:300;}
p.lead strong{color:var(--creme);font-weight:500;}

/* ---- Boutons ---- */
.btn{font-family:'Jost',sans-serif;font-weight:500;font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;padding:16px 34px;display:inline-flex;align-items:center;gap:10px;border:none;cursor:pointer;transition:transform .2s var(--ease),background .2s,color .2s;text-decoration:none;border-radius:1px;}
.btn-or{background:var(--or);color:var(--noir);}.btn-or:hover{background:var(--or-l);transform:translateY(-2px);}
.btn-vin{background:var(--vin);color:#fff;}.btn-vin:hover{background:var(--vin-l);transform:translateY(-2px);}
.btn-out{background:transparent;color:var(--creme);border:1px solid var(--ligne2);}.btn-out:hover{border-color:var(--or);color:var(--or);}

/* ---- Bloc CTA Paynel (rouge, signature) ---- */
.demo-cta{background:linear-gradient(135deg,var(--rouge) 0%,var(--rouge-d) 100%);padding:56px 22px;text-align:center;position:relative;z-index:5;border-top:3px solid #fff;border-bottom:3px solid #fff;margin-top:50px;}
.demo-cta::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.04) 10px,rgba(255,255,255,.04) 20px);pointer-events:none;}
.demo-cta-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;}
.demo-cta .label{display:inline-block;background:#fff;color:var(--rouge);font-family:'Jost',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;padding:6px 14px;margin-bottom:20px;}
.demo-cta h3{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(23px,3.8vw,36px);text-transform:uppercase;line-height:1.12;letter-spacing:.01em;color:#fff;margin-bottom:12px;}
.demo-cta h3 .it{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;display:block;margin-top:8px;font-size:.78em;}
.demo-cta p{font-size:15px;color:rgba(255,255,255,.94);line-height:1.7;max-width:620px;margin:0 auto 24px;font-weight:300;}
.demo-cta p strong{color:#fff;background:rgba(0,0,0,.16);padding:2px 8px;font-weight:500;}
.demo-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.demo-cta .btn-wb{background:#fff;color:var(--rouge);font-weight:600;padding:14px 30px;}
.demo-cta .btn-wb:hover{background:var(--noir);color:#fff;transform:translateY(-2px);}
.demo-cta .btn-wo{background:transparent;color:#fff;border:2px solid #fff;font-weight:500;padding:12px 30px;}
.demo-cta .btn-wo:hover{background:#fff;color:var(--rouge);}

/* ---- Pied de page ---- */
footer{background:var(--noir2);text-align:center;padding:46px 22px;font-family:'Jost',sans-serif;font-size:12px;color:var(--creme3);letter-spacing:.04em;line-height:2;position:relative;z-index:5;font-weight:300;border-top:1px solid var(--ligne);}
footer .resto-foot{font-family:'Cormorant Garamond',serif;color:var(--creme);font-size:27px;margin-bottom:10px;letter-spacing:.01em;font-weight:600;}
footer .resto-foot span{color:var(--or);font-style:italic;}
footer .resto-foot-meta{display:flex;justify-content:center;gap:18px;margin-top:12px;flex-wrap:wrap;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
footer .resto-foot-meta a{color:var(--creme2);}
footer .resto-foot-meta a:hover{color:var(--or);}
footer .legal{margin-top:22px;color:#7a6f5d;border-top:1px solid var(--ligne);padding-top:20px;}
footer a{color:var(--creme2);}footer a:hover{color:var(--or);}
footer .legal a{color:#8a7e6a;text-decoration:underline;}

/* ---- Fond : lumières de réception + dégradés chauds ---- */
.wave-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 50% -5%,rgba(201,162,75,.10),transparent 60%),
    radial-gradient(ellipse 80% 50% at 85% 115%,rgba(140,47,67,.10),transparent 62%),
    radial-gradient(ellipse 70% 50% at 10% 80%,rgba(201,162,75,.06),transparent 60%);
}
.wave-bg::after{content:'';position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 18% 30%,rgba(230,207,148,.10) 0,transparent 2px),
    radial-gradient(circle at 72% 18%,rgba(230,207,148,.09) 0,transparent 2.5px),
    radial-gradient(circle at 88% 62%,rgba(230,207,148,.07) 0,transparent 2px),
    radial-gradient(circle at 32% 78%,rgba(230,207,148,.08) 0,transparent 2px),
    radial-gradient(circle at 55% 45%,rgba(230,207,148,.05) 0,transparent 2px);
  background-size:cover;}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition:none!important;}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ---- Filet décoratif doré (séparateurs) ---- */
.rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--or);margin:6px 0 26px;}
.rule::before,.rule::after{content:'';height:1px;width:54px;background:var(--or);opacity:.5;}
.rule .dot{width:5px;height:5px;background:var(--or);transform:rotate(45deg);}
