/* Launch review: load after page-specific styles so inputs remain readable. */
input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a23360;outline-offset:4px}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:2000;background:var(--ink,#22231f);color:white;padding:14px 20px;font:600 16px Montserrat,Arial,sans-serif}
.skip-link:focus{transform:none}
.product-layout>*,.details-row>*,.contact-layout>*,.editorial-hero>*,.range-card,.service-booking-card{min-width:0}
.product-description{overflow-wrap:anywhere}
.product-description table{display:block;max-width:100%;overflow-x:auto}
.product-description img,.article-body img{max-width:100%;height:auto}
/* Match plain links to the dropdowns' 44px touch targets and centre every label. */
@media(min-width:651px){
 header #nav{align-items:center}
 header #nav>a,header #nav .shop-toggle{display:inline-flex;align-items:center;min-height:44px;line-height:1.2;white-space:nowrap}
 header .header-actions>a{display:inline-flex;align-items:center;min-height:44px;line-height:1.2}
}
@media(max-width:900px) and (min-width:651px){header #nav{flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:12px 24px;order:4}header #nav>a{display:inline-flex;align-items:center;min-height:44px}.header-actions{margin-left:auto}}
@media(max-width:650px){
 input:not([type=checkbox]):not([type=radio]),select,textarea,.catalogue-tools input,.catalogue-tools select,.results-top select,.contact-card input,.contact-card textarea,.store-options input[type=number]{font-size:16px;min-height:48px;max-width:100%}
 .results-top{flex-wrap:wrap;gap:14px}.results-top label{flex-wrap:wrap;gap:8px}
 .reset,#save-note,.content-filter button{min-height:44px;padding-top:10px;padding-bottom:10px}
 .check{min-height:44px}.check input{width:20px;height:20px;flex-shrink:0}
 footer a{display:inline-flex;align-items:center;min-height:44px}
 summary{min-height:44px;align-content:center}
 .product-card h3,.store-card h3{overflow-wrap:anywhere}
 .card-bottom .text-link{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){.product-grid,.range-grid:has(.store-card){grid-template-columns:minmax(0,1fr)}.product-card h3,.store-card h3{font-size:18px}.card-img .category-tag,.store-card .category-tag{font-size:9px}.content-hero h1,.editorial-hero h1,.shop-intro h1{font-size:36px;letter-spacing:-1.2px}.portrait-grid{gap:8px}.portrait-grid h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
