.combos-section { padding:60px 4vw; background:#fbfaf7; color:#2d261f; }
.combos-section .section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:0 0 32px; }
.combos-section .section-heading .eyebrow { margin:0 0 14px; color:#927654; font-size:9px; }
.combos-section .section-heading h2 { font-size:clamp(38px,4.2vw,66px); line-height:1; letter-spacing:-.045em; }
.combos-section .section-heading h2 em { margin:0; display:inline; }
.combos-section .section-heading > p { margin:0; max-width:360px; font:16px/1.5 var(--serif); color:#7b7063; }
.combo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border:0; }
.combo-card,.combo-featured { display:flex; flex-direction:column; grid-column:auto; min-height:0; padding:0; border:1px solid #d8cdbd; background:#fdfaf5; overflow:hidden; }
.combo-card:hover { background:#fdfaf5; }
.combo-top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 18px; }
.combo-top span { display:flex; align-items:baseline; gap:7px; font:400 28px/1 var(--serif); color:#57402c; }
.combo-top small { font:600 11px var(--sans); text-transform:uppercase; letter-spacing:.06em; }
.combo-top p { font-size:8px; letter-spacing:.09em; color:#89745b; text-align:right; }
.combo-gallery { aspect-ratio:1; width:100%; overflow:hidden; background:#e9e1d3; }
.combo-gallery img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.combo-card:hover .combo-gallery img { transform:scale(1.025); }
.combo-content { display:flex; flex-direction:column; flex:1; padding:20px 18px; }
.combo-content h3 { margin:0 0 8px; font:400 clamp(25px,2.2vw,35px)/1.1 var(--serif); letter-spacing:-.03em; }
.combo-content > p.combo-description { font:14px/1.4 var(--serif); min-height:40px; margin:0 0 12px; color:#7c7164; }
.collection-size-label { display:block; margin:0 0 8px; color:#62513c; font:500 10px/1.4 var(--sans); }
.combo-total-label { display:block; margin:16px 0 0; color:#57402c; font:500 10px/1.5 var(--sans); }
.combo-size-summary { white-space:nowrap; font-weight:400; color:#7c7164; }
.collection-sizes { display:grid; grid-template-columns:1fr 1fr; border:1px solid #cfc3af; }
.collection-sizes button { min-height:40px; padding:9px; cursor:pointer; background:transparent; font-size:11px; color:#62513c; }
.collection-sizes button[aria-pressed=true] { color:#fff; background:#40372b; }
.collection-sizes button + button { border-left:1px solid #cfc3af; }
.combo-content .price-line { display:flex; flex-direction:row-reverse; justify-content:flex-end; align-items:baseline; gap:12px; margin:5px 0 16px; }
.combo-content .price-line strong { font:400 28px var(--serif); }
.combo-content .price-line s { color:#968b7c; font-size:12px; }
.combo-content .regular-price small { display:none; }
.combo-content .text-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; padding:12px; background:#2e372c; color:#fff; border:0; font-size:9px; letter-spacing:.07em; }
.combo-content .text-button .cta-arrow img { filter:brightness(0) invert(1); }
.combo-content .text-button:hover { background:#48563f; }
.combos-section button:focus-visible { outline:2px solid #9c713c; outline-offset:3px; }
@media(max-width:1050px) { .combo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .combos-section { padding:38px 16px; }
 .combos-section .section-heading { display:block; margin:0 0 24px; }
 .combos-section .section-heading h2 { font-size:39px; }
 .combos-section .section-heading > p { font-size:15px; margin-top:14px; }
 .combo-grid { gap:12px; overflow:visible; }
 .combo-top { padding:12px; }
 .combo-top span { font-size:26px; }
 .combo-top small { font-size:10px; }
 .combo-top p { display:none; }
 .combo-content { padding:14px 11px; }
 .combo-content h3 { font-size:24px; }
 .combo-content > p.combo-description { font-size:13px; min-height:36px; margin-bottom:12px; }
 .collection-sizes button { min-height:44px; }
 .combo-content .price-line { gap:7px; margin:5px 0 14px; flex-wrap:wrap; }
 .combo-content .price-line strong { font-size:25px; }
 .combo-content .price-line s { font-size:10px; }
 .combo-content .text-button { padding:10px 8px; font-size:8px; letter-spacing:0; white-space:normal; }
 .combo-content .text-button .cta-arrow { margin-left:6px; }
}
@media(prefers-reduced-motion:reduce) { .combo-gallery img { transition:none; } }
