:root{--brand:#03a302;--yellow:#f4f904;--white:#fff;--ink:#102e22;--deep:#10482e;--paper:#f8faf2;--line:#d7dfcf;--muted:#465a4d;--mint:#dbeed1;--radius:22px;--display:"Arial Black","Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font:16px/1.5 "Segoe UI",system-ui,sans-serif;scrollbar-color:#708d74 var(--paper)}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0} img{display:block;max-width:100%} a{color:inherit} button,input{font:inherit} button{cursor:pointer} button:disabled{opacity:.58;cursor:wait} :focus-visible{outline:3px solid #245eaf;outline-offset:3px} .wrap{width:min(100% - 40px,1240px);margin-inline:auto} .skip{position:fixed;top:8px;left:8px;z-index:10;background:white;padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}
.header{border-bottom:1px solid var(--line)}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px}.logo img{width:122px;max-height:58px;object-fit:contain}.top nav{display:flex;gap:32px}.top nav a,.footer a{font-size:.94rem;text-decoration:none;font-weight:650;padding-block:12px}.top nav a:hover,.footer a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:100px;min-height:46px;padding:10px 18px;font-weight:750;text-decoration:none;color:var(--ink);line-height:1.25}.button:hover{filter:brightness(.96)}.button:active{transform:translateY(1px)}.primary{background:var(--yellow);border-color:#d5db00}.outline{background:var(--white);border-color:var(--line)}.count{min-width:25px;padding:3px 5px;border-radius:99px;background:var(--deep);color:white;text-align:center;font-size:.8rem}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(20px,4vw,64px);align-items:center;padding-block:34px 40px}.hero-copy{padding-block:24px}.hero h1,h2{font-family:var(--display);font-weight:900;letter-spacing:-.035em;line-height:.99;margin:0}.hero h1{font-size:clamp(3.35rem,7vw,7.45rem)}.intro{font-size:clamp(1rem,1.6vw,1.2rem);max-width:31rem;color:var(--muted);margin:22px 0 26px}.hero-art{position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;aspect-ratio:1.25;background:radial-gradient(ellipse at 50% 42%,#eff9db,var(--mint) 65%,#c2e2b0);border-radius:var(--radius);border:1px solid #c9ddbe}.hero-art > img{position:absolute;inset:3% 4% 6%;width:92%;height:91%;object-fit:contain;filter:drop-shadow(0 16px 12px #15311b36)}
.catalog{border-top:1px solid var(--line);padding-block:34px 52px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-top>p{margin:0;text-align:right;color:var(--muted);font-size:.86rem}h2{font-size:clamp(2.2rem,4.4vw,4.2rem)}.products,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:white}.product-art{height:clamp(190px,23vw,300px);background:#eaf3e4;display:grid;place-items:center;padding:17px}.product:nth-child(2) .product-art{background:#e2efda}.product:nth-child(3) .product-art{background:#d6eacb}.product-art img{height:100%;width:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 8px 5px #132e2238)}.product-body{padding:16px}.product-info{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:12px}.product h3{font-size:1.42rem;margin:0;letter-spacing:-.025em}.price{font-weight:800;white-space:nowrap}.full{width:100%}.how{background:var(--deep);color:var(--white);padding-block:52px}.steps{list-style:none;margin:25px 0 0;padding:0}.steps li{padding:16px 18px 0 0;border-top:1px solid #ffffff61}.steps span{color:var(--yellow);font-weight:800;font-size:.83rem}.steps h3{margin:7px 0}.steps p{margin:0;color:#e2f0e5}.reviews{padding-block:48px}.review-controls{display:flex;gap:10px;justify-content:end;margin-bottom:10px}.review-track{padding:6px 5px 18px;display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;list-style:none;margin:0}.review-card{scroll-snap-align:start;flex:0 0 min(84%,340px);border:1px solid var(--line);background:white;border-radius:var(--radius);padding:18px;transition:transform .2s}.review-card:focus-within,.review-card:hover{transform:translateY(-4px)}.review-card blockquote{margin:0 0 12px}.contact{background:var(--mint);padding-block:38px}.contact-inner,.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer{padding-block:20px;color:var(--muted);font-size:.9rem}.footer img{width:88px;max-height:50px;object-fit:contain}
dialog{padding:0;border:0;border-radius:20px;width:min(100% - 22px,600px);max-height:calc(100dvh - 22px);color:var(--ink);background:white;box-shadow:0 20px 70px #142a2450;overscroll-behavior:contain} dialog::backdrop{background:#071b14b3}body:has(dialog[open]){overflow:hidden}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:clamp(1.55rem,5vw,2.35rem)}.icon{padding:0;min-width:44px;min-height:44px;font-size:1.45rem}.dialog-body{padding:16px 20px 20px}.line-item{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.line-item strong{min-width:70px}.quantity{display:flex;align-items:center;gap:8px}.remove{border:0;background:none;color:var(--deep);text-decoration:underline;min-height:44px}.total{display:flex;justify-content:space-between;gap:12px;margin:13px 0 3px;font-weight:800}.muted{font-size:.88rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.fields{display:grid;gap:9px}.fields label{display:grid;font-weight:650;gap:4px}.fields input{border:1px solid #809282;border-radius:10px;padding:9px 11px;min-height:44px;min-width:0}.fields input[aria-invalid=true]{border-color:#a33022}.error{color:#96291e;font-weight:650}.summary{white-space:pre-line;overflow-wrap:anywhere}.admin .wrap{padding-block:24px}.admin form{max-width:500px}.admin article{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:760px){.hero{gap:20px}.top{flex-wrap:wrap;padding:8px 0}.top nav{order:3;width:100%;justify-content:space-between;gap:8px}.top nav a{padding:10px 0;min-height:44px;font-size:.8rem}.wrap{width:calc(100% - 32px)}.hero h1{font-size:clamp(2.7rem,8.8vw,4.4rem)}.hero-copy{padding-block:5px}.product-body{padding:11px}.steps{gap:10px}}
@media(max-width:570px){.hero,.steps{grid-template-columns:1fr}.hero{padding-block:26px;gap:19px}.hero-art{aspect-ratio:1.38}.hero h1{font-size:clamp(3rem,12vw,4rem)}.products{grid-template-columns:1fr}.product{display:grid;grid-template-columns:38% minmax(0,1fr)}.product-art{height:164px;padding:10px}.product-body{align-self:center;padding:12px}.product-info{display:grid;gap:2px}.section-top>p{font-size:.74rem}.how,.reviews{padding-block:32px}.dialog-head,.dialog-body{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:761px){}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.footer-credit{margin:0;padding:14px 0 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;text-align:center}

/* Storefront finishing layer */
:root{
  --ease-out:cubic-bezier(.22,1,.36,1);
  
}
html{scroll-behavior:smooth}
:where(section[id]){scroll-margin-top:20px}
.header{background:#fffffff0}
.logo{flex-shrink:0}
.top nav a{position:relative}
.top nav a::after{
  content:"";position:absolute;inset:auto 0 6px;height:2px;background:var(--brand);
  transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease-out)
}
.top nav a:where(:hover,:focus-visible){text-decoration:none}
.top nav a:where(:hover,:focus-visible)::after{transform:scaleX(1)}
@media(min-width:761px){
  .top nav{gap:clamp(6px,.9vw,12px)}
  .top nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:8px clamp(9px,1.1vw,18px);
    border:1px solid #cedcc9;
    border-radius:100px;
    background:#f2f7ed;
    color:var(--deep);
    font-size:clamp(.8rem,1.2vw,.94rem);
    white-space:nowrap;
    transition:background-color .18s,border-color .18s,transform .18s var(--ease-out);
  }
  .top nav a::after{display:none}
  .top nav a:is(:hover,:focus-visible){background:#e3efdc;border-color:#8ea68b;text-decoration:none}
  .top nav a:active{transform:translateY(1px)}
}
@media(min-width:761px) and (max-width:900px){
  .top{gap:10px}
  .top .logo img{width:96px}
  #cart-open{gap:8px;padding-inline:10px;font-size:.88rem}
}
.button{transition:background-color .2s,border-color .2s,box-shadow .24s var(--ease-out),transform .24s var(--ease-out)}
.button.primary:hover{background:#e6ed00}
.button.outline:hover{background:var(--paper);border-color:#91a590}
.hero{padding-block:clamp(26px,4.1vw,60px);min-height:0}
.hero-copy{animation:panel-in .48s var(--ease-out)}
.hero-art > img{animation:pack-in .95s .13s var(--ease-out) both}



.catalog{padding-block:clamp(32px,5vw,66px)}


.product-info .price{color:var(--deep)}


.contact-actions{align-items:center}
.footer-credit{letter-spacing:.035em}
dialog[open]{animation:dialog-in .3s var(--ease-out) both}
dialog[open]::backdrop{animation:fade-in .24s ease-out both}
#cart :is(#checkout,#review-order,#success):not([hidden]){animation:panel-in .22s var(--ease-out)}

@keyframes pack-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes panel-in{from{opacity:.82;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:760px){
  .top nav{flex-wrap:wrap;column-gap:10px}
  .top nav a{display:inline-flex;align-items:center}
}
@media(max-width:570px){
  .hero-copy{padding:0}
  .hero-art{aspect-ratio:1.31}
  .hero-art > img{inset:3% 4% 10%;height:87%}
  
  
  .contact-actions{align-items:stretch;width:100%}
  .contact-actions .button{flex:1 1 100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Typographie et formulaires */
@font-face{font-family:Montserrat;src:url("/assets/montserrat.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:"Berlin Sans FB Demi";src:local("Berlin Sans FB Demi Bold"),local("BerlinSansFBDemi-Bold");font-style:normal;font-weight:700 900}
:root{--display:"Berlin Sans FB Demi",Montserrat,system-ui,sans-serif;font-family:Montserrat,system-ui,sans-serif}
.hero h1{font-size:clamp(2.65rem,5.1vw,4.8rem);font-weight:720;letter-spacing:-.035em;line-height:1.03}

h2{font-size:clamp(1.75rem,3.15vw,2.85rem);font-weight:700;letter-spacing:-.035em;line-height:1.12}
.product h3{font-size:1.24rem;font-weight:680}
.intro{font-size:clamp(1rem,1.25vw,1.1rem);margin:17px 0 23px}



.how{background:var(--deep)}
.dialog-head h2{font-size:clamp(1.45rem,4.6vw,2rem)}
.message-preview{margin:12px 0;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.feedback{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,5vw,70px);padding-block:clamp(34px,5vw,65px)}
.feedback-copy>p:last-child{max-width:34ch;color:var(--muted)}
.feedback-form{max-width:600px}
.feedback-form fieldset{border:0;padding:0;margin:0;min-width:0}
.feedback-form legend{padding:0;margin-bottom:8px;font-weight:650}
.rating{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.rating label{position:relative;display:block}
.rating input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.rating span{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:100%;background:var(--paper);color:var(--ink)}
.rating input:checked+span{background:var(--deep);border-color:var(--deep);color:white}
.rating input:focus-visible+span{outline:3px solid #245eaf;outline-offset:2px}
.feedback-form textarea{width:100%;min-width:0;min-height:105px;border:1px solid #809282;border-radius:10px;padding:10px 11px;font:inherit}
.resize-none{resize:none}
.feedback-form textarea[aria-invalid=true]{border-color:#a33022}
.feedback-form p{margin:0}
.feedback-form :is(small,p):empty{display:none}
.feedback-form button{justify-self:start}
@media(max-width:570px){.feedback{grid-template-columns:1fr}.hero h1{font-size:clamp(2.55rem,9.8vw,3.4rem)}}


.hero-gecko{position:absolute;left:5%;bottom:13%;width:23%;margin:0;text-align:center;pointer-events:none}
.hero-gecko img{width:100%;height:auto}
.product-quantity{display:grid;gap:3px;justify-items:start}
.product-quantity .quantity{gap:6px}
.product-quantity output{min-width:2.3ch;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.product-quantity button[aria-disabled=true]{opacity:.52;cursor:default;transform:none}
.checkout-actions{display:grid;gap:9px;justify-items:start;margin-top:14px}

.catalog-actions{display:flex;justify-content:end;margin-top:20px}
@media(max-width:570px){.catalog-actions .button{width:100%}}
    
/* Product photography and simple dividers lead the storefront. */
:root{--radius:14px;--paper:#fafbf6;--line:#d7dfcf}
body{accent-color:var(--deep)}
::selection{background:#d7ecce;color:var(--ink)}
.wrap{width:min(100% - 56px,1120px)}
.hero{gap:clamp(28px,6vw,80px)}
.hero-art{background:#e3efdc;border:0}
.hero h1{font-size:clamp(2.65rem,5vw,4.6rem);line-height:1.04}
.intro{max-width:35ch}
.section-top{margin-bottom:15px}
.products{gap:0;border-block:1px solid var(--line)}
.product{border:0;border-radius:0;background:transparent;padding:16px}
.product+.product{border-inline-start:1px solid var(--line)}
.product-art,.product:nth-child(2) .product-art,.product:nth-child(3) .product-art{background:#eaf2e4;border-radius:10px;height:clamp(175px,18vw,228px)}
.product-body{padding:14px 0 0}
.product-info{margin-bottom:9px}
.product-info .price,.total{font-variant-numeric:tabular-nums}
.product-art{overflow:hidden}
.product-art img{transition:transform .32s var(--ease-out)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .product:hover .product-art img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:no-preference){
  .product:focus-within .product-art img{transform:scale(1.035)}
}
.product-quantity .primary{background:var(--white);border-color:#8ea68b;color:var(--deep)}
.product-quantity .primary:hover{background:#e3efdc}
.catalog-actions{margin-top:16px}
.bulk-orders{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;margin-top:16px;padding:14px 16px;background:#e9f2e3;border-radius:10px}
.bulk-orders h3{margin:0 0 3px;font-size:1.1rem;color:var(--deep)}
.bulk-orders p{margin:0;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--deep);font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
.text-link:hover{text-decoration-thickness:2px}
.how{background:var(--deep);color:var(--white)}
.how :focus-visible{outline-color:var(--yellow)}
.steps span{font-size:.86rem;font-variant-numeric:tabular-nums}
.feedback{align-items:start}
.contact{background:transparent;padding-block:0}
.contact-inner{border-top:1px solid var(--line);padding-block:18px}
.contact h2{font-size:1.35rem;letter-spacing:-.025em}
@media(max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .top nav{gap:6px 8px}
  .top nav a{font-size:.78rem}
  .product{padding:11px}
}
@media(max-width:570px){
  .hero-art > img{inset:3% 4% 5%;height:92%}
}

.how .steps a{font-weight:650;text-underline-offset:3px}
.delivery-timing{margin:16px 0;padding:12px 16px;border-inline-start:4px solid var(--yellow);border-radius:8px;background:var(--mint);color:var(--ink)}
.delivery-timing>strong,.delivery-timing>span{display:block}
.delivery-timing>strong{margin-bottom:3px}
.how .delivery-timing{margin:24px 0 0}
.delivery-rates{padding-block:clamp(36px,5vw,64px);border-bottom:1px solid var(--line)}
.rates-table{width:100%;margin-top:20px;border-collapse:collapse;text-align:left}
.rates-table th,.rates-table td{padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.rates-table tbody th{font-weight:550}
.rates-table :is(th,td):last-child{padding-inline-start:12px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rates-table td{font-weight:700;color:var(--deep)}
.payment-note{margin:16px 0 0;color:var(--muted)}
.fields .shipping-choice{display:flex;align-items:center;gap:10px;min-height:44px}
.fields .shipping-choice input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--deep)}
@media(min-width:901px){.how .steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:571px) and (max-width:900px){.how .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

.return-link,.whatsapp-pill{white-space:nowrap}
.whatsapp-pill,.email-pill{min-height:44px;background:#edf5e8;color:var(--deep);border-color:#a9c4a5}
.whatsapp-icon,.email-pill svg{width:20px;height:20px;flex:none}
.whatsapp-icon{
  background:currentColor;
  -webkit-mask:url("/assets/whatsapp.svg") center/contain no-repeat;
  mask:url("/assets/whatsapp.svg") center/contain no-repeat;
}
#mobile-menu{display:none}
.email-pill{min-width:0;max-width:100%}
.email-pill span{min-width:0;overflow-wrap:anywhere}
.footer .button:hover,.return-link:hover,.whatsapp-pill:hover,.email-pill:hover{background:var(--mint);text-decoration:none}
.admin h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:750;line-height:1.08}
.admin h2{font-size:clamp(1.35rem,2.7vw,2.05rem)}
.admin-login{min-height:100svh;display:grid;place-items:center;padding:24px 16px;background:#eaf2e4}
.login-panel,.team-panel{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:20px}
.admin .login-panel,.team-header{animation:panel-in .36s var(--ease-out)}
.login-panel{width:min(100%,440px);padding:clamp(22px,6vw,40px);text-align:center;box-shadow:0 16px 42px #10482e15}
.team-logo{width:112px;height:auto;margin-inline:auto}
.login-panel .team-logo{margin-block:24px 12px}
.login-panel form{margin-top:26px;text-align:start}
.login-panel [type=submit]{margin-top:5px}
.password-field{position:relative}
.password-field input{width:100%;padding-inline-end:56px}
.password-toggle{position:absolute;inset-block:0;inset-inline-end:2px;display:grid;place-items:center;width:46px;border:0;border-radius:8px;background:transparent;color:var(--deep)}
.password-toggle:hover{background:#eaf2e4}
.eye-slash{display:none}
.password-toggle.is-visible .eye-slash{display:block}
.admin .team-dashboard{display:grid;gap:18px;padding-block:clamp(26px,6vw,56px)}
@media(min-width:941px){
  .admin .team-dashboard{width:min(100% - 56px,1320px)}
  .team-dashboard>:not(.team-orders){width:min(100%,1120px);justify-self:center}
}
.team-header{display:grid;justify-items:center;gap:14px;text-align:center}
.team-header #logout{margin-top:4px}
.team-message{margin:10px 0 0;color:var(--muted);font-size:.9rem}
.team-message:empty{display:none}
.team-dashboard>.team-message{text-align:center;margin:0}
.team-panel{padding:clamp(15px,3.4vw,28px)}
.team-panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.team-panel-heading svg{flex:none}
.team-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.team-secondary h2{text-align:center;margin-bottom:18px}
.team-secondary form{margin-inline:auto}
.orders-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:16px;text-align:left}
.order-name-column,.order-products-column{width:17%}
.order-contact-column{width:12%}
.order-reference-column{width:16%}
.order-location-column,.order-status-column{width:14%}
.orders-table :is(th,td){padding:18px clamp(8px,1vw,15px);border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.orders-table th{padding-block:11px;color:var(--deep);background:#edf4e9;font-size:.78rem}
.orders-table tbody tr:last-child td{border-bottom:0}
.orders-table td>strong,.orders-table td>small{display:block}
.orders-table td>strong{font-size:.85rem;font-weight:650}
.orders-table td:nth-child(2)>strong,.orders-table td:nth-child(3)>strong{font-size:.79rem;font-variant-numeric:tabular-nums}
.orders-table td>small{margin-top:3px;color:var(--muted);font-size:.74rem}
.mobile-cell-label{display:none}
.order-status-select{width:100%;min-width:0;min-height:44px;padding:7px 8px;border:1px solid #bacbb7;border-radius:8px;background:#eef4eb;color:var(--ink);font:inherit;font-size:.8rem}
.order-status-select[data-state=completed]{background:#dcefd6;border-color:#a0c898}
.order-status-select[data-state=cancelled]{background:#fbeae5;border-color:#e2b9af}
.order-action{min-height:44px;padding:7px 11px;font-size:.8rem}
.order-archive{display:grid;gap:5px;margin-top:8px}
.order-receipt-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.order-archive small{color:var(--muted)}
.archive-confirm{color:#8c2d24}
@media(min-width:941px){
  .order-status-select,.order-action{min-height:34px;font-size:.76rem}
  .order-action{padding:5px 8px}
}
.hero h1{white-space:pre-line}
.product-description{margin:0 0 10px;font-size:.85rem;overflow-wrap:anywhere}
.product-art .product-placeholder{width:min(70%,140px);height:auto;filter:none}
.stock-badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#fbeae5;color:#822d25;font-size:.78rem;font-weight:700}
.stock-badge.available{background:#e7f2e1;color:var(--deep)}
.team-navigation,.management-actions{display:flex;flex-wrap:wrap;gap:8px}
.team-navigation{justify-content:center}
.team-navigation .button{min-height:44px}
.management-panel .management-form{max-width:680px;margin-top:16px}
#gestion-site>h2,#gestion-site>p{text-align:center}
#site-editor{margin-inline:auto}
.management-form fieldset{display:grid;gap:10px;border:0;padding:0;margin:0;min-width:0}
.management-form textarea{padding:9px 11px;border:1px solid #809282;border-radius:10px;font:inherit;min-width:0;width:100%;resize:none}
.management-form h3,.management-form .muted{margin:0}
.management-form .management-check{display:flex;align-items:center;gap:9px}
.management-form .management-check input,.team-product-list input{width:18px;height:18px;min-height:0;flex:none}
.team-product-list{list-style:none;padding:0;margin:12px 0 0}
.team-product-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.team-product-list label{display:flex;align-items:center;gap:8px;min-height:44px;overflow-wrap:anywhere}
.team-product-list .product-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.team-dashboard section[id]{scroll-margin-top:18px}
.team-panel{transition:border-color .22s}
.team-panel:target{border-color:#8ea68b}
.order-status-select{transition:background-color .2s,border-color .2s}
#product-editor:not([hidden]){animation:panel-in .24s var(--ease-out)}
.receipt-panel h1{font-family:var(--display);font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.12}
.receipt-panel .team-logo{margin:0 auto 24px}
.receipt-actions{display:grid;gap:10px;margin-top:24px}
@media(max-width:760px){
  .team-secondary{grid-template-columns:1fr}
  .team-panel-heading{justify-content:center;text-align:center}
  .footer{justify-content:center;text-align:center}
}
@media(max-width:940px){
  .orders-table,.orders-table tbody{display:block}
  .orders-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .orders-table tbody{display:grid;gap:10px}
  .orders-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 16px;padding:14px;border:1px solid var(--line);border-radius:12px}
  .orders-table tbody td,.orders-table tbody tr:last-child td{display:block;border:0;padding:0}
  .mobile-cell-label{display:block;margin-bottom:3px;color:var(--muted);font-size:.72rem;font-weight:650}
}
@media(max-width:400px){
  .orders-table tbody td:has(.order-status-select){grid-column:1/-1}
}

/* Mobile storefront */
@media (max-width:760px){
  body:not(.admin){
    --mobile-gutter:clamp(16px,5.5vw,28px);
    --mobile-section-space:clamp(44px,12vw,64px);
    --mobile-space:24px;
  }
  body:not(.admin) .wrap{width:calc(100% - var(--mobile-gutter) * 2)}
  .top{gap:8px;padding-block:12px}
  #mobile-menu{
    display:inline-flex;
    margin-inline-start:auto;
    min-width:44px;
    padding-inline:11px;
    gap:6px;
    font-size:.85rem;
  }
  #mobile-menu[aria-expanded=true]{border-color:#a9c4a5;background:#edf5e8}
  #mobile-menu[aria-expanded=false]:not([hidden]) + nav{display:none}
  #mobile-menu[aria-expanded=true] + nav{animation:panel-in .2s var(--ease-out)}
  .top nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    border-top:1px solid var(--line);
    padding-top:12px;
  }
  .top nav a{
    justify-content:center;
    min-width:0;
    padding:10px 6px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--paper);
    font-size:.86rem;
    text-align:center;
    line-height:1.3;
  }
  .top nav a::after{display:none}
  .hero{gap:var(--mobile-space);padding-block:36px var(--mobile-section-space)}
  .hero h1{font-size:clamp(2.25rem,9.3vw,3.4rem);overflow-wrap:anywhere}
  .intro{line-height:1.65;margin:18px 0 24px}
  .hero .button,.catalog-actions .button,.feedback-form button{min-height:50px}
  .catalog,.how,.delivery-rates,.feedback,.reviews{padding-block:var(--mobile-section-space)}
  .section-top{margin-bottom:22px}
  .catalog h2,.how h2,.delivery-rates h2,.feedback h2,.contact h2{text-wrap:balance}
  .products{grid-template-columns:1fr;gap:14px;border:0}
  .products .product{
    display:grid;
    grid-template-columns:minmax(82px,min(35%,176px)) minmax(0,1fr);
    gap:clamp(14px,4vw,24px);
    align-items:center;
    padding:10px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
  }
  .products .product .product-art{height:clamp(156px,41vw,184px);padding:12px}
  .product-body{padding:6px 4px 6px 0}
  .product-info{display:grid;gap:2px;margin-bottom:14px;overflow-wrap:anywhere}
  .product-quantity{gap:6px}
  .product-quantity .quantity{gap:8px}
  .product-quantity .icon{min-width:46px;min-height:46px}
  .product-quantity .primary{background:#edf5e8}
  .bulk-orders{gap:12px 20px;margin-top:var(--mobile-space);padding:16px}
  .bulk-orders .button{background:var(--white)}
  .catalog-actions{margin-top:16px}
  .catalog-actions .button{width:100%}
  .steps{gap:16px;margin-top:var(--mobile-space)}
  .steps li{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    align-items:start;
    gap:4px 12px;
    padding:16px 0 0;
    border-color:#ffffff42;
  }
  .steps li>span{
    grid-row:span 2;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid #ffffff49;
    border-radius:50%;
  }
  .steps h3{align-self:center;margin:0;font-size:1.04rem;line-height:1.35}
  .steps p{grid-column:2;font-size:.94rem}
  .steps p,.payment-note,.feedback-copy>p,.bulk-orders p{line-height:1.65}
  .how .delivery-timing{margin-top:28px;padding:16px;border:0;border-radius:var(--radius)}
  .how .delivery-timing>strong{margin-bottom:6px}
  .rates-table{
    margin-top:22px;
    border:1px solid var(--line);
    border-collapse:separate;
    border-spacing:0;
    border-radius:var(--radius);
    background:var(--white);
  }
  .rates-table th,.rates-table td{padding:13px 12px;font-size:.9rem}
  .rates-table thead th{background:#eaf2e4;color:var(--deep)}
  .rates-table thead th:first-child{border-start-start-radius:calc(var(--radius) - 1px)}
  .rates-table thead th:last-child{border-start-end-radius:calc(var(--radius) - 1px)}
  .rates-table tbody tr:last-child>*{border-bottom:0}
  .rates-table :is(th,td):last-child{padding-inline-start:6px}
  .payment-note{font-size:.9rem}
  .feedback{gap:20px}
  .feedback-copy>p:last-child{margin:12px 0 0}
  .feedback-form{
    gap:14px;
    min-width:0;
    padding:clamp(14px,4vw,20px);
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
  }
  .feedback-form label{gap:8px}
  .feedback-form textarea{min-height:128px}
  .feedback-form button{width:100%;white-space:normal}
  .contact{background:#eaf2e4}
  .contact-inner{flex-direction:column;align-items:center;gap:20px;padding-block:36px;border-top:0;text-align:center}
  .contact h2{font-size:clamp(1.5rem,6vw,1.9rem)}
  .contact-actions{display:grid;width:min(100%,390px);gap:12px}
  .contact-actions .button{min-height:48px;background:var(--white);text-align:center}
  .footer{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    width:min(100%,390px);
    margin-inline:auto;
    padding-block:28px;
  }
  .footer>img,.footer>span{grid-column:1/-1;justify-self:center}
  .footer .button{min-width:0;padding-inline:8px;font-size:.82rem}

  #cart{
    width:min(calc(100% - 24px),600px);
    max-height:calc(100dvh - 24px);
    scroll-padding-top:84px;
  }
  #cart .dialog-head{position:sticky;top:0;z-index:1;background:var(--white)}
  #cart .dialog-head,#cart .dialog-body{padding:16px clamp(16px,5vw,24px)}
  #cart .dialog-body{padding-bottom:24px}
  #cart .line-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"item-name item-price" "item-quantity item-remove";
    gap:8px 14px;
    padding-block:14px;
  }
  #cart .line-item strong:first-child{grid-area:item-name;min-width:0;overflow-wrap:anywhere}
  #cart .line-item strong:last-of-type{grid-area:item-price;text-align:end}
  #cart .line-item .quantity{grid-area:item-quantity}
  #cart .line-item .remove{grid-area:item-remove;justify-self:end}
  #cart .total{margin-top:18px}
  #cart .fields{gap:14px}
  #cart .fields label{gap:7px}
  #cart .shipping-choice input{min-height:0}
  #checkout>.button:first-child{margin-bottom:16px}
  #cart .message-preview,#cart .delivery-timing{padding:16px}
  #cart .checkout-actions{gap:10px;margin-top:18px}
}
@media (max-width:640px){
  .hero,.feedback,.how .steps{grid-template-columns:1fr}
  .hero-copy{padding:0}
  .hero-art{aspect-ratio:1.31}
}
@media (max-width:440px){
  .top .logo img{width:clamp(90px,27vw,112px)}
  #cart-open{gap:6px;padding-inline:10px}
  .cart-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media (max-width:360px){
  .feedback-form .rating{gap:4px}
  .feedback-form button{padding-inline:12px}
}
