/* Responsive layout: content width, not device name, determines the grid. */
.product,.catalog-content,.detail-copy,.gallery,.ti-form,.order-summary{min-width:0}
.product-visual{aspect-ratio:1/1;min-height:0}
.product-visual>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.product-visual img{width:100%;height:100%;object-fit:contain}
.header-actions>a,.mobile-menu{flex-shrink:0}
.header-actions svg,.mobile-menu svg{flex:none;aspect-ratio:1;width:22px;height:22px}
.products,.finder-results,.saved-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.product-actions{display:flex;gap:8px}.product-actions>*{min-width:0;flex:1;text-align:center;display:flex;align-items:center;justify-content:center;line-height:1.3;white-space:normal}
.product .product-price{width:calc(100% - 8px);gap:12px;flex-wrap:wrap}.product .price{white-space:nowrap}
@media(max-width:1199px){
 :root{--page-gutter:24px;--navigation-height:76px}
 .main-header nav,.cover nav{display:none}.main-header,.cover header.main-header{height:76px;gap:16px;padding:0 18px}
 .header-actions{margin-left:auto;gap:8px}.header-actions>a{width:40px;height:40px;display:grid;place-items:center}
 .mobile-menu{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #e5e5e5;border-radius:50%;font-size:24px;line-height:1;background:#fff}
 .site>.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff;padding:16px;border:1px solid #e5e5e5;border-radius:0 0 16px 16px}
 .mobile-nav a{padding:14px 16px;font-size:16px;border-radius:8px}.mobile-nav a:hover{background:#f5f5f5}
 .store-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.store-layout>aside,.catalog-content{grid-column:auto}
 .store-top{grid-template-columns:1fr;gap:20px}.store-top>h1,.store-top>h2,.store-top>.catalog-filters{grid-column:1/-1}
 .catalog-filters{width:100%;max-width:none}
 .product .product-price{flex-direction:column;align-items:flex-start}
 .campaign-banner .campaign-copy{padding:28px}.campaign-banner .campaign-copy h2{font-size:32px}
 .checkout-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}
}
@media(min-width:701px) and (max-width:900px){
 .store-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}
 .products,.finder-results,.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .product{padding:10px}.product-actions{flex-direction:column}.product-actions>*{width:100%;min-height:44px}
 .product h3{font-size:17px}.product .price{font-size:22px}
 .catalog-filters{grid-template-columns:1fr 1fr 1fr 1fr}.filter-reset{grid-column:1/-1;justify-self:end}
 .ti-layout,.product-detail,.checkout-layout{grid-template-columns:1fr}.ti-summary,.gallery,.order-summary{position:static}
 .contact-layout{grid-template-columns:1fr}.contact-details,.contact-map{grid-column:1}
 .service-cards.service-grid{grid-template-columns:1fr}.service-cards>div{grid-column:1}
 .task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 :root{--page-gutter:16px;--content-gap:12px;--navigation-height:72px}
 .main-header,.cover header.main-header{width:100%;height:72px;padding:0 16px;gap:8px;border-radius:0}
 .logo{font-size:28px;flex-shrink:0}.header-actions{gap:5px}.header-actions>a{width:36px;height:36px;min-width:36px;border-radius:50%}
 .header-actions>a:first-child{display:none}.mobile-menu{width:40px;height:40px;padding:8px}
 .site>.mobile-nav:not([hidden]){left:12px;right:12px;grid-template-columns:1fr;padding:12px}
 .store-layout{display:block}.store-layout>aside{display:none}
 .store-top,.store.standalone .store-top{display:grid;grid-template-columns:1fr;padding:0 0 24px;gap:20px}
 .home-content>.store .store-top{padding-top:0}
 .catalog-filters,.store-top>.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;width:100%}
 .catalog-filters .select-trigger,.catalog-filters input{font-size:16px;min-height:46px}
 .filter-reset{grid-column:1/-1;justify-self:stretch;width:100%;min-height:44px}
 .catalog-meta{flex-wrap:wrap;gap:12px;margin:0 0 20px}.catalog-meta label{margin-left:auto}.catalog-meta .site-select{width:170px}.catalog-meta .select-trigger{font-size:14px}
 .products,.products.related,.finder-results,.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .product{padding:10px;border-radius:16px}.product h3{font-size:16px;line-height:1.4;min-height:45px;margin:14px 0 8px;overflow-wrap:anywhere}
 .product .product-sub{font-size:12px;line-height:1.5;margin:0 0 12px;min-height:36px}
 .product .product-price{margin:auto 0 12px;width:100%;gap:8px;padding:0;flex-direction:column}.product .price{font-size:20px;line-height:1.3;letter-spacing:-.4px}
 .product .product-actions{margin:0;flex-direction:column;gap:8px}.product-actions>*{width:100%;min-height:44px;font-size:14px;padding:10px 6px}
 .product .compare-link{min-height:36px;font-size:12px;padding:7px 10px}.product-tag{top:7px;right:7px;font-size:10px;padding:3px 7px}
 .product .heart{width:36px;height:36px;padding:7px;right:2px;bottom:2px}.swatches{left:7px;bottom:10px;gap:3px}
 .product-visual>a{padding:22px 6px 26px}.product-visual img{padding:0}
 .pagination{align-items:flex-start;gap:16px}.pagination button{width:40px;height:40px}.pagination>div{flex-wrap:wrap;gap:4px}
 .page-title,.finder-heading h1,.ti-intro h1{font-size:34px;line-height:1.15;letter-spacing:-1px}
 .section-heading{flex-wrap:wrap;gap:16px}.section-heading .pill{white-space:normal}
 .product-detail,.checkout-layout,.ti-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
 .gallery,.ti-summary,.order-summary{position:static}.gallery .detail-image{min-height:0;aspect-ratio:1;padding:20px}.zoom-photo img{height:260px;max-height:65vw;object-fit:contain}
 .detail-title-row{flex-wrap:wrap}.detail-title-row h1{flex:1;font-size:28px;min-width:180px}.detail-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-buttons>.pill{padding:12px 8px;min-width:0}
 .ti-two{grid-template-columns:1fr;gap:18px}.ti-label .select-trigger{min-height:48px}.ti-summary{padding:22px}.ti-target-preview{gap:14px}.ti-mobile-result{border-radius:16px;bottom:max(12px,env(safe-area-inset-bottom));gap:10px;padding:12px}.ti-mobile-result span{font-size:13px}
 .ti-after,.ti-checklist,.text-columns,.story-grid{grid-template-columns:1fr}.ti-checklist{padding:22px}
 .campaign-banner.finder-banner,.campaign-banner.ti-home{grid-template-columns:1fr;min-height:0}.finder-banner.campaign-banner .campaign-copy{padding:26px 22px 12px}.campaign-banner .campaign-copy h2{font-size:30px;letter-spacing:-1px}
 .finder-banner.campaign-banner .campaign-art{height:260px;min-height:0}.finder-banner .floating-product{inset:4px 12px;transform:none}
 .budget-panel{grid-template-columns:1fr;padding:22px}.budget-panel output{display:block;margin:8px 0 0}.finder-heading{flex-wrap:wrap}.task-card{min-width:0}.task-card h2{font-size:17px}.finder-restart>.pill{font-size:13px}
 .contact-layout{grid-template-columns:1fr}.contact-details,.contact-map{grid-column:1;min-width:0}.contact-details{padding:22px}
 .footer-top{grid-template-columns:1fr 1fr;gap:28px 16px}.footer-top>div:first-child{grid-column:1/-1}.footer-legal a{overflow-wrap:anywhere}
 .comparison{min-width:740px}#comparison-scroll{width:100%;max-width:100%}.compare-toolbar{flex-direction:column;align-items:flex-start}
 .cart-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px}.cart-info{min-width:0}.cart-row .quantity{margin:0;grid-column:2}.cart-row>strong{grid-column:2;margin:0}.cart-row>a{width:64px}.receipt>div{flex-wrap:wrap;gap:8px}
 dialog{max-width:calc(100vw - 24px);padding:24px}input,textarea{max-width:100%}
}
@media(max-width:359px){
 :root{--page-gutter:12px}.header-actions>a{width:32px;min-width:32px;height:32px}.main-header{gap:5px;padding:0 12px}.header-actions{gap:4px}.mobile-menu{width:36px;height:36px}.logo{font-size:26px}
 .products,.products.related,.finder-results,.saved-grid{grid-template-columns:1fr}.product-visual{max-height:280px}.product-actions{flex-direction:row}.product h3{min-height:0}.product .product-sub{min-height:0}
 .catalog-meta label{margin-left:0}.catalog-filters{padding:10px}.task-grid{grid-template-columns:1fr}
}

