/* Shared catalog and product pages. */
.product-card[hidden],.catalog-controls label[hidden],.thermo-catalog-guide[hidden]{display:none!important}
.shop-section{padding-top:65px}.shop-section .section-heading{align-items:end;margin-bottom:30px}
.shop-section .section-heading :is(h1,h2){font-size:clamp(2.6rem,5.4vw,5.6rem);max-width:900px;line-height:1.02}
.filter-row{gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filter-chip{min-height:43px;padding:0 19px;font-size:.7rem}
.filter-chip sup{margin-left:9px;color:inherit;opacity:.6}
.catalog-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-controls label{display:flex;flex-direction:column;gap:8px;font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#676760;min-width:0}
.catalog-controls select{appearance:auto;width:100%;border:1px solid #d5d5ce;background:transparent;border-radius:0;min-height:45px;padding:9px 12px;color:var(--ink);font:500 .83rem "DM Sans",Arial,sans-serif;letter-spacing:0}
.catalog-status{display:flex;justify-content:space-between;align-items:center;min-height:58px;gap:20px;font-size:.78rem;color:#676760;margin-bottom:12px}
.catalog-reset{font:inherit;color:var(--ink);border:0;background:none;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.catalog-reset span{margin-left:10px}
.product-grid{gap:32px 22px}
.product-card{min-width:0;align-self:start}
.product-image-link{display:block;width:100%;height:100%}
.product-image-link img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-info{display:flex;align-items:start;gap:12px;padding-top:17px;padding-bottom:0;min-height:85px}
.product-info>div{flex:1;min-width:0}
.product-info h3{font-size:.84rem;line-height:1.45;letter-spacing:.01em;text-transform:none;font-weight:700}
.product-info h3 a{color:inherit;text-decoration:none}
.product-info h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.product-info p{font-size:.7rem;margin-top:6px}
.product-info>strong{font-size:.87rem;white-space:nowrap;margin-top:2px}
.product-info .product-price-stack{flex:none;gap:7px;margin-top:2px;line-height:1.2}
.product-info .product-price-stack del{font-size:.78rem;color:var(--muted)}
.product-info .product-price-stack strong{font-size:.94rem;color:var(--blue)}
.product-tag.sale:after{content:none}
.quick-add{font-size:.66rem;letter-spacing:.07em;min-height:42px}
.product-tag{font-size:.57rem;letter-spacing:.07em;padding:8px 10px}
.thermo-widget{display:block;border:1px solid #d5d8d4;background:#edf0ed;text-decoration:none;color:var(--ink);padding:18px;margin:18px 0}
.thermo-widget-title{display:flex;align-items:center;gap:9px;font-size:.7rem;font-weight:800;letter-spacing:.07em}
.thermo-widget-title>span:last-child{margin-left:auto;font-size:1rem}
.thermo-symbol{display:grid;place-items:center;width:23px;height:23px;background:#243c33;color:#fff;font-size:1.1rem}
.thermo-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}
.thermo-metrics>span{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.thermo-metrics>span>span{font-size:.59rem;color:#58655d;line-height:1.3;flex-basis:100%}
.thermo-metrics strong{font-size:.92rem}.thermo-metrics small{font-size:.6rem;opacity:.55;margin-left:2px}
.thermo-metrics i{display:block;flex-basis:100%;height:3px;background:linear-gradient(to right,#304e40 calc(var(--rating)*20%),#d3dcd5 0)}
.thermo-widget-compact{padding:11px 12px;margin:12px 0 0}
.thermo-widget-compact .thermo-metrics{gap:9px;margin-top:9px}
.thermo-widget-compact .thermo-symbol{width:18px;height:18px}
.thermo-widget-compact .thermo-widget-title{font-size:.57rem}
.thermo-widget-compact .thermo-metrics>span>span{font-size:.54rem;letter-spacing:0}
.thermo-catalog-guide{display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #d1d9d1;background:#e7ece6;padding:28px 32px;margin:0 0 30px}
.thermo-catalog-guide h3{font-size:2rem;letter-spacing:-.06em;margin:8px 0}
.thermo-catalog-guide p:not(.eyebrow){max-width:650px;font-size:.83rem;line-height:1.6;color:#526052}
.thermo-catalog-guide a{flex-shrink:0;font-size:.74rem;font-weight:800;text-transform:uppercase;text-decoration:none;border-bottom:1px solid;padding:10px 0}
.thermo-catalog-guide a span{margin-left:28px}
.detail-page-link{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;margin:0 0 22px;text-underline-offset:4px}
.product-inline .detail-page-link,.product-inline .product-dialog-close{display:none}
.product-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.72rem;color:#73756d;padding:30px 0}
.product-breadcrumb a{color:inherit;text-decoration:none}
.product-breadcrumb a:hover{text-decoration:underline}
.product-page-main{max-width:1800px;padding:0 clamp(20px,5.4vw,100px);margin:auto}
.product-inline{display:block;position:static;background:transparent;border:0;width:100%;max-width:none;max-height:none;overflow:visible;padding:0;margin:0;box-shadow:none;color:var(--ink)}
.product-inline .product-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);min-height:0}
.product-inline .detail-gallery{background:transparent;padding:0}
.product-inline .detail-image-wrap{width:100%;aspect-ratio:3/4;max-height:780px;background:#e9e9e4}
.product-inline .detail-image{width:100%;height:100%;object-fit:contain}
.product-inline .detail-copy{padding:28px 0 35px;max-width:600px}
.product-inline h1{font-size:clamp(2.2rem,3.8vw,4.4rem);font-weight:700;letter-spacing:-.065em;line-height:1.05;text-transform:none;margin:18px 0 24px}
.product-inline .detail-price{font-size:1.7rem;margin:0 0 23px}
.product-inline .detail-description{font-size:.98rem;line-height:1.75;max-width:540px}
.product-inline .detail-category{font-size:.64rem}
.product-inline .detail-feature-row{margin:20px 0}
.product-inline .detail-thumbs{margin-top:14px;gap:10px;display:flex;overflow-x:auto;padding-bottom:8px}
.product-inline .detail-thumb{flex:0 0 65px;height:85px}
.product-inline .fabric-note{margin-top:26px}
.product-inline .detail-add{width:100%}
.product-inline .size-picker{scroll-margin-top:120px}
.product-page .shop-section{padding-top:75px}
.product-page .catalog-controls,.product-page .filter-row,.product-page .catalog-status,.product-page .thermo-catalog-guide{display:none}
.product-page .section-heading h2{font-size:clamp(2rem,4vw,3.8rem)}
.product-page .shop-section .eyebrow{display:none}
.product-page .announcement{display:none}
.product-page .main-nav{gap:clamp(10px,1.6vw,28px)}
.main-nav{gap:clamp(12px,1.8vw,32px)}
@media(max-width:1150px){.main-nav{gap:13px;font-size:.63rem}.header-actions{gap:14px}.catalog-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.product-inline .product-detail-grid{gap:28px}.thermo-metrics{gap:8px}}
@media(max-width:760px){
 .shop-section{padding-top:40px}.shop-section .section-heading{display:block}.shop-section .catalog-intro{margin-top:18px;max-width:460px}
 .filter-row{gap:6px}.filter-chip{font-size:.6rem;padding:0 11px;min-height:39px}
 .catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding:17px 0}
 .catalog-controls label{font-size:.57rem;letter-spacing:.05em}.catalog-controls select{font-size:.77rem;min-height:43px;padding:8px}
 .product-grid{gap:28px 12px}.product-info{display:block;padding-top:12px;min-height:98px}.product-info h3{font-size:.77rem}.product-info p{font-size:.64rem;margin:5px 0 7px}.product-info>strong{font-size:.81rem}
 .product-info .product-price-stack{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:7px;margin-top:8px;white-space:normal}
 .product-info .product-price-stack del{font-size:.75rem}.product-info .product-price-stack strong{font-size:.9rem;margin:0!important}
 .product-tag{font-size:.49rem;padding:6px 7px}.quick-add{font-size:.55rem;min-height:38px}
 .thermo-widget-compact{padding:10px 8px}.thermo-widget-compact .thermo-metrics{grid-template-columns:1fr;gap:8px}.thermo-widget-compact .thermo-metrics>span{display:grid;grid-template-columns:1fr auto;gap:3px 8px}.thermo-widget-compact .thermo-metrics i{grid-column:1/-1}.thermo-widget-compact .thermo-metrics>span>span{font-size:.53rem}.thermo-widget-compact .thermo-metrics strong{font-size:.67rem}.thermo-widget-compact .thermo-widget-title{font-size:.49rem;gap:5px}
 .thermo-catalog-guide{display:block;padding:22px}.thermo-catalog-guide a{display:inline-block;margin-top:15px}
 .product-breadcrumb{font-size:.65rem;padding:22px 0;gap:7px}
 .product-inline .product-detail-grid{display:block}.product-inline .detail-image-wrap{max-height:none}.product-inline .detail-copy{padding:26px 0}.product-inline h1{font-size:2.65rem;margin:15px 0 20px}.product-inline .detail-description{font-size:.92rem}.product-inline .detail-price{font-size:1.5rem}
 .product-inline .detail-thumb{flex-basis:54px;height:72px}.product-page .shop-section{padding-top:35px}
}

.product-inline{height:auto;inset:auto}.product-inline .product-detail-grid{height:auto;overflow:visible}.product-inline .detail-gallery{display:block;height:auto;min-height:0;max-height:none;overflow:visible}.product-inline .detail-copy{display:block}.product-inline .detail-thumbs{flex-direction:row;width:auto;height:auto;max-height:none;overflow-x:auto;overflow-y:hidden}.product-inline .detail-thermo-widget{margin:20px 0}.product-inline .detail-add{position:static}

.underwear-page .section-heading h1{font-weight:800;letter-spacing:-.07em;margin:0}.underwear-page .catalog-controls{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.underwear-page .catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}

.filter-chip[href]{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}.underwear-page .catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Physical sizes and verified manufacturer sizes available by inquiry. */
.size-picker>div{flex-wrap:wrap;align-items:stretch}
.size-picker .size-on-request{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:84px;width:auto;height:62px;padding:8px 10px;border-style:dashed;color:#66675f}
.size-picker .size-on-request small{font-size:9px;line-height:1.3;font-weight:400;letter-spacing:0;white-space:nowrap}
.size-picker .size-on-request.active{border-style:solid;background:#edece4;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.detail-add.is-request{background:var(--ink);color:#fff}
.detail-add.is-request:hover{background:var(--blue)}
.size-picker .size-on-request:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.bundle-price-note{font-size:11px!important;line-height:1.5;color:#65665d;margin:9px 0 0}
.detail-price .bundle-price-note{display:block;flex-basis:100%;font-size:12px!important;margin-top:6px;letter-spacing:0;font-weight:400}
