/* ============================================================
   Plein cadre — système de design partagé (production)
   Arnaud Chapelle. Habillage cinématique : noir profond,
   blanc cassé, champagne. Police Jost. Photos plein cadre.
   Lié dans chaque page après la tête SEO.
   ============================================================ */
:root{
  --pc-noir:#0b0b0c; --pc-ivoire:#f4f1ec; --pc-champagne:#c9b9a0;
  --pc-gris:#8a867e; --pc-gris2:#cbc5ba; --pc-trait:#211f1d;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--pc-noir);font-family:'Jost',sans-serif;-webkit-font-smoothing:antialiased;color:var(--pc-ivoire)}
a{cursor:pointer}
img{max-width:100%;display:block}

/* ---------- barre de navigation (sur le hero, ou pleine) ---------- */
.pc-nav{position:absolute;left:24px;right:24px;top:24px;z-index:20}
.pc-nav.solid{position:relative;left:0;right:0;top:0;background:var(--pc-noir);padding:0 24px;border-bottom:1px solid var(--pc-trait)}
.pc-nav-top{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(201,185,160,.26)}
.pc-brand{font:300 17px/1 'Jost';letter-spacing:.26em;color:var(--pc-ivoire);text-decoration:none}
.pc-nav-utils{display:flex;align-items:center;gap:22px}
.pc-nav-utils .lang{font:400 11px 'Jost';letter-spacing:.18em;color:var(--pc-ivoire)}
.pc-nav-utils .lang span{color:var(--pc-gris)}
.pc-nav-utils a{font:400 11px 'Jost';letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,236,.8);text-decoration:none}
.pc-nav-main{height:56px;display:flex;align-items:center;justify-content:center;gap:38px}
.pc-nav-main a,.pc-nav-main span.lk{font:400 12px 'Jost';letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:rgba(244,241,236,.78);text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.pc-nav-main a.on{color:var(--pc-champagne);border-bottom:1px solid var(--pc-champagne);padding-bottom:4px}
.pc-burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.pc-burger b{width:24px;height:1.5px;background:var(--pc-ivoire);display:block}
@media(max-width:900px){.pc-nav-main{display:none}.pc-burger{display:flex}}
@media(max-width:600px){
  .pc-nav-top{padding:0 16px;height:52px}
  .pc-brand{font-size:15px;letter-spacing:.16em;white-space:nowrap}
  .pc-nav-utils .lang,.pc-nav-utils > a{display:none}
}

/* ---------- tiroir mobile (réutilise #drawer/#mbtn pour site.js) ---------- */
#drawer{position:fixed;inset:0;background:rgba(11,11,12,.97);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transform:translateX(100%);transition:transform .35s;padding:40px}
#drawer.open{transform:translateX(0)}
#drawer .dl{font:300 28px/1 'Jost';color:var(--pc-ivoire);text-decoration:none;padding:12px 0}
#drawer .dl:hover{color:var(--pc-champagne)}
#drawer .dc{position:absolute;top:28px;right:28px;background:none;border:0;color:var(--pc-ivoire);font-size:26px;cursor:pointer}
#drawer .dl-sub{font:300 18px/1 'Jost';color:var(--pc-gris2);text-decoration:none;padding:8px 0;display:block}
#drawer .dl-accordion{text-align:center}
#drawer .dl-accordion-trigger{background:none;border:0;color:var(--pc-ivoire);font:300 28px/1 'Jost';cursor:pointer;padding:12px 0}
#drawer .dmail{margin-top:18px;font:300 13px 'Jost';color:var(--pc-gris)}
#drawer .dmail a{color:var(--pc-gris);text-decoration:none}

/* ---------- hero ---------- */
.pc-hero{position:relative;height:100vh;min-height:620px;overflow:hidden;background:var(--pc-noir)}
.pc-hero.slim{height:64vh;min-height:420px}
.pc-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pc-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,11,12,.5), rgba(11,11,12,.08) 38%, rgba(11,11,12,.64))}
.pc-frame{position:absolute;inset:24px;border:1px solid rgba(201,185,160,.45);pointer-events:none;z-index:10}
.pc-hero-content{position:absolute;left:0;right:0;bottom:92px;text-align:center;padding:0 60px;z-index:15}
.pc-eyebrow{font:400 11px/1 'Jost';letter-spacing:.42em;text-transform:uppercase;color:var(--pc-champagne);margin-bottom:24px}
.pc-hero h1{font:200 72px/1.04 'Jost';color:var(--pc-ivoire);margin:0 0 32px}
.pc-hero h1 em,.pc-h2 em{font-style:italic;font-weight:200;color:#ece3d4}
.pc-scroll{position:absolute;left:0;right:0;bottom:44px;text-align:center;font:400 10px 'JetBrains Mono','Jost',monospace;letter-spacing:.2em;color:rgba(244,241,236,.5);z-index:15}

/* ---------- hero : diaporama + version mobile « photo entière » (partagé) ----------
   Ordi : la/les photo(s) remplissent le bandeau (.pc-hero-slides en couvrant).
   Mobile (≤760px) : on passe en colonne — ambiance floutée derrière, GRANDE photo
   entière au ratio 3/2 (jamais coupée), liserés cuivre, texte en flux dessous.
   Toute page hero doit envelopper sa/ses photo(s) dans .pc-hero-slides > .pc-hero-bg.active
   et poser un <div class="pc-hero-amb"> (ambiance). Voir mariage.php pour le gabarit. */
.pc-hero-slides{position:absolute;inset:0;z-index:0}
.pc-hero-slides .pc-hero-bg{opacity:0;transition:opacity 1.4s ease}
.pc-hero-slides .pc-hero-bg.active{opacity:1}
@media(prefers-reduced-motion:reduce){.pc-hero-slides .pc-hero-bg{transition:none}}
.pc-hero-amb{display:none}
@media(max-width:760px){
  .pc-hero{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:96px 0 44px}
  .pc-hero-amb{display:block;position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:blur(5px) brightness(.45);transform:scale(1.12)}
  .pc-hero-slides{position:relative;order:2;width:100%;margin:0;aspect-ratio:3/2;z-index:1}
  .pc-hero-slides .pc-hero-bg{background-position:center !important}
  .pc-hero-slides::before,.pc-hero-slides::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:var(--pc-champagne);z-index:3}
  .pc-hero-slides::before{top:-11px}
  .pc-hero-slides::after{bottom:-11px}
  .pc-hero-veil,.pc-frame,.pc-scroll{display:none}
  .pc-hero-content{order:3;position:static;left:auto;right:auto;bottom:auto;padding:0 24px;z-index:2}
}

