:root{color-scheme:light;--ink:#192642;--muted:#535e61;--paper:#fbf6ec;--warm:#fffaf2;--green:#356760;--mint:#dce9df;--gold:#ad7c35;--line:#dfd8cb;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
body>main{flex:1 0 auto}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:3px solid #9e6525;outline-offset:5px}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.04em}
em{font-weight:400;color:var(--green)}
.shell{width:min(100% - 64px,1220px);margin-inline:auto}
.skip{position:absolute;left:16px;top:12px;transform:translateY(-160%);padding:10px 14px;background:white;color:var(--ink);z-index:10}
.skip:focus{transform:none}
.announcement{background:var(--ink);color:#fdf1e5;display:flex;gap:13px;align-items:center;justify-content:center;padding:9px 18px;font-size:12px;letter-spacing:.03em;text-align:center}
.announcement span{color:#edcc88}
.site-header{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand strong{display:block;font:400 27px/1.1 var(--serif);letter-spacing:-.05em}
.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em;margin-top:5px}
.site-header nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600}
.site-header nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.header-link,.text-link{font-size:13px;font-weight:700;color:var(--green);display:inline-flex;align-items:center;gap:8px;width:fit-content}
.header-link{padding:8px 13px;border:1px solid #abc0b7;border-radius:999px}
.header-link:hover{background:var(--mint)}
.hero{display:grid;grid-template-columns:1fr minmax(0,1fr);gap:55px;align-items:center;padding-block:57px 66px}
.kicker{display:flex;align-items:center;gap:8px;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:750;color:#496b63}
.kicker span{color:var(--gold);font-size:15px}
h1{font-size:clamp(54px,6.4vw,104px);margin:18px 0 25px;line-height:.96}
.hero .lead{font-size:clamp(15px,1.5vw,18px);max-width:460px;color:var(--muted)}
.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px}
.button{display:inline-flex;align-items:center;gap:15px;padding:13px 18px;background:var(--ink);color:#fff8eb;border-radius:999px;font-weight:650;font-size:13px;white-space:nowrap}
.button:hover{background:#31445d}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero-art{position:relative;min-height:480px;display:grid;place-items:center;isolation:isolate;overflow:hidden;border-radius:190px 190px 28px 28px;background:#e4ece1}
.hero-art:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 49% 47%,#fdf3da 0%,#eef0df 37%,#d8e6dc 75%);z-index:-1}
.art-border{position:absolute;inset:16px;border:1px solid #91a99b;border-radius:174px 174px 18px 18px}
.art-orbit{position:absolute;width:74%;aspect-ratio:1;border-radius:50%;border:1px solid #9eb3a7;transform:rotate(-23deg) scaleX(1.12)}
.hero-art img{position:relative;width:min(90%,485px);filter:drop-shadow(0 13px 15px #19264222);transform:translateY(-6px)}
.art-spark{position:absolute;color:#ad7c35;font-size:28px}
.spark-a{top:24%;left:18%}.spark-b{right:14%;top:36%;font-size:32px}.spark-c{bottom:22%;right:17%;font-size:40px}
.hero-art figcaption{position:absolute;bottom:22px;text-transform:uppercase;letter-spacing:.14em;color:#496b63;font-size:9px;font-weight:700;background:#eef0df;padding:4px 10px}
.hero-art figcaption span{color:var(--gold)}
.section{padding-block:82px}
.collections{border-top:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:end;margin-bottom:36px}
h2{font-size:clamp(38px,4.4vw,66px);margin-top:10px}
.section-heading>p,.story p:not(.kicker),.answers p{font-size:15px;color:var(--muted)}
.section-heading>p{max-width:360px;justify-self:end}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.category{background:var(--warm);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.category>img{width:100%;aspect-ratio:4/3;object-fit:cover}
.category>div{padding:19px 17px 22px}
.category-index{color:#486b63;text-transform:uppercase;font-size:9px;letter-spacing:.12em;font-weight:750}
.category h3{font-size:25px;margin-top:9px}
.category p{color:var(--muted);font-size:13px;margin-top:11px;line-height:1.55}
.story{background:#efe5d4;border-block:1px solid #e4d9c9}
.story-inner{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(32px,7vw,110px)}
.story-illustration{min-height:340px;position:relative;display:grid;place-items:center;border-radius:48% 48% 22px 22px;background:#dce9df}
.story-illustration img{width:min(74%,290px);position:relative}
.story-illustration>span{position:absolute;color:#946521;font-size:25px;top:20%;left:14%}
.story-illustration>span:last-child{top:auto;left:auto;right:13%;bottom:19%}
.story p:not(.kicker){margin-top:19px;max-width:500px}
.story .text-link{margin-top:22px}
.faq{display:grid;grid-template-columns:.8fr 1fr;gap:34px;align-items:start}
.answers details{padding:16px 0;border-top:1px solid var(--line)}
.answers details:last-child{border-bottom:1px solid var(--line)}
.answers summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-weight:650;font-size:15px;list-style:none}
.answers summary::-webkit-details-marker{display:none}
.answers summary:after{content:"+";font-size:22px;font-weight:400;color:var(--green)}
.answers details[open] summary:after{content:"−"}
.answers p{padding:7px 18px 0 0}
.opening{position:relative;text-align:center;background:var(--ink);color:#fff5e8;border-radius:28px;padding:59px 22px}
.opening .kicker{justify-content:center;color:#d6e5d9}
.opening-star{color:#f0ce8a;font-size:30px;display:block;line-height:1;margin-bottom:16px}
.opening em{color:#b9d5c4}
.opening p:not(.kicker){color:#e7e4db;max-width:440px;margin:19px auto 23px}
.button-light{background:#f9eee0;color:var(--ink)}.button-light:hover{background:#e4e9dd}
.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:37px;font-size:12px;color:var(--muted)}
.footer>div{display:flex;flex-wrap:wrap;gap:18px}
.footer .brand{color:var(--ink)}
@media(max-width:980px){.hero{gap:32px}.hero-art{min-height:400px}.category-grid{grid-template-columns:repeat(2,1fr)}.category>img{aspect-ratio:16/10;object-fit:contain;background:#f1eadc}}
@media(max-width:720px){.shell{width:min(100% - 38px,1220px)}.site-header{min-height:82px;flex-wrap:wrap;gap:12px;padding:10px 0 13px}.site-header .brand img{width:46px;height:46px}.site-header nav{order:3;width:100%;gap:16px;font-size:12px;justify-content:space-between}.header-link{font-size:11px}.hero{grid-template-columns:1fr;padding-block:39px 43px;gap:28px}.hero-art{min-height:360px}.hero-art img{width:min(90%,380px)}h1{font-size:clamp(52px,10vw,76px);margin:15px 0 20px}.hero-links{margin-top:24px}.section{padding-block:52px}.section-heading,.story-inner,.faq{grid-template-columns:1fr;gap:20px}.section-heading>p{justify-self:start}.category-grid{gap:12px}.category>div{padding:14px 12px 17px}.category h3{font-size:21px}.category p{font-size:12px}.story-illustration{min-height:250px}.story-illustration img{width:min(66%,210px)}.opening{padding-block:44px}.footer{align-items:flex-start;flex-direction:column}}
@media(max-width:370px){.site-header nav{gap:10px;font-size:11px}.hero-art{min-height:300px}.category-grid{grid-template-columns:1fr}.hero-links{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Pages du catalogue, du panier et de la gestion */
.hero h1{font-size:clamp(2.6rem,6.3vw,4.75rem)}
@media(max-width:720px){.hero h1{font-size:clamp(2.35rem,10.5vw,4.75rem)}}
.page{padding-top:clamp(2.5rem,7vw,6rem);padding-bottom:clamp(3rem,8vw,7rem)}
.page-intro{max-width:820px;margin:0 0 2.3rem}
.page-intro h1{font-size:clamp(2.5rem,6.1vw,5.45rem);margin:0 0 .7rem}
.page-intro .lead{max-width:660px}
.shop-footer{gap:1.4rem;align-items:center}
.shop-footer>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.1rem}
.shop-footer .brand{flex-shrink:0}
a.category{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
a.category:hover{transform:translateY(-4px);box-shadow:0 15px 30px #17243a14}
.service-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.service-strip>div,.panel,.notice,.empty{background:#fffcf5;border:1px solid #dad9cd;border-radius:1.25rem;padding:clamp(1rem,3vw,2rem)}
.service-strip strong{font:1.5rem Georgia,serif}
.service-strip p{margin:.4rem 0 0}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.1rem 0}
.chip{display:inline-flex;align-items:center;min-height:2.6rem;border:1px solid #cccfc3;border-radius:2rem;padding:.42rem .9rem;color:inherit;text-decoration:none;background:#fffcf5;font-weight:600}
.chip:hover,.chip[aria-current]{background:#dce9dc;border-color:#8fafa1}
.notice{margin:1rem 0;background:#e7eee2;padding:.8rem 1rem;color:#203e37}
.empty{margin-top:1.25rem;padding:clamp(1.25rem,5vw,3.5rem);text-align:center}
.empty h2{font-size:clamp(1.65rem,3vw,2.5rem)}
.illustrated{display:flex;justify-content:center;align-items:center;text-align:left;gap:clamp(1rem,5vw,4rem)}
.illustrated img{width:clamp(110px,22vw,245px)}
.filters{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr)) auto;gap:.75rem;align-items:end;padding:1rem}
label{display:grid;gap:.35rem;font-weight:600}
input,select,textarea{font:inherit;color:inherit;background:#fffefa;border:1px solid #bfc5b9;border-radius:.55rem;padding:.65rem .7rem;min-width:0;max-width:100%;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid #4e7d6b;outline-offset:2px}
textarea{resize:vertical}
button{cursor:pointer;font:inherit}
.button{border:1px solid transparent;justify-content:center;text-decoration:none}
.result-count,.meta{color:#526257;font-size:.91rem}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.product-tile{border:1px solid #d8dbcd;border-radius:1.1rem;overflow:hidden;background:#fffdf6}
.product-cover{display:block;background:#e3ebde;overflow:hidden}
.product-cover img{width:100%;aspect-ratio:1.16;object-fit:contain;display:block;transition:transform .2s}
.product-cover:hover img{transform:scale(1.045)}
.product-copy{padding:1rem}
.product-copy h2{font-size:1.45rem;line-height:1.15;margin:.4rem 0}
.product-copy h2 a{color:inherit;text-decoration:none}
.product-copy .meta{margin:.35rem 0 .8rem;min-height:1.4rem}
.tile-bottom{display:flex;justify-content:space-between;gap:.6rem;align-items:center;flex-wrap:wrap}
.tile-bottom span{font-size:.81rem;color:#426352}
.pagination{justify-content:center;margin-top:2rem}
.crumb{display:inline-flex;margin:0 0 1.5rem;color:#335b4f;text-decoration:none;font-weight:600}
.product-detail,.split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1rem,4vw,4rem);align-items:start}
.product-detail .page-intro h1{font-size:clamp(2.2rem,5vw,4.3rem)}
.product-detail .page-intro{margin-bottom:.7rem}
.gallery .main-photo{display:block;width:100%;max-height:600px;aspect-ratio:1.1;object-fit:contain;background:#e8eee3;border:1px solid #d1dbce;border-radius:1.2rem}
.thumbnails{display:flex;gap:.55rem;margin-top:.65rem}
.thumbnails img{width:68px;height:68px;border:1px solid #ccd4c7;border-radius:.5rem;object-fit:contain}
.detail-price{font-size:1.7rem;font-weight:700;margin:.5rem 0}
.specs{display:grid;gap:.35rem;margin:1.2rem 0}
.specs div{display:grid;grid-template-columns:7rem 1fr;border-bottom:1px solid #d5d9ce;padding:.3rem 0}
.specs dt{font-weight:700}.specs dd{margin:0}
.buy-row{display:flex;align-items:end;gap:.8rem;margin:1rem 0}
.buy-row label{max-width:7.5rem}
.prose{line-height:1.65;overflow-wrap:anywhere}
.prose a,.service-strip a{color:#305a4c;text-underline-offset:3px}
.prose h2,.panel h2{font-size:1.6rem;margin:.1rem 0 .9rem}
.lines{display:grid;gap:1rem}
.cart-line{display:grid;grid-template-columns:64px 1fr;gap:.75rem;align-items:center;border-bottom:1px solid #dddcd1;padding-bottom:1rem}
.cart-line:last-child{border-bottom:0;padding-bottom:0}
.cart-line img{width:64px;height:64px;object-fit:contain;border-radius:.5rem;background:#e6ede1}
.cart-line h2{font-size:1.2rem;margin:0}
.cart-line p{margin:0}
.cart-line form{grid-column:2;display:flex;align-items:end;flex-wrap:wrap;gap:.5rem}
.cart-line form label{max-width:5.25rem}
.small-button{border:1px solid #b8c5b9;border-radius:.6rem;background:#edf3e9;color:#263c34;padding:.5rem}
.totals{display:grid;gap:.5rem}
.totals p{display:flex;justify-content:space-between;gap:1rem;margin:.3rem 0}
.totals .grand-total{border-top:1px solid #bbbfb3;padding-top:1rem;margin-top:1rem}
.form-stack{display:grid;gap:1rem}
.form-stack .button{justify-self:start}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.check{display:flex;align-items:baseline;gap:.6rem;font-weight:400}
.check input{width:auto}
fieldset{display:grid;gap:.6rem;border:1px solid #c8d0c4;border-radius:.5rem;min-width:0}
.admin-list{margin-top:1.5rem}
.admin-row{display:grid;grid-template-columns:1.3fr 1fr auto;gap:.75rem;padding:.7rem 0;border-top:1px solid #dedfd4;text-decoration:none;color:inherit}
.admin-row:hover{color:#326759}
.count{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .25rem;background:#d8e8dc;border-radius:1rem}
@media(max-width:950px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.page{padding-top:2.5rem}.product-grid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-of-type{grid-column:span 2}.product-detail,.split,.service-strip{grid-template-columns:1fr}.illustrated{flex-direction:column;text-align:center}.product-copy{padding:.75rem}.product-copy h2{font-size:1.22rem}.admin-row{grid-template-columns:1fr}.shop-footer>div{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){a.category,.product-cover img{transition:none}}


