/*
Theme Name: Monarchie Paris
Theme URI: https://monarchieparis.com
Author: Monarchie Paris
Author URI: https://monarchieparis.com
Description: Sacre Royal — a dark-led luxury block theme for Monarchie Paris. Gold hairline accents, square corners, Cinzel + Cormorant Garamond, condensing navbar, editorial bands and a Sun-King aesthetic.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: monarchieparis
*/

/* ============================================================
   THEME TOKENS — dark is the lead theme
   ============================================================ */
:root{
  /* brand constants (shared across themes) */
  --gold:#C9A24B;
  --gold-hi:#D9BC74;
  --gold-deep:#9A7322;
  --oxblood:#5B1A1A;

  /* DARK palette (lead) */
  --bg:#0A0A0A;
  --bg-2:#0E0D0B;
  --surface:#141210;
  --ink:#F4F1EA;
  --ink-muted:#B8B0A0;
  --hairline:rgba(201,162,75,0.40);
  --accent:var(--gold);
  --accent-strong:var(--gold-hi);
  --hero-veil:linear-gradient(180deg,rgba(8,8,8,0.30) 0%,rgba(8,8,8,0.45) 45%,rgba(8,8,8,0.88) 100%);
  --nav-solid:rgba(10,10,10,0.86);
  --on-gold:#0A0A0A;
}

/* ============================================================
   GLOBAL RESET / BASE
   ============================================================ */
html{scroll-behavior:smooth;font-size:115%}
body.wp-site-blocks,body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.18rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .8s ease,color .8s ease;
  overflow-x:hidden;
}
.wp-site-blocks{background:var(--bg)}

h1,h2,h3,.cinzel,.wp-block-heading{
  font-family:"Cinzel",serif;
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.22em;
  line-height:1.15;
  color:var(--ink);
}
a{color:inherit}
img{display:block;max-width:100%;height:auto}

/* layout helpers */
.wrap,.mp-wrap{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:clamp(1.5rem,5vw,4rem);padding-right:clamp(1.5rem,5vw,4rem)}
.mp-content{max-width:760px;margin-left:auto;margin-right:auto;padding-left:clamp(1.5rem,5vw,4rem);padding-right:clamp(1.5rem,5vw,4rem)}
.mp-section{padding-top:clamp(5rem,11vw,9rem);padding-bottom:clamp(5rem,11vw,9rem)}
.mp-section.tight{padding-top:clamp(4rem,9vw,7rem);padding-bottom:clamp(4rem,9vw,7rem)}
.bg-2{background:var(--bg-2)}
.wp-site-blocks > footer{margin-block-start:0}
.wp-site-blocks > *{margin-block-start:0}

/* ============================================================
   ANIMATION / KEYFRAMES
   ============================================================ */
@keyframes heroScale{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes ruleDraw{from{width:0}to{width:clamp(140px,30vw,360px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hintPulse{0%,100%{opacity:.4;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}
@keyframes sunSpin{to{transform:rotate(360deg)}}
@keyframes ping{0%{transform:translateX(-50%) scale(.4);opacity:.7}100%{transform:translateX(-50%) scale(2.4);opacity:0}}

/* Reveal-on-scroll */
.reveal,.animate-on-scroll{opacity:0;transform:translateY(34px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.reveal.in,.animate-on-scroll.is-visible{opacity:1;transform:none}

/* ============================================================
   NAVBAR — header part (condense on scroll)
   ============================================================ */
.mp-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:1.4rem;
  padding:1.6rem clamp(1.5rem,5vw,4rem);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .7s ease,padding .7s ease,border-color .7s ease,backdrop-filter .7s ease;
}
.mp-nav.solid{
  background:var(--nav-solid);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--hairline);
  padding:.9rem clamp(1.5rem,5vw,4rem);
}
.nav-mark{display:flex;align-items:center;gap:.7rem;text-decoration:none;
  opacity:0;transform:translateX(-12px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
.mp-nav.solid .nav-mark{opacity:1;transform:none;pointer-events:auto}
/* page-title templates (no full hero) keep the mark visible immediately */
.mp-nav.always-solid .nav-mark{opacity:1;transform:none;pointer-events:auto}
.nav-mark svg{width:22px;height:30px}
.nav-mark svg path{fill:var(--accent)}
.nav-mark .mk{display:flex;flex-direction:column;line-height:1}
.nav-mark .mk b{font-family:"Cinzel",serif;font-weight:600;font-size:.82rem;letter-spacing:.32em;color:var(--accent);text-transform:uppercase}
.nav-mark .mk i{font-family:"Cinzel",serif;font-style:normal;font-weight:400;font-size:.5rem;letter-spacing:.5em;color:var(--ink-muted);text-transform:uppercase;margin-top:.18rem;padding-left:.5em}

.nav-links{display:flex;gap:clamp(1.2rem,3vw,2.6rem);list-style:none;margin:0;padding:0}
.nav-links li{margin:0}
.nav-links a{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;padding-bottom:4px;opacity:.92}
.nav-links a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--accent);transition:left .5s ease,right .5s ease}
.nav-links a:hover::after,.nav-links a.active::after,.nav-links a[aria-current="page"]::after{left:0;right:0}
.nav-links a[aria-current="page"]{color:var(--accent);opacity:1}

/* WordPress core navigation fallback styling */
.mp-nav .wp-block-navigation{font-family:"Cinzel",serif}
.mp-nav .wp-block-navigation .wp-block-navigation-item__content{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);text-decoration:none}

.nav-right{display:flex;align-items:center;gap:clamp(.7rem,2vw,1.3rem)}
.nav-ico{background:transparent;border:none;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:.4rem;font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:.4rem 0;opacity:.92;transition:color .4s ease}
.nav-ico:hover{color:var(--accent)}
.nav-ico svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4}
.nav-ico .lbl{display:inline}
.theme-toggle{background:transparent;border:1px solid var(--hairline);color:var(--ink);font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.55rem .85rem;cursor:pointer;transition:all .4s ease}
.theme-toggle:hover{background:var(--accent);color:var(--on-gold);border-color:var(--accent)}
@media (max-width:760px){.nav-links{display:none}.nav-ico .lbl{display:none}}

/* ============================================================
   HERO — full viewport, staged fade-ups
   ============================================================ */
.mp-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;color:#F4F1EA;overflow:hidden}
.mp-hero.start{justify-content:center;padding-top:6rem}
.mp-hero.banner{min-height:60vh;justify-content:flex-end;padding:clamp(7rem,16vh,10rem) 1.5rem clamp(3rem,7vw,5rem)}
.hero-bg{position:absolute;inset:0;z-index:0;background:#0A0A0A center/cover no-repeat;transform-origin:center 30%;animation:heroScale 18s ease-out forwards}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(108%)}
.hero-veil{position:absolute;inset:0;z-index:1;background:var(--hero-veil)}
.hero-dark-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,0.45),rgba(8,8,8,0.72))}
.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.6rem;width:100%}