.product-visual img{max-width:100%;max-height:100%}
@media(max-width:700px){.catalog-filters .select-trigger{padding:10px;gap:6px;font-size:14px}.catalog-filters .select-trigger svg{width:16px;height:16px}.header-actions>a svg{width:22px;height:22px}}

@media(max-width:700px){.product-visual>a img{width:100%;height:100%}}

main h1,main h2,.reading p{overflow-wrap:anywhere;hyphens:auto}.breadcrumbs{flex-wrap:wrap}
@media(max-width:359px){.page-title{font-size:28px}}

/* Phone comparison reads vertically, with two products kept side by side. */
.mobile-comparison{display:none}.sr-compare{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){
 #comparison-scroll{display:none}.mobile-comparison{display:block;min-width:0}
 .mobile-compare-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:sticky;top:var(--navigation-height);z-index:5;background:#fff;border:1px solid #dedede;border-radius:12px;box-shadow:0 4px 12px #00000008}
 .mobile-compare-product{min-width:0;display:flex;flex-direction:column;gap:8px;padding:12px}.mobile-compare-product+div{border-left:1px solid #dedede}
 .mobile-compare-name{font-size:14px;font-weight:500;line-height:1.35;min-height:38px}.mobile-compare-product img{width:100%;height:64px;object-fit:contain}.mobile-compare-product>span{font-size:16px;white-space:nowrap}.mobile-compare-product .pill{font-size:13px;padding:9px 6px;min-height:40px;width:100%}
 .mobile-compare-label{font-size:12px;color:#666}.mobile-compare-label .select-trigger{font-size:13px;padding:8px;gap:4px}.mobile-compare-label .select-value{white-space:normal;line-height:1.3}.mobile-compare-head:has(.is-open){z-index:46}
 .mobile-spec{margin:0;border:1px solid #e5e5e5;border-top:0}.mobile-spec h2{font-size:13px;font-weight:500;line-height:1.4;background:#f5f5f5;color:#666;padding:10px 12px;margin:0;letter-spacing:0}.mobile-spec>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-spec p{font-size:14px;line-height:1.6;padding:12px;margin:0;overflow-wrap:anywhere}.mobile-spec p+p{border-left:1px solid #e5e5e5}
 .mobile-compare-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.mobile-compare-links .pill{font-size:13px;padding:12px 8px;text-align:center}
 .product .product-price .price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:19px}.product .product-price .price small{display:inline;font-size:12px;margin:0;line-height:inherit;letter-spacing:0;white-space:nowrap}
 .product h3{min-height:40px;line-height:1.3;margin:10px 0 5px}.product .product-sub{min-height:0;margin:0 0 8px;font-size:12px}.product .product-price{gap:6px;margin:auto 0 10px}.product .compare-link{min-height:28px;padding:4px 8px}.product .product-actions{gap:6px}.product-actions>*{min-height:40px;padding:8px 6px;font-size:13px}
 /* Preserve the whole photograph and its store sign instead of a narrow cover crop. */
 .cover{position:relative;height:auto;min-height:0;max-height:none;aspect-ratio:1.65;background-size:cover;background-position:center center;margin-top:0}
 main.home-content{margin-top:0;border-radius:0;box-shadow:none}.home-content>.store{padding-top:24px}
}

@media(max-width:700px){.site:has(.home-content){padding-top:var(--navigation-height)}.cover{aspect-ratio:1672/941;background-size:100% 100%}.mobile-compare-product{position:relative}.mobile-compare-remove{font-size:12px;text-align:left;color:#777;padding:4px 0;min-height:28px}}

.pagination-gap{display:grid;place-items:center;min-width:14px;color:#888}.pagination>div{flex-wrap:wrap}.product-tag{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product h3{overflow-wrap:anywhere}.product .product-sub{overflow-wrap:anywhere}

/* Bound catalog copy without stretching neighbouring cards. Full names remain on product pages. */
.product{min-width:0}.product h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.35;min-height:4.05em;max-height:4.05em}
.product .product-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:3em}
@media(max-width:700px){
 .product .price{white-space:nowrap;max-width:100%;font-size:clamp(16px,4.5vw,19px)}
 .product .product-price .price{flex-wrap:nowrap;font-size:clamp(16px,4.5vw,19px)}
 .catalog-filters .site-select{min-width:0}.catalog-filters .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
 .catalog-filters .select-menu{width:max-content;min-width:100%;max-width:min(300px,calc(100vw - 60px))}
 .catalog-filters label:nth-child(2) .select-menu{left:auto;right:0}
 .catalog-filters .select-option{white-space:normal;overflow-wrap:anywhere}
}

/* Keep a sparse result set at normal card size and contain source images. */
@media(min-width:901px){.products,.finder-results,.saved-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}}
.product-visual{position:relative;width:100%;aspect-ratio:1;overflow:hidden}
.product-visual>a{position:absolute;inset:0;display:flex;padding:26px 16px 30px}
.product-visual>a img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;padding:0}
.product-detail>*{min-width:0}.gallery{min-width:0}.gallery-thumbs{display:flex;flex-wrap:wrap;gap:8px}.gallery-thumbs button{flex:0 0 58px}
.detail-copy .site-select{width:100%;min-width:0}.detail-copy .select-value{white-space:normal;overflow-wrap:anywhere}.detail-copy .select-option{white-space:normal;overflow-wrap:anywhere}.detail-copy .select-menu{max-width:100%;width:100%}.option-group{display:flex;flex-wrap:wrap;gap:6px}.option-group .option{margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.product-visual>a{padding:22px 6px 26px}.detail-image .zoom-photo{width:100%;min-width:0}.gallery .detail-image{overflow:hidden}.product-detail .detail-image img{width:100%;height:260px;object-fit:contain}}

/* Official Duo packshots include generous transparent margins. */
#detail-photo[src*="/duo-"][src$="-hires.png"] { transform: scale(1.45); }
