.button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; border: 1px solid transparent; border-radius: var(--radius-md); padding: 13px 23px; background: var(--color-primary); color: var(--color-white); font-size: 14px; font-weight: 600; line-height: 18px; letter-spacing: .28px; text-transform: uppercase; text-align: center; }
.text-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .26px; text-transform: uppercase; }
@media (hover: hover) {
  .button:hover { background: var(--color-text); }
  a:not(.button):hover, button:not(.button):hover { text-decoration: underline; text-underline-offset: 5px; }
  .product-card:hover { text-decoration: none !important; }
  .product-card:hover .product-card__name { text-decoration: underline; text-underline-offset: 5px; }
}
.button:active { background: var(--color-text); }
.wordmark { font: 400 26px/1.25 var(--font-display); white-space: nowrap; }
.brand-logo { display:block; inline-size:clamp(168px,21vw,224px); block-size:auto; }
.footer .brand-logo { inline-size:min(260px,78vw); }
.eyebrow { color: var(--color-accent); font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .96px; text-transform: uppercase; }
.masthead { padding-top: 20px; border-bottom: 1px solid var(--color-border); }
.masthead__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; width: min(calc(100% - 80px), 1200px); margin-inline: auto; }
.masthead__collections, .masthead__utilities { display: flex; align-items: center; gap: 24px; font-size: 12px; font-weight: 500; letter-spacing: .48px; text-transform: uppercase; white-space: nowrap; }
.masthead__utilities { justify-content: flex-end; gap: 20px; }
.masthead__utilities button { gap: 6px; }
.utility-icon { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; mask: var(--utility-icon) center / contain no-repeat; pointer-events: none; }
.utility-icon--search { --utility-icon: url('../icons/search.svg'); }
.utility-icon--account { --utility-icon: url('../icons/user.svg'); }
.utility-icon--bag { --utility-icon: url('../icons/shopping-bag.svg'); }
.masthead__row nav a, .masthead__row nav button { display: inline-flex; align-items: center; min-height: 44px; font: inherit; text-transform: inherit; letter-spacing: inherit; }
.masthead__tagline { margin: 8px 24px 16px; color: var(--color-accent); text-align: center; font-size: 11px; line-height: 1.3; letter-spacing: .66px; text-transform: uppercase; }
.menu-toggle { display: none; }
.mobile-menu { padding: 12px 24px 24px; border-top: 1px solid var(--color-border); }
.mobile-menu a, .mobile-menu button { display: flex; align-items: center; min-height: 44px; width: 100%; text-align: left; font-size: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 280px)); grid-auto-rows: 1fr; align-items: stretch; gap: 32px; margin-top: 48px; }
.product-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; background: var(--color-white) !important; text-align: left; }
.product-card__primary { display:flex;flex:1;flex-direction:column;min-width:0;text-decoration:none }
.product-card__photo { position: relative; display: block; flex-shrink: 0; width: 100%; height: 340px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.product-card__details { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: var(--space-1); min-block-size: 152px; padding: var(--space-2); }
.product-card__details .product-card__price { margin-block-start: auto; }
.product-card--collectible .product-card__photo { background: var(--color-secondary); }
.product-card__placeholder { position: absolute; top: 12px; left: 12px; right: 8px; font-size: 9px; font-weight: 500; line-height: 1.5; letter-spacing: .27px; text-transform: uppercase; }
.tag { display: inline-block; padding: 5px 10px; border-radius: var(--radius-sm); background: var(--color-secondary); font-size: 10px; font-weight: 500; line-height: 1.2; letter-spacing: .4px; text-transform: uppercase; }
.product-card--collectible .tag { background: var(--color-primary); color: var(--color-white); }
.product-card__name { font: 400 22px/1.25 var(--font-display); }
.product-card__edition { color: var(--color-accent); font-size: 12px; line-height: 1.4; letter-spacing: .24px; }
.product-card__gender {font-size:11px;line-height:1.4;color:#645b4d}
.product-card__price { font-size: 16px; font-weight: 500; line-height: 1.3; font-variant-numeric: tabular-nums; }
.product-card__order {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 16px;border-top:1px solid var(--color-border);font-size:12px;font-weight:600;letter-spacing:.24px;text-transform:uppercase;text-decoration:none}
.footer { display: flex; flex-direction: column; align-items: center; gap: 32px; padding-top: 64px; background: var(--color-surface); text-align: center; }
.footer .wordmark { font-size: 32px; }
.footer > p { font-size: 14px; }
.footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px; padding-inline: 24px; }
.footer nav a, .footer nav button { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; font-weight: 500; letter-spacing: .24px; }
.footer .footer__copyright { width: 100%; border-top: 1px solid var(--color-border); padding: 24px 24px 32px; font-size: 11px; }
dialog { width: min(480px, calc(100% - 40px)); padding: 32px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg); color: var(--color-text); overscroll-behavior: contain; }
dialog::backdrop { background: rgb(31 26 17 / .5); }
dialog h2 { font-size: 28px; }
dialog p { margin-block: 16px 24px; font-size: 15px; }