.wordmark{display:flex;flex-direction:column;align-items:center;gap:.55rem}
.crest{width:auto;height:92px;opacity:0;animation:fadeUp 1.4s .3s ease forwards}
.crest path{fill:var(--gold)}
.wordmark .name,.mp-hero h1.name{font-family:"Cinzel",serif;font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,8vw,6rem);letter-spacing:.16em;padding-left:.16em;color:#F6F2E9;opacity:0;animation:fadeUp 1.4s .55s ease forwards;text-shadow:0 2px 40px rgba(0,0,0,.45);margin:0}
.wordmark .rule,.hero-rule{width:0;height:1px;background:var(--gold);animation:ruleDraw 1.6s 1.05s cubic-bezier(.2,.7,.2,1) forwards}
.wordmark .city{font-family:"Cinzel",serif;font-weight:400;text-transform:uppercase;font-size:clamp(.8rem,2vw,1.05rem);letter-spacing:.62em;padding-left:.62em;color:var(--gold-hi);opacity:0;animation:fadeUp 1.4s 1.2s ease forwards}
.hero-eyebrow{font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.5em;text-transform:uppercase;color:var(--gold-hi);opacity:0;animation:fadeUp 1.4s .25s ease forwards}
.mp-hero h1:not(.name){font-family:"Cinzel",serif;font-weight:700;text-transform:uppercase;font-size:clamp(2rem,6vw,4.8rem);letter-spacing:.14em;color:#F6F2E9;opacity:0;animation:fadeUp 1.4s .5s ease forwards;text-shadow:0 2px 40px rgba(0,0,0,.45);margin:0}
.manifesto{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:400;font-size:clamp(1.2rem,2.6vw,1.7rem);color:#EDE7D8;max-width:42ch;opacity:0;animation:fadeUp 1.6s 1.5s ease forwards;text-wrap:balance}
.crumb-hero{font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-hi);opacity:0;animation:fadeUp 1.2s .2s ease forwards;margin-bottom:1rem}
.crumb-hero a{color:var(--gold-hi);text-decoration:none}

.cta-ghost{margin-top:.6rem;display:inline-block;font-family:"Cinzel",serif;font-size:.78rem;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:var(--on-gold);text-decoration:none;border:1px solid var(--gold);padding:1.05rem 2.6rem;background:var(--gold);cursor:pointer;transition:background .5s ease,color .5s ease,letter-spacing .5s ease;opacity:0;animation:fadeUp 1.6s 1.85s ease forwards}
.cta-ghost:hover,.cta-ghost:focus-visible{background:transparent;color:var(--gold);letter-spacing:.38em;outline:none}
.scroll-hint{position:absolute;bottom:2.2rem;left:0;right:0;margin-inline:auto;width:max-content;z-index:2;font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.4em;color:var(--gold-hi);display:flex;flex-direction:column;align-items:center;gap:.7rem;opacity:0;animation:fadeUp 1.6s 2.2s ease forwards}
.scroll-hint > span:first-child{padding-left:.4em}
.scroll-hint .line{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:hintPulse 2.4s ease-in-out infinite}

/* ============================================================
   SECTION SCAFFOLD + DIVIDERS
   ============================================================ */
.eyebrow{font-family:"Cinzel",serif;font-size:.68rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);text-align:center;margin-bottom:1rem}
.eyebrow.left{text-align:left}
.section-title{font-size:clamp(1.6rem,4vw,2.6rem);text-align:center;color:var(--ink);margin-bottom:.6rem}
.section-lede{text-align:center;max-width:54ch;margin:0 auto 3.4rem;font-size:1.2rem;color:var(--ink-muted);font-weight:400;text-wrap:pretty}

.fleur-div{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin:0 auto 3rem;max-width:520px}
.fleur-div.flush{margin-bottom:0}
.fleur-div .bar{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--hairline))}
.fleur-div .bar.r{background:linear-gradient(90deg,var(--hairline),transparent)}
.fleur-div svg{width:20px;height:28px;flex:none}
.fleur-div svg path{fill:var(--accent)}
.hairline-rule{width:clamp(120px,24vw,260px);height:1px;background:linear-gradient(90deg,transparent,var(--hairline),transparent);margin:0 auto}

/* ============================================================
   MANIFESTO BAND
   ============================================================ */
.manifesto-band{text-align:center}
.manifesto-band .lead{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.2rem,2.6vw,1.7rem);color:var(--ink);max-width:48ch;margin:0 auto;text-wrap:pretty}
.manifesto-band .lead .gold{color:var(--accent);font-style:normal;font-family:"Cinzel",serif;font-size:.85em;letter-spacing:.1em}

/* ============================================================
   BUTTONS — square gold hairline Cinzel
   ============================================================ */
/* buttons in one group share a single width (= the widest) so they never look mismatched */
.btn-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1.4rem;width:fit-content;max-width:100%;margin-inline:auto;align-items:stretch}
.btn-row>.btn,.btn-row .wp-block-button{width:100%}
.btn-row .wp-block-button__link{display:block;width:100%;text-align:center}
@media(max-width:560px){.btn-row{grid-auto-flow:row}}
/* house emblem — the detailed fleur de lys, crowning a section intro (same mark as the footer) */
.emblem{display:block;width:30px;height:auto;margin:0 auto 1.3rem;opacity:.92}
/* ONE canonical button — identical for plain <a class="btn"> and a WP block button's inner link.
   :not(.wp-block-button) keeps the style off the block wrapper (it carries btn classes too, which
   used to give a border-inside-a-border = the "inward"/inset look). All variants render the same. */
/* :root prefix beats WP global-styles `:root :where(.wp-element-button,.wp-block-button__link){border-width:0}`
   which loads after style.css and would otherwise strip the border so the invert has no outline */
.btn:not(.wp-block-button),:root .wp-element-button,:root .wp-block-button__link{font-family:"Cinzel",serif;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;padding:1rem 2.4rem;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--on-gold);transition:all .5s cubic-bezier(.2,.7,.2,1);text-decoration:none;display:inline-block;border-radius:0}
.btn:not(.wp-block-button):hover,.btn:not(.wp-block-button):focus-visible,:root .wp-element-button:hover,:root .wp-element-button:focus-visible,:root .wp-block-button__link:hover,:root .wp-block-button__link:focus-visible{background:transparent;color:var(--accent);border-color:var(--accent);letter-spacing:.36em;outline:none}
/* block-button wrapper is layout-only — never a box */
.wp-block-button{border:0;padding:0;background:transparent}

