/* Couleurs et dimensions générales */
:root{color-scheme:dark;--night:#0b1712;--panel:#12241c;--moss:#c3d29a;--ivory:#f0eee1;--muted:#a6b4a6;--line:#ffffff19;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ivory);background:radial-gradient(ellipse at 70% 5%,#1d3527 0,transparent 38%),var(--night);font:16px/1.5 var(--sans)}
button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--moss);outline-offset:5px}[hidden]{display:none!important}
.wrap{width:min(1400px,calc(100% - 100px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:var(--moss);color:var(--night);padding:12px}.skip-link:focus{top:10px}
.announcement{text-align:center;padding:8px 12px;background:#243b29;color:#d5dfbd;font-size:12px;letter-spacing:.07em}.announcement span{margin:0 13px}
.header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;font:40px var(--serif);letter-spacing:-.04em}.brand img,.atelier-seal img{filter:invert(91%) sepia(17%) saturate(305%) hue-rotate(13deg);object-fit:contain}.header nav{display:flex;gap:36px;font-size:14px}.header nav a{padding:8px 0;color:var(--muted)}.header nav .nav-current{color:var(--ivory);border-bottom:1px solid var(--moss)}
.ambience-button{display:flex;align-items:center;gap:8px;font-size:13px;border:1px solid #b2c69238;border-radius:30px;padding:8px 15px;color:var(--moss)}.ambience-button>span:first-child{font-size:24px;line-height:1}.ambience-button[aria-pressed=false]{color:var(--muted)}
/* La collection arrive dès le premier écran. */
.collection{padding:43px 0 64px}.collection-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:38px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--moss);margin-bottom:14px}
h1{font:clamp(38px,4.6vw,66px)/1.03 var(--serif);letter-spacing:-.045em}h1 em{color:#c5d0aa;font-weight:400}.collection-note{font-size:14px;line-height:1.8;color:#c1cabd;padding-bottom:3px}.origin{display:block;font-size:12px;color:var(--moss);margin-top:18px}.origin span{margin-right:7px}
.collection-toolbar{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.collection-toolbar h2{font-size:15px;font-weight:500}.collection-toolbar h2 span{color:var(--muted);font-size:12px;margin-left:9px}.collection-toolbar p{font-size:12px;color:var(--muted)}.collection-toolbar strong{font-size:18px;color:var(--moss);margin-left:10px}.future-price{margin-left:10px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}
.product-card{min-width:0}.product-view{width:100%;aspect-ratio:4/4.5;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;border:1px solid #92af7e1f;border-radius:100px 100px 5px 5px;background:radial-gradient(ellipse at 50% 45%,#314733 0,#192c21 45%,#111e18 85%);padding:25px 20px;transition:border-color .4s,background .4s}
.product-image{width:100%;height:100%;object-fit:contain}
.product-view:hover,.product-view:focus-visible{border-color:#b1ce8070}
.view-label{position:absolute;bottom:17px;left:19px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateY(6px);transition:.25s}.view-symbol{position:absolute;right:15px;bottom:15px;border:1px solid #b9cca044;border-radius:50%;width:30px;height:30px;font-size:21px;line-height:27px;color:var(--moss);background:#0c1a13b3}.product-view:hover .view-label,.product-view:focus-visible .view-label{opacity:1;transform:none}
.product-caption{display:flex;justify-content:space-between;gap:10px;padding:16px 2px 0}.product-caption h3{font:22px var(--serif);letter-spacing:-.03em}.product-name{font:inherit;padding:0;text-align:left}.product-name:hover{color:var(--moss)}.product-subtitle{font-size:11px;color:var(--muted);margin-top:5px}.card-price{text-align:right;flex-shrink:0}.card-price strong{font-size:19px;font-weight:400}.card-price span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.atelier{display:grid;grid-template-columns:170px 1fr auto;gap:36px;align-items:center;border-block:1px solid var(--line);padding-block:45px}.atelier-seal{display:grid;place-items:center;aspect-ratio:1;border:1px solid #a5bb7933;border-radius:50%;background:radial-gradient(#34493266,transparent 70%)}.atelier-seal img{width:115px;opacity:.85}.atelier h2{font:34px/1.12 var(--serif);letter-spacing:-.03em}.atelier h2 em{font-weight:400;color:var(--moss)}.atelier-copy>p:last-child{font-size:13px;color:var(--muted);margin-top:18px;line-height:1.8}.atelier-facts>p{font:24px/1.3 var(--serif)}.atelier-facts em{color:var(--moss)}.atelier-facts>span{display:block;font-size:11px;margin-top:20px;color:var(--muted)}
.footer{display:flex;align-items:center;gap:25px;padding-block:38px;color:var(--muted);font-size:12px}.footer-brand{font-size:32px;color:var(--ivory)}.footer-links{display:flex;gap:24px;margin-left:auto}.footer-links button{padding:0;font-size:12px}.footer-links a:hover,.footer-links button:hover{color:var(--moss)}.footer small{font-size:11px}
/* Fiches et sélection, sans navigation vers une autre page. */
dialog{border:1px solid #82997155;border-radius:14px;background:#14241c;color:var(--ivory);padding:0;max-height:calc(100dvh - 40px);box-shadow:0 30px 160px #000b}dialog::backdrop{background:#030c08c9;backdrop-filter:blur(12px)}body:has(dialog[open]){overflow:hidden}.product-dialog{width:min(980px,calc(100% - 40px));max-width:none}.close-button{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;background:#0b1712cc;border:1px solid var(--line);font-size:28px;z-index:5}.detail-layout{display:grid;grid-template-columns:1fr 1fr}.detail-gallery{padding:35px 25px;background:radial-gradient(ellipse,#2c432c,#101f17 80%);display:flex;flex-direction:column;justify-content:center;min-width:0}.detail-stage{display:grid;place-items:center;min-height:350px;aspect-ratio:4/5}.detail-stage>img{width:100%;height:100%;max-height:510px;object-fit:contain}.detail-stage>video{width:100%;max-height:510px}.thumbnails{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}.thumbnail{border:1px solid var(--line);border-radius:5px;padding:4px;width:58px;height:62px;overflow:hidden}.thumbnail img{width:100%;height:100%;object-fit:contain}.thumbnail[aria-pressed=true]{border-color:var(--moss)}.prototype-note{font-size:11px;color:var(--muted);text-align:center;margin:16px auto 0;max-width:300px}.detail-info{padding:48px 35px 35px}.detail-info h2{font:44px/1.1 var(--serif);letter-spacing:-.03em}.detail-description{font-size:14px;line-height:1.7;color:var(--muted);margin:19px 0}.detail-price{display:flex;align-items:center;gap:18px;margin-top:24px}.detail-price>strong{font:42px var(--serif)}.detail-price>span{font-size:12px;color:var(--moss)}.detail-price>span>span{color:var(--muted)}.shipping{font-size:12px;color:var(--moss);margin-top:8px}.specs{font-size:12px;border-block:1px solid var(--line);padding:16px 0;margin:24px 0}.specs>div{display:flex;gap:20px;justify-content:space-between;padding:5px 0}.specs dt{color:var(--muted)}.specs dd{margin:0;text-align:right}.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0;font-size:14px}.quantity-control{display:flex;border:1px solid #86957866;border-radius:5px}.quantity-control button{width:36px;min-height:38px;font-size:20px}.quantity-control input{width:43px;background:none;border:none;color:var(--ivory);text-align:center;-moz-appearance:textfield;appearance:textfield}.quantity-control input::-webkit-inner-spin-button{display:none}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:49px;padding:13px 17px;background:var(--moss);color:#172313;border-radius:5px;font-size:14px;font-weight:600}.primary-button:hover:not(:disabled){background:#d9e5b7}.made-to-order{font-size:11px;color:var(--muted);text-align:center;margin-top:11px}.order-summary{margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.order-summary h3{font:25px var(--serif);margin-bottom:15px}.summary-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:5px 0}.summary-total{border-top:1px solid var(--line);padding-block:15px;margin-top:10px;font-size:18px}.order-summary>p{font-size:11px;color:var(--muted);margin-top:10px}.contact-dialog{width:min(450px,calc(100% - 40px));padding:45px 30px}.contact-dialog h2{font:32px var(--serif);margin-bottom:18px}.contact-dialog>p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-dialog a{text-decoration:underline}
/* Petites lumières : uniquement décoratives, sans interception des clics. */
#fireflies{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2}.firefly{position:absolute;left:var(--left);top:var(--top);width:3px;height:3px;border-radius:50%;background:#d4eaa3;box-shadow:0 0 9px 3px #c1e67c44;animation:drift var(--time) ease-in-out infinite alternate;animation-delay:var(--delay);opacity:.5}@keyframes drift{0%{transform:translate(0,0);opacity:.08}50%{opacity:.7}100%{transform:translate(30px,-65px);opacity:.12}}
#insect-cursor{display:none;position:fixed;left:0;top:0;pointer-events:none;z-index:100;filter:brightness(0) invert(1) drop-shadow(0 1px 3px #000);transform:translate(-100px,-100px)}
@media(hover:hover) and (pointer:fine){body.effects-on,body.effects-on button,body.effects-on a{cursor:none}body.effects-on #insect-cursor.visible{display:block}}
body:not(.effects-on) #fireflies{display:none}
.product-view,.detail-gallery{background:#111815}
body:has(dialog[open]).effects-on,body:has(dialog[open]).effects-on button,body:has(dialog[open]).effects-on a{cursor:auto}
body:has(dialog[open]) #insect-cursor{display:none!important}
.detail-stage{height:420px;min-height:0;aspect-ratio:auto}
.detail-stage>img,.detail-stage>video{min-height:0;max-height:100%;object-fit:contain}
.close-button{position:sticky;top:14px;right:auto;display:block;margin:14px 14px -54px auto}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-subtitle{display:none}.atelier{grid-template-columns:120px 1fr}.atelier-facts{display:none}.atelier-seal img{width:90px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.announcement{font-size:10px;letter-spacing:.025em}.announcement span{margin:0 5px}.header{height:85px;gap:12px}.brand{font-size:32px;gap:8px}.brand img{width:47px;height:40px}.header nav{gap:16px;font-size:12px}.ambience-button{padding:7px}.ambience-label{display:none}.collection{padding-top:28px}.collection-intro{display:block;padding-bottom:23px}h1{font-size:43px}.collection-note{margin-top:20px;font-size:13px}.collection-note>p{display:none}.origin{margin:0;font-size:12px}.eyebrow{font-size:10px}.collection-toolbar{align-items:flex-start}.collection-toolbar h2{font-size:13px}.collection-toolbar p{font-size:10px;text-align:right}.collection-toolbar strong{font-size:16px;margin-left:5px}.future-price{display:block;margin:0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.product-view{padding:16px 9px;border-radius:65px 65px 4px 4px;aspect-ratio:3/4}.product-caption{padding-top:12px;gap:5px;flex-wrap:wrap}.product-caption h3{font-size:20px}.card-price{display:flex;align-items:baseline;gap:7px;text-align:left}.card-price strong{font-size:16px}.card-price span{font-size:9px}.view-symbol{width:26px;height:26px;right:9px;bottom:9px;font-size:19px;line-height:23px}.view-label{display:none}.atelier{grid-template-columns:1fr;gap:23px;padding-block:30px}.atelier-seal{display:none}.atelier h2{font-size:31px}.atelier-copy>p:last-child{font-size:12px}.footer{flex-wrap:wrap;gap:16px;padding-block:25px}.footer>p{display:none}.footer-links{gap:15px}.footer small{width:100%}.detail-layout{grid-template-columns:1fr}.product-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.detail-gallery{padding:25px 22px 18px}.detail-stage{height:260px;min-height:0;aspect-ratio:auto}.detail-stage>img{max-height:260px}.detail-info{padding:26px 23px}.detail-info h2{font-size:37px}.thumbnails{margin-top:10px}.prototype-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}#fireflies,#insect-cursor{display:none!important}body.effects-on,body.effects-on a,body.effects-on button{cursor:auto}.product-view:hover .product-image{transform:none}}

/* Symboles géométriques : centrés indépendamment des métriques de police. */
.view-symbol,.close-button,.quantity-control button{display:grid;place-items:center;padding:0;font-size:0;line-height:1}
.view-symbol,.close-button,.quantity-control button{position:relative}
.view-symbol{position:absolute}
.close-button{position:sticky}
.view-symbol::before,.view-symbol::after,.close-button::before,.close-button::after,.quantity-control button::before,.quantity-control button::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin-left:-6px;margin-top:-.75px;background:currentColor;border-radius:2px;pointer-events:none}
.view-symbol::after,#quantity-plus::after{transform:rotate(90deg)}
#quantity-minus::after{display:none}
.close-button::before{width:15px;margin-left:-7.5px;transform:rotate(45deg)}
.close-button::after{width:15px;margin-left:-7.5px;transform:rotate(-45deg)}
#cursor-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99}
body:not(.effects-on) #cursor-trail,body:has(dialog[open]) #cursor-trail{display:none}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){#cursor-trail{display:none}}
