/* Shared storefront presentation. Product data and purchase controls stay authoritative. */
:is(.catalog-page,.campaign-page,.product-page,.cart-page){--shop-line:#dce5e9;--shop-soft:#f3f6f7;--shop-radius:12px}
:is(.catalog-page,.campaign-page,.product-page,.cart-page) .breadcrumb{font:13px/1.6 Arial,sans-serif;display:flex;flex-wrap:wrap;gap:8px;color:#536d7c;letter-spacing:0}
:is(.catalog-page,.campaign-page,.product-page,.cart-page) .wrap{max-width:1280px}
.shop-section-nav{gap:8px;padding:16px 0;margin:0;border-bottom:1px solid var(--shop-line);font-size:14px}
.shop-section-nav>a{min-height:44px;padding:10px 16px;border-radius:7px;white-space:nowrap}
.shop-section-nav .shop-campaign-tab{background:#ffdf94}
.shop-section-nav .shop-list-link{margin-left:auto;font-weight:500;border:1px solid var(--shop-line)}
.shop-list-link b{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#102f43;color:white;font-size:12px}
.catalog-page .catalog-hero{padding-bottom:24px;background:white}
.catalog-page .catalog-hero .breadcrumb{padding-top:16px}
.catalog-page .campaign-entry{margin:20px 0 28px;border-radius:var(--shop-radius);grid-template-columns:1.15fr 1fr}
.catalog-page .campaign-entry-copy{padding:30px 34px}
.catalog-page .campaign-entry h2{font-size:clamp(32px,3.6vw,48px);letter-spacing:-1.4px;line-height:1.08}
.catalog-page .campaign-entry p{font-size:15px;line-height:1.6;margin:12px 0 18px;max-width:40ch}
.catalog-page .campaign-entry h2 br{display:none}
.catalog-page .campaign-entry-cta{font-size:14px;min-height:44px;padding:10px 16px;border-radius:6px}
.catalog-page .outlet-showcase{padding:22px;gap:18px;background:#f2efe8}
.catalog-page .outlet-product-shot{box-shadow:none;border-radius:8px;padding:10px 8px}
.catalog-page .outlet-product-shot:nth-child(2){transform:none}
.catalog-page .outlet-product-shot img{height:135px}
.catalog-page .outlet-showcase-footer{font-weight:500}
.catalog-page .outlet-entry-note{display:none}
.catalog-page .shop-search-local{margin:22px 0 26px;max-width:none}
.catalog-page .shop-search-local>label{font-size:19px;line-height:1.4;margin-bottom:10px;font-weight:600}
.catalog-page .shop-search-local>div{gap:8px}
.catalog-page .shop-search-local input{min-width:0;height:52px;border-radius:8px;font-size:16px;padding:12px 16px;background:#f8fafb;border-color:#adc2cf}
.catalog-page .shop-search-local button{min-width:84px;border-radius:8px;background:#102f43;font-size:15px}
.catalog-page .retail-shop-category-title{font:600 21px/1.3 Arial,sans-serif;letter-spacing:-.4px;margin:26px 0 14px}
.catalog-page .catalog-hero .shop-category-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0 0 20px}
.catalog-page .catalog-hero .shop-category-tile{border:0;border-radius:0;background:transparent}
.catalog-page .catalog-hero .shop-category-tile>span{aspect-ratio:1.3;border-radius:10px;background:#f2f5f6;margin-bottom:9px}
.catalog-page .catalog-hero .shop-category-tile strong{font-size:14px;line-height:1.4;font-weight:600}
.catalog-page .shop-category-tile small{font-size:12px;margin-top:4px}
.catalog-page .shop-directory{border:1px solid var(--shop-line);border-radius:8px;padding:0 18px;background:#fff}
.catalog-page .shop-directory>summary{min-height:48px;padding-block:13px;font-size:14px}
.catalog-page .shop-view-all{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid #102f43;border-radius:7px;background:#102f43;color:white;font-size:14px;margin-top:16px}
.catalog-page .shop-price-toolbar{padding:20px 0;gap:18px;margin-bottom:24px;align-items:center}
.catalog-page .shop-price-toggle span{font-size:14px;padding:11px 15px}
.catalog-page .shop-shell.js-enhanced{grid-template-columns:210px minmax(0,1fr);gap:26px}
.catalog-page .shop-sidebar{background:white;border:1px solid var(--shop-line);padding:18px;border-radius:10px;top:180px;max-height:calc(100dvh - 205px)}
.catalog-page .shop-sidebar select{min-height:44px;border-radius:6px;font-size:14px}
.catalog-page .shop-help{margin:24px -4px 0;padding:18px 14px;border-radius:8px}
.catalog-page .shop-help p{font-size:13px}.catalog-page .shop-help a{font-size:20px}
.catalog-page .shop-toolbar{padding:0 0 18px;align-items:center}
.catalog-page .catalog-result-bar h2{font:600 25px/1.3 Arial,sans-serif;letter-spacing:-.5px}
.catalog-page .shop-sort select{border-radius:7px;min-height:44px}
.catalog-page .catalog-grid{gap:22px 18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-page .catalog-card{border:1px solid var(--shop-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:none}
.catalog-page .catalog-image{border-radius:0;aspect-ratio:1.12;background:#fff}
.catalog-page .catalog-card-body{padding:16px;gap:0}
.catalog-page .catalog-card h3{font-size:15px;font-weight:600;line-height:1.5;min-height:3em}
.catalog-page .catalog-brand{font-size:11px;letter-spacing:.7px;color:#587080}
.catalog-page .catalog-variant{font-size:12px;margin-top:7px;min-height:0}
.catalog-page .catalog-card-bottom{padding-top:16px}
.catalog-page .catalog-price{gap:6px}
.catalog-page .catalog-price strong{font-size:25px;font-weight:700;letter-spacing:-.6px}
.catalog-page .catalog-price>span{font-size:12px;line-height:1.45}
.catalog-page .catalog-secondary-price{font-size:12px;margin:7px 0 14px;min-height:1.5em}
.catalog-page .catalog-card .button{min-height:46px;border-radius:6px;font-size:13px;padding:11px 9px;line-height:1.45}
.catalog-page .catalog-card .campaign-badge{font-size:10px;line-height:1.4;padding:5px 7px;margin-bottom:10px}
.catalog-page .catalog-group-heading{padding-top:18px;border-top:1px solid var(--shop-line);margin-top:12px}
.catalog-page .shop-terms{background:white;border:1px solid var(--shop-line);border-radius:10px;padding:0 22px;margin-top:36px}
.catalog-page .shop-terms>summary{font-size:16px;padding-block:20px}
.campaign-page .campaign-hub-wrap{padding-top:0}
.campaign-page .campaign-hub-header{padding:30px;background:#102f43;border-radius:12px;margin:24px 0 32px;gap:32px}
.campaign-page .campaign-hub-header h1{color:white;font-size:clamp(34px,4.3vw,56px);margin-bottom:14px}
.campaign-page .campaign-hub-header .campaign-eyebrow{color:#ffdf94;font-size:11px;margin-bottom:13px}
.campaign-page .campaign-hub-header p:last-child{color:#d4e2ea;font-size:16px;line-height:1.6;max-width:58ch}
.campaign-page .campaign-hub-stamp{transform:none;border-radius:9px;flex-basis:195px;padding:22px 18px}
.campaign-page .campaign-hub-stamp strong{font-size:32px}
.campaign-page .campaign-hub-stamp span{font-size:13px}
.campaign-page .campaign-product{border-radius:10px}
.campaign-page .campaign-product-image{background:#f3f6f7}
.campaign-page .campaign-product h3{font-size:15px;font-weight:600;line-height:1.5}
.campaign-page .campaign-product-price{font-size:25px}
.campaign-page .campaign-deal{border-radius:12px}
.campaign-page .campaign-deal-image{background:#f3f6f7}
.campaign-bundle-options{border:1px solid #cedde5;border-radius:8px;padding:0 16px;background:#f8fafb}
.campaign-bundle-options>summary{font-size:16px;min-height:60px}
.campaign-bundle-options>summary:after{content:'+';font-size:24px;right:0;top:16px}
.campaign-bundle-options[open]>summary:after{content:'−'}
.product-page .detail-layout{gap:5%;padding-top:25px;padding-bottom:40px}
.product-page .detail-gallery{border-radius:12px;background:#f4f6f7;padding:25px;top:175px}
.product-page .detail-gallery img{height:460px;max-height:55vh}
.product-page .detail-choice h1{font-size:clamp(27px,2.7vw,39px);line-height:1.18;letter-spacing:-1px}
.product-page .detail-description{font-size:15px;line-height:1.65;margin-top:16px;color:#4d6676}
.product-page .detail-fulfillment label{border-radius:8px;font-size:14px;min-height:67px}
.product-page .detail-price-box{padding:22px;background:#f2f6f8;border:1px solid #dde7ec;border-radius:10px;margin:20px 0}
.product-page .detail-price-box>strong{font-size:36px;font-weight:700}
.product-page .detail-actions .button{border-radius:7px;min-height:52px;background:#102f43;border-color:#102f43}
.product-page .detail-jumps{gap:10px 28px;padding:17px 0}
.product-page .detail-information{gap:30px;padding-top:32px}
.product-page .detail-information section{padding:24px;border:1px solid var(--shop-line);border-radius:10px;min-width:0}
.product-page .detail-information h2{font:600 22px/1.3 Arial,sans-serif;letter-spacing:-.4px;margin-bottom:17px}
.product-page .detail-information p,.product-page .detail-information li{font-size:14px;line-height:1.7}
.product-page .detail-related-card{border-radius:9px;min-width:0}
.cart-page .cart-hero{padding:26px 0 30px;background:#f2f6f8}
.cart-page .cart-hero h1{font-size:clamp(34px,4vw,52px);margin:14px 0;line-height:1.12}
.cart-page .cart-hero .lead{font-size:16px;max-width:650px;line-height:1.6}
.cart-page .cart-section{padding-block:32px 55px}
.cart-page .cart-summary{border-radius:12px;background:#f2f6f8;padding:25px;top:180px}
.cart-page .cart-summary>p{font-size:14px;line-height:1.65}
.cart-page .cart-summary .button{border-radius:7px}
.cart-page .cart-selection-head h2{font:600 25px/1.3 Arial,sans-serif;letter-spacing:-.4px}
.cart-page .cart-enquiry-layout{border-top:1px solid var(--shop-line);padding-top:34px;margin-top:36px}
@media(max-width:1000px){
 .catalog-page .shop-shell.js-enhanced{grid-template-columns:185px minmax(0,1fr);gap:18px}
 .catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-page .catalog-hero .shop-category-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-page .detail-layout{gap:28px}.product-page .detail-gallery img{height:360px}
}
@media(max-width:760px){
 :is(.catalog-page,.campaign-page,.product-page,.cart-page) .wrap{width:calc(100% - 32px)}
 .catalog-page .commerce-search{display:none}
 .shop-section-nav{padding:12px 0;gap:6px}.shop-section-nav>a{font-size:13px;padding:9px 11px}.shop-campaign-tab>span{display:none}.shop-section-nav .shop-list-link{font-size:12px;padding:9px}
 .catalog-page .campaign-entry{grid-template-columns:1fr;margin:16px 0 22px}
 .catalog-page .campaign-entry-copy{padding:22px}
 .catalog-page .campaign-entry h2{font-size:34px;letter-spacing:-1px}
 .catalog-page .campaign-entry p{font-size:14px;margin:10px 0 15px;max-width:none}
 .catalog-page .campaign-entry-kicker{font-size:10px;letter-spacing:.04em}
 .catalog-page .outlet-showcase{padding:12px 16px;gap:9px}
 .catalog-page .outlet-showcase-label{display:none}
 .catalog-page .outlet-product-shots{gap:10px}
 .catalog-page .outlet-product-shot{padding:5px 8px 7px}
 .catalog-page .outlet-product-shot img{height:76px}
 .catalog-page .outlet-product-shot>span{font-size:10px}
 .catalog-page .outlet-showcase-footer{font-size:10px}
 .catalog-page .shop-search-local{margin:20px 0}.catalog-page .shop-search-local>label{font-size:18px}
 .catalog-page .shop-search-local input{height:50px;font-size:16px;padding-inline:12px}
 .catalog-page .shop-search-local button{min-width:62px;padding:10px}
 .catalog-page .retail-shop-category-title{font-size:20px;margin-top:22px}
 .catalog-page .catalog-hero .shop-category-tiles{gap:17px 11px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .catalog-page .catalog-hero .shop-category-tile>span{aspect-ratio:1.12}
 .catalog-page .catalog-hero .shop-category-tile strong{font-size:12px;overflow-wrap:anywhere}
 .catalog-page .shop-category-tile small{font-size:11px}
 .catalog-page .shop-price-toolbar{display:flex;flex-wrap:wrap;gap:12px;padding:18px 0;margin-bottom:18px}
 .catalog-page .shop-price-toggle{width:100%;flex-wrap:wrap}.catalog-page .shop-price-toggle legend{line-height:1.5;width:100%;margin:0 0 8px;float:none}
 .catalog-page .shop-price-toggle label{flex:1;text-align:center}.catalog-page .shop-price-toggle span{padding:11px 8px;font-size:13px}
 .catalog-page .shop-price-toolbar>p{font-size:12px;flex-basis:65%}.catalog-page .shop-price-toolbar>a{font-size:12px}
 .catalog-page .shop-shell.js-enhanced{display:block}
 .catalog-page .shop-sidebar{position:static;max-height:none;padding:15px;margin-bottom:22px;border-radius:9px;display:block}
 .catalog-page .shop-filter-panel{margin-top:13px}.catalog-page .shop-filter-panel>summary{display:block;padding:12px 0;font-size:14px}
 .catalog-page .shop-filter-inner{padding-top:4px}.catalog-page .shop-help{display:none}
 .catalog-page .shop-toolbar{align-items:flex-start;gap:12px}.catalog-page .catalog-result-bar h2{font-size:21px}
 .catalog-page .shop-sort{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.catalog-page .shop-sort select{max-width:155px;font-size:13px}
 .catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
 .catalog-page .catalog-card-body{padding:12px}.catalog-page .catalog-card h3{font-size:14px}
 .catalog-page .catalog-price strong{font-size:22px}.catalog-page .catalog-price>span{font-size:11px}
 .catalog-page .catalog-card .button{font-size:12px;min-height:48px;padding:9px 7px}
 .catalog-page .catalog-secondary-price{font-size:11px}.catalog-page .catalog-brand{font-size:10px}
 .catalog-page .shop-terms{padding-inline:16px}
 .campaign-page .campaign-hub-header{display:block;padding:24px 21px;margin:20px 0 28px}
 .campaign-page .campaign-hub-header h1{font-size:35px;overflow-wrap:normal}
 .campaign-page .campaign-hub-header p:last-child{font-size:14px}
 .campaign-page .campaign-hub-stamp{display:none}
 .campaign-page .campaign-product-copy{padding:13px}.campaign-page .campaign-product h3{font-size:14px}.campaign-page .campaign-product-price{font-size:22px}
 .campaign-page .campaign-deal{grid-template-columns:1fr}.campaign-page .campaign-deal-copy{padding:23px 19px}
 .product-page .detail-layout{grid-template-columns:1fr;gap:24px;padding-top:17px}
 .product-page .detail-gallery{position:static;padding:18px}.product-page .detail-gallery img{height:270px;max-height:none}
 .product-page .detail-choice h1{font-size:28px;letter-spacing:-.6px}.product-page .detail-price-box{padding:18px}
 .product-page .detail-price-box>strong{font-size:33px}.product-page .detail-fulfillment{gap:8px}
 .product-page .detail-fulfillment label{padding:12px 9px;font-size:13px}.product-page .detail-fulfillment small{font-size:11px}
 .product-page .detail-information{grid-template-columns:1fr;gap:16px}.product-page .detail-information section{padding:20px}
 .product-page .detail-related>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-page .detail-related-card{padding:12px}.product-page .detail-related-card img{height:150px}
 .cart-page .cart-summary{position:static;padding:20px}.cart-page .cart-enquiry-layout{gap:24px}
}
@media(max-width:360px){.shop-section-nav>a{font-size:12px;padding-inline:8px}.shop-section-nav .shop-list-link{margin-left:0}.catalog-page .catalog-card-body{padding:10px}.catalog-page .catalog-price strong{font-size:20px}}

.catalog-page .catalog-hero>.wrap,.catalog-page .catalog-content{max-width:1280px}
@media(max-width:760px){.catalog-page .catalog-hero>.wrap,.catalog-page .catalog-content{width:calc(100% - 32px)}}