/* in-body link / discover / read-link */
.t-body{font-size:1.18rem;color:var(--ink);max-width:60ch}
.t-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--hairline);transition:border-color .4s}
.t-body a:hover{border-color:var(--accent)}
.t-cap{font-family:"Cinzel",serif;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-muted)}
.discover,.read-link{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.7rem;transition:letter-spacing .5s ease,color .5s ease}
.read-link{font-size:.66rem;margin-top:auto}
.discover .arrow,.read-link .arrow{display:inline-block;width:30px;height:1px;background:var(--accent);transition:width .5s ease}
.read-link .arrow{width:26px}
.discover:hover,.read-link:hover{letter-spacing:.36em}
.discover:hover .arrow{width:48px}.read-link:hover .arrow{width:42px}

/* ============================================================
   PRODUCT / FEATURED CARDS + GRIDS
   ============================================================ */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.6rem,3.4vw,3rem)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.6rem)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,3vw,2.6rem)}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3.4vw,3rem)}
@media (max-width:880px){.grid4,.grid3,.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.grid2{grid-template-columns:1fr;max-width:460px;margin:0 auto}}
@media (max-width:600px){.grid4,.grid3{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

.card{position:relative;background:var(--surface);border:1px solid var(--hairline);overflow:hidden;text-decoration:none;color:inherit;display:block}
.card .imgwrap{aspect-ratio:3/4;overflow:hidden;position:relative}
.card img,.card .imgwrap img,.card .imgwrap figure,.card .wp-block-image{margin:0}
.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:grayscale(8%)}
.card:hover img{transform:scale(1.06)}
.card .corner{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px solid rgba(201,162,75,0);pointer-events:none;transition:border-color .6s ease;z-index:2}
.card:hover .corner{border-color:rgba(201,162,75,0.55)}
.card .view{position:absolute;left:0;right:0;bottom:0;z-index:3;text-align:center;font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:#F4F1EA;background:linear-gradient(0deg,rgba(8,8,8,0.78),transparent);padding:2.4rem 1rem 1rem;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.card:hover .view{opacity:1;transform:none}
.card .body{padding:1.4rem 1.5rem 1.7rem;text-align:center}
.card .pname{font-family:"Cinzel",serif;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.card .pdesc{font-size:1.02rem;color:var(--ink-muted);font-style:italic;margin:.45rem 0 .9rem}
.card .price{font-family:"Cinzel",serif;font-size:.92rem;letter-spacing:.12em;color:var(--accent)}
.swatches{display:flex;gap:.45rem;justify-content:center;margin-top:.8rem}
.swatch{width:13px;height:13px;border:1px solid var(--hairline);display:inline-block}

/* colour tile (t-shirts without per-colour photography) */
.tee-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--garment);position:relative;box-shadow:inset 0 0 0 1px var(--hairline)}
.tee-tile svg{width:38%;height:auto}
.tee-tile svg path{fill:var(--logo)}

/* category bar + subhead (boutique) */
.cat-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--hairline);margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.cat-tabs{display:flex;gap:clamp(1rem,3vw,2.4rem);list-style:none;flex-wrap:wrap;margin:0;padding:0}
.cat-tabs li{margin:0}
.cat-tabs a{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;padding-bottom:4px;display:inline-flex;gap:.45em;align-items:baseline}
.cat-tabs a .ct{font-size:.6rem;color:var(--accent);letter-spacing:.1em}
.cat-tabs a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:var(--accent);transition:left .5s ease,right .5s ease}
.cat-tabs a:hover::after,.cat-tabs a.active::after{left:0;right:0}
.cat-tabs a.active{color:var(--accent)}
.filter-hidden{display:none !important}
.subhead{font-family:"Cinzel",serif;font-size:.92rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin:0 0 1.8rem;display:flex;align-items:center;gap:1.2rem}
.subhead::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--hairline),transparent)}

/* ============================================================
   EDITORIAL SPLIT
   ============================================================ */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem)}
.split.flip .media{order:2}
.split .media{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--hairline);position:relative}
.split .media img,.split .media figure,.split .media .wp-block-image{margin:0}
.split .media img{width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.split:hover .media img{transform:scale(1.05)}
.split .copy h2{text-align:left;font-size:clamp(1.7rem,3.6vw,2.6rem);margin-bottom:1.4rem;color:var(--ink)}
.split .copy p{font-size:1.2rem;color:var(--ink-muted);margin-bottom:1.3rem;max-width:46ch}
.split .copy .btn,.split .copy .lb-season{display:inline-block;margin-top:.6rem}
.split .copy .lb-season{font-family:"Cinzel",serif;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
@media (max-width:880px){.split{grid-template-columns:1fr;gap:2.4rem}.split.flip .media{order:0}}
/* full-width self-captioned banner (image carries its own title + copy) */
.lb-banner{overflow:hidden;border:1px solid var(--hairline)}
.lb-banner img{display:block;width:100%;height:auto}
.lb-season.has-text-align-center{font-family:"Cinzel",serif;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.lb-banner-cta{text-align:center;margin-top:1.6rem}

/* ============================================================
   LOOKBOOK STRIP + DUO + FRAMES
   ============================================================ */
.lookstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,2vw,1.6rem)}
@media (max-width:760px){.lookstrip{grid-template-columns:1fr}}
.look{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--hairline);display:block;text-decoration:none}
.look img,.look figure,.look .wp-block-image{margin:0}
.look img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) saturate(102%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s ease}
.look:hover img{transform:scale(1.05);filter:grayscale(0%) saturate(108%)}
.look .cap{position:absolute;left:0;right:0;bottom:0;padding:1.4rem;background:linear-gradient(0deg,rgba(8,8,8,0.72),transparent);font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#F4F1EA;z-index:2}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2vw,1.6rem)}
.duo .cell{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--hairline);position:relative;margin:0}
.duo .cell img,.duo .cell figure,.duo .cell .wp-block-image{margin:0}
.duo .cell img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:grayscale(8%)}
.duo .cell:hover img{transform:scale(1.05)}
.duo .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem;background:linear-gradient(180deg,transparent,rgba(8,8,8,.82));color:#F4F1EA}
.duo .cap .lb-season{font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-hi)}
.duo .cap p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.12rem;margin-top:.3rem}
@media (max-width:680px){.duo{grid-template-columns:1fr}}

