:root{--green:#173d2e;--green-2:#245943;--green-3:#dfe9e2;--ink:#18211d;--muted:#66716b;--paper:#f7f8f5;--line:#dce2dd;--white:#fff;--accent:#f5b82e;--accent-dark:#d99500;--orange:#e66e27;--danger:#b33d35;--radius:4px;--shadow:0 18px 50px rgba(20,45,34,.12);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;z-index:999;background:var(--accent);padding:12px 18px;font-weight:800}.skip-link:focus{top:16px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--green-2);font-size:.74rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.eyebrow.light{color:#c8ddd1}.eyebrow.orange{color:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}h1{font-size:clamp(2.5rem,6vw,5.8rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.045em}h3{letter-spacing:-.025em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius);font-size:.9rem;font-weight:800;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-2)}.btn-accent{background:var(--accent);color:#151a17}.btn-accent:hover{background:#ffc640}.btn-outline{border-color:#aab5ae;background:#fff;color:var(--ink)}.btn-ghost-light{border-color:rgba(255,255,255,.45);color:#fff}.btn-block{width:100%}.btn-large{min-height:58px;font-size:1rem}.text-link{font-weight:800;color:var(--green-2)}.text-link:hover{text-decoration:underline}.page-shell{padding-top:42px;padding-bottom:86px}
.utility-bar{background:#102b21;color:#ccdad2;font-size:.72rem}.utility-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.utility-inner p{margin:0;text-transform:uppercase;letter-spacing:.06em}.utility-inner a{font-weight:800;color:#fff}.utility-inner span{margin-left:12px}.site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.header-main{height:86px;display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:47px;height:47px;background:var(--green);color:#fff;font-size:.95rem;font-weight:900;letter-spacing:-.05em;clip-path:polygon(0 0,100% 0,100% 74%,76% 100%,0 100%)}.brand strong,.brand small{display:block}.brand strong{font-size:1rem;letter-spacing:.04em}.brand small{font-size:.54rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}.header-search{height:46px;display:flex;background:var(--paper);border:1px solid #e1e7e2;border-radius:3px}.header-search:focus-within{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(36,89,67,.1)}.header-search input{flex:1;min-width:0;border:0;background:transparent;padding:0 16px;outline:none}.header-search button{width:54px;border:0;background:var(--green);color:#fff;font-size:1.7rem}.header-actions{display:flex;align-items:center;gap:7px}.header-actions>a{position:relative;display:grid;justify-items:center;min-width:72px;padding:6px 8px;color:var(--ink)}.header-actions>a>span{font-size:1.6rem;line-height:1}.header-actions small{font-size:.68rem;font-weight:750;white-space:nowrap}.cart-link b{position:absolute;top:0;right:7px;display:grid;place-items:center;width:19px;height:19px;background:var(--accent);border-radius:50%;font-size:.65rem}.menu-toggle{display:none;border:0;background:transparent;width:50px;padding:8px}.menu-toggle>span{display:block;height:2px;background:var(--ink);margin:5px}.menu-toggle small{font-size:.62rem;font-weight:800}.main-nav{border-top:1px solid var(--line)}.nav-inner{height:50px;display:flex;align-items:center;gap:clamp(18px,3vw,38px)}.nav-inner a{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.nav-inner a:hover{color:var(--green-2)}.nav-promo{margin-left:auto;color:var(--orange)!important}.flash{border-bottom:1px solid}.flash .container{position:relative;padding:13px 48px 13px 16px;text-align:center;font-weight:700}.flash button{position:absolute;right:12px;top:7px;border:0;background:transparent;font-size:1.5rem}.flash-success{background:#e2f3e8;border-color:#b4d9c1;color:#17552f}.flash-error{background:#fde8e5;border-color:#efc5bf;color:#812c25}.flash-info{background:#e7eef7;border-color:#c4d5e8;color:#234e76}
.hero{position:relative;padding:38px 0 0;background:var(--green);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;min-height:590px}.hero-copy{padding:58px 8% 105px 0;align-self:center}.hero-copy h1{margin:16px 0 24px;max-width:720px}.hero-copy h1 em{color:var(--accent);font-style:normal}.hero-copy>p{max-width:610px;color:#d6e0da;font-size:1.08rem}.hero-actions{display:flex;gap:12px;margin:34px 0}.hero-proof{display:flex;gap:34px;margin-top:48px;color:#bfd1c7}.hero-proof span{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em}.hero-proof b{display:block;color:#fff;font-size:1.18rem;letter-spacing:0}.hero-visual{position:relative;min-height:590px}.hero-visual>img{width:100%;height:100%;filter:saturate(.76) contrast(1.06)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green),transparent 26%),linear-gradient(0deg,rgba(10,31,23,.28),transparent)}.hero-card{position:absolute;z-index:2;right:0;bottom:66px;width:300px;padding:23px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.hero-card span,.hero-card small,.hero-card strong{display:block}.hero-card span{color:var(--orange);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.hero-card strong{margin:5px 0;font-size:1.1rem}.hero-card small{color:var(--muted)}.hero-index{position:absolute;z-index:3;right:18px;top:24px;display:flex;align-items:center;gap:8px;font-size:.62rem;font-weight:800;letter-spacing:.15em}.hero-index i{width:30px;height:1px;background:#fff}.hero-search{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr auto;gap:0;margin-top:-31px;background:#fff;color:var(--ink);box-shadow:0 20px 50px rgba(19,46,35,.18);padding:18px}.hero-search>div{padding:0 19px;border-right:1px solid var(--line)}.hero-search label{display:block;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.hero-search input,.hero-search select{width:100%;height:35px;padding:0;border:0;background:#fff;outline:0;font-weight:700}.hero-search .btn{min-width:210px}
.section{padding:96px 0}.section.alt{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin:7px 0 0}.section-heading>p{max-width:470px;margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:285px 285px;gap:14px}.category-card{position:relative;overflow:hidden;background:var(--green)}.category-card.category-featured{grid-column:span 2;grid-row:span 2}.category-card:nth-child(4){grid-column:span 2}.category-card img{width:100%;height:100%;transition:.45s ease}.category-card:hover img{transform:scale(1.035)}.category-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,29,20,.84),transparent 66%)}.category-card>div{position:absolute;left:24px;right:24px;bottom:22px;color:#fff}.category-card small{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#d1ded6}.category-card h3{margin:5px 0 6px;font-size:1.55rem}.category-card>div>span{font-size:.78rem;font-weight:800;color:var(--accent)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{position:relative;background:#fff;border:1px solid var(--line);transition:.25s ease}.product-card:hover{transform:translateY(-3px);border-color:#c1cbc4;box-shadow:0 16px 36px rgba(22,53,40,.09)}.product-media{position:relative;display:block;aspect-ratio:4/3;background:#eef1ed;overflow:hidden}.product-media img{width:100%;height:100%;transition:.35s ease}.product-card:hover .product-media img{transform:scale(1.025)}.badge{position:absolute;z-index:2;top:13px;left:13px;padding:5px 9px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.badge-sale{background:var(--orange);color:#fff}.badge-new{background:var(--green);color:#fff}.badge+.badge{left:auto;right:13px}.product-body{padding:18px}.product-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--green-2);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.product-meta span{color:#89928d;font-weight:650}.product-card h3{min-height:46px;margin-bottom:11px;font-size:1.08rem}.product-card h3 a:hover{color:var(--green-2)}.stock{display:flex;align-items:center;gap:7px;font-size:.73rem;font-weight:700;color:var(--muted)}.stock i{width:7px;height:7px;border-radius:50%;background:#aaa}.stock-available i{background:#35a668}.stock-low i{background:var(--accent-dark)}.stock-out i{background:var(--danger)}.stock-on-order i{background:#4a7ea9}.product-buy{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:18px}.price-wrap{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.price-wrap del{width:100%;color:#8a928e;font-size:.75rem}.price-wrap strong{font-size:1.35rem;letter-spacing:-.04em}.price-wrap small{color:var(--muted);font-size:.64rem}.icon-btn{display:grid;place-items:center;width:43px;height:43px;border:0;background:var(--green);color:#fff;font-size:1.5rem;font-weight:300}.icon-btn:hover{background:var(--accent);color:var(--ink)}.icon-btn.disabled{background:#c5cbc7}.card-actions{margin:16px -18px -18px;padding:12px 18px;border-top:1px solid var(--line)}.card-actions a{display:flex;justify-content:space-between;font-size:.73rem;font-weight:800;color:var(--green-2)}
.pro-banner{padding:40px 0 96px;background:linear-gradient(#fff 0 18%,var(--green) 18% 100%);color:#fff}.pro-banner-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center}.pro-banner-image{position:relative;height:520px}.pro-banner-image img{width:100%;height:100%;filter:saturate(.7)}.pro-banner-image>span{position:absolute;top:25px;left:25px;padding:8px 12px;background:var(--accent);color:var(--ink);font-size:.7rem;font-weight:900;text-transform:uppercase}.pro-banner-copy{padding:90px 6%}.pro-banner-copy h2{margin:14px 0 22px}.pro-banner-copy p{color:#cedbd3}.pro-banner-copy ul{list-style:none;padding:0;margin:27px 0}.pro-banner-copy li{position:relative;padding:9px 0 9px 29px;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700}.pro-banner-copy li:before{content:"✓";position:absolute;left:0;color:var(--accent)}.benefits{padding:52px 0;background:#f1f4f0;border-block:1px solid var(--line)}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.benefits-grid>div{position:relative;padding-left:54px}.benefit-icon{position:absolute;left:0;top:0;display:grid;place-items:center;width:38px;height:38px;background:var(--green);color:#fff}.benefits h3{margin:0 0 7px;font-size:1rem}.benefits p{margin:0;color:var(--muted);font-size:.84rem}.review-score{display:flex;gap:12px;align-items:center}.review-score>strong{font-size:2.4rem}.review-score>span{color:var(--accent-dark);letter-spacing:.08em}.review-score small{display:block;color:var(--muted);font-size:.7rem;letter-spacing:0}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.testimonial-grid blockquote{margin:0;padding:28px;background:var(--paper);border-top:3px solid var(--green)}.stars{color:var(--accent-dark);letter-spacing:.12em}.testimonial-grid blockquote>p{min-height:105px;margin:18px 0;color:#3e4944;font-size:1rem}.testimonial-grid footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px}.testimonial-grid footer b,.testimonial-grid footer span{font-size:.75rem}.testimonial-grid footer span{color:var(--muted)}.advice-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.advice-main{position:relative;min-height:490px;overflow:hidden}.advice-main img{width:100%;height:100%;position:absolute}.advice-main:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,23,.88),transparent 65%)}.advice-main>div{position:absolute;z-index:2;left:34px;bottom:31px;color:#fff}.advice-main span,.advice-list span{color:var(--accent);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.advice-main h3{max-width:600px;margin:8px 0 13px;font-size:1.8rem}.advice-main a,.advice-list a{font-size:.78rem;font-weight:850}.advice-list{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}.advice-list article{display:flex;flex-direction:column;justify-content:center;padding:25px;background:#fff;border-left:3px solid var(--green)}.advice-list h3{margin:8px 0;font-size:1.04rem}
.newsletter{padding:56px 0;background:var(--accent)}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.newsletter .eyebrow{color:var(--ink)}.newsletter h2{margin:6px 0 4px;font-size:2.15rem}.newsletter p{margin:0}.newsletter form{display:flex}.newsletter input{flex:1;min-width:0;height:54px;border:0;padding:0 17px}.newsletter .btn{min-height:54px;border-radius:0;background:var(--green);color:#fff}.site-footer{background:#102a21;color:#c4d1c9;padding:68px 0 24px}.footer-grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:55px}.brand-footer{color:#fff;margin-bottom:20px}.brand-footer .brand-mark{background:var(--accent);color:var(--ink)}.footer-grid>div:first-child>p{max-width:350px;font-size:.85rem}.footer-grid h3{margin:4px 0 19px;color:#fff;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}.footer-grid>div>a:not(.brand),.footer-contact a{display:block;padding:5px 0;font-size:.8rem}.footer-grid a:hover{color:var(--accent)}.footer-contact{margin-top:20px}.footer-contact a{color:#fff;font-weight:750}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:50px;padding-top:23px;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem}.footer-payments{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.footer-payment-title{margin-right:3px;color:#9eb0a6;font-size:.69rem}.footer-payment-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border:1px solid rgba(255,255,255,.22);border-radius:3px;background:rgba(255,255,255,.06);color:#fff;font-size:.64rem;font-style:normal;font-weight:850;line-height:1;letter-spacing:.04em;white-space:nowrap}.footer-payment-badge-paypal{text-transform:none;letter-spacing:0;font-size:.68rem}
.page-hero{background:var(--green);color:#fff;padding:62px 0}.page-hero.compact h1{margin:10px 0 6px;font-size:clamp(2.4rem,5vw,4.4rem)}.page-hero p{margin:0;color:#ccd9d2}.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#82938b;font-size:.74rem}.page-hero .breadcrumbs{color:#b9cbc1}.breadcrumbs a:hover{text-decoration:underline}.catalogue-layout{display:grid;grid-template-columns:255px 1fr;gap:36px}.filters{align-self:start;border:1px solid var(--line);background:#fff}.filter-title{display:flex;justify-content:space-between;padding:19px;border-bottom:1px solid var(--line)}.filter-title a{font-size:.7rem;color:var(--muted);text-decoration:underline}.filters form{padding:0 19px 20px}.filters fieldset{margin:0;padding:21px 0;border:0;border-bottom:1px solid var(--line)}.filters legend{margin-bottom:13px;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.radio,.checkbox{display:flex;align-items:center;gap:9px;padding:5px 0;color:#47524d;font-size:.82rem;cursor:pointer}.radio input,.checkbox input{accent-color:var(--green);width:16px;height:16px}.filters select,.range-inputs input{width:100%;height:42px;border:1px solid var(--line);background:#fff;padding:0 10px}.range-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.filters>.btn,.filters form>.btn{margin-top:20px}.filter-toggle{display:none}.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.catalogue-toolbar>div span{color:var(--muted)}.catalogue-toolbar form{display:flex;align-items:center;gap:9px}.catalogue-toolbar label{font-size:.75rem;color:var(--muted)}.catalogue-toolbar select{height:40px;border:1px solid var(--line);padding:0 10px;background:#fff}.catalogue-grid{grid-template-columns:repeat(3,1fr)}.pagination{display:flex;justify-content:center;gap:8px;margin-top:45px}.pagination a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);font-weight:750}.pagination a.active{background:var(--green);color:#fff}.empty-state{max-width:720px;margin:45px auto;padding:55px 30px;background:var(--paper);text-align:center}.empty-state h1,.empty-state h2{margin:10px 0 15px}.empty-state h1{font-size:2.5rem}.empty-state p{color:var(--muted)}
.product-page{padding-top:24px}.product-detail{display:grid;grid-template-columns:1.08fr .92fr;gap:55px}.gallery-main{position:relative;aspect-ratio:1.15/1;background:#eef1ed}.gallery-main>img{width:100%;height:100%}.gallery-main .badge{font-size:.8rem;padding:8px 13px}.gallery-thumbs{display:flex;gap:10px;margin-top:12px}.gallery-thumbs button{width:88px;height:70px;padding:0;border:2px solid transparent;background:#eee}.gallery-thumbs button.active{border-color:var(--green)}.gallery-thumbs img{width:100%;height:100%}.product-summary{padding:20px 0}.product-brand{display:flex;justify-content:space-between;margin:11px 0;color:var(--green-2);font-size:.78rem;font-weight:850;text-transform:uppercase}.product-brand span{color:var(--muted)}.product-summary h1{margin:7px 0 13px;font-size:clamp(2.2rem,4vw,3.9rem)}.rating{color:var(--muted);font-size:.78rem}.rating span{color:var(--accent-dark);letter-spacing:.08em}.rating a{text-decoration:underline}.product-summary .lead{margin:23px 0;color:#4c5752;font-size:1.02rem}.summary-price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;padding:22px 0;border-block:1px solid var(--line)}.summary-price del{width:100%;color:var(--muted)}.summary-price strong{font-size:2.25rem;letter-spacing:-.05em}.summary-price>span{font-size:.72rem;color:var(--muted)}.summary-price small{margin-left:auto;color:var(--green-2);font-weight:700}.availability{padding:18px 0}.availability .stock{font-size:.85rem}.availability small{display:block;margin:5px 0 0 14px;color:var(--muted)}.add-form{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:8px 0 12px}.qty-control{display:grid;grid-template-columns:38px 1fr 38px;height:58px;border:1px solid var(--line)}.qty-control button{border:0;background:var(--paper);font-size:1.2rem}.qty-control input{width:100%;min-width:0;border:0;text-align:center;font-weight:800;-moz-appearance:textfield}.summary-services{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.summary-services>div{display:flex;gap:8px}.summary-services>div>span{color:var(--green-2);font-weight:850}.summary-services p{margin:0}.summary-services b,.summary-services small{display:block;font-size:.68rem}.summary-services small{margin-top:3px;color:var(--muted)}.product-information{margin-top:70px;border-top:1px solid var(--line)}.tabs{display:flex;gap:32px;border-bottom:1px solid var(--line)}.tabs button,.tabs a{padding:18px 2px;border:0;border-bottom:3px solid transparent;background:transparent;font-size:.78rem;font-weight:850;text-transform:uppercase}.tabs .active{border-color:var(--green)}.info-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;padding:55px 0}.info-grid article h2{margin:8px 0 25px}.rich-text{color:#4c5752;line-height:1.8}.info-grid article h3{margin-top:30px}.info-grid aside{padding:30px;background:var(--paper)}.info-grid aside h2{font-size:1.6rem}.info-grid aside h3{margin:24px 0 8px;color:var(--green-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.info-grid dl{margin:0}.info-grid dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.82rem}.info-grid dt{color:var(--muted)}.info-grid dd{margin:0;text-align:right;font-weight:750}.document-box{display:flex;gap:12px;margin-top:25px;padding:16px;background:#fff;border:1px solid var(--line)}.document-box>span{display:grid;place-items:center;width:44px;background:var(--orange);color:#fff;font-size:.7rem;font-weight:900}.document-box b,.document-box a{display:block;font-size:.75rem}.document-box a{color:var(--green-2);text-decoration:underline}
.form-page{max-width:760px}.form-card{padding:34px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px rgba(24,53,41,.06)}.form-card h1{font-size:2.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.75rem;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #cfd7d1;padding:10px 12px;background:#fff}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(36,89,67,.18);border-color:var(--green-2)}.form-help{color:var(--muted);font-size:.75rem}.alert{padding:14px 16px;border:1px solid}.alert-error{background:#fff0ee;border-color:#e9bdb8;color:#812c25}.alert ul{margin:0;padding-left:20px}.account-layout{display:grid;grid-template-columns:230px 1fr;gap:35px}.account-nav{align-self:start;padding:15px;background:var(--paper)}.account-nav a{display:block;padding:11px 12px;font-size:.8rem;font-weight:750}.account-nav a.active{background:var(--green);color:#fff}.account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.account-header h1{margin:0;font-size:2.6rem}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:.8rem}.data-table th{background:var(--paper);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.status-pill{display:inline-block;padding:5px 8px;background:var(--green-3);color:var(--green);font-size:.67rem;font-weight:850;border-radius:20px}.status-cancelled{background:#f8dddd;color:#872e29}.status-pending{background:#fff0c6;color:#775b00}
@media(max-width:1050px){.header-main{grid-template-columns:230px 1fr auto;gap:15px}.header-actions>a{min-width:58px}.nav-inner{gap:19px}.hero-grid{grid-template-columns:1fr .85fr}.hero-copy{padding-right:6%}.hero-proof{gap:18px}.category-grid{grid-template-columns:repeat(3,1fr)}.category-card.category-featured{grid-column:span 2}.category-card:nth-child(4){grid-column:span 1}.product-grid{grid-template-columns:repeat(3,1fr)}.product-grid .product-card:nth-child(4){display:none}.catalogue-grid .product-card:nth-child(4){display:block}.catalogue-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:28px}.product-detail{gap:35px}.summary-services{grid-template-columns:1fr}.summary-services>div{padding:4px 0}}
@media(max-width:820px){.container{width:min(calc(100% - 24px),var(--max))}.utility-inner p{display:none}.utility-inner{justify-content:center}.header-main{height:72px;grid-template-columns:1fr auto}.header-search{grid-column:1/-1;grid-row:2;margin:0 -12px;height:48px;border-left:0;border-right:0}.site-header{padding-bottom:48px}.brand-mark{width:42px;height:42px}.header-actions>a{min-width:47px}.header-actions>a:first-child small,.header-actions .cart-link small{display:none}.menu-toggle{display:block}.main-nav{position:fixed;z-index:100;top:0;right:-100%;bottom:0;width:min(86vw,380px);padding:95px 25px 30px;background:#fff;box-shadow:-20px 0 50px rgba(0,0,0,.2);transition:.3s ease}.main-nav.open{right:0}.nav-inner{height:auto;display:grid;gap:0}.nav-inner a{padding:15px;border-bottom:1px solid var(--line)}.nav-promo{margin:0}.hero{padding-top:0}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:62px 0 55px}.hero-copy>p{font-size:1rem}.hero-visual{display:none}.hero-search{grid-template-columns:1fr;margin-top:0}.hero-search>div{border-right:0;border-bottom:1px solid var(--line);padding:10px 4px}.hero-search .btn{margin-top:10px}.section{padding:70px 0}.section-heading{align-items:start}.category-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 240px 240px}.category-card.category-featured{grid-column:1/-1;grid-row:span 1}.category-card:nth-child(4){grid-column:span 1}.product-grid{grid-template-columns:repeat(2,1fr)}.product-grid .product-card:nth-child(4){display:block}.pro-banner{background:var(--green);padding:0}.pro-banner-grid{grid-template-columns:1fr}.pro-banner-image{height:370px}.pro-banner-copy{padding:60px 0}.benefits-grid{grid-template-columns:1fr 1fr}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid blockquote>p{min-height:auto}.advice-grid{grid-template-columns:1fr}.newsletter-inner{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}.catalogue-layout{grid-template-columns:1fr;gap:20px}.filter-toggle{display:flex;justify-content:space-between}.filters{display:none}.filters.open{display:block}.catalogue-grid{grid-template-columns:repeat(2,1fr)}.product-detail{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr;gap:30px}.account-layout{grid-template-columns:1fr}.account-nav{display:flex;overflow:auto}.account-nav a{white-space:nowrap}}
@media(max-width:560px){body{font-size:15px}.brand small{display:none}.header-actions{gap:0}.hero-copy h1{font-size:3.2rem}.hero-actions{display:grid}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:18px}.category-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:280px repeat(3,180px);gap:8px}.category-card.category-featured{grid-column:1/-1}.category-card h3{font-size:1.15rem}.category-card>div{left:15px;right:15px;bottom:14px}.product-grid,.catalogue-grid{grid-template-columns:1fr 1fr;gap:8px}.product-body{padding:12px}.product-meta{display:block}.product-meta span{display:block;margin-top:3px}.product-card h3{font-size:.92rem;min-height:55px}.price-wrap strong{font-size:1.06rem}.card-actions{margin:13px -12px -12px;padding:10px 12px}.product-media{aspect-ratio:1/1}.pro-banner-image{height:280px}.benefits-grid{grid-template-columns:1fr}.review-score{margin-top:20px}.newsletter form{display:grid}.newsletter .btn{width:100%}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom>span{display:block;margin:7px 0}.footer-payments{justify-content:flex-start;margin-top:14px;gap:6px}.footer-payment-title{width:100%;margin:0 0 4px}.footer-payment-badge{min-height:26px}.catalogue-toolbar{align-items:flex-start}.catalogue-toolbar form{display:grid}.product-detail{gap:20px}.product-summary h1{font-size:2.5rem}.add-form{grid-template-columns:100px 1fr}.summary-price small{width:100%;margin-left:0}.info-grid aside{padding:20px}.tabs{gap:17px;overflow:auto}.tabs>*{white-space:nowrap}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-card{padding:22px}.data-table-wrap{overflow:auto}.account-header{display:block}.account-header .btn{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Cart, checkout, authentication and contact */
.cart-layout,.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:38px;align-items:start}.cart-lines{min-width:0}.cart-heading{display:flex;justify-content:space-between;align-items:center;padding:0 0 15px;border-bottom:2px solid var(--ink)}.cart-heading h2{margin:0;font-size:1.4rem}.cart-heading span{font-size:.72rem;color:var(--muted)}.cart-line{display:grid;grid-template-columns:145px 1fr 125px 125px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.cart-image{aspect-ratio:1.2/1;background:var(--paper)}.cart-image img{width:100%;height:100%}.cart-info>span{color:var(--green-2);font-size:.67rem;font-weight:800;text-transform:uppercase}.cart-info h3{margin:6px 0 10px;font-size:1rem}.remove-link{margin-top:10px;padding:0;border:0;background:transparent;color:var(--danger);font-size:.72rem;text-decoration:underline}.cart-quantity label{display:block;margin-bottom:6px;color:var(--muted);font-size:.67rem}.qty-control.small{height:43px;grid-template-columns:30px 1fr 30px}.cart-price{text-align:right}.cart-price strong,.cart-price small{display:block}.cart-price small{color:var(--muted);font-size:.67rem}.cart-update{display:flex;align-items:center;justify-content:space-between;padding-top:20px}.cart-update>a{color:var(--green-2);font-size:.78rem;font-weight:800}.order-summary{position:sticky;top:20px;padding:27px;background:var(--paper);border-top:4px solid var(--green)}.order-summary h2{margin:8px 0 22px;font-size:1.6rem}.order-summary dl{margin:0}.order-summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.78rem}.order-summary dd{margin:0;text-align:right;font-weight:750}.shipping-progress{height:5px;margin:22px 0 10px;background:#d7ded9}.shipping-progress span{display:block;height:100%;background:var(--accent)}.order-summary>p{color:var(--muted);font-size:.7rem}.order-summary .free-shipping{color:var(--green-2);font-weight:800}.order-total{display:flex;justify-content:space-between;align-items:end;margin:20px 0}.order-total span{font-size:.78rem;font-weight:750}.order-total strong{font-size:1.65rem}.secure-note{display:block;margin-top:9px;text-align:center;color:var(--muted);font-size:.65rem}.help-box{margin-top:24px;padding:15px;background:#fff;border:1px solid var(--line)}.help-box b,.help-box span,.help-box small{display:block}.help-box span{color:var(--green-2);font-size:1.05rem;font-weight:850}.help-box small{color:var(--muted)}.checkout-form{display:grid;gap:18px}.checkout-section{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:28px;background:#fff;border:1px solid var(--line)}.step-number{display:grid;place-items:center;width:42px;height:42px;background:var(--green);color:#fff;font-size:.75rem;font-weight:900}.checkout-content h2{font-size:1.45rem}.shipping-options{display:grid;gap:9px;margin-bottom:20px}.shipping-options label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);cursor:pointer}.shipping-options label:has(input:checked){border-color:var(--green);background:#f3f7f4}.shipping-options input{margin-top:5px;accent-color:var(--green)}.shipping-options b,.shipping-options small{display:block}.shipping-options small{color:var(--muted)}.payment-placeholder{display:flex;gap:15px;padding:18px;background:var(--paper);border-left:3px solid var(--accent)}.payment-placeholder>span{font-size:2rem}.payment-placeholder p{margin:3px 0;color:var(--muted);font-size:.78rem}.legal-check{margin:18px 0}.legal-check a{text-decoration:underline}.checkout-summary .summary-line{display:grid;grid-template-columns:58px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.summary-line img{width:58px;height:50px}.summary-line b,.summary-line small{display:block;font-size:.7rem}.summary-line small{color:var(--muted)}.summary-line>strong{font-size:.75rem}.auth-grid{display:grid;grid-template-columns:1fr 520px;gap:70px;align-items:stretch}.auth-intro{padding:65px;background:var(--green);color:#fff}.auth-intro h1{margin:15px 0 25px;font-size:clamp(2.5rem,5vw,4.4rem)}.auth-intro p{color:#c6d6cd}.auth-intro ul{list-style:none;padding:0;margin:35px 0}.auth-intro li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}.auth-intro li:before{content:"✓";margin-right:11px;color:var(--accent)}.auth-grid .form-card{display:flex;flex-direction:column;justify-content:center;padding:55px}.auth-grid .form-card h2{margin:7px 0 30px;font-size:2rem}.auth-grid form{display:grid;gap:18px}.form-switch{margin:22px 0 0;text-align:center;font-size:.8rem}.form-switch a{color:var(--green-2);font-weight:850;text-decoration:underline}.form-page .form-card>p{color:var(--muted)}.form-page .form-card form>.btn{margin-top:20px}.contact-grid{display:grid;grid-template-columns:1fr 440px;gap:55px}.contact-grid>section>h2{margin:10px 0}.contact-grid>section>p{max-width:650px;color:var(--muted)}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:28px 0 36px}.contact-cards>*{padding:18px;background:var(--paper);border-top:3px solid var(--green)}.contact-cards span,.contact-cards b,.contact-cards small{display:block}.contact-cards span{color:var(--muted);font-size:.65rem;text-transform:uppercase}.contact-cards b{margin:6px 0;font-size:.82rem}.contact-cards small{color:var(--muted);font-size:.66rem}.contact-grid .form-card h2{font-size:1.5rem}.quote-panel{align-self:start;padding:37px;background:var(--green);color:#fff}.quote-panel h2{margin:10px 0}.quote-panel>p{color:#c7d7ce}.quote-panel form{display:grid;gap:12px;margin-top:25px}.quote-panel .field input,.quote-panel .field textarea{background:#fff;color:var(--ink)}.quote-panel .field label{color:#e1eae5}.quote-panel>small{display:block;margin-top:12px;color:#9fb4a8}.confirmation-card{max-width:850px;margin:auto;padding:65px;background:var(--paper);text-align:center}.confirmation-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 20px;border-radius:50%;background:var(--green);color:#fff;font-size:2rem}.confirmation-card h1{margin:13px 0 20px;font-size:3.5rem}.confirmation-card>p{max-width:650px;margin:0 auto;color:var(--muted)}.confirmation-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px 0}.confirmation-steps>div{padding:18px;background:#fff}.confirmation-steps b,.confirmation-steps span{display:block}.confirmation-steps b{color:var(--green-2);font-size:1.4rem}.confirmation-steps span{font-size:.74rem;font-weight:750}.confirmation-card>div:last-child{display:flex;justify-content:center;gap:10px}
@media(max-width:900px){.cart-layout,.checkout-layout{grid-template-columns:1fr}.order-summary{position:static}.auth-grid{grid-template-columns:1fr}.auth-intro{padding:45px}.contact-grid{grid-template-columns:1fr}.quote-panel{padding:30px}.cart-line{grid-template-columns:120px 1fr 105px}.cart-price{grid-column:2/-1}.contact-cards{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.cart-line{grid-template-columns:90px 1fr;gap:13px}.cart-quantity{grid-column:2}.cart-price{grid-column:2}.cart-update{align-items:flex-start;gap:15px}.checkout-section{grid-template-columns:1fr;padding:20px}.step-number{width:36px;height:36px}.auth-intro,.auth-grid .form-card{padding:28px}.contact-cards{grid-template-columns:1fr}.confirmation-card{padding:40px 20px}.confirmation-card h1{font-size:2.5rem}.confirmation-steps{grid-template-columns:1fr}.confirmation-card>div:last-child{display:grid}}
.legal-page{max-width:900px}.legal-page h1{margin:12px 0 35px;font-size:3.8rem}.legal-page h2{margin:32px 0 9px;font-size:1.35rem}.legal-page p{color:#4d5953;line-height:1.8}
.filter-text{width:100%;height:42px;border:1px solid var(--line);background:#fff;padding:0 10px}.filter-number{display:block;margin:13px 0 5px;color:var(--muted);font-size:.7rem;font-weight:750}
.brand-strip{padding:37px 0;background:#102a21;color:#fff}.brand-strip .container{display:flex;align-items:center;justify-content:space-between;gap:35px}.brand-strip span{color:#aebfb6;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.brand-strip .container>div{display:flex;align-items:center;justify-content:flex-end;gap:clamp(20px,4vw,55px);flex-wrap:wrap}.brand-strip b{font-size:.88rem;letter-spacing:.04em;opacity:.88}@media(max-width:700px){.brand-strip .container{display:block;text-align:center}.brand-strip .container>div{justify-content:center;margin-top:20px;gap:18px 25px}}
.order-download-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Product presentation refinements — 2026-08 */
.product-page{overflow:visible}
.product-page .breadcrumbs{min-width:0;overflow:hidden}
.product-page .breadcrumbs>*{flex:0 0 auto}
.product-page .breadcrumbs>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-detail{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:clamp(34px,4vw,56px);align-items:start}
.gallery,.product-summary{min-width:0}
.gallery-main{overflow:hidden;border:1px solid #e4e9e5;background:#f4f6f3}
.gallery-main>img{object-fit:contain;padding:clamp(8px,1.4vw,18px)}
.gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:78px;gap:9px;max-width:100%;overflow-x:auto;overflow-y:hidden;margin-top:12px;padding:0 0 7px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aab5ae transparent}
.gallery-thumbs::-webkit-scrollbar{height:6px}
.gallery-thumbs::-webkit-scrollbar-thumb{background:#aab5ae;border-radius:999px}
.gallery-thumbs button{width:78px;height:64px;min-width:0;overflow:hidden;scroll-snap-align:start;border:1px solid var(--line);background:#f4f6f3;transition:border-color .2s ease,box-shadow .2s ease}
.gallery-thumbs button:hover{border-color:#9cac9f}
.gallery-thumbs button.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.gallery-thumbs img{object-fit:contain;padding:3px}
.product-summary{padding:6px 0 0}
.product-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 18px;margin:12px 0 8px}
.product-brand strong{min-width:0;color:var(--green-2);font-size:.78rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;overflow-wrap:anywhere}
.product-brand span{max-width:190px;color:var(--muted);font-size:.7rem;font-weight:700;text-align:right;text-transform:none;letter-spacing:.02em;overflow-wrap:anywhere}
.product-summary h1{max-width:19ch;margin:8px 0 14px;font-size:clamp(2rem,3vw,3rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
.product-summary .lead{max-width:58ch;margin:20px 0 22px;line-height:1.7}
.summary-price{padding:20px 0}
.summary-price strong{font-size:clamp(1.85rem,2.4vw,2.25rem)}
.add-form{grid-template-columns:112px minmax(0,1fr)}
.summary-services{gap:12px}
.summary-services>div{min-width:0}
.summary-services p{min-width:0}
.summary-services b,.summary-services small{overflow-wrap:anywhere}
.product-information{margin-top:64px}
.info-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(40px,6vw,78px)}
.info-grid article,.info-grid aside{min-width:0}

/* Product cards: cleaner image framing and consistent content rhythm. */
.product-card{display:flex;min-width:0;flex-direction:column;overflow:hidden}
.product-media{flex:0 0 auto;background:#f4f6f3}
.product-media img{object-fit:contain;padding:10px}
.product-body{display:flex;min-width:0;flex:1;flex-direction:column}
.product-meta{min-width:0}
.product-meta>span{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.product-card h3{display:-webkit-box;min-height:3.5em;margin-bottom:11px;overflow:hidden;font-size:1.03rem;line-height:1.16;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.product-buy{margin-top:auto;padding-top:18px}
.card-actions{margin-top:14px}

@media(max-width:1050px){
  .product-detail{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:30px}
  .product-summary h1{font-size:clamp(1.9rem,3.4vw,2.65rem)}
  .product-brand{grid-template-columns:1fr}
  .product-brand span{max-width:none;text-align:left}
  .summary-services{grid-template-columns:1fr 1fr}
  .info-grid{gap:38px}
}
@media(max-width:820px){
  .product-detail{grid-template-columns:minmax(0,1fr);gap:28px}
  .gallery-thumbs{grid-auto-columns:72px}
  .gallery-thumbs button{width:72px;height:60px}
  .product-summary{padding-top:4px}
  .product-summary h1{max-width:24ch;font-size:clamp(2rem,6vw,2.75rem)}
  .product-brand{grid-template-columns:minmax(0,1fr) auto}
  .product-brand span{max-width:200px;text-align:right}
  .summary-services{grid-template-columns:repeat(3,minmax(0,1fr))}
  .info-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .product-page{padding-top:18px}
  .product-page .breadcrumbs>span:last-child{max-width:44vw}
  .gallery-main{aspect-ratio:1/1}
  .gallery-main>img{padding:8px}
  .gallery-thumbs{grid-auto-columns:64px;gap:7px}
  .gallery-thumbs button{width:64px;height:54px}
  .product-brand{grid-template-columns:1fr;gap:5px}
  .product-brand span{max-width:none;text-align:left}
  .product-summary h1{max-width:none;font-size:clamp(1.85rem,9vw,2.35rem);line-height:1.04}
  .product-summary .lead{margin:16px 0 18px}
  .summary-price{padding:17px 0}
  .add-form{grid-template-columns:96px minmax(0,1fr)}
  .summary-services{grid-template-columns:1fr 1fr}
  .product-information{margin-top:46px}
  .info-grid{padding:38px 0}
}
@media(max-width:420px){
  .product-grid,.catalogue-grid{grid-template-columns:1fr}
  .product-card h3{min-height:auto;-webkit-line-clamp:2}
  .summary-services{grid-template-columns:1fr}
  .add-form{grid-template-columns:92px minmax(0,1fr)}
}
.payment-options{display:grid;gap:10px}.payment-option{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.payment-option:hover{border-color:#9aafa2}.payment-option:has(input:checked){border-color:var(--green);background:#f3f7f4}.payment-option>input{position:absolute;opacity:0;pointer-events:none}.payment-option-mark{display:grid;place-items:center;min-width:38px;height:32px;padding:0 8px;background:var(--green);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.03em}.payment-option-copy b,.payment-option-copy small{display:block}.payment-option-copy b{font-size:.84rem}.payment-option-copy small{margin-top:3px;color:var(--muted);font-size:.69rem;line-height:1.4}.payment-option-check{display:grid;place-items:center;width:22px;height:22px;border:1px solid #bdc9c1;border-radius:50%;color:transparent;font-size:.72rem;font-weight:900}.payment-option:has(input:checked) .payment-option-check{background:var(--green);border-color:var(--green);color:#fff}.payment-unavailable,.quote-payment-note{padding:17px;background:#fff8e5;border-left:3px solid var(--accent)}.payment-unavailable b,.quote-payment-note b{font-size:.8rem}.payment-unavailable p,.quote-payment-note p{margin:4px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}.quote-payment-note{background:var(--paper);border-left-color:var(--green)}.bank-instructions{margin:28px auto 0;max-width:650px;padding:22px;background:#fff;text-align:left;border:1px solid var(--line);border-top:3px solid var(--green)}.bank-instructions h2{margin:0 0 14px;font-size:1.2rem}.bank-details{display:grid;gap:8px;margin:0}.bank-details>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:8px 0;border-bottom:1px solid var(--line)}.bank-details dt{color:var(--muted);font-size:.7rem;font-weight:750}.bank-details dd{margin:0;font-size:.76rem;font-weight:800;overflow-wrap:anywhere}.payment-confirmed{max-width:650px;margin:25px auto 0;padding:16px;background:#e8f4ec;border-left:3px solid var(--green);color:#1f5a39;text-align:left}.payment-confirmed b{display:block}.payment-confirmed span{font-size:.72rem}
@media(max-width:620px){.payment-option{grid-template-columns:auto 1fr auto}.payment-option>input{display:none}.payment-option-mark{grid-column:1}.payment-option-copy{grid-column:2}.payment-option-check{grid-column:3}.bank-details>div{grid-template-columns:1fr;gap:3px}}

/* Cookie consent — consent choices remain reversible from the footer. */
.footer-cookie-settings{display:block;padding:5px 0;border:0;background:transparent;color:inherit;font-size:.8rem;text-align:left;cursor:pointer}
.footer-cookie-settings:hover{color:var(--accent)}
.cookie-consent[hidden],.cookie-modal[hidden]{display:none!important}
.cookie-consent{position:fixed;z-index:1200;right:20px;bottom:20px;left:20px;filter:drop-shadow(0 22px 52px rgba(8,28,20,.28))}
.cookie-consent-inner{width:min(100%,1160px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;padding:24px 26px;background:#fff;border:1px solid #d8e0da;border-top:4px solid var(--accent);border-radius:6px;color:var(--ink)}
.cookie-consent-kicker{display:block;margin-bottom:6px;color:var(--green-2);font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cookie-consent-copy h2,.cookie-modal-head h2{margin:0 0 8px;font-size:1.35rem;letter-spacing:-.025em}
.cookie-consent-copy p{max-width:760px;margin:0;color:#536059;font-size:.82rem;line-height:1.6}
.cookie-consent-copy a{display:inline-block;margin-top:9px;color:var(--green-2);font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.cookie-consent-actions{display:grid;grid-template-columns:repeat(3,max-content);gap:8px;align-items:center}
.cookie-btn{min-height:44px;padding:0 17px;border:1px solid var(--green);border-radius:3px;font-size:.75rem;font-weight:850;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.cookie-btn:hover{transform:translateY(-1px)}
.cookie-btn-primary{background:var(--green);color:#fff}
.cookie-btn-primary:hover{background:var(--green-2);border-color:var(--green-2)}
.cookie-btn-secondary{background:#fff;color:var(--green)}
.cookie-btn-secondary:hover{background:#f1f5f2}
.cookie-btn:focus-visible,.cookie-modal-close:focus-visible,.footer-cookie-settings:focus-visible,.cookie-switch input:focus-visible+span{outline:3px solid rgba(245,184,46,.55);outline-offset:2px}
body.cookie-modal-open{overflow:hidden}
.cookie-modal{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:24px}
.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(8,27,20,.64);backdrop-filter:blur(3px)}
.cookie-modal-panel{position:relative;width:min(100%,680px);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:28px;background:#fff;border-radius:6px;box-shadow:0 28px 80px rgba(6,24,17,.32);outline:0}
.cookie-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.cookie-modal-head h2{font-size:1.65rem}
.cookie-modal-close{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.5rem;line-height:1}
.cookie-modal-close:hover{background:var(--paper)}
.cookie-modal-intro{margin:19px 0;color:#536059;font-size:.82rem;line-height:1.65}
.cookie-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px 0;border-top:1px solid var(--line)}
.cookie-choice:first-of-type{border-top:0}
.cookie-choice strong{display:block;margin-bottom:4px;font-size:.88rem}
.cookie-choice p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}
.cookie-required{padding:6px 9px;background:#e7efe9;color:var(--green);border-radius:999px;font-size:.64rem;font-weight:850;white-space:nowrap}
.cookie-switch{position:relative;display:inline-flex;flex:0 0 auto}
.cookie-switch input{position:absolute;width:1px;height:1px;opacity:0}
.cookie-switch span{position:relative;display:block;width:48px;height:27px;background:#c8d0cb;border-radius:999px;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.cookie-switch span:after{content:"";position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s ease}
.cookie-switch input:checked+span{background:var(--green)}
.cookie-switch input:checked+span:after{transform:translateX(21px)}
.cookie-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}

@media(max-width:900px){
  .cookie-consent-inner{grid-template-columns:1fr;gap:18px}
  .cookie-consent-actions{grid-template-columns:repeat(3,1fr)}
  .cookie-btn{white-space:normal}
}
@media(max-width:620px){
  .cookie-consent{right:10px;bottom:10px;left:10px}
  .cookie-consent-inner{padding:20px 18px}
  .cookie-consent-copy h2{font-size:1.2rem}
  .cookie-consent-copy p{font-size:.78rem}
  .cookie-consent-actions{grid-template-columns:1fr 1fr}
  .cookie-consent-actions [data-cookie-accept]{grid-column:1/-1;grid-row:1}
  .cookie-consent-actions [data-cookie-reject]{grid-column:1}
  .cookie-consent-actions [data-cookie-customize]{grid-column:2}
  .cookie-modal{padding:12px}
  .cookie-modal-panel{max-height:calc(100vh - 24px);padding:22px 18px}
  .cookie-modal-head h2{font-size:1.4rem}
  .cookie-choice{gap:14px}
  .cookie-modal-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .cookie-consent-actions{grid-template-columns:1fr}
  .cookie-consent-actions [data-cookie-accept],.cookie-consent-actions [data-cookie-reject],.cookie-consent-actions [data-cookie-customize]{grid-column:1;grid-row:auto}
  .cookie-consent-actions [data-cookie-accept]{grid-row:1}
  .cookie-choice{grid-template-columns:1fr;gap:10px}
  .cookie-required,.cookie-switch{justify-self:start}
  .cookie-modal-actions{grid-template-columns:1fr}
}


/* Bouton flottant retour en haut */
.back-to-top{position:fixed;z-index:1150;right:24px;bottom:24px;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:var(--green);color:#fff;box-shadow:0 10px 30px rgba(7,35,25,.26);font-size:1.45rem;font-weight:800;line-height:1;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .15s ease,box-shadow .15s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.back-to-top:hover{background:var(--green-2);box-shadow:0 13px 34px rgba(7,35,25,.32);transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid rgba(245,184,46,.7);outline-offset:3px}
.back-to-top span{display:block;transform:translateY(-1px)}
@media(max-width:620px){.back-to-top{right:14px;bottom:14px;width:46px;height:46px;font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* Multilingual storefront */
.language-switcher{position:relative;display:flex;align-items:center}.language-current{border:1px solid rgba(22,59,45,.18);background:#fff;border-radius:999px;padding:.52rem .72rem;font:inherit;font-weight:800;cursor:pointer;color:#163b2d}.language-menu{position:absolute;right:0;top:calc(100% + .45rem);min-width:145px;background:#fff;border:1px solid rgba(22,59,45,.13);border-radius:12px;box-shadow:0 14px 35px rgba(19,42,34,.16);padding:.4rem;display:none;z-index:80}.language-switcher.open .language-menu{display:grid}.language-menu a{display:block;padding:.6rem .7rem;border-radius:8px;color:#24352e;text-decoration:none;font-size:.9rem}.language-menu a:hover,.language-menu a.active{background:#eef4f0;color:#163b2d;font-weight:800}@media(max-width:760px){.language-current{padding:.45rem .55rem}.language-menu{right:-20px}.header-actions>a small{display:none}}

/* Portable identity & editable institutional pages */
.brand-logo{display:block;width:47px;height:47px;object-fit:contain;flex:0 0 47px}.brand-footer .brand-logo{background:#fff;border-radius:3px;padding:4px}.footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.footer-socials a{display:inline-flex!important;align-items:center;min-height:30px;padding:5px 9px!important;border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:.68rem!important;font-weight:800}.legal-data{display:grid;gap:0;margin:18px 0 28px;border:1px solid var(--line);background:#fff}.legal-data>div{display:grid;grid-template-columns:minmax(180px,34%) 1fr;gap:18px;padding:13px 16px;border-bottom:1px solid var(--line)}.legal-data>div:last-child{border-bottom:0}.legal-data dt{font-weight:800;color:var(--ink)}.legal-data dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.cms-page-content a{text-decoration:underline;text-underline-offset:3px}.cms-page-content .btn{text-decoration:none}.cms-page-content blockquote{margin:24px 0;padding:15px 18px;border-left:3px solid var(--accent);background:var(--paper)}
@media(max-width:560px){.brand-logo{width:42px;height:42px;flex-basis:42px}.legal-data>div{grid-template-columns:1fr;gap:4px}}
.checkout-policy-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.92rem}.checkout-policy-links a{text-decoration:underline}.footer-contact span{display:block;line-height:1.45}

/* Consumer-rights & GMC compliance */
.product-legal-assurances{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}.product-legal-assurances span,.product-legal-assurances a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:3px;background:#f7faf8;color:var(--green);font-size:.74rem;font-weight:800;text-decoration:none}.product-legal-assurances a:hover{border-color:rgba(22,59,45,.38);background:#eef4f0}.statutory-rights{margin:0 0 28px;padding:22px 24px;border:1px solid rgba(22,59,45,.18);border-left:4px solid var(--green);background:#f5f8f6}.statutory-rights h2{margin:0 0 12px;font-size:1.15rem}.statutory-rights ul{margin:0;padding-left:20px}.statutory-rights li{margin:7px 0;line-height:1.55}.statutory-rights p{margin:13px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}@media(max-width:620px){.product-legal-assurances{display:grid}.product-legal-assurances span,.product-legal-assurances a{width:100%}.statutory-rights{padding:18px}}

/* Newsletter consent / unsubscribe */
.newsletter form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.newsletter-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;margin-top:10px;font-size:.73rem;line-height:1.35}.newsletter-consent input{flex:0 0 auto!important;width:16px!important;height:16px!important;min-width:16px!important;margin:1px 0 0!important;padding:0!important}.newsletter-consent a,.newsletter-unsubscribe{text-decoration:underline;font-weight:700}.newsletter-unsubscribe{grid-column:1/-1;margin-top:7px;font-size:.72rem}.newsletter input[type=email]{min-width:0}@media(max-width:560px){.newsletter form{grid-template-columns:1fr}.newsletter .btn,.newsletter input[type=email]{width:100%}}

/* Mobile/tablette — contrôle final de livraison 2026-09 */
img{height:auto}
.hero-visual>img,.category-card img,.product-media img,.pro-banner-image img,.gallery-main>img,.gallery-thumbs img,.cart-image img,.summary-line img{height:100%}
.product-media img,.gallery-main>img,.gallery-thumbs img,.cart-image img,.summary-line img{object-fit:contain;background:#fff}
.gallery-thumbs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.gallery-thumbs button{flex:0 0 auto;scroll-snap-align:start}
.image-fallback{object-fit:contain!important;padding:8px;background:#eef1ed!important}

@media(max-width:820px){
  body.menu-open::after{content:"";position:fixed;z-index:90;inset:0;background:rgba(7,25,18,.46);backdrop-filter:blur(1px)}
  .site-header{z-index:100}
  .header-main{min-width:0;gap:10px}
  .brand{min-width:0}
  .brand>span{min-width:0}
  .brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions{min-width:0}
  .menu-toggle{position:relative;z-index:120;flex:0 0 auto;min-height:44px}
  body.menu-open .menu-toggle>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .menu-toggle>span:nth-child(2){opacity:0}
  body.menu-open .menu-toggle>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-toggle>span{transition:transform .2s ease,opacity .2s ease}
  .main-nav{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{order:1}
  .hero-visual{display:block;order:2;min-height:340px;height:340px}
  .hero-visual:after{background:linear-gradient(0deg,rgba(10,31,23,.24),transparent 55%)}
  .hero-index{top:18px;right:14px}
  input,select,textarea{font-size:16px}
  .catalogue-toolbar{gap:12px;flex-wrap:wrap}
  .pagination{flex-wrap:wrap}
}

@media(max-width:560px){
  .utility-inner{min-height:36px;padding:4px 0;text-align:center}
  .utility-inner span{display:none}
  .hero-copy h1{font-size:clamp(2.45rem,13vw,3.2rem)}
  .hero-copy{padding:48px 0 42px}
  .hero-visual{min-height:250px;height:250px}
  .product-media img{padding:6px}
  .gallery-main>img{padding:10px}
  .category-card img,.hero-visual>img,.pro-banner-image img{object-position:center}
  .cart-image{align-self:start}
  .cart-image img{padding:4px}
  .summary-line img{padding:3px}
  .checkout-summary .summary-line{grid-template-columns:52px minmax(0,1fr) auto}
  .summary-line img{width:52px;height:46px}
  .footer-contact a,.footer-contact span{overflow-wrap:anywhere}
  .breadcrumbs{overflow:hidden}
  .breadcrumbs>*{flex:0 0 auto}
  .breadcrumbs>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

@media(max-width:420px){
  .header-main{gap:5px}
  .brand>span{display:none}
  .brand-mark,.brand-logo{width:38px;height:38px;flex-basis:38px}
  .header-actions>a{min-width:38px;padding-inline:4px}
  .header-actions>a>span{font-size:1.4rem}
  .language-current{min-width:39px;min-height:42px;padding:.35rem .42rem}
  .menu-toggle{width:42px;padding-inline:5px}
  .hero-visual{min-height:220px;height:220px}
  .page-shell{padding-top:28px;padding-bottom:62px}
  .page-hero{padding:44px 0}
  .page-hero.compact h1{font-size:clamp(2rem,11vw,2.8rem)}
  .cart-update{display:grid;grid-template-columns:1fr;gap:12px}
  .cart-update .btn{width:100%}
  .order-summary{padding:21px 18px}
  .checkout-summary .summary-line{grid-template-columns:48px minmax(0,1fr)}
  .summary-line>strong{grid-column:2;text-align:left}
}
