[hidden] { display: none !important; }
.collection-intro { padding: 78px 48px 42px; text-align: center; }
.collection-intro h1 { margin: 0 0 18px; font-size: clamp(2.8rem,6vw,5.3rem); font-weight: 650; letter-spacing: -.055em; }
.collection-intro > p:last-child { margin: 0; color: #65645f; font-size: 1rem; }
.collection-tabs { display: flex; justify-content: center; gap: 36px; padding: 0 24px 24px; border-bottom: 1px solid #dddcd6; overflow-x: auto; }
.collection-tabs a { flex-shrink: 0; padding: 8px 0; font-size: .86rem; }
.collection-tabs a[aria-current] { border-bottom: 2px solid #111; font-weight: 700; }
.catalog-collection { padding: 0 40px 80px; }
.catalog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 88px; font-size: .8rem; }
.catalog-toolbar p { margin: 0; }
.catalog-toolbar > div { display: flex; gap: 28px; }
.catalog-toolbar label { display: flex; align-items: center; gap: 12px; }
.catalog-toolbar select { max-width: 165px; padding: 8px 24px 8px 8px; background: transparent; border: 0; color: #111; font: inherit; cursor: pointer; }
.catalog-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 20px; row-gap: 48px; }
.catalog-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.catalog-card { min-width: 0; }
.catalog-card__media { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: #f0efeb; }
.catalog-card__media > img { position: absolute; width: 100%; height: 100%; object-fit: contain; background: #f6f5f1; transition: opacity .28s ease; }
.catalog-card__media > img:first-child { mix-blend-mode: multiply; }
.catalog-card__media .catalog-card__hover { opacity: 0; background: #f6f5f1; }
@media (hover:hover) { .catalog-card__media:hover .catalog-card__hover { opacity: 1; } }
.catalog-card__media:focus-visible .catalog-card__hover { opacity: 1; }
.catalog-card__tag { position: absolute; top: 14px; left: 14px; padding: 4px 10px; background: #fff; border-radius: 2px; font-size: .63rem; font-weight: 600; letter-spacing: .02em; }
.catalog-card__body { padding-top: 17px; }
.catalog-card__line { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.catalog-card__line h3 { margin: 0; font-size: .94rem; font-weight: 650; line-height: 1.35; letter-spacing: -.025em; text-wrap: initial; }
.catalog-card__line h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.catalog-card__line > span { flex-shrink: 0; font-size: .86rem; }
.catalog-card__body > p { min-height: 37px; margin: 7px 0 14px; font-size: .75rem; line-height: 1.55; color: #66645e; }
.catalog-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-color { display: inline-flex; align-items: center; gap: 7px; color: #66645e; font-size: .69rem; }
.product-color i { display: inline-block; flex-shrink: 0; width: 15px; height: 15px; border: 2px solid #faf9f5; outline: 1px solid #c8c7c0; border-radius: 50%; background: var(--swatch); }
.catalog-card__add { border: 0; border-bottom: 1px solid #111; border-radius: 0; background: transparent; padding: 4px 0; color: #111; font-size: .76rem; white-space: nowrap; }
.catalog-card__add:hover { opacity: .55; }
.catalog-signoff { display: grid; justify-items: center; padding: 85px 24px; background: #e7e5ff; text-align: center; }
.catalog-signoff h2 { margin: 0 0 28px; font-size: clamp(2.8rem,5vw,5rem); font-weight: 600; }
.catalog-empty { padding: 60px 0; text-align: center; }
.product-breadcrumb { display: flex; gap: 10px; padding: 24px 40px; font-size: .7rem; color: #65645f; flex-wrap: wrap; }
.product-breadcrumb a:hover { text-decoration: underline; }
.product-breadcrumb span:last-child { color: #111; }
.product-layout { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,1fr); gap: clamp(35px,6vw,104px); padding: 0 5vw 88px 40px; align-items: start; }
.product-gallery { position: sticky; top: 84px; min-width: 0; }
.product-gallery__stage { position: relative; background: #f0efeb; aspect-ratio: 1/1.03; }
.product-gallery__zoom { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: #f0efeb; cursor: zoom-in; }
.product-gallery__zoom img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.product-gallery__count { position: absolute; left: 20px; bottom: 18px; background: rgba(255,255,255,.9); padding: 5px 10px; font-size: .7rem; pointer-events: none; }
.product-gallery__arrows { display: flex; gap: 8px; position: absolute; right: 16px; bottom: 16px; }
.product-gallery__arrows button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #d5d3cc; border-radius: 50%; background: #fff; font-size: 1rem; }
.product-thumbnails { display: flex; gap: 9px; margin-top: 12px; overflow-x: auto; padding: 3px 2px 8px; }
.product-thumbnails button { flex: 0 0 65px; height: 74px; background: #f0efeb; padding: 2px; border: 1px solid transparent; }
.product-thumbnails button[aria-pressed=true] { border-color: #111; }
.product-thumbnails img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.product-buy { padding-top: 12px; min-width: 0; }
.product-buy > .eyebrow { font-size: .66rem; letter-spacing: .1em; color: #65645f; }
.product-title-row { display: flex; align-items: start; justify-content: space-between; gap: 22px; }
.product-title-row h1 { margin: 0; font-size: clamp(1.9rem,3.1vw,3.2rem); font-weight: 600; line-height: 1.07; }
.product-price { padding-top: 7px; font-size: 1.1rem; font-weight: 500; white-space: nowrap; }
.product-deck { margin: 20px 0 30px; color: #65645f; font-size: .91rem; line-height: 1.65; }
.product-option > span { font-size: .8rem; }
.product-option strong { font-weight: 600; }
.product-options { display: flex; gap: 8px; margin: 12px 0 25px; flex-wrap: wrap; }
.product-options button { min-height: 44px; padding: 10px 18px; border: 1px solid #b7b5ad; background: transparent; font-size: .8rem; border-radius: 3px; }
.product-options button[aria-pressed=true] { border-color: #111; box-shadow: inset 0 0 0 1px #111; }
.product-add-row { display: flex; gap: 12px; }
.product-quantity { display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid #111; border-radius: 999px; min-height: 54px; }
.product-quantity button { width: 32px; height: 46px; border: 0; padding: 0; background: transparent; font-size: 1.15rem; }
.product-quantity input { width: 30px; padding: 0; text-align: center; border: 0; background: transparent; appearance: textfield; font-size: .9rem; -moz-appearance: textfield; }
.product-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.product-add { flex: 1; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font-weight: 650; font-size: .85rem; padding: 14px 16px; }
.product-add:hover { color: #111; background: #dff464; }
.product-purchase-note { text-align: center; color: #6b6963; font-size: .67rem; margin: 12px 0 25px; }
.product-fit-note { padding: 14px; background: #e7e5ff; font-size: .76rem; }
.product-fit-note a { text-decoration: underline; }
.product-benefits { padding: 0; margin: 0 0 18px; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.product-benefits li { border-top: 1px solid #d8d6cf; padding: 14px 0; font-size: .73rem; line-height: 1.5; }
.product-benefits span { display: block; margin-bottom: 5px; color: #77756d; font-size: .63rem; }
.product-accordions details { border-top: 1px solid #d8d6cf; padding: 18px 0; font-size: .81rem; }
.product-accordions details:last-child { border-bottom: 1px solid #d8d6cf; }
.product-accordions summary { list-style: none; position: relative; padding-right: 24px; font-weight: 600; cursor: pointer; }
.product-accordions summary::-webkit-details-marker { display: none; }
.product-accordions summary::after { content:'+'; position:absolute; right:0; top:0; font-size:1.2rem; line-height:1; font-weight:400; }
.product-accordions details[open] summary::after { content:'−'; }
.product-accordions details p { margin: 16px 0 0; color:#65645f; line-height:1.8; }
.product-accordions dl { margin: 16px 0 0; }
.product-accordions dl div { display: grid; grid-template-columns: 1fr 1.2fr; padding: 8px 0; border-bottom:1px solid #e7e5df; }
.product-accordions dt { color:#65645f; }
.product-accordions dd { margin:0; }
.product-accordions table { width:100%; border-collapse:collapse; margin-top:15px; text-align:left; }
.product-accordions th,.product-accordions td { border-bottom:1px solid #ddd; padding:10px 8px; }
.product-accordions .text-link { margin-top:16px; }
.product-story { display: grid; grid-template-columns: 1fr 1fr; background: #e7e5ff; }
.product-story > img { aspect-ratio: 1; width:100%; height:100%; object-fit:contain; background:#f0efeb; }
.product-story > div { display:flex; flex-direction:column; justify-content:center; align-items:start; padding: clamp(30px,6vw,100px); }
.product-story h2 { font-size:clamp(2.4rem,4vw,4.5rem); font-weight:550; margin-bottom:24px; }
.product-story p:not(.eyebrow) { max-width:410px; color:#55525e; font-size:.93rem; }
.product-story .product-story__line { margin-top:20px; padding-top:20px; border-top:1px solid #c1becc; font-size:.8rem!important; font-weight:600; }
.catalog-related { padding:80px 40px; }
.catalog-related__heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; }
.catalog-related__heading h2 { margin:0; font-size:clamp(2rem,3.4vw,3.7rem); font-weight:550; }
.catalog-related__heading > a { flex-shrink:0; font-size:.8rem; }
.product-lightbox { width:min(95vw,1200px); max-height:95vh; padding:36px; background:#faf9f5; }
.product-lightbox img { max-height:82vh; object-fit:contain; }
.product-lightbox > button { position:absolute; top:8px; right:10px; border:0; background:#fff; width:36px; height:36px; border-radius:50%; font-size:1.5rem; }
.reel-viewer__product[hidden] { display:none!important; }
.reel-viewer__center:has(.reel-viewer__product[hidden]) { grid-template-columns:1fr; }
.category-tile > img { width:100%; height:100%; object-fit:cover; }
.cart-item h3 a { text-decoration:none; }
.cart-item h3 a:hover { text-decoration:underline; }
@media (max-width:1000px) {
 .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .catalog-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .product-layout { grid-template-columns:1fr 1fr; gap:30px; padding:0 24px 60px; }
 .product-title-row { flex-direction:column; gap:10px; }
 .product-title-row h1 { font-size:2rem; }
 .product-benefits { gap:8px; }
 .product-add-row { gap:8px; }
 .product-quantity button { width:26px; }
 .catalog-card__line { flex-direction:column; gap:4px; }
}
@media (max-width:820px) {
 .product-layout { display:flex; flex-direction:column; gap:24px; }
 .product-gallery { position:static; width:100%; }
 .product-buy { width:100%; }
 .product-title-row { flex-direction:row; }
 .product-title-row h1 { max-width:75%; }
}
@media (max-width:640px) {
 .collection-intro { padding:48px 20px 30px; }
 .collection-intro h1 { font-size:2.7rem; }
 .collection-intro > p:last-child { font-size:.85rem; }
 .collection-tabs { justify-content:start; gap:24px; padding:0 20px 16px; }
 .collection-tabs a { font-size:.76rem; }
 .catalog-collection { padding:0 16px 50px; }
 .catalog-toolbar { min-height:78px; gap:8px; align-items:start; padding:22px 0; font-size:.65rem; }
 .catalog-toolbar > div { gap:8px; }
 .catalog-toolbar label { gap:2px; flex-direction:column; align-items:start; }
 .catalog-toolbar select { max-width:125px; font-size:.7rem; padding:2px 10px 2px 0; }
 .catalog-grid,.catalog-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; row-gap:32px; }
 .catalog-card__media { aspect-ratio:4/5; }
 .catalog-card__tag { top:9px; left:8px; padding:3px 6px; font-size:.55rem; }
 .catalog-card__body { padding-top:12px; }
 .catalog-card__line h3 { font-size:.82rem; }
 .catalog-card__line > span { font-size:.77rem; }
 .catalog-card__body > p { font-size:.68rem; min-height:42px; margin:6px 0 10px; }
 .catalog-card__bottom .product-color { font-size:.58rem; gap:5px; }
 .catalog-card__add { font-size:.67rem; }
 .catalog-signoff { padding:60px 20px; }
 .product-breadcrumb { padding:20px 16px; gap:7px; font-size:.62rem; }
 .product-breadcrumb span:last-child { display:none; }
 .product-layout { display:flex; flex-direction:column; padding:0 16px 48px; gap:22px; }
 .product-gallery { position:static; width:100%; }
 .product-gallery__stage { aspect-ratio:1; }
 .product-thumbnails button { flex-basis:58px; height:65px; }
 .product-buy { padding:0 4px; width:100%; }
 .product-title-row { flex-direction:row; align-items:start; gap:16px; }
 .product-title-row h1 { font-size:2rem; max-width:75%; }
 .product-price { font-size:1rem; }
 .product-deck { font-size:.85rem; margin-top:16px; }
 .product-add { font-size:.81rem; }
 .product-quantity button { width:32px; }
 .product-story { grid-template-columns:1fr; }
 .product-story > div { padding:42px 26px; }
 .product-story h2 { font-size:2.7rem; }
 .catalog-related { padding:50px 16px; }
 .catalog-related__heading { margin-bottom:25px; }
 .catalog-related__heading h2 { max-width:230px; font-size:2.2rem; }
 .catalog-related__heading > a { font-size:.68rem; }
}
@media (prefers-reduced-motion:reduce) { .catalog-card__media > img { transition:none; } }