/* full-bleed image bands: band / frame / sunband / feature / suremesure */
.band{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#F4F1EA}
.band-bg{position:absolute;inset:0;z-index:0}
.band-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(106%)}
.band-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,0.55),rgba(8,8,8,0.62))}
.band-inner{position:relative;z-index:2;max-width:620px;padding:0 1.5rem;margin:0 auto}
.band-inner .eyebrow{color:var(--gold-hi)}
.band-inner h2{color:#F6F2E9;font-size:clamp(1.7rem,4vw,2.8rem);margin-bottom:1.2rem}
.band-inner p{color:#EDE7D8;font-size:1.2rem;margin:0 auto 2rem;max-width:42ch;text-wrap:pretty}
.band-inner .cta-ghost{position:static;animation:none;opacity:1}

.frame{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;background:#0A0A0A}
.frame .frame-img{position:absolute;inset:-12% 0;z-index:0;will-change:transform}
.frame .frame-img img{width:100%;height:100%;object-fit:cover}
.frame::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,.55) 0%,rgba(8,8,8,.05) 30%,rgba(8,8,8,.18) 60%,rgba(8,8,8,.85) 100%)}
.frame-copy{position:relative;z-index:2;padding:clamp(2.5rem,6vw,5rem);max-width:640px;color:#F4F1EA}
.frame-copy.right{margin-left:auto;text-align:right}
.frame-copy.center{margin:0 auto;text-align:center;padding-bottom:clamp(4rem,9vw,7rem)}
.frame-num{font-family:"Cinzel",serif;font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:1rem}
.frame-copy h2{font-size:clamp(1.7rem,4vw,3rem);color:#F6F2E9;margin-bottom:1.1rem;letter-spacing:.1em;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.frame-copy p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.15rem,2.2vw,1.5rem);color:#EDE7D8;max-width:42ch;margin-bottom:1.6rem}
.frame-copy.right p{margin-left:auto}.frame-copy.center p{margin:0 auto 1.6rem}
.frame-copy .discover{color:var(--gold-hi)}.frame-copy .discover .arrow{background:var(--gold-hi)}

/* sun-king band (notre-histoire) */
.sunband{position:relative;overflow:hidden;background:#0A0A0A}
.sunband .frame-img{position:absolute;inset:-12% 0;z-index:0;will-change:transform}
.sunband .frame-img img{width:100%;height:100%;object-fit:cover;filter:saturate(108%)}
.sunband::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,.78),rgba(8,8,8,.45),rgba(8,8,8,.85))}
.sunband .inner{position:relative;z-index:2;text-align:center;padding:clamp(5rem,12vw,9rem) 1.5rem;color:#F4F1EA;max-width:640px;margin:0 auto}
.sunband .inner h2{color:#F6F2E9;font-size:clamp(1.7rem,4vw,2.8rem);margin:1.6rem 0 1.2rem;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.sunband .inner p{font-size:1.2rem;color:#EDE7D8;margin-bottom:1.2rem}
.sunband .inner .eyebrow{color:var(--gold-hi)}
.sunband .sun .rays path,.sunband .sun .disc{stroke:var(--gold-hi)}
.sunband .sun .face .eye,.sunband .sun .face .mouth{fill:var(--gold-hi)}

/* featured long-read (culture) */
.feature{position:relative;overflow:hidden;background:#0A0A0A}
.feature .frame-img{position:absolute;inset:-12% 0;z-index:0;will-change:transform}
.feature .frame-img img{width:100%;height:100%;object-fit:cover}
.feature::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,.7),rgba(8,8,8,.55),rgba(8,8,8,.9))}
.feature .inner{position:relative;z-index:2;padding:clamp(4rem,10vw,8rem) clamp(1.5rem,5vw,4rem);max-width:1180px;margin:0 auto;color:#F4F1EA;text-align:center}
.feature .inner .meta{font-family:"Cinzel",serif;font-size:.64rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:1.2rem}
.feature .inner h2{color:#F6F2E9;font-size:clamp(1.8rem,4.4vw,3rem);margin-bottom:1.6rem;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.longread{columns:2;column-gap:clamp(2rem,5vw,4rem);max-width:900px;margin:2.4rem auto 0;text-align:left;color:#EDE7D8}
.longread p{font-size:1.16rem;margin-bottom:1.3rem;break-inside:avoid;text-wrap:pretty}
.longread p.dropcap::first-letter{font-family:"Cinzel",serif;font-weight:600;float:left;font-size:4rem;line-height:.82;padding:.1rem .5rem 0 0;color:var(--gold-hi)}
.longread .pullquote{column-span:all;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--gold-hi);text-align:center;max-width:24ch;margin:1.6rem auto;line-height:1.3;text-wrap:balance}
@media (max-width:680px){.longread{columns:1}}

/* suremesure band (contact) */
.suremesure{position:relative;overflow:hidden;background:#0A0A0A}
.suremesure .frame-img{position:absolute;inset:-12% 0;z-index:0;will-change:transform}
.suremesure .frame-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.suremesure::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.6) 45%,rgba(8,8,8,.25) 100%)}
.suremesure .inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:clamp(5rem,12vw,9rem) clamp(1.5rem,5vw,4rem);color:#F4F1EA}
.suremesure .inner .box{max-width:520px}
.suremesure .inner .eyebrow{color:var(--gold-hi);text-align:left}
.suremesure .inner h2{color:#F6F2E9;font-size:clamp(1.8rem,4.4vw,3rem);margin-bottom:1.4rem;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.suremesure .inner p{font-size:1.2rem;color:#EDE7D8;margin-bottom:1.3rem;max-width:44ch}
.suremesure .inner .price{font-family:"Cinzel",serif;font-size:.78rem;letter-spacing:.24em;color:var(--gold-hi);margin-bottom:1.8rem}

/* ============================================================
   SUN-KING ORNAMENT
   ============================================================ */
.ornament{display:flex;flex-direction:column;align-items:center;gap:1.6rem;text-align:center}
.sun{width:140px;height:140px;animation:sunSpin 80s linear infinite}
.sun .rays path{stroke:var(--accent);fill:none}
.sun .disc{fill:none;stroke:var(--accent);stroke-width:1.4}
.sun .face .eye,.sun .face .mouth{fill:var(--accent);stroke:none}
.ornament .motto{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.4rem;color:var(--ink);max-width:34ch;text-wrap:pretty}

/* ============================================================
   STORY PROSE (notre-histoire / culture)
   ============================================================ */
.story p{font-size:1.2rem;color:var(--ink);margin-bottom:1.5rem;text-wrap:pretty}
.story p.lede{font-size:1.34rem;color:var(--ink-muted);font-style:italic}
.dropcap::first-letter{font-family:"Cinzel",serif;font-weight:600;float:left;font-size:4.6rem;line-height:.82;padding:.1rem .55rem 0 0;color:var(--accent)}
.pullquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.6rem,3.6vw,2.5rem);color:var(--accent);text-align:center;max-width:24ch;margin:clamp(2.6rem,6vw,4.4rem) auto;line-height:1.3;text-wrap:balance}
.story-section-title{font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--ink);margin:0 0 1.6rem;letter-spacing:.18em}

/* ============================================================
   TIMELINE
   ============================================================ */