/* ---------- boutons : pilule arrondie, façon « Voir mes tarifs » (home) ----------
   Pleins champagne = action principale (bien visible) · contour champagne = secondaire. */
.pc-btn{font:400 12px 'Jost';letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:14px 32px;display:inline-block;border-radius:40px;transition:background .25s,border-color .25s,color .25s}
.pc-btn.ghost{color:var(--pc-champagne);border:1px solid rgba(201,185,160,.6);background:transparent}
.pc-btn.ghost:hover{background:rgba(201,185,160,.12);border-color:var(--pc-champagne);color:#ece3d4}
.pc-btn.solid{color:var(--pc-noir);background:var(--pc-champagne)}
.pc-btn.solid:hover{background:#ece3d4}
.pc-btn.champ{color:var(--pc-noir);background:var(--pc-champagne)}
.pc-btn.champ:hover{background:#ece3d4}

/* ---------- sections ---------- */
.pc-sec{padding:110px 60px}
.pc-sec.center{text-align:center}
.pc-h2{font:200 44px/1.2 'Jost';color:var(--pc-ivoire);margin:0}
.pc-lead{font:300 16px/1.8 'Jost';color:var(--pc-gris);max-width:52ch;margin:26px auto 0}
.pc-wrap{max-width:980px;margin:0 auto}

/* ---------- pied de page ---------- */
.pc-foot{background:var(--pc-noir)}
.pc-foot-in{margin:0 22px 22px;border:1px solid rgba(201,185,160,.3);padding:56px 44px 0}
.pc-foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;align-items:start}
.pc-foot h4{font:400 10px 'Jost';letter-spacing:.26em;text-transform:uppercase;color:var(--pc-champagne);margin-bottom:20px;font-weight:400}
.pc-foot a{font:300 15px 'Jost';color:var(--pc-gris2);text-decoration:none;display:block;margin-bottom:13px}
.pc-foot .brand{font:300 22px/1 'Jost';letter-spacing:.22em;color:var(--pc-ivoire);text-decoration:none;display:inline-block;margin-bottom:18px}
.pc-foot p{font:300 14px/1.7 'Jost';color:var(--pc-gris);max-width:32ch}
.pc-foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--pc-trait);margin-top:52px;padding:22px 0;font:400 11px 'Jost';letter-spacing:.14em;text-transform:uppercase;color:var(--pc-gris)}
.pc-foot-bottom a{color:var(--pc-gris);text-decoration:none;display:inline}
.pc-foot-bottom .soc a{color:var(--pc-gris2)}
@media(max-width:760px){.pc-hero h1{font-size:44px}.pc-h2{font-size:32px}.pc-foot-cols{grid-template-columns:1fr 1fr;gap:28px}.pc-sec{padding:72px 24px}}

/* ---------- bouton « remonter en haut » (injecté par site.js) ----------
   Placé AU-DESSUS de la bulle du chat Crisp (qui occupe le coin bas-droit,
   ~60px + marges) : avant le 2026-07-07, la bulle recouvrait la flèche. */
#to-top{position:fixed;right:24px;bottom:100px;z-index:95;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(201,185,160,.94);color:#0b0b0c;border:none;border-radius:50%;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,visibility .3s,transform .3s,background .25s;box-shadow:0 6px 22px rgba(0,0,0,.45)}
#to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
#to-top:hover{background:#ece3d4}
@media(max-width:600px){#to-top{right:18px;bottom:92px;width:42px;height:42px}}
