:root{
  color-scheme:dark;
  --ba-black:#050505;--ba-black-soft:#0a0a0a;--ba-anthracite:#12110f;--ba-anthracite-light:#1a1815;
  --ba-gold-dark:#8e6b34;--ba-gold:#b98d49;--ba-gold-light:#d4b16e;--ba-ivory:#efe7da;
  --ba-text:#f4efe7;--ba-text-muted:#b7afa3;--ba-line:rgba(185,141,73,.28);--ba-glow:rgba(185,141,73,.16);
  --ba-shadow-sm:0 12px 35px rgba(0,0,0,.28);--ba-shadow-lg:0 35px 90px rgba(0,0,0,.48);--ba-shadow-gold:0 0 45px var(--ba-glow);
  --ba-radius-sm:4px;--ba-radius-md:10px;--ba-radius-lg:18px;--ba-transition-fast:250ms ease;--ba-transition:480ms cubic-bezier(.2,.7,.2,1);--ba-transition-slow:700ms cubic-bezier(.2,.7,.2,1);
  --ba-space-1:.5rem;--ba-space-2:1rem;--ba-space-3:1.5rem;--ba-space-4:2rem;--ba-space-5:3rem;--ba-space-6:5rem;
  --font-display-xl:clamp(2rem,3vw,3rem);--font-display-lg:clamp(1.65rem,2.4vw,2.35rem);--font-heading-lg:clamp(1.3rem,1.8vw,1.7rem);--font-heading-md:1.1rem;--font-heading-sm:.95rem;
  --font-body-lg:.92rem;--font-body:.875rem;--font-body-sm:.78rem;--font-caption:.72rem;
  --ba-display:var(--font-display-xl);--ba-h1:var(--font-display-xl);--ba-h2:var(--font-display-lg);--ba-h3:var(--font-heading-lg);
  --ba-content-max:1280px;--ba-header-height:72px;--ba-progress-height:46px;--ba-config-top:calc(var(--ba-header-height) + var(--ba-progress-height));--ba-z-header:40;--ba-z-drawer:80;--ba-z-modal:100;--ba-success:#7d9c7f;--ba-error:#c78578;
  --black:var(--ba-black);--charcoal:var(--ba-anthracite);--gold:var(--ba-gold);--cream:var(--ba-ivory);--muted:var(--ba-text-muted);--line:var(--ba-line)
}
html{background:var(--ba-black);font-size:16px}body{background:var(--ba-black);color:var(--ba-text);font-size:var(--font-body);line-height:1.55}p{max-width:65ch}
::selection{background:var(--ba-gold);color:var(--ba-black)}
a,button,input,select,textarea{transition:border-color var(--ba-transition-fast),color var(--ba-transition-fast),background var(--ba-transition-fast),box-shadow var(--ba-transition-fast),transform var(--ba-transition-fast)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ba-gold-light);outline-offset:3px}
.site-header,.site-header.scrolled{height:var(--ba-header-height);min-height:var(--ba-header-height);background:rgba(5,5,5,.82);border-bottom-color:rgba(185,141,73,.14);backdrop-filter:blur(18px)}
.site-header.scrolled{background:rgba(5,5,5,.96);box-shadow:0 12px 45px #0008}.main-nav>a,.header-actions a{color:var(--ba-text-muted)}.main-nav>a:hover,.header-actions a:hover,.main-nav .nav-create{color:var(--ba-gold-light)}
.mega-menu{background:rgba(10,10,10,.98);border-color:var(--ba-line);box-shadow:var(--ba-shadow-lg)}.mega-menu h2{color:var(--ba-gold-light)}.mega-menu a{color:var(--ba-text-muted)}.mega-menu a:hover{color:var(--ba-text)}
.nav-explore{padding:.35rem 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ba-gold-light);font:500 var(--font-caption)/1 var(--sans);letter-spacing:.05em;cursor:pointer}.nav-explore[aria-expanded=true]{border-color:var(--ba-gold)}.main-nav:hover .mega-menu,.main-nav:focus-within .mega-menu{opacity:0;visibility:hidden;transform:translateY(-10px)}.main-nav.mega-open .mega-menu{opacity:1;visibility:visible;transform:none}
.site-footer{background:#070706;border-top:1px solid var(--ba-line);color:var(--ba-text-muted)}.site-footer a:hover{color:var(--ba-gold-light)}
.button,.ba-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.65rem;padding:.72rem 1.15rem;border:1px solid var(--ba-line);border-radius:var(--ba-radius-sm);font:600 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.button-primary,.ba-button--primary{background:linear-gradient(135deg,var(--ba-gold-light),var(--ba-gold-dark));border-color:transparent;color:#090807;box-shadow:var(--ba-shadow-gold)}.button-primary:hover,.ba-button--primary:hover{transform:translateY(-2px);filter:brightness(1.08)}
.button-outline,.ba-button--outline{background:transparent;color:var(--ba-text);border-color:var(--ba-line)}.button-outline:hover,.ba-button--outline:hover{background:rgba(185,141,73,.08);border-color:var(--ba-gold)}
.ba-card,.ba-panel,.ba-product-card,.ba-stone-card,.ba-certificate-card,.ba-quality-card,.ba-mounting-card{background:linear-gradient(145deg,var(--ba-anthracite-light),var(--ba-black-soft));border:1px solid var(--ba-line);border-radius:var(--ba-radius-md);box-shadow:var(--ba-shadow-sm)}
.ba-card,.ba-panel,.ba-quality-card,.ba-mounting-card{padding:clamp(1.4rem,3vw,2.5rem)}
.ba-eyebrow,.eyebrow{color:var(--ba-gold-light);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}.ba-section-title{font-family:var(--serif);font-size:var(--ba-h2);font-weight:400;line-height:.96}.ba-divider{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--ba-line),transparent)}
.ba-badge{display:inline-flex;padding:.35rem .65rem;border:1px solid var(--ba-line);border-radius:999px;color:var(--ba-gold-light);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.ba-icon{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.25}
.ba-input,.ba-select,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;padding:.72rem .85rem;background:#0b0b0a!important;color:var(--ba-text)!important;border:1px solid rgba(212,177,110,.3)!important;border-radius:var(--ba-radius-sm)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.ba-input:focus,.ba-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--ba-gold-light)!important;box-shadow:0 0 0 3px var(--ba-glow)!important}.ba-checkbox{accent-color:var(--ba-gold)}label{color:var(--ba-ivory)}
.ba-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--ba-line)}.ba-tabs>*{padding:.8rem 1rem;color:var(--ba-text-muted)}.ba-tabs>[aria-selected=true]{color:var(--ba-gold-light);border-bottom:1px solid var(--ba-gold)}
.ba-progress{height:2px;background:#2b2823}.ba-progress>*{height:100%;background:linear-gradient(90deg,var(--ba-gold-dark),var(--ba-gold-light))}.ba-stepper{counter-reset:ba-step;list-style:none;padding:0}.ba-stepper li{counter-increment:ba-step;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--ba-text-muted)}.ba-stepper li:before{content:'0' counter(ba-step);margin-right:1rem;color:var(--ba-gold)}
.ba-modal{background:var(--ba-anthracite);color:var(--ba-text);border:1px solid var(--ba-line);box-shadow:var(--ba-shadow-lg)}.ba-tooltip{background:var(--ba-ivory);color:var(--ba-black);border-radius:var(--ba-radius-sm);padding:.45rem .65rem;font-size:.7rem}

/* Harmonisation progressive des composants historiques. */
.editorial-hero,.auth-page,.account-page,.cart-page,.stone-page,.collections-page,.duo-page,.configurator{background:var(--ba-black);color:var(--ba-text)}
.identity-form,.choice-form,.auth-card,.account-card,.cart-summary,.cart-item,.editorial-card,.stone-detail-card,.composition-card,.admin-panel{background:var(--ba-anthracite)!important;color:var(--ba-text)!important;border-color:var(--ba-line)!important;box-shadow:var(--ba-shadow-sm)}
.identity-form p,.choice-form p,.editorial-card p,.stone-detail-card p,.composition-card p,.cart-item p{color:var(--ba-text-muted)}
.choice-step,.identity-result,.proposals-step,.summary-step{background:var(--ba-black)!important;color:var(--ba-text)!important}.config-copy p,.choice-step>p,.summary-content p{color:var(--ba-text-muted)!important}
.proposal-card{background:linear-gradient(145deg,var(--ba-anthracite-light),#090909)!important;border-color:var(--ba-line)!important;color:var(--ba-text)!important}.proposal-card:hover{border-color:var(--ba-gold)!important;transform:translateY(-4px)}
.stone-tools,.filters,.stone-comparison{background:var(--ba-anthracite)!important;border-color:var(--ba-line)!important}.stone-card,.product-card{background:#0d0d0c!important;border-color:var(--ba-line)!important}.stone-card:hover,.product-card:hover{box-shadow:var(--ba-shadow-gold);border-color:var(--ba-gold)!important}
.location-suggestions,.suggestions{background:#0b0b0a!important;border-color:var(--ba-gold)!important;box-shadow:var(--ba-shadow-lg)}.location-suggestions button,.suggestions button{color:var(--ba-text)!important;border-color:rgba(255,255,255,.08)!important}.location-suggestions button:hover,.location-suggestions button.active,.suggestions button:hover,.suggestions button.active{background:rgba(185,141,73,.14)!important}.location-suggestions small,.suggestions small,.location-status{color:var(--ba-text-muted)!important}
.flash{background:var(--ba-anthracite);border:1px solid var(--ba-line);color:var(--ba-text)}

/* Configurateur Maison : trois zones, aperçu présent avant la composition finale. */
.configurator{--config-rail:200px;--config-summary:290px;display:grid!important;grid-template-columns:var(--config-rail) minmax(0,1fr) var(--config-summary);gap:1px;min-height:100vh;padding:var(--ba-header-height) 0 0!important;background:var(--ba-line)!important}
.config-progress{grid-column:1/-1;position:sticky!important;top:var(--ba-header-height);height:var(--ba-progress-height);z-index:7;background:#090909!important;border-bottom:1px solid var(--ba-line)}
.ba-config-rail,.ba-config-live,.ba-config-workspace{background:var(--ba-black)}.ba-config-rail{padding:2rem 1.4rem;position:sticky;top:var(--ba-config-top);height:calc(100vh - var(--ba-config-top))}.ba-config-rail .ba-eyebrow{display:block;margin-bottom:1.5rem}.ba-config-rail ol{list-style:none;padding:0;margin:0;counter-reset:step}.ba-config-rail li{counter-increment:step;display:flex;gap:.8rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.68rem;color:#77716a}.ba-config-rail li:before{content:'0' counter(step);color:var(--ba-gold-dark)}
.configurator[data-current-step="1"] .ba-config-rail li:nth-child(1),.configurator[data-current-step="2"] .ba-config-rail li:nth-child(2),.configurator[data-current-step="3"] .ba-config-rail li:nth-child(3),.configurator[data-current-step="4"] .ba-config-rail li:nth-child(4),.configurator[data-current-step="5"] .ba-config-rail li:nth-child(5),.configurator[data-current-step="6"] .ba-config-rail li:nth-child(6){color:var(--ba-text)}
.ba-config-workspace{min-width:0}.ba-config-workspace>.config-step{min-height:calc(100vh - var(--ba-config-top));padding:clamp(2rem,5vw,5.5rem)!important}.ba-config-workspace .config-step.active{display:block}.ba-config-workspace .design-step.active,.ba-config-workspace .summary-step.active{display:grid}
.ba-config-live{padding:2rem 1.4rem;position:sticky;top:var(--ba-config-top);height:calc(100vh - var(--ba-config-top));overflow:auto}.ba-live-toggle{display:none}.ba-config-live h2{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin:.6rem 0 1.5rem}.ba-neutral-preview{position:relative;aspect-ratio:1;margin:1rem 0 2rem;border:1px solid var(--ba-line);border-radius:50%;background:radial-gradient(circle,rgba(185,141,73,.12),transparent 58%)}.ba-neutral-preview:before{content:'';position:absolute;inset:18%;border:17px dotted #32302d;border-radius:50%;filter:blur(.15px);box-shadow:0 0 30px #000}.ba-neutral-preview:after{content:'Votre création prendra forme ici';position:absolute;left:12%;right:12%;top:46%;text-align:center;color:var(--ba-text-muted);font-size:.65rem;letter-spacing:.08em}.ba-live-list{margin:0}.ba-live-list div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.66rem}.ba-live-list dt{color:var(--ba-text-muted)}.ba-live-list dd{margin:0;color:var(--ba-ivory);text-align:right}.ba-live-price{display:block;margin-top:1.7rem;color:var(--ba-gold-light);font-family:var(--serif);font-size:1.8rem}.design-stage{background:radial-gradient(circle at 50% 35%,#28231c,#070707 64%)!important}.design-controls{background:var(--ba-anthracite)!important;border-color:var(--ba-line)!important}.design-controls button{border-color:var(--ba-line)!important}.summary-content{background:var(--ba-anthracite)!important;color:var(--ba-text)!important}.configurator[data-current-step="6"]{grid-template-columns:var(--config-rail) minmax(0,1fr)}.configurator[data-current-step="6"] .ba-config-live{display:none}

@media(max-width:1279px){.ba-config-workspace>.config-step{padding:2.5rem!important}}
@media(max-width:1000px){:root{--ba-header-height:58px}.nav-explore{display:none}.main-nav:hover .mega-menu,.main-nav:focus-within .mega-menu{opacity:1;visibility:visible;transform:none}.configurator{display:block!important}.config-progress{top:var(--ba-header-height)}.ba-config-rail{position:static;height:auto;padding:1rem;overflow:auto}.ba-config-rail ol{display:flex;min-width:760px}.ba-config-rail li{min-width:105px;border-bottom:0;border-right:1px solid rgba(255,255,255,.08)}.ba-config-live{position:sticky;top:auto;bottom:0;z-index:8;height:auto;max-height:46vh;margin:0;border:1px solid var(--ba-line);padding:0;background:rgba(10,10,9,.98);box-shadow:0 -20px 45px #000b}.ba-live-toggle{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;padding:.7rem 1rem;border:0;background:#11100f;color:var(--ba-ivory)}.ba-live-toggle strong{color:var(--ba-gold-light)}.ba-live-content{display:none;padding:1rem;overflow:auto}.ba-config-live.is-open .ba-live-content{display:block}.ba-neutral-preview{max-width:280px;margin-inline:auto}.ba-config-workspace>.config-step{min-height:auto;padding:2rem 1rem!important}.configurator[data-current-step="6"] .ba-config-live{display:none}}
@media(max-width:600px){.ba-config-rail li{font-size:0;min-width:44px}.ba-config-rail li:before{font-size:.68rem}.ba-config-live{padding:0}.ba-live-content{padding:1rem}.ba-live-list{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.ba-neutral-preview{max-width:210px}.identity-form,.choice-form{padding:1.2rem!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Configurateur V3 : une scène centrale large, réglages sous la scène, résumé unique. */
@media(min-width:1280px){.configurator{--config-rail:260px;--config-summary:350px;grid-template-columns:var(--config-rail) minmax(620px,1fr) var(--config-summary)}.ba-config-workspace .design-step.active{display:block}.design-stage{min-height:clamp(650px,62vw,820px)}.design-controls{display:grid!important;grid-template-columns:repeat(2,minmax(270px,1fr));gap:0 2rem;padding:2rem clamp(2rem,4vw,4rem)!important}.design-controls>.design-title,.design-controls>.button,.design-controls>.text-button{grid-column:1/-1}.design-controls .control-group{min-width:0}.design-controls select{width:100%;white-space:normal}}
.stage-toolbar{z-index:4;display:flex!important;gap:.45rem!important;padding:.55rem!important;border:1px solid var(--ba-line);border-radius:999px;background:rgba(5,5,5,.76)!important;backdrop-filter:blur(12px)}.stage-toolbar button{position:relative;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;border:0!important;border-radius:50%!important;color:var(--ba-ivory)!important;background:transparent!important}.stage-toolbar button:hover{background:rgba(185,141,73,.16)!important;color:var(--ba-gold-light)!important}.stage-toolbar button>span{font-size:1rem}.stage-toolbar button>b{position:absolute;right:0;top:calc(100% + .55rem);padding:.4rem .55rem;background:var(--ba-ivory);color:var(--ba-black);font-size:.55rem;font-weight:600;white-space:nowrap;border-radius:3px;opacity:0;pointer-events:none;transform:translateY(-3px)}.stage-toolbar button:hover>b,.stage-toolbar button:focus-visible>b{opacity:1;transform:none}.bracelet-canvas,.three-preview{display:block;max-width:100%;margin:auto}.design-stage .demo-texture{max-width:680px;text-align:center}
.ba-config-live{width:auto;height:auto;max-height:calc(100vh - 122px);scrollbar-width:thin;scrollbar-color:var(--ba-gold-dark) transparent}.ba-config-live::-webkit-scrollbar{width:5px}.ba-config-live::-webkit-scrollbar-thumb{background:var(--ba-gold-dark);border-radius:10px}.ba-sequence-preview{display:grid;place-items:center;min-height:120px;margin:1rem 0 1.5rem;border:1px solid var(--ba-line);background:radial-gradient(circle at 50%,rgba(185,141,73,.12),transparent 65%),repeating-linear-gradient(90deg,transparent 0 11px,rgba(185,141,73,.14) 12px 13px)}.ba-sequence-preview span{padding:.55rem .8rem;background:#080807;color:var(--ba-gold-light);font-size:.61rem;letter-spacing:.13em;text-transform:uppercase}.ba-stone-details{margin:1.2rem 0;border-block:1px solid rgba(255,255,255,.09)}.ba-stone-details summary{padding:1rem 0;color:var(--ba-gold-light);cursor:pointer;font-size:.67rem}.ba-stone-details article{display:grid;gap:.25rem;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.07)}.ba-stone-details span,.ba-stone-details small{color:var(--ba-text-muted);font-size:.61rem}.calculation-details{margin:1.5rem 0;border:1px solid var(--ba-line);padding:1rem}.calculation-details summary{cursor:pointer;color:var(--ba-gold-light)}.calculation-details dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.68rem}.calculation-details dd{margin:0;text-align:right;color:var(--ba-text-muted)}.calculation-note{font-size:.68rem;color:var(--ba-text-muted)}
.ba-config-rail li.completed{color:#a69b8b}.ba-config-rail li.completed:after{content:'✓';margin-left:auto;color:var(--ba-gold)}.ba-config-rail li.active{color:var(--ba-text);border-color:var(--ba-gold)}.ba-config-rail li.error{color:#dc9c8c}
@media(max-width:1279px) and (min-width:1001px){.ba-config-workspace .design-step.active{display:block}.design-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:0 1.2rem}.design-controls>.design-title,.design-controls>.button,.design-controls>.text-button{grid-column:1/-1}}
@media(max-width:1000px){.ba-sequence-preview{min-height:70px}.ba-config-workspace .design-step.active{display:block}.design-controls{display:block!important}.stage-toolbar{position:sticky!important;top:calc(var(--ba-header-height) + .5rem)!important;width:max-content;margin-left:auto}.config-step .button-primary{position:sticky;bottom:.75rem;z-index:6;box-shadow:0 12px 35px #000}}