.timeline{max-width:760px;margin:0 auto;position:relative;padding-left:2.2rem}
.timeline::before{content:"";position:absolute;left:6px;top:.4rem;bottom:.4rem;width:1px;background:linear-gradient(var(--hairline),transparent)}
.tl-item{position:relative;padding:0 0 2.8rem 1.6rem}
.tl-item::before{content:"";position:absolute;left:-2.2rem;top:.45rem;width:11px;height:11px;background:var(--accent);transform:rotate(45deg)}
.tl-year{font-family:"Cinzel",serif;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.tl-item h3{font-family:"Cinzel",serif;font-size:1rem;letter-spacing:.16em;color:var(--ink);margin-bottom:.5rem;text-transform:uppercase}
.tl-item p{font-size:1.14rem;color:var(--ink-muted);max-width:48ch}

/* ============================================================
   JOURNAL GRID (culture)
   ============================================================ */
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.6rem,3.4vw,3rem)}
@media (max-width:760px){.journal-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}
.entry{position:relative;background:var(--surface);border:1px solid var(--hairline);overflow:hidden;display:flex;flex-direction:column}
.entry .imgwrap{aspect-ratio:16/10;overflow:hidden;position:relative}
.entry img,.entry .imgwrap figure,.entry .imgwrap .wp-block-image{margin:0}
.entry img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:grayscale(8%)}
.entry:hover img{transform:scale(1.06)}
.entry .corner{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px solid rgba(201,162,75,0);pointer-events:none;transition:border-color .6s ease;z-index:2}
.entry:hover .corner{border-color:rgba(201,162,75,0.55)}
.entry .body{padding:1.8rem 1.8rem 2rem;display:flex;flex-direction:column;flex:1}
.entry .meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.entry .meta .dot{width:3px;height:3px;background:var(--accent);transform:rotate(45deg)}
.entry h3{font-size:1.18rem;letter-spacing:.14em;color:var(--ink);margin-bottom:.9rem;line-height:1.3}
.entry p{font-size:1.1rem;color:var(--ink-muted);margin-bottom:1.4rem;flex:1}
.entry p.dropcap::first-letter{font-family:"Cinzel",serif;font-weight:600;float:left;font-size:2.8rem;line-height:.8;padding:.1rem .4rem 0 0;color:var(--accent)}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{position:relative;text-align:center;padding:clamp(5rem,12vw,9rem) 1.5rem;background:var(--bg-2);overflow:hidden}
.cta-band h2{font-size:clamp(1.8rem,4.5vw,3rem);color:var(--ink);margin-bottom:1.4rem}
.cta-band p{max-width:46ch;margin:0 auto 2.4rem;font-size:1.2rem;color:var(--ink-muted);font-style:italic}

/* ============================================================
   PRODUCT DETAIL (PDP)
   ============================================================ */
.pdp{padding-top:clamp(7rem,12vw,9rem)}
.pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.4rem,6vw,5rem);align-items:start}
.pdp .info{min-width:0}
@media (max-width:880px){.pdp-grid{grid-template-columns:1fr;gap:2.6rem}}
.gallery .main{aspect-ratio:3/4;overflow:hidden;border:1px solid var(--hairline);position:relative}
.gallery .main img,.gallery .main figure,.gallery .main .wp-block-image{margin:0}
.gallery .main img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.thumbs{display:flex;gap:.9rem;margin-top:.9rem}
.thumb{width:88px;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--hairline);cursor:pointer;background:none;padding:0;transition:border-color .4s ease}
.thumb img,.thumb figure,.thumb .wp-block-image{margin:0;width:100%;height:100%;object-fit:cover}
.thumb.active,.thumb:hover{border-color:var(--accent)}
.crumb{font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.4rem}
.crumb a{color:var(--ink-muted);text-decoration:none;transition:color .4s}
.crumb a:hover{color:var(--accent)}
.crumb .sep{margin:0 .5em;opacity:.55}
.crumb .here{color:var(--accent)}
.p-title{font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:.14em;color:var(--ink);margin-bottom:.7rem}
.p-price{font-family:"Cinzel",serif;font-size:1.15rem;letter-spacing:.12em;color:var(--accent);margin-bottom:1.4rem}
.p-desc{font-size:1.18rem;color:var(--ink-muted);max-width:46ch;margin-bottom:2rem;text-wrap:pretty}
.opt{margin-bottom:1.8rem}
.opt .lbl{font-family:"Cinzel",serif;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);margin-bottom:.9rem;display:flex;gap:.7rem;align-items:baseline}
.opt .lbl .val{font-family:"Cormorant Garamond",serif;font-style:italic;text-transform:none;letter-spacing:0;color:var(--ink-muted);font-size:1rem}
.swatch-row{display:flex;gap:.8rem;flex-wrap:wrap}
.sw{width:34px;height:34px;border:1px solid var(--hairline);cursor:pointer;position:relative;padding:0;background:none;transition:transform .4s ease}
.sw .fill{position:absolute;inset:3px}
.sw[aria-pressed="true"]{border-color:var(--accent)}
.sw[aria-pressed="true"]::after{content:"";position:absolute;inset:-5px;border:1px solid var(--accent)}
.sw:hover{transform:translateY(-2px)}
.size-row{display:flex;gap:.7rem;flex-wrap:wrap}
.size{font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--hairline);padding:.7rem 1.1rem;cursor:pointer;min-width:48px;transition:all .4s ease}
.size:hover{border-color:var(--accent);color:var(--accent)}
.size[aria-pressed="true"]{background:var(--accent);color:var(--on-gold);border-color:var(--accent)}
.buy-row{display:flex;gap:1rem;align-items:stretch;margin:.4rem 0 1.6rem;flex-wrap:wrap}
.qty{display:flex;align-items:center;border:1px solid var(--hairline)}
.qty button{background:transparent;border:none;color:var(--ink);font-family:"Cinzel",serif;font-size:1.1rem;width:46px;cursor:pointer;transition:color .4s ease}
.qty button:hover{color:var(--accent)}
.qty input{width:48px;text-align:center;background:transparent;border:none;color:var(--ink);font-family:"Cinzel",serif;font-size:.9rem;letter-spacing:.1em;outline:none}
.btn-add{flex:1;min-width:220px;font-family:"Cinzel",serif;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;padding:1rem 2.4rem;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--on-gold);transition:all .5s cubic-bezier(.2,.7,.2,1)}
.btn-add:hover,.btn-add:focus-visible{background:transparent;color:var(--accent);letter-spacing:.36em;outline:none}
.acc{border-top:1px solid var(--hairline)}
.acc-item{border-bottom:1px solid var(--hairline)}
.acc-head{width:100%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 0;font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-align:left}
.acc-head .ico{position:relative;width:14px;height:14px;flex:none}
.acc-head .ico::before,.acc-head .ico::after{content:"";position:absolute;background:var(--accent);transition:transform .4s ease,opacity .4s ease}
.acc-head .ico::before{top:6px;left:0;right:0;height:1px}
.acc-head .ico::after{left:6px;top:0;bottom:0;width:1px}
.acc-item.open .acc-head .ico::after{transform:scaleY(0);opacity:0}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s ease}
.acc-item.open .acc-body{max-height:600px}
.acc-body .inner{padding:0 0 1.4rem;font-size:1.1rem;color:var(--ink-muted);max-width:52ch;text-wrap:pretty}
.acc-body .inner strong{color:var(--ink);font-weight:600}
.reassure{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;border:1px solid var(--hairline)}
@media (max-width:560px){.reassure{grid-template-columns:1fr}}
.reassure .it{padding:1.2rem;text-align:center;border-right:1px solid var(--hairline)}
.reassure .it:last-child{border-right:none}
@media (max-width:560px){.reassure .it{border-right:none;border-bottom:1px solid var(--hairline)}.reassure .it:last-child{border-bottom:none}}
.reassure svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.3;margin:0 auto .6rem}
.reassure .t{font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}

