:root{--bg:#f7f7f4;--surface:#fff;--text:#253036;--muted:#64727a;--line:#e6eae7;--brand:#f25c27;--brand-dark:#d94e1e;--olive:#5f7225;--soft:#eef6f3;--shadow:0 10px 30px rgba(0,0,0,.06);--radius:18px;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.topbar{background:#1f2a30;color:#fff;font-size:14px}.topbar-inner{display:flex;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}.topbar-items{display:flex;gap:18px;flex-wrap:wrap;opacity:.95}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-row{display:grid;grid-template-columns:250px 1fr auto auto;align-items:center;gap:16px;padding:16px 0}
.brand-logo{font-size:33px;font-weight:850;letter-spacing:-.04em;color:#273238;white-space:nowrap}.brand-logo span{color:var(--brand)}.brand-logo small{font-size:16px;letter-spacing:0}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden;min-width:0}.search input{border:0;outline:0;padding:14px 16px;width:100%;background:transparent}.search button{border:0;background:var(--brand);color:#fff;padding:14px 18px;font-weight:700;cursor:pointer}.header-contact{text-align:right;font-size:13px;color:var(--muted)}.header-contact strong{display:block;font-size:21px;color:var(--brand)}.cart-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 16px;font-weight:700;white-space:nowrap;box-shadow:var(--shadow);cursor:pointer}
.nav-wrap{background:#fff;border-bottom:1px solid var(--line)}.nav{display:flex;gap:10px;overflow-x:auto;padding:11px 0 14px}.nav a{padding:9px 13px;border-radius:999px;background:#f5f7f7;white-space:nowrap;font-weight:650;font-size:14px}.nav a.active,.nav a:hover{background:var(--brand);color:#fff}.temporary-notice{text-align:center;background:#fff2ea;color:#8b3c1e;font-size:13px;font-weight:650;padding:8px 15px;border-bottom:1px solid #f7d6c9}.category-nav{display:none}
main{min-height:55vh}.hero{padding:28px 0 18px}.hero-card{background:linear-gradient(135deg,#fff 0%,#f7fbfa 100%);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:1.08fr .92fr}.hero-copy{padding:50px}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fff4ef;color:var(--brand-dark);font-size:13px;font-weight:750;margin-bottom:18px}.hero h1{margin:0 0 14px;font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-.04em}.hero-copy p{margin:0;color:var(--muted);font-size:18px;max-width:58ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 18px}.btn,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 19px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-primary,.primary{background:var(--brand);color:#fff}.btn-primary:hover,.primary:hover{background:var(--brand-dark)}.btn-secondary,.secondary{background:#fff;border-color:var(--line);color:var(--text)}
.trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:20px 0 0;padding:0;list-style:none;font-weight:650}.trust-list li::before{content:"✓";color:var(--olive);margin-right:8px;font-weight:900}.hero-media{min-height:440px;position:relative;background:#e8efec}.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:14px 16px;border-radius:14px;max-width:280px;box-shadow:var(--shadow)}.hero-badge span,.hero-badge strong{display:block}.hero-badge .muted{color:var(--muted);font-size:12px}.hero-badge strong{font-size:19px;margin:3px 0}
.strip{padding:10px 0 2px}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.strip-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;text-align:center;font-weight:700;font-size:13px;box-shadow:var(--shadow)}
.section{padding:38px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-head h2{font-size:34px;line-height:1.08;letter-spacing:-.03em;margin:0}.section-head p{margin:7px 0 0;color:var(--muted);max-width:700px}.section-link{font-weight:750;color:var(--brand);white-space:nowrap}
.category-grid-main{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card-main{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:.2s}.category-card-main:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.09)}.category-card-main img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 58%;background:#edf0ee;display:block}.category-card-copy{padding:17px}.category-card-copy h3{margin:0 0 5px;font-size:20px}.category-card-copy p{margin:0;color:var(--muted);font-size:14px}
.product-grid,.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-image{aspect-ratio:1/1;background:#eef2f0;display:grid;place-items:center;overflow:hidden;padding:14px}.card-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;display:block}.placeholder{color:var(--muted);font-size:13px}.card-body{padding:15px;display:flex;flex-direction:column;gap:7px;flex:1}.card-body h3{font-size:15px;line-height:1.35;margin:0}.brand{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.price{font-size:21px;font-weight:850;color:#202b30}.rrp{text-decoration:line-through;color:var(--muted);font-size:12px}.card-actions{margin-top:auto;display:flex;gap:7px;align-items:center}.card-actions .secondary,.card-actions .primary{padding:9px 12px;font-size:13px}
.split-sale{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sale-panel{background:#24313a;color:#fff;border-radius:24px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:390px}.sale-panel .eyebrow{width:max-content}.sale-panel h2{font-size:35px;line-height:1.08;margin:0}.sale-price{display:flex;align-items:baseline;gap:12px;margin-top:18px}.sale-price strong{font-size:40px}.sale-price span{text-decoration:line-through;opacity:.6}.feature-panel{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-rows:230px 1fr}.feature-panel img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:24px}.feature-copy h3{font-size:28px;margin:0 0 10px}.feature-copy p{color:var(--muted)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.why{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.why strong{display:block;font-size:18px;margin-bottom:5px}.why span{color:var(--muted);font-size:14px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.quote p{font-size:16px}.quote small{color:var(--muted)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.guide h3{margin-top:0}.guide p{color:var(--muted)}
.catalogue-shell{padding:28px 0 50px}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:0 0 18px}.toolbar h1,.toolbar h2{margin:0}.toolbar small{display:block;color:var(--muted);margin-top:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px}.pagination button{padding:9px 14px;border:1px solid var(--line);background:#fff;border-radius:999px}
.product{width:min(var(--max),calc(100% - 32px));margin:28px auto 50px;display:grid;grid-template-columns:minmax(340px,1fr) minmax(350px,.9fr);gap:28px}.product-gallery,.product-info,.checkout-card,.basket-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.product-gallery>img{width:100%;max-height:620px;object-fit:contain}.thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.thumbs img{width:76px;height:66px;object-fit:cover;border:1px solid var(--line);border-radius:8px;cursor:pointer}.product-info h1{margin:8px 0 12px;font-size:36px;line-height:1.1}.product-info .price{font-size:29px}.copy{white-space:pre-line;line-height:1.6;color:#3d4c5b}.facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.fact{background:#f7f9f8;padding:11px;border-radius:10px}.fact small,.fact strong{display:block}.fact small{color:var(--muted);margin-bottom:3px}.qty-row{display:flex;gap:8px;align-items:center;margin-top:18px}.qty-row input{width:75px;padding:10px;border:1px solid var(--line);border-radius:999px}
.basket-drawer{position:fixed;right:0;top:0;height:100vh;width:min(470px,94vw);background:#fff;z-index:60;box-shadow:-15px 0 40px rgba(0,0,0,.15);padding:22px;overflow:auto}.hidden{display:none!important}.basket-head{display:flex;justify-content:space-between;align-items:center}.basket-line{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);padding:12px 0}.basket-line small{display:block;color:var(--muted);margin-top:3px}.basket-total{display:flex;justify-content:space-between;font-size:20px;font-weight:850;padding:18px 0}.checkout-grid{width:min(var(--max),calc(100% - 32px));margin:28px auto 50px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px}.checkout-card form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-card label{font-size:12px;color:var(--muted)}.checkout-card input,.checkout-card textarea{width:100%;margin-top:5px;padding:11px;border:1px solid var(--line);border-radius:9px}.full{grid-column:1/-1}.payment-box{background:#fff4ef;border:1px solid #f4c9b9;padding:14px;border-radius:12px;line-height:1.5}.success{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;text-align:center;max-width:760px;margin:45px auto;box-shadow:var(--shadow)}.success h1{color:var(--brand)}
.footer{background:#1f2a30;color:#e8edef;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:30px;padding:40px 0 28px}.footer-logo{color:#fff}.footer-grid p{color:#b7c0c5;font-size:14px}.footer-bottom{padding:16px 0 25px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#aeb7bb}
.seo-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 18px}.seo-breadcrumb a{color:var(--brand);font-weight:700}.seo-hero{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;margin-bottom:30px;box-shadow:var(--shadow)}.seo-hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin:0 0 12px;letter-spacing:-.035em}.seo-hero p{font-size:18px;color:var(--muted);max-width:850px;margin:0}.seo-products{margin:0 0 36px}.seo-copy{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;margin:36px 0;box-shadow:var(--shadow)}.seo-copy h2{font-size:27px;margin:24px 0 8px}.seo-copy h2:first-child{margin-top:0}.seo-copy p{color:#4e5d65;line-height:1.75}.seo-related{margin:36px 0}.seo-town-page .seo-hero{background:linear-gradient(135deg,#fff,#f8fbf9)}
@media(max-width:1050px){.header-row{grid-template-columns:1fr 1.4fr auto}.header-contact{display:none}.category-grid-main,.product-grid,.grid{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar-inner{justify-content:center;text-align:center}.topbar-items{justify-content:center}.site-header{position:static}.header-row{grid-template-columns:1fr;gap:12px;padding:14px 0}.brand-logo{text-align:center}.search,.cart-btn{width:100%}.header-contact{display:block;text-align:center}.nav{padding:8px 0 12px}.hero{padding:18px 0 10px}.hero-card,.split-sale,.review-grid,.guide-grid,.footer-grid,.strip-grid,.trust-list,.product,.checkout-grid{grid-template-columns:1fr}.hero-copy{padding:24px}.hero-media{min-height:280px}.hero-badge{left:16px;right:16px;bottom:16px;max-width:none}.category-grid-main,.product-grid,.grid{grid-template-columns:repeat(2,1fr)}.product,.checkout-grid{width:min(var(--max),calc(100% - 20px))}.checkout-card form{grid-template-columns:1fr}.full{grid-column:auto}}
@media(max-width:500px){.container{width:calc(100% - 16px)}.hero h1{font-size:clamp(30px,9vw,42px)}.category-grid-main,.product-grid,.grid,.why-grid{grid-template-columns:1fr}.hero-copy,.sale-panel,.feature-copy,.quote,.guide,.why,.card-body{padding:16px}.section-head h2{font-size:28px}}
/* Recovered Richard mockup design layer */
.logo-wrap{display:inline-flex;align-items:center;line-height:0;min-width:0}
.logo-img{width:280px;max-width:100%;height:auto;display:block}
.header-row{grid-template-columns:300px minmax(260px,1fr) auto auto;padding:18px 0}
.footer-grid{grid-template-columns:1.15fr .85fr .85fr 1fr;gap:28px;padding:42px 0 28px}
.footer h3{margin:0 0 12px;color:#fff;font-size:18px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;color:#d5dde1;font-size:14px}
.footer-brand{display:inline-flex;background:#fff;border-radius:12px;padding:7px 10px;margin-bottom:12px}
.footer-brand img{width:245px;max-width:100%;height:auto}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 58%;background:#edf1ef}
.project-card .card-body{padding:18px}
.stars{color:#f0a33c;font-size:19px;letter-spacing:2px}
.sale-panel-rich{background:#24313a;color:#fff;border-radius:24px;padding:34px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between}
.sale-panel-rich h2{font-size:36px;line-height:1.05;margin:0}
.sale-panel-rich p{color:rgba(255,255,255,.78)}
.sale-panel-rich .eyebrow{width:max-content}
.sale-panel-rich .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.category-grid-main.rich-six{grid-template-columns:repeat(3,1fr)}
.category-card-main.rich img{aspect-ratio:16/10}
@media(max-width:1050px){.header-row{grid-template-columns:250px 1fr auto}.logo-img{width:240px}.project-grid,.category-grid-main.rich-six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-row{grid-template-columns:1fr auto;grid-template-areas:"logo basket" "search search";align-items:center}.logo-wrap{grid-area:logo}.logo-img{width:min(235px,64vw)}.search{grid-area:search}.cart-btn{grid-area:basket;width:auto}.header-contact{display:none}.footer-grid,.project-grid,.category-grid-main.rich-six{grid-template-columns:1fr}}
/* Rich category/product/checkout layouts */
.category-page-rich{padding:22px 0 52px}.category-hero-wrap{margin-bottom:18px}
.category-hero-card{background:linear-gradient(135deg,#fff 0%,#f7fbfa 100%);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;overflow:hidden}
.category-hero-copy{padding:30px}.category-hero-copy h1{margin:0 0 10px;font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.04em}.category-hero-copy p{margin:0;color:var(--muted);font-size:18px;max-width:65ch}
.category-hero-media{height:100%;min-height:300px;background:#edf1ef}.category-hero-media img{width:100%;height:100%;object-fit:cover}
.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hero-points span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}
.category-main-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.category-sidebar{position:sticky;top:145px}
.filter-panel,.subcat-strip,.category-toolbar{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.filter-panel{padding:18px}.filter-panel h2{margin:0 0 14px;font-size:20px}
.filter-group{padding:15px 0;border-top:1px solid var(--line);display:grid;gap:8px}.filter-group:first-of-type{border-top:0;padding-top:0}.filter-group strong{font-size:13px}.filter-group a:not(.btn){display:flex;justify-content:space-between;gap:10px;padding:7px 0;color:#45545c;font-size:14px}.filter-group p{font-size:13px;color:var(--muted);margin:0 0 6px}
.subcat-strip{padding:20px;margin-bottom:14px}.subcat-strip h2{margin:0;font-size:26px}.subcat-strip p{margin:5px 0 12px;color:var(--muted)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#f8faf9;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}
.category-toolbar{padding:14px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:15px}.category-toolbar strong,.category-toolbar span{display:block}.category-toolbar span{font-size:12px;color:var(--muted);margin-top:2px}
.faq-grid{display:grid;gap:10px;margin-top:24px}.faq-grid details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 16px}.faq-grid summary{font-weight:800;cursor:pointer}.faq-grid details p{margin:10px 0 0}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.pill{border:1px solid var(--line);background:#f7f9f8;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700}
@media(max-width:980px){.category-main-layout{grid-template-columns:1fr}.category-sidebar{position:static}.category-hero-card{grid-template-columns:1fr}.category-hero-media{min-height:260px}}
@media(max-width:620px){.category-hero-copy{padding:20px}.category-toolbar{align-items:stretch;flex-direction:column}.category-toolbar .btn{width:100%}}
.product-page-rich{padding:24px 0 52px}.title-block{margin-bottom:18px}.brand-line{color:var(--olive);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.title-block h1{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.04em;max-width:22ch}
.product-layout-rich{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:20px;align-items:start}.panel-rich{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.gallery{overflow:hidden}.gallery-main{padding:18px}.gallery-main img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:18px;background:#edf1ef}.thumbs-rich{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 18px 18px}.thumbs-rich button{padding:0;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.thumbs-rich img{width:100%;aspect-ratio:1/1;object-fit:cover}
.buy-panel{padding:24px;position:sticky;top:145px}.price-label{font-size:12px;color:var(--muted);font-weight:700}.product-price-rich{font-size:38px;font-weight:850;letter-spacing:-.03em;margin:2px 0}.rrp-rich{font-size:13px;color:var(--muted)}.rrp-rich span{text-decoration:line-through}.rrp-rich strong{color:#2f8f5b;margin-left:8px}.availability-chip{display:inline-flex;margin:15px 0;background:#edf8f1;color:#2f8f5b;border:1px solid #d5eedf;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.purchase-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:8px 0 16px}.purchase-facts>div{background:#f7f9f8;border-radius:11px;padding:11px}.purchase-facts span,.purchase-facts strong{display:block}.purchase-facts span{font-size:11px;color:var(--muted);margin-bottom:3px}.purchase-facts strong{font-size:13px}.qty-row label{font-size:12px;font-weight:700}.advice-link{display:block;text-align:center;color:var(--olive);font-weight:800;margin-top:14px}
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;margin-top:20px}.product-copy-panel,.product-support-panel{padding:24px}.product-copy-panel h2,.product-support-panel h2{margin-top:0;font-size:25px}.product-support-panel h3{font-size:15px;margin:20px 0 5px}.product-support-panel p{color:var(--muted);margin:0}.related-products{padding-bottom:0}
@media(max-width:900px){.product-layout-rich,.product-detail-grid{grid-template-columns:1fr}.buy-panel{position:static}.thumbs-rich{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.purchase-facts{grid-template-columns:1fr}.buy-panel,.product-copy-panel,.product-support-panel{padding:18px}.product-price-rich{font-size:32px}}
.basket-page-rich{padding:28px 0 56px}.page-head-rich{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px;flex-wrap:wrap}.page-head-rich h1{margin:0 0 6px;font-size:clamp(32px,4vw,48px);letter-spacing:-.04em}.page-head-rich p{margin:0;color:var(--muted)}.secure-chip{display:inline-flex;padding:10px 14px;background:#eef6f3;border:1px solid #d8e7e2;border-radius:999px;color:var(--olive);font-weight:800;font-size:13px}
.basket-layout-rich{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.cart-panel-rich{padding:10px}.cart-item-rich{display:grid;grid-template-columns:115px minmax(0,1fr) auto auto auto;gap:15px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.cart-item-rich:last-child{border-bottom:0}.cart-item-rich>img{width:115px;height:92px;object-fit:contain;border-radius:12px;background:#edf1ef}.cart-product strong,.cart-product span{display:block}.cart-product span{font-size:12px;color:var(--muted);margin-top:4px}.cart-qty{display:flex;align-items:center;gap:8px}.cart-qty button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff}.cart-line-total{font-size:16px}.remove-link{border:0;background:transparent;color:var(--brand);font-size:12px;font-weight:700;padding:4px}
.basket-summary-rich{padding:22px;position:sticky;top:145px}.basket-summary-rich h2{margin:0 0 18px}.summary-row,.summary-total{display:flex;justify-content:space-between;gap:12px;padding:9px 0}.summary-row{border-bottom:1px solid var(--line);font-size:14px}.summary-total{font-size:19px;font-weight:800;margin-top:4px}.full-button{width:100%;margin-top:12px}.continue-link{display:block;text-align:center;margin-top:14px;font-weight:700;color:var(--muted)}
@media(max-width:900px){.basket-layout-rich{grid-template-columns:1fr}.basket-summary-rich{position:static}}@media(max-width:650px){.cart-item-rich{grid-template-columns:82px 1fr auto}.cart-item-rich>img{width:82px;height:72px}.cart-qty{grid-column:2}.cart-line-total{grid-column:3;grid-row:2}.remove-link{grid-column:2;text-align:left;padding-left:0}}
.checkout-page-rich,.confirmation-page-rich{padding:28px 0 56px}.checkout-head-rich{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;flex-wrap:wrap}.checkout-head-rich h1{margin:0 0 6px;font-size:clamp(32px,4vw,46px);letter-spacing:-.035em}.checkout-head-rich p{margin:0;color:var(--muted)}
.checkout-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.checkout-step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;align-items:center;gap:10px;color:var(--muted);box-shadow:var(--shadow);font-weight:700}.checkout-step b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1f4f2;color:var(--text)}.checkout-step.active{background:#fff7f3;border-color:#ffd4c5;color:var(--brand-dark)}.checkout-step.active b{background:var(--brand);color:#fff}.checkout-step.complete{background:#fbfefc;border-color:#d6eadc;color:#2f8f5b}.checkout-step.complete b{background:#eaf7ef;color:#2f8f5b}
.checkout-layout-rich{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.checkout-card-rich{padding:24px}.form-section+ .form-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.form-section h2{margin:0 0 14px;font-size:22px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-card-rich label{display:block;font-size:12px;color:var(--muted);font-weight:700}.checkout-card-rich input,.checkout-card-rich textarea{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.checkout-card-rich .full{margin-top:12px}.checkout-submit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.order-summary-rich{padding:22px;position:sticky;top:145px}.order-summary-rich h2{margin:0 0 14px}.summary-product{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.summary-product img{width:54px;height:48px;object-fit:contain;background:#edf1ef;border-radius:8px}.summary-product strong,.summary-product span{display:block}.summary-product strong{font-size:12px;line-height:1.25}.summary-product span{font-size:11px;color:var(--muted);margin-top:3px}.summary-product b{font-size:12px}.summary-help{font-size:13px;color:var(--muted);padding-top:10px}
.confirmation-card{padding:32px;display:grid;grid-template-columns:82px 1fr;gap:20px;align-items:start}.confirmation-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#edf8f1;color:#2f8f5b;font-size:42px;font-weight:900;border:1px solid #d5eedf}.confirmation-card h1{margin:0 0 10px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.confirmation-card p{color:var(--muted);max-width:75ch}.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.confirmation-help{margin-top:20px}
@media(max-width:900px){.checkout-layout-rich{grid-template-columns:1fr}.order-summary-rich{position:static}}@media(max-width:680px){.checkout-steps{grid-template-columns:1fr 1fr}.checkout-fields{grid-template-columns:1fr}.confirmation-card{grid-template-columns:1fr}.confirmation-icon{width:66px;height:66px;font-size:34px}}@media(max-width:430px){.checkout-steps{grid-template-columns:1fr}}
/* Product 68532 master-page depth */
.product-master .title-block{max-width:1080px}.title-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.stock-badge,.saving-badge,.trust-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.stock-badge{background:#edf8f1;color:#277449;border:1px solid #d4ebdc}.stock-badge.neutral{background:#f4f5f4;color:var(--muted);border-color:var(--line)}.saving-badge{background:#fff0e9;color:#b84419;border:1px solid #ffd6c6}.trust-badge{background:#f3f6e9;color:#5f7225;border:1px solid #e0e8c9}
.you-save{margin:7px 0 2px;color:#2f8f5b;font-size:14px}.buy-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0;font-size:12px;color:var(--muted)}.key-selling-points{display:grid;gap:7px;margin:16px 0;color:#3f4d54;font-size:13px}.key-selling-points div{padding-bottom:7px;border-bottom:1px solid #eef1ef}.buy-button{min-width:190px}
.configurator{margin-top:20px;padding:24px}.configurator-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.configurator-head h2{font-size:29px;margin:0}.configurator-head p{margin:5px 0 0;color:var(--muted)}.configurator-price{text-align:right}.configurator-price span,.configurator-price strong{display:block}.configurator-price span{font-size:12px;color:var(--muted)}.configurator-price strong{font-size:25px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.option-field{display:block;background:#f8faf9;border:1px solid var(--line);border-radius:14px;padding:13px}.option-field>span{display:block;font-size:12px;font-weight:800;margin-bottom:7px;color:#45545c}.option-field select{width:100%;border:1px solid #dfe5e1;border-radius:9px;background:#fff;padding:10px;color:var(--text)}.configurator-total{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:flex-end;gap:28px}.configurator-total>div{min-width:145px;text-align:right}.configurator-total span,.configurator-total strong{display:block}.configurator-total span{font-size:12px;color:var(--muted)}.configurator-total strong{font-size:19px}.configurator-total .grand-total strong{font-size:29px;color:var(--brand)}
.product-tabs{display:flex;gap:8px;overflow:auto;margin:24px 0 14px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);position:sticky;top:125px;z-index:10}.product-tabs a{white-space:nowrap;padding:10px 14px;border-radius:10px;font-weight:800;font-size:13px}.product-tabs a:hover{background:#fff2eb;color:var(--brand-dark)}.product-section{padding:28px;margin-bottom:16px;scroll-margin-top:190px}.section-heading{margin-bottom:18px}.section-heading h2{margin:0;font-size:30px;letter-spacing:-.025em}.feature-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.feature-check-grid>div{background:#f8faf9;border-radius:12px;padding:12px;font-size:14px;font-weight:650}.description-copy{max-width:900px}.description-copy p{margin:0 0 14px;color:#45545c;line-height:1.7}.spec-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.spec-table>div{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:12px 15px;border-bottom:1px solid var(--line)}.spec-table>div:last-child{border-bottom:0}.spec-table>div:nth-child(odd){background:#f9faf9}.spec-table span{color:var(--muted);font-size:13px}.spec-table strong{font-size:14px}.delivery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.delivery-grid>div{background:#f8faf9;border:1px solid var(--line);border-radius:14px;padding:17px}.delivery-grid h3{margin:0 0 6px;font-size:17px}.delivery-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.product-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.product-review{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.product-review p{font-size:14px;line-height:1.6}.product-review strong,.product-review span{display:block}.product-review span{font-size:12px;color:var(--muted);margin-top:3px}.basket-options{display:grid;gap:3px;margin:7px 0}.basket-options span,.summary-options{font-size:11px!important;color:#5c6b72!important;line-height:1.35}
@media(max-width:850px){.option-grid,.feature-check-grid,.delivery-grid,.product-review-grid{grid-template-columns:1fr}.configurator-head{align-items:flex-start;flex-direction:column}.configurator-price{text-align:left}.configurator-total{justify-content:space-between}.product-tabs{position:static}.spec-table>div{grid-template-columns:1fr;gap:3px}}@media(max-width:520px){.configurator,.product-section{padding:18px}.configurator-total{flex-direction:column;gap:10px}.configurator-total>div{text-align:left}.thumbs-rich{grid-template-columns:repeat(3,1fr)}}
.size-selector-box{margin:0 0 18px;padding:14px;background:#f8faf9;border:1px solid var(--line);border-radius:14px}.size-selector-box label{display:block;font-size:13px;font-weight:850;margin-bottom:7px;color:var(--text)}.size-selector-box select{width:100%;padding:11px 12px;border:1px solid #dbe3de;border-radius:10px;background:#fff;color:var(--text);font-weight:700}.size-selector-box small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}
/* Compact product heading */
.product-master .compact-product-title{max-width:1180px;margin:0 0 16px}.product-master .compact-product-title h1{max-width:none;margin:0;font-size:clamp(34px,3.4vw,46px);line-height:1.03;letter-spacing:-.035em}.product-title-subtitle{margin:9px 0 0;color:#607078;font-size:17px;font-weight:650;line-height:1.35}.product-master .compact-product-title .title-badges{margin-top:12px}.product-master>.container>.seo-breadcrumb{margin-bottom:14px}.product-master .product-layout-rich{margin-top:0}
@media(max-width:760px){.product-master .compact-product-title h1{font-size:clamp(30px,8vw,38px)}.product-title-subtitle{font-size:15px}.product-master .compact-product-title{margin-bottom:13px}}
/* Keep Premier Apex product titles compact on desktop */
@media(min-width:1100px){.product-master .compact-product-title h1{font-size:clamp(34px,2.65vw,40px);line-height:1.02;white-space:nowrap}.product-master .compact-product-title{max-width:none}}
@media(max-width:1099px){.product-master .compact-product-title h1{white-space:normal}}
/* Basket add-ons as individual linked lines */
.basket-product-group+.basket-product-group{border-top:1px solid var(--line)}
.basket-addon-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 12px 8px 30px;padding:10px 12px;border-left:3px solid #dce6d6;background:#f8faf7;border-radius:0 10px 10px 0}.basket-addon-line>div:first-child strong,.basket-addon-line>div:first-child small{display:block}.basket-addon-line small{font-size:11px;color:var(--muted);margin-top:2px}.addon-tag{display:inline-flex;width:max-content;padding:3px 7px;margin-bottom:4px;border-radius:999px;background:#edf5e7;color:#5f7225;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.cart-product-group+.cart-product-group{border-top:1px solid var(--line)}.cart-product-group .cart-item-rich{border-bottom:0}.cart-addon-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px;align-items:center;margin:0 16px 10px 130px;padding:11px 14px;background:#f8faf7;border-left:3px solid #dce6d6;border-radius:0 12px 12px 0}.cart-addon-indent{display:flex;gap:10px;align-items:center}.cart-addon-indent>div strong,.cart-addon-indent>div span{display:block}.cart-addon-indent>div span{font-size:11px;color:var(--muted);margin-top:2px}.addon-qty{font-size:12px;color:var(--muted);white-space:nowrap}
.summary-addon{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0 9px 18px;border-bottom:1px solid var(--line);background:#fbfcfa}.summary-addon>div strong,.summary-addon>div span{display:block}.summary-addon>div strong{font-size:12px}.summary-addon>div span{font-size:10px;color:var(--muted);margin-top:2px}.summary-addon>b{font-size:12px}
@media(max-width:650px){.cart-addon-row{grid-template-columns:1fr auto;margin-left:22px}.cart-addon-indent{grid-column:1/-1}.addon-qty{grid-column:1}.cart-addon-row .remove-link{grid-column:2;grid-row:2}.basket-addon-line{margin-left:16px}}
/* Configurator conversion block */
.configurator-actions{margin-top:20px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#fff8f4 0%,#fff 70%);border:1px solid #ffd9c9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}.configurator-action-copy strong,.configurator-action-copy span{display:block}.configurator-action-copy strong{font-size:18px;color:var(--text)}.configurator-action-copy span{margin-top:4px;color:var(--muted);font-size:13px}.configurator-buttons{display:flex;gap:10px;align-items:center}.configurator-buttons .primary,.configurator-buttons .btn{min-height:48px;padding:12px 18px;white-space:nowrap}.configurator-buttons .primary{min-width:130px;font-size:15px}.configurator-actions>small{grid-column:1/-1;color:var(--muted);font-size:11px;border-top:1px solid #f3ded4;padding-top:10px}
@media(max-width:760px){.configurator-actions{grid-template-columns:1fr}.configurator-buttons{display:grid;grid-template-columns:1fr}.configurator-buttons .primary,.configurator-buttons .btn{width:100%}}
/* Homepage intelligent size finder */
.home-size-finder{padding:30px 0 10px;scroll-margin-top:135px}.size-finder-card{background:linear-gradient(135deg,#f7faf4 0%,#fff 54%,#fff7f1 100%);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);gap:28px;align-items:center}.size-finder-copy h2{font-size:clamp(30px,3vw,42px);line-height:1.03;letter-spacing:-.035em;margin:4px 0 10px}.size-finder-copy p{margin:0;color:var(--muted);line-height:1.65;max-width:56ch}.size-finder-form{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);gap:12px;align-items:end}.size-field label{display:block;font-size:12px;font-weight:850;color:#45545c;margin-bottom:6px}.size-field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #dbe3de;border-radius:12px;background:#fff;font-size:16px;font-weight:800;color:var(--text)}.size-cross{font-size:24px;font-weight:850;color:var(--muted);padding-bottom:10px}.size-mode{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.size-mode label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.size-mode input{margin-top:3px;accent-color:var(--brand)}.size-mode span strong,.size-mode span small{display:block}.size-mode span strong{font-size:13px}.size-mode span small{font-size:11px;color:var(--muted);margin-top:2px}.size-mode label:has(input:checked){border-color:#a9c79b;background:#f5faf2;box-shadow:0 0 0 2px rgba(107,175,74,.08)}.size-find-button{grid-column:1/-1;min-height:50px;font-size:15px}.popular-size-row{grid-column:1/-1;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.popular-size-row>strong{font-size:12px;color:var(--muted)}.popular-size-row>div{display:flex;gap:7px;flex-wrap:wrap}.popular-size-row a{display:inline-flex;padding:7px 10px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:12px;font-weight:800}.popular-size-row a:hover{border-color:#b9cfac;color:var(--olive);background:#f7faf4}.active-size-filter{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;padding:12px 15px;border:1px solid #d9e7d2;background:#f7faf4;border-radius:14px;font-size:13px}.active-size-filter a{font-weight:800;color:var(--brand)}.empty-results{padding:32px;text-align:center}.empty-results h2{margin-top:0}
@media(max-width:950px){.size-finder-card{grid-template-columns:1fr}.size-finder-form{max-width:680px}.popular-size-row{grid-column:auto}}
@media(max-width:560px){.home-size-finder{padding-top:18px}.size-finder-card{padding:18px;border-radius:18px}.size-finder-form{grid-template-columns:1fr auto 1fr}.size-mode{grid-template-columns:1fr}.popular-size-row{align-items:flex-start;flex-direction:column}.active-size-filter{align-items:flex-start;flex-direction:column}}
.material-mode{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px}.material-label{font-size:12px;font-weight:850;color:#45545c;margin-right:2px}.material-mode label{cursor:pointer}.material-mode input{position:absolute;opacity:0;pointer-events:none}.material-mode label span{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800}.material-mode label:has(input:checked) span{border-color:#a9c79b;background:#f2f8ee;color:#526b23;box-shadow:0 0 0 2px rgba(107,175,74,.08)}
/* Keep category buildings properly framed inside the image box */
.category-card-main.rich{background:#fff}
.category-card-main.rich .card-image,.category-card-main.rich>img{background:#edf1ef}
.category-card-main.rich img{display:block;width:100%;height:250px;aspect-ratio:auto;object-fit:cover;object-position:center 58%;background:#edf1ef}
@media(max-width:1050px){.category-card-main.rich img{height:230px}}
@media(max-width:760px){.category-card-main.rich img{height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 58%}}

/* Card image focal-point tuning */
.card-image img.focus-52,
.category-card-main.rich img.focus-52,
.project-card img.focus-52{object-position:center 52%}
.card-image img.focus-55,
.category-card-main.rich img.focus-55,
.project-card img.focus-55{object-position:center 55%}
.card-image img.focus-58,
.category-card-main.rich img.focus-58,
.project-card img.focus-58{object-position:center 58%}

/* Product listing cards: preserve the full building image */
.category-results .card-image,
.catalogue-shell .card-image,
.related-products .card-image{
  aspect-ratio:1/1;
  padding:14px;
  background:#f3f5f2;
}
.category-results .card-image img,
.catalogue-shell .card-image img,
.related-products .card-image img,
.category-results .card-image img.focus-52,
.category-results .card-image img.focus-55,
.category-results .card-image img.focus-58,
.catalogue-shell .card-image img.focus-52,
.catalogue-shell .card-image img.focus-55,
.catalogue-shell .card-image img.focus-58{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.category-results .card-body,
.catalogue-shell .card-body{
  min-height:190px;
}
.category-results .card-body h3,
.catalogue-shell .card-body h3{
  line-height:1.38;
}
.category-results .card-body .price,
.catalogue-shell .card-body .price{
  margin-top:auto;
}

/* FINAL product-card image rule: never crop listing images */
.product-grid .card-image,
.grid .card-image,
.category-results .card-image,
.catalogue-shell .card-image,
.related-products .card-image{
  aspect-ratio:1/1!important;
  padding:14px!important;
  background:#f3f5f2;
}
.product-grid .card-image img,
.grid .card-image img,
.category-results .card-image img,
.catalogue-shell .card-image img,
.related-products .card-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Infinite catalogue loading */
.infinite-load{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 0 10px;color:var(--muted)}
.infinite-load button{min-width:190px}
#catalogueSentinel{height:1px;width:100%}

/* Workshop / garden room / bespoke positioning */
.nav a.nav-bespoke{border:1px solid var(--brand);background:#fff;color:var(--brand-dark)}
.nav a.nav-bespoke:hover,.nav a.nav-bespoke.active{background:var(--brand);color:#fff}
.bespoke-home{padding:34px 0 8px}
.bespoke-home-card{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:var(--shadow)}
.bespoke-home-card h2{font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-.03em;margin:0 0 12px}
.bespoke-home-card p{color:var(--muted);font-size:17px;max-width:62ch}
.bespoke-home-grid{display:grid;gap:12px}
.bespoke-home-grid>div{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:18px}
.bespoke-home-grid strong,.bespoke-home-grid span{display:block}
.bespoke-home-grid strong{font-size:18px;margin-bottom:4px}
.bespoke-home-grid span{color:var(--muted);font-size:14px}
.bespoke-page{padding:30px 0 55px}
.bespoke-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;padding:36px;margin-bottom:22px}
.bespoke-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-.04em;margin:0 0 14px}
.bespoke-hero p{font-size:18px;color:var(--muted);max-width:65ch}
.bespoke-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.bespoke-points span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}
.bespoke-hero-card{background:#1f2a30;color:#fff;border-radius:20px;padding:28px;display:flex;flex-direction:column;justify-content:center}
.bespoke-hero-card strong{font-size:28px;line-height:1.1;margin-bottom:12px}
.bespoke-hero-card span{color:#d2dadd}
.bespoke-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px;align-items:start}
.bespoke-form{padding:30px}
.bespoke-step{display:flex;align-items:flex-start;gap:13px;margin:28px 0 14px}
.bespoke-step:first-child{margin-top:0}
.bespoke-step>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;flex:0 0 auto}
.bespoke-step h2{margin:1px 0 2px;font-size:23px}
.bespoke-step p{margin:0;color:var(--muted);font-size:14px}
.bespoke-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bespoke-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.bespoke-grid label.full{grid-column:1/-1}
.bespoke-grid input,.bespoke-grid select,.bespoke-grid textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:var(--text)}
.bespoke-grid textarea{resize:vertical}
.bespoke-reference{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bespoke-submit{display:flex;align-items:center;gap:16px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.bespoke-submit span{color:var(--muted);font-size:13px;max-width:460px}
.bespoke-result{margin-top:12px;font-weight:700}
.bespoke-side{display:grid;gap:16px;position:sticky;top:150px}
.bespoke-side .panel-rich{padding:24px}
.bespoke-side h2{font-size:27px;line-height:1.08;margin:4px 0 10px}
.bespoke-side p{color:var(--muted)}
.bespoke-success{text-align:center;padding:35px 10px}
.bespoke-success h2{font-size:34px;margin:10px 0}
.bespoke-product-cta{display:flex;flex-direction:column;gap:2px;margin-top:14px;padding:14px 16px;border:1px solid var(--brand);border-radius:14px;background:#fff7f2;color:var(--text)}
.bespoke-product-cta strong{font-size:15px}
.bespoke-product-cta span{font-size:13px;color:var(--brand-dark);font-weight:700}
@media(max-width:900px){.bespoke-home-card,.bespoke-hero,.bespoke-layout{grid-template-columns:1fr}.bespoke-side{position:static}}
@media(max-width:620px){.bespoke-grid{grid-template-columns:1fr}.bespoke-grid label.full{grid-column:auto}.bespoke-form,.bespoke-hero,.bespoke-home-card{padding:20px}.bespoke-submit{align-items:stretch;flex-direction:column}.bespoke-submit .primary{width:100%}}

/* FINAL homepage image rules — show the whole building, never crop */
.hero-media{
  min-height:440px!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  background:#edf1ef!important;
}
.hero-media img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.category-card-main img,
.category-card-main.rich img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:10px!important;
  background:#edf1ef!important;
}
.feature-panel{
  grid-template-rows:auto 1fr!important;
}
.feature-panel img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:14px!important;
  background:#edf1ef!important;
}
.project-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:12px!important;
  background:#edf1ef!important;
}
@media(max-width:760px){
  .category-card-main.rich img{
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
  }
}

/* BuySheds YouTube video cards */
.shop-video-section,.category-video-section{margin-top:24px}
.category-video-section{padding:24px 0 8px}
.shop-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.shop-video-grid.single{grid-template-columns:minmax(0,720px)}
.shop-video-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.shop-video-poster{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#101417;cursor:pointer;overflow:hidden}
.shop-video-poster img{width:100%;height:100%;display:block;object-fit:cover}
.shop-video-poster iframe,.shop-video-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block;background:#101417}
.shop-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);color:var(--brand-dark);font-size:25px;line-height:1;padding-left:4px;box-shadow:0 8px 28px rgba(0,0,0,.25)}
.shop-video-poster:hover .shop-video-play{transform:translate(-50%,-50%) scale(1.06)}
.shop-video-copy{padding:17px 18px 19px}
.shop-video-copy .badge{display:inline-flex;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.05em}
.shop-video-copy h3{font-size:18px;line-height:1.18;margin:0 0 7px}
.shop-video-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:760px){.shop-video-grid{grid-template-columns:1fr}}

/* v35 — workshop size finder */
.category-size-finder{
  scroll-margin-top:96px;
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);
  gap:18px;
  align-items:center;
  margin:0 0 14px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.category-size-copy h3{margin:4px 0 5px;font-size:22px}
.category-size-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.category-size-controls{
  display:grid;
  grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr) minmax(230px,1.4fr) auto;
  gap:9px;
  align-items:end;
}
.category-size-controls>label{
  display:grid;
  gap:5px;
  font-size:11px;
  font-weight:800;
  color:var(--muted);
}
.category-size-controls select{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  padding:0 10px;
  font:inherit;
  color:var(--text);
}
.category-size-controls .size-cross{
  align-self:end;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:800;
  color:var(--muted);
}
.category-size-mode{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.category-size-mode>label{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8faf9;
  cursor:pointer;
}
.category-size-mode input{margin:0}
.category-size-mode span,.category-size-mode strong,.category-size-mode small{display:block}
.category-size-mode strong{font-size:11px;color:var(--text)}
.category-size-mode small{margin-top:1px;font-size:9px;color:var(--muted);font-weight:500}
.category-size-controls .btn{min-height:44px;white-space:nowrap}
.category-popular-sizes{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  padding-top:2px;
}
.category-popular-sizes>strong{font-size:11px;white-space:nowrap}
.category-popular-sizes>div{display:flex;gap:6px;flex-wrap:wrap}
.category-popular-sizes a{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f8faf9;
  font-size:11px;
  font-weight:700;
}
.category-popular-sizes a:hover{background:#eef4f0}
@media(max-width:1050px){
  .category-size-finder{grid-template-columns:1fr}
  .category-size-controls{grid-template-columns:1fr auto 1fr}
  .category-size-mode{grid-column:1/-1}
  .category-size-controls .btn{grid-column:1/-1}
}
@media(max-width:620px){
  .category-size-finder{padding:16px}
  .category-size-controls{grid-template-columns:1fr auto 1fr}
  .category-size-copy h3{font-size:20px}
  .category-size-mode{grid-template-columns:1fr}
  .category-popular-sizes{display:grid;gap:7px}
}

/* v36 — category infinite loading + product image lightbox */
.seo-category-infinite{margin:18px 0 4px}
.product-image-stage{position:relative}
.enlargeable-product-image{cursor:zoom-in}
.image-enlarge-button{
  position:absolute;
  right:28px;
  bottom:28px;
  z-index:2;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  padding:9px 13px;
  background:rgba(20,34,29,.84);
  color:#fff;
  font:700 12px/1.1 inherit;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  cursor:pointer;
  backdrop-filter:blur(7px);
}
.image-enlarge-button:hover{background:#14221d}
body.lightbox-open{overflow:hidden}
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px 76px;
  background:rgba(4,9,7,.94);
}
.lightbox-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(1500px,100%);
  height:100%;
}
.lightbox-stage img{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 70px);
  object-fit:contain;
  border-radius:12px;
  background:#fff;
}
.lightbox-close,.lightbox-prev,.lightbox-next{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.lightbox-close{
  top:18px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:999px;
  font-size:30px;
}
.lightbox-prev,.lightbox-next{
  top:50%;
  width:50px;
  height:64px;
  margin-top:-32px;
  border-radius:13px;
  font-size:42px;
}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
.lightbox-count{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.64);
  color:#fff;
  font-size:11px;
  font-weight:800;
}
@media(max-width:700px){
  .product-lightbox{padding:64px 12px 50px}
  .lightbox-prev,.lightbox-next{width:42px;height:54px;margin-top:-27px;font-size:34px;background:rgba(0,0,0,.5)}
  .lightbox-prev{left:6px}.lightbox-next{right:6px}
  .image-enlarge-button{right:22px;bottom:22px}
}

/* v37 — larger homepage workshop hero image */
@media(min-width:761px){
  .hero .hero-card{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  }
  .hero .hero-copy{
    padding:44px 38px 44px 46px;
  }
  .hero .hero-media{
    min-height:520px!important;
    padding:10px!important;
  }
  .hero .hero-badge{
    left:18px;
    bottom:18px;
    max-width:265px;
  }
}

/* v38 — compact category video strip */
.category-video-top{
  margin-top:14px;
  margin-bottom:14px;
  padding:14px 16px 16px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
}
.category-video-top-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
}
.category-video-top-head .eyebrow{
  margin-bottom:5px;
  padding:5px 9px;
  font-size:10px;
}
.category-video-top-head h2{
  margin:0;
  font-size:21px;
  line-height:1.1;
}
.category-video-top-head>span{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.category-video-top-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.category-video-top .shop-video-card{
  border-radius:14px;
  box-shadow:none;
}
.category-video-top .shop-video-play{
  width:48px;
  height:48px;
  font-size:20px;
}
.category-video-top .shop-video-copy{
  padding:10px 11px 11px;
}
.category-video-top .shop-video-copy .badge{
  margin-bottom:5px;
  font-size:8px;
}
.category-video-top .shop-video-copy h3{
  margin:0;
  font-size:14px;
  line-height:1.22;
}
.category-video-top .shop-video-copy p{
  display:none;
}
@media(max-width:760px){
  .category-video-top{
    padding:13px 0 14px 13px;
    overflow:hidden;
  }
  .category-video-top-head{
    padding-right:13px;
  }
  .category-video-top-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    padding:0 13px 4px 0;
  }
  .category-video-top-grid .shop-video-card{
    flex:0 0 min(78vw,280px);
    scroll-snap-align:start;
  }
  .category-video-top-head>span{display:none}
}

/* v39 — four workshop clips across desktop */
.category-video-top-grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:1050px) and (min-width:761px){
  .category-video-top-grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .category-video-top-grid.four{
    display:flex;
  }
}

/* v40 — buying advice, guides and footer advice links */
.footer ul a{color:#d5dde1;text-decoration:none}
.footer ul a:hover{color:#fff;text-decoration:underline}

.buying-advice-section{scroll-margin-top:100px}
.buying-advice-grid{display:grid;gap:10px}
.buying-advice-grid details{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fbfcfb;
  padding:14px 16px;
}
.buying-advice-grid summary{font-weight:800;cursor:pointer}
.buying-advice-grid p{margin:10px 0 0;color:var(--muted);line-height:1.65}
.buying-advice-grid a,.faq-grid a{color:var(--brand-dark);font-weight:800}

.advice-guide-page{padding:28px 0 10px}
.advice-guide-hero{
  background:linear-gradient(135deg,#fff,#f6faf7);
  border:1px solid var(--line);
  border-radius:24px;
  padding:34px;
  box-shadow:var(--shadow);
  margin-bottom:20px;
}
.advice-guide-hero h1{
  margin:0 0 12px;
  font-size:clamp(34px,5vw,54px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.advice-guide-hero p{margin:0;color:var(--muted);font-size:18px;max-width:900px;line-height:1.6}
.advice-guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}
.advice-guide-copy{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px;
  box-shadow:var(--shadow);
}
.advice-guide-copy section+section{margin-top:26px}
.advice-guide-copy h2{margin:0 0 8px;font-size:25px}
.advice-guide-copy p{margin:0;color:#4e5d65;line-height:1.75}
.advice-guide-note{margin-top:26px;padding:15px 17px;border-radius:14px;background:#fff6ee;border:1px solid #f2d7c6;color:#6a4c3c;font-size:13px;line-height:1.55}
.advice-guide-actions{margin-top:24px}
.advice-guide-side{
  position:sticky;
  top:110px;
  display:grid;
  gap:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--shadow);
}
.advice-guide-side strong{margin-bottom:4px}
.advice-guide-side a{
  display:block;
  padding:9px 10px;
  border-radius:10px;
  color:var(--text);
  background:#f6f8f7;
  font-weight:700;
}
@media(max-width:800px){
  .advice-guide-layout{grid-template-columns:1fr}
  .advice-guide-side{position:static}
  .advice-guide-hero,.advice-guide-copy{padding:22px}
}

/* v41 — upgraded town landing pages */
.town-landing-page{padding:24px 0 10px}
.town-hero-wrap{margin-bottom:18px}
.town-hero-card{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow);
}
.town-hero-copy{padding:38px 36px}
.town-hero-copy h1{
  margin:8px 0 14px;
  font-size:clamp(38px,5vw,58px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.town-hero-copy>p{margin:0;color:var(--muted);font-size:18px;line-height:1.62;max-width:740px}
.town-hero-points{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.town-hero-points span{
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 11px;
  background:#fbfcfb;
  font-size:13px;
  font-weight:750;
}
.town-hero-media{min-height:410px;background:#edf1ef;display:flex;align-items:center;justify-content:center}
.town-hero-media img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.town-reassurance-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0 30px;
}
.town-reassurance-strip>div{
  display:grid;
  gap:5px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.town-reassurance-strip strong{font-size:15px}
.town-reassurance-strip span{color:var(--muted);font-size:13px;line-height:1.45}
.town-category-section{padding:8px 0 24px}
.town-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.town-category-card{
  display:grid;
  gap:5px;
  min-height:105px;
  align-content:center;
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--text);
  box-shadow:0 8px 24px rgba(29,44,36,.05);
  transition:transform .15s ease,box-shadow .15s ease;
}
.town-category-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(29,44,36,.09)}
.town-category-card strong{font-size:17px}
.town-category-card span{color:var(--muted);font-size:13px;line-height:1.4}
.town-size-finder{margin:8px 0 34px}
.town-products-section{margin:0 0 34px}
.town-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:8px 0 28px}
.town-info-card{
  padding:25px;
  border:1px solid var(--line);
  border-radius:19px;
  background:#fff;
}
.town-info-card h2{margin:7px 0 10px;font-size:28px}
.town-info-card p{color:var(--muted);line-height:1.7}
.town-advice-links{display:grid;gap:7px;margin-top:17px}
.town-advice-links a{font-weight:800;color:var(--brand-dark)}
.town-help-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px 30px;
  margin:0 0 18px;
  border-radius:20px;
  background:#f4f8f5;
  border:1px solid var(--line);
}
.town-help-cta h2{margin:5px 0 7px;font-size:30px}
.town-help-cta p{margin:0;color:var(--muted)}
@media(max-width:980px){
  .town-hero-card{grid-template-columns:1fr}
  .town-hero-media{min-height:330px}
  .town-category-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .town-landing-page{padding-top:14px}
  .town-hero-copy{padding:24px 20px}
  .town-hero-copy h1{font-size:38px}
  .town-hero-media{min-height:250px}
  .town-reassurance-strip,.town-info-grid{grid-template-columns:1fr}
  .town-category-grid{grid-template-columns:1fr 1fr}
  .town-category-card{min-height:90px}
  .town-help-cta{align-items:flex-start;flex-direction:column;padding:22px}
}

/* v42 — mobile shop polish */
@media(max-width:760px){
  body{overflow-x:hidden}
  .topbar{font-size:12px}
  .topbar-inner{gap:4px;padding:7px 0}
  .topbar-items{gap:8px 12px}
  .topbar-items span:nth-child(n+3){display:none}
  .header-row{gap:9px;padding:10px 0 12px}
  .logo-img{width:min(220px,58vw)}
  .cart-btn{padding:10px 12px;font-size:13px}
  .search input{min-width:0;font-size:16px;padding:12px 14px}
  .search button{min-height:44px;padding:11px 16px}
  .nav{gap:7px;padding:7px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  .nav::-webkit-scrollbar{display:none}
  .nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;font-size:13px;scroll-snap-align:start}
  .temporary-notice{font-size:12px;line-height:1.4;padding:7px 12px}
  .section{padding:28px 0}
  .section-head{align-items:flex-start}
  .category-sidebar,.category-results,.panel-rich{min-width:0}
  .filter-panel{padding:14px}
  .filter-panel h2{font-size:18px;margin-bottom:10px}
  .filter-group{display:flex;flex-wrap:wrap;gap:7px;padding:11px 0}
  .filter-group>strong{flex:0 0 100%}
  .filter-group a:not(.btn){display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#f8faf9}
}@media(max-width:760px){
  .category-size-controls select,.size-selector-box select,.option-field select{font-size:16px}
  .product-page-rich{padding-top:16px}
  .qty-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:end}
  .qty-row label{min-width:0}
  .qty-row input{width:100%;min-height:46px}
  .buy-button{width:100%;min-width:0;min-height:46px}
  .checkout-submit{display:grid;grid-template-columns:1fr}
  .checkout-submit .btn,.checkout-submit .primary{width:100%;min-height:48px}
  .confirmation-actions{display:grid;grid-template-columns:1fr}
  .confirmation-actions>*{width:100%}
  .footer-grid{padding-top:30px}
  .footer-brand img{width:210px}
}
@media(max-width:480px){
  .topbar-items span:nth-child(n+2){display:none}
  .header-row{grid-template-columns:minmax(0,1fr) auto}
  .logo-img{width:min(190px,54vw)}
  .cart-btn{padding:9px 10px;font-size:12px}
  .hero-copy{padding:20px 18px}
  .hero h1{font-size:34px}
  .hero-media{min-height:230px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .primary,.hero-actions .secondary,.hero-actions .btn{width:100%}
  .category-hero-copy{padding:18px}
  .category-hero-copy h1{font-size:34px}
  .category-hero-media{min-height:220px}
}@media(max-width:480px){
  .category-size-controls{grid-template-columns:1fr 28px 1fr;gap:6px}
  .category-size-controls select{padding:0 7px}
  .town-hero-copy{padding:20px 18px}
  .town-hero-copy h1{font-size:34px}
  .town-hero-media{min-height:220px}
  .town-category-grid{grid-template-columns:1fr}
  .town-category-card{min-height:auto}
  .town-help-cta{padding:18px}
  .product-master .compact-product-title h1{font-size:30px}
  .product-section,.configurator,.buy-panel,.checkout-card-rich,.basket-summary-rich{padding:16px}
  .cart-item-rich{grid-template-columns:72px minmax(0,1fr)}
  .cart-item-rich>img{width:72px;height:64px}
  .cart-qty,.cart-line-total,.remove-link{grid-column:2;grid-row:auto}
  .cart-line-total{justify-self:start}
  .summary-product{grid-template-columns:48px minmax(0,1fr) auto}
  .summary-product img{width:48px;height:44px}
  .success{margin:24px 10px;padding:24px 18px}
}
@media(max-width:360px){
  .logo-img{width:min(165px,50vw)}
  .cart-btn{padding:8px 9px;font-size:11px}
  .container{width:calc(100% - 14px)}
  .category-size-controls{grid-template-columns:1fr 22px 1fr}
  .category-size-controls select{font-size:15px}
  .town-hero-copy h1,.category-hero-copy h1,.hero h1{font-size:31px}
}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(242,92,39,.28);outline-offset:2px}

@media(max-width:620px){
  .section-head,.toolbar{align-items:flex-start;flex-direction:column;gap:8px}
  .section-link{white-space:normal}
  .toolbar .btn,.toolbar .secondary,.toolbar .primary{width:100%}
  .seo-breadcrumb{overflow-wrap:anywhere}
  .category-toolbar{gap:10px}
}
@media(max-width:480px){
  .seo-hero,.seo-copy{padding:20px}
  .seo-hero h1{font-size:34px}
  .seo-hero p{font-size:16px}
  .page-head-rich,.checkout-head-rich{align-items:flex-start}
  .page-head-rich h1,.checkout-head-rich h1{font-size:32px}
  .payment-box{font-size:13px}
}

/* v44 — friendly homepage size finder layout */
.size-finder-card-friendly{
  grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);
  align-items:start;
}
.size-finder-form-friendly{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-width:0;
}
.size-step{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:2px;
}
.size-step-number{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff1ea;
  color:var(--brand-dark);
  font-size:13px;
  font-weight:900;
  border:1px solid #ffd9ca;
}
.size-step>div strong,
.size-step>div small{
  display:block;
}
.size-step>div strong{
  font-size:15px;
  line-height:1.2;
}
.size-step>div small{
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}
.size-dimensions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
  gap:10px;
  align-items:end;
}
.size-dimensions .size-cross{
  padding:0;
  height:48px;
  display:grid;
  place-items:center;
}
.size-finder-form-friendly .size-mode{
  grid-column:auto;
}
.size-finder-form-friendly .material-mode{
  grid-column:auto;
}
.size-finder-form-friendly .size-find-button{
  grid-column:auto;
  min-height:54px;
  margin-top:2px;
  font-size:16px;
}
.size-finder-tip{
  margin-top:14px;
  padding:11px 13px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--line);
  color:#536168;
  font-size:13px;
  line-height:1.5;
}
.size-finder-card-friendly .popular-size-row{
  grid-column:1/-1;
  margin-top:4px;
}
@media(max-width:950px){
  .size-finder-card-friendly{grid-template-columns:1fr}
}
@media(max-width:560px){
  .size-dimensions{grid-template-columns:1fr 24px 1fr}
  .size-step{align-items:flex-start}
  .size-finder-tip{font-size:12px}
}

/* v45 — workshop landing-page visual language */
.hero .hero-card{
  grid-template-columns:.82fr 1.18fr;
  background:#fff;
}
.hero .hero-copy{padding:48px}
.hero .hero-media{background:#edf1ef}
.hero .hero-media img{object-fit:contain;position:absolute;inset:0}
.hero .hero-copy h1{max-width:13ch}
.hero .hero-copy p{max-width:50ch}
.hero .eyebrow{letter-spacing:.02em;text-transform:uppercase;font-size:11px}

.landing-trust{padding:10px 0 22px}
.landing-trust-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.landing-trust-grid>div{
  padding:18px 17px;
  border-right:1px solid var(--line);
}
.landing-trust-grid>div:last-child{border-right:0}
.landing-trust-grid strong,.landing-trust-grid span{display:block}
.landing-trust-grid strong{font-size:14px;margin-bottom:4px;color:var(--brand-dark)}
.landing-trust-grid span{font-size:12px;line-height:1.45;color:var(--muted)}

.size-finder-card-friendly{
  background:#fff;
  border-radius:26px;
  padding:34px;
  gap:34px;
}
.size-finder-form-friendly{gap:11px}
.size-finder-form-friendly .size-mode,
.size-finder-form-friendly .material-mode{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.size-finder-form-friendly .size-mode{grid-template-columns:repeat(2,minmax(0,1fr))}
.material-mode label{
  display:flex;align-items:center;gap:8px;padding:11px 12px;
  border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer;
  font-size:13px;font-weight:750
}
.material-mode label:has(input:checked){border-color:#a9c79b;background:#f5faf2;box-shadow:0 0 0 2px rgba(107,175,74,.08)}
.material-mode input{accent-color:var(--brand)}
.size-finder-form-friendly .size-find-button{
  border-radius:12px;
  background:var(--brand);
  box-shadow:0 10px 25px rgba(242,92,39,.18);
}
.size-finder-form-friendly .size-find-button:hover{background:var(--brand-dark)}

.category-card-main.rich{
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,42,48,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.category-card-main.rich:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(31,42,48,.12)}
.category-card-main.rich img{background:#edf1ef}
.category-card-copy{padding:18px 18px 20px}
.category-card-copy h3{font-size:20px;margin-bottom:6px}
.category-card-copy p{line-height:1.52}

.landing-process{padding:34px 0 10px}
.landing-process-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.landing-process-grid>div{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)
}
.landing-process-grid b{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--brand);color:#fff;margin-bottom:14px
}
.landing-process-grid strong,.landing-process-grid span{display:block}
.landing-process-grid strong{font-size:17px;margin-bottom:5px}
.landing-process-grid span{font-size:13px;line-height:1.5;color:var(--muted)}

.card-image{position:relative}
.card-saving{
  position:absolute;left:10px;top:10px;z-index:2;
  display:inline-flex;padding:7px 9px;border-radius:999px;
  background:#fff0e9;color:#b84419;border:1px solid #ffd6c6;
  font-size:11px;font-weight:850;box-shadow:0 4px 14px rgba(31,42,48,.08)
}
.card-price-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto}
.card-price-line .rrp{font-size:12px}

.category-hero-card{
  grid-template-columns:.85fr 1.15fr;
  background:#fff;
}
.category-hero-copy{padding:40px}
.category-hero-media{background:#edf1ef}
.category-hero-media img{object-fit:contain}
.hero-points span{background:#f7faf4;border-color:#dde8d7}

.category-video-top-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.category-video-top{margin-top:16px}

.product-trust-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin:14px 0 22px;background:#fff;border:1px solid var(--line);
  border-radius:18px;box-shadow:var(--shadow);overflow:hidden
}
.product-trust-strip>div{padding:16px 17px;border-right:1px solid var(--line)}
.product-trust-strip>div:last-child{border-right:0}
.product-trust-strip strong,.product-trust-strip span{display:block}
.product-trust-strip strong{font-size:13px;margin-bottom:3px;color:var(--brand-dark)}
.product-trust-strip span{font-size:12px;line-height:1.4;color:var(--muted)}

@media(max-width:1050px){
  .landing-trust-grid{grid-template-columns:repeat(3,1fr)}
  .landing-trust-grid>div{border-bottom:1px solid var(--line)}
  .category-video-top-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .hero .hero-card,.category-hero-card{grid-template-columns:1fr}
  .hero .hero-copy,.category-hero-copy{padding:25px}
  .hero .hero-copy h1{max-width:none}
  .landing-trust-grid{grid-template-columns:1fr 1fr}
  .landing-trust-grid>div:nth-child(even){border-right:0}
  .landing-process-grid{grid-template-columns:1fr 1fr}
  .category-video-top-grid.five{display:flex}
  .product-trust-strip{grid-template-columns:1fr 1fr}
  .product-trust-strip>div:nth-child(even){border-right:0}
  .size-finder-card-friendly{padding:22px}
}
@media(max-width:520px){
  .landing-trust-grid,.landing-process-grid,.product-trust-strip{grid-template-columns:1fr}
  .landing-trust-grid>div,.product-trust-strip>div{border-right:0;border-bottom:1px solid var(--line)}
  .landing-trust-grid>div:last-child,.product-trust-strip>div:last-child{border-bottom:0}
  .size-finder-form-friendly .material-mode{grid-template-columns:1fr}
}

/* Basket slide-out drawer */
body.basket-open{overflow:hidden}
.basket-backdrop{position:fixed;inset:0;background:rgba(22,31,35,.42);backdrop-filter:blur(2px);z-index:69;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.basket-backdrop.open{opacity:1;visibility:visible}
.basket-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(520px,94vw);background:#fff;z-index:70;box-shadow:-18px 0 46px rgba(0,0,0,.18);padding:0;overflow:hidden;display:flex;flex-direction:column;transform:translateX(102%);visibility:hidden;transition:transform .26s ease,visibility .26s ease}
.basket-drawer.open{transform:translateX(0);visibility:visible}
.basket-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.basket-head h2{margin:2px 0 0;font-size:27px;letter-spacing:-.025em}.drawer-eyebrow{font-size:11px;font-weight:850;letter-spacing:.08em;color:var(--olive)}
.drawer-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--text);font-size:28px;line-height:1;cursor:pointer}.drawer-close:hover{background:#f5f7f6}
.drawer-content{padding:4px 24px;overflow:auto;flex:1}.basket-product-group{border-bottom:1px solid var(--line);padding:14px 0}.drawer-product-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:13px;align-items:start}.drawer-product-image{width:82px;height:72px;object-fit:contain;background:#edf1ef;border-radius:10px}.drawer-product-copy strong{display:block;font-size:13px;line-height:1.3}.drawer-product-copy small{display:block;color:var(--muted);margin:4px 0 9px}.drawer-line-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.drawer-line-price strong{font-size:14px}.drawer-remove{border:0;background:transparent;color:var(--brand);font-size:11px;font-weight:800;padding:0;cursor:pointer}.drawer-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.drawer-qty button{width:30px;height:28px;border:0;background:#f7f9f8;cursor:pointer;font-size:17px}.drawer-qty span{min-width:30px;text-align:center;font-size:12px;font-weight:800}.basket-addon-line{display:grid;grid-template-columns:1fr auto;gap:10px;margin:10px 0 0 95px;padding:10px 12px;background:#f8faf9;border-radius:10px}.basket-addon-line strong,.basket-addon-line small{display:block}.basket-addon-line strong{font-size:12px}.basket-addon-line small{font-size:10px;color:var(--muted);margin-top:2px}.drawer-footer{border-top:1px solid var(--line);padding:18px 24px 24px;background:#fbfcfb}.drawer-footer .basket-total{padding:0 0 9px}.drawer-delivery{display:flex;justify-content:space-between;gap:14px;padding:9px 0 15px;border-top:1px solid var(--line);font-size:12px}.drawer-delivery span{color:var(--muted)}.drawer-checkout{width:100%;font-size:16px;padding:14px 18px}.drawer-view-basket{display:block;text-align:center;margin:12px 0 6px;font-weight:800;font-size:13px;color:var(--text)}.drawer-footer>small{display:block;text-align:center;color:var(--muted);font-size:10px}.drawer-empty{text-align:center;padding:56px 18px}.drawer-empty strong{display:block;font-size:23px}.drawer-empty p{color:var(--muted);margin:8px 0 20px}
@media(max-width:520px){.basket-drawer{width:100vw}.drawer-content{padding:4px 16px}.basket-head,.drawer-footer{padding-left:16px;padding-right:16px}.drawer-product-row{grid-template-columns:70px minmax(0,1fr) auto}.drawer-product-image{width:70px;height:64px}.basket-addon-line{margin-left:83px}}

/* v47 — mobile storefront polish */
@media(max-width:760px){
  body{font-size:15px}
  .container{width:calc(100% - 20px)}
  .topbar{font-size:11px}
  .topbar-inner{display:block;padding:6px 0;text-align:center}
  .topbar-items{display:block}
  .topbar-items span:nth-child(n+2),.topbar-inner>div:last-child{display:none}
  .site-header{position:sticky;top:0}
  .header-row{gap:8px;padding:9px 0}
  .logo-img{width:min(190px,58vw)}
  .cart-btn{padding:9px 11px;font-size:12px;box-shadow:none}
  .search input{padding:11px 13px;font-size:16px}
  .search button{padding:11px 14px;font-size:13px}
  .nav{gap:6px;padding:7px 0 9px;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding:8px 10px;font-size:12px}
  .temporary-notice{padding:6px 10px;font-size:11px;line-height:1.35}
  .hero{padding:10px 0 6px}
  .hero-card,.category-hero-card{border-radius:18px}
  .hero .hero-copy,.category-hero-copy{padding:20px}
  .hero .hero-copy h1,.category-hero-copy h1{font-size:clamp(29px,8.5vw,36px)}
  .hero .hero-copy p,.category-hero-copy p{font-size:15px;line-height:1.55}
  .hero-media{min-height:240px!important;padding:8px!important}
  .hero-actions{gap:8px;margin:18px 0 8px}
  .hero-actions .btn{flex:1 1 140px;padding:11px 13px}
  .section{padding:24px 0}
  .section-head{align-items:flex-start;gap:10px;margin-bottom:14px}
  .section-head h2{font-size:25px}
  .landing-trust{padding:6px 0 14px}
  .landing-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:14px}
  .landing-trust-grid>div{padding:11px 10px}
  .landing-trust-grid strong{font-size:12px}.landing-trust-grid span{font-size:10px}
  .landing-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .landing-process-grid>div{padding:14px}
  .category-grid-main,.category-grid-main.rich-six{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .category-card-main{border-radius:14px}
  .category-card-copy{padding:11px}
  .category-card-copy h3{font-size:14px;line-height:1.25;margin:0}
  .category-card-copy p{display:none}
  .category-page-rich{padding:10px 0 34px}
  .category-hero-wrap{margin-bottom:10px}
  .category-hero-media{min-height:220px}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}
  .hero-points span{padding:7px 8px;font-size:10px;text-align:center}
  .category-sidebar{margin-bottom:10px}
  .filter-panel{padding:8px 10px;border-radius:14px;box-shadow:none}
  .filter-panel h2,.filter-group:last-child,.filter-group>strong{display:none}
  .filter-group:first-of-type{display:flex;gap:6px;overflow-x:auto;padding:0;border:0;scrollbar-width:none}
  .filter-group:first-of-type::-webkit-scrollbar{display:none}
  .filter-group a:not(.btn){flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#f8faf9;font-size:11px}
  .subcat-strip{padding:14px;border-radius:14px}
  .subcat-strip h2{font-size:21px}
  .chip-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .chip-row::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;padding:7px 9px;font-size:11px}
  .category-toolbar{padding:11px 12px;border-radius:14px}
  .product-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .card,.product-card{border-radius:14px}
  .product-grid .card-image,.grid .card-image{padding:8px!important}
  .card-saving{left:6px;top:6px;padding:5px 6px;font-size:9px}
  .card-body,.category-results .card-body,.catalogue-shell .card-body{padding:10px;min-height:0!important;gap:5px}
  .brand{font-size:9px}
  .card-body h3{font-size:12px;line-height:1.3}
  .price{font-size:17px}.rrp{font-size:10px}
  .product-page-rich{padding:14px 0 34px}
  .product-master .compact-product-title h1{font-size:clamp(27px,7.5vw,33px)}
  .gallery-main{padding:8px}.gallery-main img{border-radius:13px}
  .buy-panel,.product-copy-panel,.product-support-panel{padding:16px}
  .product-price-rich{font-size:31px}
  .product-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:14px}
  .product-trust-strip>div{padding:11px}
  .product-section,.configurator{padding:16px}
  .section-heading h2{font-size:24px}
  .basket-head{padding-top:max(16px,env(safe-area-inset-top))}
  .drawer-footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .checkout-card-rich,.order-summary-rich{padding:16px}
}
@media(max-width:390px){
  .logo-img{width:min(168px,55vw)}
  .cart-btn{padding:8px 9px;font-size:11px}
  .container{width:calc(100% - 16px)}
  .category-grid-main,.category-grid-main.rich-six,.product-grid,.grid{gap:7px}
  .card-body{padding:8px}
  .card-body h3{font-size:11.5px}
  .price{font-size:16px}
}
.basket-head-actions{display:flex;align-items:center;gap:10px}
.basket-clear,.basket-clear-page{border:1px solid #d8dedd;background:#fff;color:#a53218;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.drawer-remove,.basket-delete-link{color:#b43b1f!important;text-decoration:none}
.drawer-remove:hover,.basket-delete-link:hover,.basket-clear:hover,.basket-clear-page:hover{text-decoration:underline}
.basket-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:520px){.basket-head-actions{gap:6px}.basket-clear{padding:7px 9px}.basket-head{gap:8px}.basket-page-actions{width:100%;justify-content:space-between}}

/* v49 — ensure mobile product purchase controls remain visible */
@media(max-width:760px){
  .buy-panel .qty-row{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:end!important;
    width:100%!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
    margin-top:16px!important;
  }
  .buy-panel .qty-row label{display:block!important;min-width:0!important}
  .buy-panel .qty-row input{display:block!important;width:100%!important;min-height:48px!important}
  .buy-panel #addProduct,.buy-panel #buyProductNow{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:48px!important;width:100%!important;visibility:visible!important;opacity:1!important;
  }
  .buy-panel #buyProductNow{grid-column:1/-1!important}
}

/* v50 — product purchase panel polish */
.buy-panel .payment-box{margin-top:16px}
.buy-panel .qty-row{display:grid;grid-template-columns:86px minmax(160px,1fr) minmax(150px,.8fr);gap:10px;align-items:end;width:100%}
.buy-panel .qty-row label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--text)}
.buy-panel .qty-row input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:16px;font-weight:700}
.buy-panel #addProduct,.buy-panel #buyProductNow{height:50px;min-height:50px;width:100%;padding:0 18px;border-radius:14px;font-size:15px;font-weight:850;white-space:nowrap}
.buy-panel #addProduct{background:#fff;border:1px solid var(--line);color:var(--text)}
.buy-panel #buyProductNow{background:var(--brand);border:1px solid var(--brand);color:#fff}
.buy-panel .advice-link{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
@media(max-width:760px){
  .buy-panel .payment-box{margin-top:14px!important}
  .buy-panel .qty-row{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;margin-top:18px!important}
  .buy-panel .qty-row label{grid-column:1!important}
  .buy-panel #addProduct{grid-column:2!important}
  .buy-panel #buyProductNow{grid-column:1/-1!important;height:52px!important;min-height:52px!important;border-radius:14px!important;font-size:16px!important}
  .buy-panel .advice-link{margin-top:15px;padding-top:14px;font-size:13px}
}

/* v51 — definitive mobile purchase stack */
@media(max-width:760px){
  .product-master .buy-panel .qty-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    margin:18px 0 0!important;
  }
  .product-master .buy-panel .qty-row>label,
  .product-master .buy-panel .qty-row>#addProduct,
  .product-master .buy-panel .qty-row>#buyProductNow{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    grid-column:auto!important;
    flex:0 0 auto!important;
  }
  .product-master .buy-panel .qty-row>label{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
  }
  .product-master .buy-panel .qty-row input{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:14px!important;
  }
  .product-master .buy-panel .qty-row>#addProduct,
  .product-master .buy-panel .qty-row>#buyProductNow{
    align-items:center!important;
    justify-content:center!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 18px!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .product-master .buy-panel .qty-row>#buyProductNow{
    background:var(--brand)!important;
    border-color:var(--brand)!important;
    color:#fff!important;
  }
}