/* ============================================================
   CONTACT — info + form + map
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;gap:3rem}}
.contact-info h2{font-size:clamp(1.7rem,3.6vw,2.4rem);color:var(--ink);margin-bottom:1.8rem;text-align:left}
.contact-info .eyebrow{text-align:left}
.info-block{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--hairline)}
.info-block:last-of-type{border-bottom:none}
.info-block .label{font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
.info-block .val{font-size:1.22rem;color:var(--ink)}
.info-block .val a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hairline);transition:border-color .4s ease}
.info-block .val a:hover{border-color:var(--accent)}
.info-block .sub{font-size:1.08rem;color:var(--ink-muted);font-style:italic;margin-top:.4rem}
.info-social{display:flex;gap:1.3rem;margin-top:.4rem}
.info-social a{color:var(--ink-muted);text-decoration:none;transition:color .4s ease}
.info-social a:hover{color:var(--accent)}
.info-social svg{width:20px;height:20px;fill:currentColor}
.contact-form{background:var(--surface);border:1px solid var(--hairline);padding:clamp(2rem,4vw,3rem)}
.contact-form .eyebrow{text-align:left}
.field{margin-bottom:1.6rem}
.field label{display:block;font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--hairline);color:var(--ink);font-family:"Cormorant Garamond",serif;font-size:1.12rem;padding:.9rem 1.1rem;outline:none;transition:border-color .4s ease,box-shadow .4s ease}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted);opacity:.7}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,75,0.35)}
.field textarea{resize:vertical;min-height:140px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.form-note{font-size:1rem;color:var(--ink-muted);font-style:italic;margin-top:1.2rem}

.locator .head{text-align:center;margin-bottom:3rem}
.locator h2{font-size:clamp(1.6rem,4vw,2.4rem);color:var(--ink);margin-bottom:.6rem}
.locator .sub{font-size:1.12rem;color:var(--ink-muted);font-style:italic}
.map{position:relative;height:clamp(320px,46vw,460px);border:1px solid var(--hairline);overflow:hidden;
  background:
    repeating-linear-gradient(0deg,transparent 0 38px,rgba(201,162,75,0.08) 38px 39px),
    repeating-linear-gradient(90deg,transparent 0 38px,rgba(201,162,75,0.08) 38px 39px),
    radial-gradient(circle at 52% 46%,rgba(201,162,75,0.10),transparent 60%),
    var(--bg-2)}
.map .road{position:absolute;background:var(--hairline);opacity:.7}
.map .road.h1{top:34%;left:0;right:0;height:2px;transform:rotate(-3deg)}
.map .road.h2{top:66%;left:0;right:0;height:2px;transform:rotate(2deg)}
.map .road.v1{top:0;bottom:0;left:30%;width:2px}
.map .road.v2{top:0;bottom:0;left:72%;width:2px;transform:rotate(4deg)}
.map .seine{position:absolute;left:-5%;right:-5%;top:50%;height:clamp(18px,4vw,30px);background:linear-gradient(180deg,rgba(201,162,75,0.22),rgba(201,162,75,0.06));border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);transform:rotate(-6deg)}
.map .pin{position:absolute;top:46%;left:52%;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.map .pin svg{width:30px;height:42px}.map .pin svg path{fill:var(--accent)}
.map .pin .ping{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:30px;height:30px;border:1px solid var(--accent);border-radius:50%;animation:ping 2.6s ease-out infinite;opacity:0}
.map .pin .tag{font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);padding:.4rem .7rem;white-space:nowrap}
.map .compass{position:absolute;bottom:1rem;right:1rem;font-family:"Cinzel",serif;font-size:.58rem;letter-spacing:.2em;color:var(--accent);text-align:center;z-index:3}
.map .compass .n{font-size:1rem;display:block}

/* ============================================================
   NEWSLETTER (accueil)
   ============================================================ */
.news{text-align:center}
.news form{max-width:520px;margin:2rem auto 0}
.news .news-field{display:flex;gap:0;border:1px solid var(--hairline)}
.news .form-msg{margin:.85rem 0 0;text-align:center;font-family:"Cormorant Garamond",serif;font-size:1rem}
.news .form-msg:empty{margin:0}
.news .form-msg.ok{color:var(--gold)}
.news .form-msg.err{color:#cf9a9a}
.news input[type=email]{flex:1;background:transparent;border:none;color:var(--ink);font-family:"Cormorant Garamond",serif;font-size:1.05rem;padding:1rem 1.4rem;outline:none}
.news input[type=email]::placeholder{color:var(--ink-muted)}
.news button{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;padding:1rem 1.8rem;border:none;border-left:1px solid var(--hairline);background:var(--accent);color:var(--on-gold);cursor:pointer;transition:all .5s cubic-bezier(.2,.7,.2,1)}
.news button:hover{letter-spacing:.36em}
@media (max-width:520px){.news .news-field{flex-direction:column}.news button{border-left:none;border-top:1px solid var(--hairline)}}

/* ============================================================
   FOOTER — dark on black
   ============================================================ */
.mp-footer{background:#0A0A0A;color:#B8B0A0;padding:clamp(4rem,8vw,6rem) 0 2.4rem;border-top:1px solid rgba(201,162,75,.4)}
.mp-footer .footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3.4rem)}
.footer-brand .fmark{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem}
.footer-brand .fmark svg{width:24px;height:32px}.footer-brand .fmark svg path{fill:var(--gold)}
.footer-brand .fmark .fname{font-family:"Cinzel",serif;font-size:1rem;letter-spacing:.3em;color:#F4F1EA;text-transform:uppercase}
.footer-brand .fcity{font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;margin:-.6rem 0 1.2rem;padding-left:.5em}
.footer-brand p{font-size:1.06rem;max-width:32ch;color:#B8B0A0;margin-bottom:1.4rem;font-style:italic}
.footer-brand .fphone{font-family:"Cinzel",serif;font-size:.74rem;letter-spacing:.2em;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,162,75,.4)}
.footer-col{min-width:0}
.mp-footer h4{font-family:"Cinzel",serif;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem}
.mp-footer ul{list-style:none;margin:0;padding:0}.mp-footer ul li{margin-bottom:.7rem}
.mp-footer ul a{color:#B8B0A0;text-decoration:none;font-size:1.04rem;transition:color .4s ease}
.mp-footer ul a:hover{color:#F4F1EA}
.footer-news{grid-column:1/-1;margin-top:2.6rem;padding-top:2.6rem;border-top:1px solid rgba(201,162,75,.22);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.6rem}
.footer-news .news-copy h4{margin-bottom:.5rem}
.footer-news .news-copy p{font-size:1.04rem;color:#B8B0A0;max-width:40ch}
.footer-news form{display:flex;gap:0;flex:1;min-width:280px;max-width:440px}
.footer-news input{flex:1;background:transparent;border:1px solid rgba(201,162,75,.4);border-right:none;color:#F4F1EA;font-family:"Cormorant Garamond",serif;font-size:1.04rem;padding:.95rem 1.1rem;outline:none;transition:border-color .4s ease}
.footer-news input::placeholder{color:#8a8377}
.footer-news input:focus{border-color:var(--gold)}
.footer-news button{font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;background:var(--gold);color:#0A0A0A;border:1px solid var(--gold);padding:.95rem 1.8rem;cursor:pointer;transition:all .5s ease;white-space:nowrap}
.footer-news button:hover{background:transparent;color:var(--gold)}
.footer-social{display:flex;gap:1.4rem;margin-top:1.4rem;flex-wrap:wrap}
.footer-social a{color:#B8B0A0;text-decoration:none;transition:color .4s ease;font-family:"Cinzel",serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase}
.footer-social a:hover{color:var(--gold)}
.footer-social svg{width:19px;height:19px;fill:currentColor}
.footer-bottom{text-align:center;margin-top:3rem;padding-top:2.2rem;border-top:1px solid rgba(201,162,75,.18)}
.footer-bottom .ffleur{width:28px;height:auto;margin:0 auto 1rem;opacity:.92}.footer-bottom .ffleur path{fill:var(--gold)}
.footer-bottom p{font-family:"Cinzel",serif;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:#8a8377}
@media (max-width:880px){.mp-footer .footer-cols{grid-template-columns:1fr 1fr}.footer-news{flex-direction:column;align-items:flex-start}}
@media (max-width:560px){.mp-footer .footer-cols{grid-template-columns:1fr}}

/* ============================================================
   ACCESSIBILITY / MOTION
   ============================================================ */
.visually-hidden{position:absolute!important;left:-9999px!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  html{scroll-behavior:auto}
  .reveal,.animate-on-scroll,.fade-up,.fade-in{opacity:1!important;transform:none!important}
  .hero-bg,.sun,.crest,.wordmark .name,.mp-hero h1,.wordmark .city,.manifesto,.cta-ghost,.scroll-hint,.wordmark .rule,.hero-rule,.hero-eyebrow,.frame-img,.parallax,.map .pin .ping{animation:none!important;opacity:1!important;transform:none!important}
}

/* === Editor: keep animated content visible while editing === */
.editor-styles-wrapper .reveal,
.editor-styles-wrapper .animate-on-scroll,
.editor-styles-wrapper .fade-up,
.editor-styles-wrapper .crest,
.editor-styles-wrapper .wordmark .name,
.editor-styles-wrapper .mp-hero h1,
.editor-styles-wrapper .wordmark .city,
.editor-styles-wrapper .manifesto,
.editor-styles-wrapper .hero-eyebrow,
.editor-styles-wrapper .cta-ghost,
.editor-styles-wrapper .scroll-hint,
.editor-styles-wrapper .nav-mark{
  opacity:1!important;transform:none!important;animation:none!important;transition:none!important;
}
.editor-styles-wrapper .wordmark .rule,.editor-styles-wrapper .hero-rule{width:clamp(140px,30vw,360px)!important;animation:none!important}

/* ============================================================
   WOOCOMMERCE — Sacre Royal styling
   ============================================================ */
/* Woo pages have no hero: clear the fixed navbar + constrain width */
body.woocommerce main,body.woocommerce-page main{padding-top:clamp(7rem,13vh,9.5rem);padding-bottom:clamp(4rem,8vw,7rem)}
body.woocommerce .woocommerce,body.woocommerce-page .woocommerce{max-width:1180px;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,4rem)}
.woocommerce,.woocommerce-page{color:var(--ink)}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce .product_title,.woocommerce-loop-product__title{font-family:"Cinzel",serif;text-transform:uppercase;letter-spacing:.14em;color:var(--ink)}
.woocommerce .price,.woocommerce .amount,.woocommerce-Price-amount,.wc-block-formatted-money-amount,.wc-block-components-totals-item__value{color:var(--gold);font-family:"Cinzel",serif;letter-spacing:.05em}
.woocommerce del,.woocommerce del .amount{color:var(--ink-muted)}
/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .button,.woocommerce button.single_add_to_cart_button,.wc-block-components-button{
  background:var(--accent)!important;color:var(--on-gold)!important;border:1px solid var(--accent)!important;border-radius:0!important;
  font-family:"Cinzel",serif!important;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;padding:1rem 2rem;font-weight:600;box-shadow:none;transition:background .4s ease,color .4s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,.woocommerce button.single_add_to_cart_button:hover,.wc-block-components-button:hover{background:transparent!important;color:var(--accent)!important}
/* product grid */
.woocommerce ul.products li.product{background:var(--surface);border:1px solid var(--hairline);padding:0 0 1.5rem;text-align:center;border-radius:0}
.woocommerce ul.products li.product a img{margin:0 0 1.1rem;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.92rem;padding:0 1rem}
.woocommerce ul.products li.product .price{display:block;margin-top:.4rem;font-size:1rem}
.woocommerce ul.products li.product .button{margin:1rem 1rem 0}
/* single product */
.woocommerce div.product .product_title{font-size:clamp(1.6rem,3vw,2.2rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold);font-size:1.4rem}
.woocommerce .quantity .qty,.woocommerce-cart .quantity .qty{background:var(--bg);color:var(--ink);border:1px solid var(--hairline);border-radius:0;padding:.6rem}
/* tables / cart / checkout */
.woocommerce table.shop_table{border:1px solid var(--hairline);border-radius:0;background:var(--surface)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:1px solid var(--hairline);color:var(--ink)}
.woocommerce-cart table.cart img{width:72px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-checkout input,.woocommerce-checkout select,.woocommerce-checkout textarea,.wc-block-components-text-input input{
  background:var(--bg);color:var(--ink);border:1px solid var(--hairline);border-radius:0;padding:.8rem}
.woocommerce form .form-row input.input-text:focus,.woocommerce-checkout input:focus,.wc-block-components-text-input input:focus{outline:none;border-color:var(--accent)}
/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{background:var(--surface);border-top:3px solid var(--accent);color:var(--ink);border-radius:0}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}
.woocommerce-message a.button{margin-left:1rem}
/* block cart/checkout text + result count + ordering + breadcrumb */
.wc-block-cart,.wc-block-checkout,.wc-block-components-totals-item{color:var(--ink)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--ink-muted)}
.woocommerce .woocommerce-ordering select{background:var(--bg);color:var(--ink);border:1px solid var(--hairline);border-radius:0;padding:.5rem}
.woocommerce .woocommerce-breadcrumb{color:var(--ink-muted);font-family:"Cinzel",serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.woocommerce .woocommerce-breadcrumb a{color:var(--gold);text-decoration:none}
.woocommerce nav.woocommerce-pagination ul{border:1px solid var(--hairline)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);color:var(--on-gold)}

.woocommerce .product_meta{display:none}

/* original logo in nav + footer; hide woo meta labels */
.nav-logo{height:34px;width:auto;display:block}
.mp-nav.solid .nav-logo{height:30px}
.foot-logo{width:168px;height:auto;display:block;margin:0 0 1.3rem}
.product_meta,.posted_in,.sku_wrapper,.tagged_as,.product_meta *,body.single-product .wp-block-post-terms,.wp-block-woocommerce-product-sku,.wc-block-components-product-sku,.wp-block-woocommerce-product-meta{display:none!important}

/* homepage hero: drop the wordmark so the Sun-King head stands above the fleur crest */
.mp-hero:not(.start):not(.banner) .hero-inner{margin-top:clamp(5.5rem,14vh,10rem)}

/* ============================================================
   PDP BUY AREA — stacked, equal-width buy buttons
   (Add to cart + Stripe Express [Apple/Google Pay] + PayPal)
   ============================================================ */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1rem;max-width:460px;margin:0 0 .4rem}
.woocommerce div.product form.cart .quantity{display:flex;align-items:stretch;margin:0}
.woocommerce div.product form.cart .quantity .qty{width:5rem;text-align:center;padding:.7rem .4rem}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 12rem;margin:0;text-align:center}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{content:none;display:none}
/* express + paypal wrappers: align + full width, stacked under add-to-cart */
.woocommerce div.product .wc-stripe-product-checkout-container,
.woocommerce div.product .wc-stripe-express-checkout-element,
.woocommerce div.product #wc-stripe-express-checkout-element,
.woocommerce div.product .wc-stripe-payment-request-wrapper,
.woocommerce div.product .wc-stripe-payment-request-button-separator,
.woocommerce div.product .ppc-button-wrapper,
.woocommerce div.product #ppcp-messages,
.woocommerce div.product .woocommerce-pay-buttons{max-width:460px;width:100%;margin:.85rem 0 0;clear:both;float:none}
.woocommerce div.product .payment-request-button,
.woocommerce div.product .wc-stripe-express-checkout-element>div,
.woocommerce div.product .ppc-button-wrapper>div{width:100%!important;margin-inline:0!important}
@media(max-width:560px){
  .woocommerce div.product form.cart{max-width:none}
  .woocommerce div.product form.cart .single_add_to_cart_button{flex-basis:100%}
}

/* ============================================================
   CHECKOUT PAYMENT BOX — fit the brand
   ============================================================ */
/* classic (shortcode) checkout */
.woocommerce-checkout #payment,.woocommerce #payment{background:var(--surface);border:1px solid var(--hairline);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--hairline);padding:1.3rem 1.5rem;margin:0}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0 0 .7rem;color:var(--ink)}
.woocommerce-checkout #payment ul.payment_methods li:last-child{margin-bottom:0}
.woocommerce-checkout #payment ul.payment_methods label{font-family:"Cinzel",serif;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:.5rem}
.woocommerce-checkout #payment ul.payment_methods input[type=radio]{accent-color:var(--gold)}
.woocommerce-checkout #payment div.payment_box{background:var(--bg-2);border:1px solid var(--hairline);color:var(--ink-muted);border-radius:0;font-family:"Cormorant Garamond",serif;font-size:1rem;margin:.6rem 0 0}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--bg-2)!important}
.woocommerce-checkout #payment .place-order{padding:1.3rem 1.5rem;margin:0}
.woocommerce-checkout #payment .place-order .button#place_order{width:100%}
/* block checkout (wc-blocks) */
.wp-block-woocommerce-checkout .wc-block-checkout__payment-method,
.wp-block-woocommerce-checkout-payment-block{background:var(--surface);border:1px solid var(--hairline);border-radius:0}
.wc-block-components-radio-control__label,.wc-block-components-payment-method-label,.wc-block-checkout__payment-method .wc-block-components-title{font-family:"Cinzel",serif;letter-spacing:.08em;color:var(--ink)}
.wc-block-components-radio-control-accordion-option,.wc-block-components-radio-control__option{border-color:var(--hairline)!important}
.wc-block-components-radio-control__input{accent-color:var(--gold)}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{width:100%}

/* ============================================================
   CART / CHECKOUT — readable sizing + on-brand input fields
   ============================================================ */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{font-size:1.05rem}
.wc-block-components-product-name,.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__total-price,.wc-block-cart-item__prices,
.wc-block-components-product-price,.wc-block-components-radio-control__label,
.wc-block-components-checkout-step__title,.wc-block-components-button__text,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.02rem!important}
.wc-block-components-checkout-step__description,.wc-block-components-product-metadata{font-size:.94rem}
.woocommerce table.cart td,.woocommerce table.shop_table td,.woocommerce table.shop_table th,
.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{font-size:1.02rem}

/* input fields: dark surface, readable light text, visible labels/placeholders */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-checkout input,.woocommerce-checkout select,.woocommerce-checkout textarea,
.wc-block-components-text-input input,.wc-block-components-text-input textarea,
.wc-block-components-select .wc-block-components-select__select,
.wc-block-checkout input,.wc-block-checkout select{
  background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--hairline)!important;
  border-radius:0!important;font-size:1.02rem!important}
.woocommerce-checkout input::placeholder,.wc-block-components-text-input input::placeholder,
.wc-block-checkout input::placeholder{color:var(--ink-muted);opacity:.75}
.wc-block-components-text-input label,.woocommerce-checkout .form-row label,
.wc-block-components-select__label,.wc-block-components-checkout-step__heading-content,
.wc-block-components-address-card{color:var(--ink-muted)}
.wc-block-components-text-input.is-active label,.wc-block-components-text-input input:focus~label{color:var(--accent)}
.woocommerce-checkout input:focus,.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus{border-color:var(--accent)!important;outline:none}
.woocommerce-checkout select option,.wc-block-components-select__select option{background:var(--surface);color:var(--ink)}
