/* One sans-serif family and scale for storefront, account and administration. */
:root{--font-sans:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;--text-display:clamp(38px,4.8vw,68px);--text-page:clamp(32px,3.6vw,52px);--text-section:clamp(24px,2.4vw,34px);--text-title:clamp(16px,1.3vw,20px);--text-body:16px;--text-small:14px;--text-caption:12px;--weight-regular:400;--weight-medium:500;--weight-heading:600;--weight-bold:700;--leading-heading:1.12;--leading-body:1.6;--tracking-heading:-.03em;--asset-ratio:2/3}
body,button,input,select,textarea{font-family:var(--font-sans)}body{font-size:var(--text-body);line-height:var(--leading-body)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.home-duo-copy h1,.home-duo-copy h2,.partner-page .partner-intro-hero h1{font-size:var(--text-display);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.detail-lite .detail-sidebar h1,.collections-introduction h1,.has-collection-cover #catalogHeading{font-size:var(--text-page);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.home-page-heading h2,.home-range-heading h2,.newsletter-footer.home-club-section h2,.partner-header-copy h2,.partner-earnings-heading h2,.partner-intro-section-heading h2{font-size:var(--text-section);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.partner-intro-gallery h2,.partner-intro-final h2,.partner-intro-example h2{font-size:var(--text-page);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.partner-page .partner-benefit strong,.partner-hero-commission strong,.partner-example-equation strong,.partner-intro-steps article>span{font-size:clamp(28px,3vw,40px);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-variant-numeric:lining-nums tabular-nums}
.partner-share-card h3,.partner-setup-body h2,.partner-access-pending h3{font-size:var(--text-section);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.free-picks-modal h2{font-size:clamp(32px,3.5vw,52px);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.store-menu-picks h2{font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading)}
.product-card.storefront-product-card h3,.home-product-section .product-card.storefront-product-card h3{font-size:var(--text-title);font-weight:var(--weight-heading);line-height:1.35;letter-spacing:-.015em}
.home-popular-grid .product-card.storefront-product-card h3{font-size:var(--text-small);font-weight:var(--weight-medium)}
.price,.detail-price,.partner-metric strong{font-variant-numeric:lining-nums tabular-nums}
.admin-console-page .admin-panel-head h2,.admin-console-page .panel>h2{font-size:24px;font-weight:var(--weight-heading);letter-spacing:-.02em}
/* Portrait previews retain complete card titles and actions below the image. */
.product-card .visual,.home-product-section .product-card .visual,.home-popular-grid .product-card .visual{width:100%;height:auto!important;min-height:0!important;aspect-ratio:var(--asset-ratio)!important}
.product-card .visual img{width:100%;height:100%;object-fit:cover}
.home-range-photo,.home-collection-photo,.collections-grid .home-collection-photo{height:auto;aspect-ratio:var(--asset-ratio)}
.home-collections-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-club-privacy{display:block;margin:16px auto 0;font-size:var(--text-caption);color:#999;line-height:1.5}.home-club-privacy a{text-decoration:underline;text-underline-offset:3px}.home-club-privacy[hidden],.home-club-signin[hidden]{display:none!important}
.newsletter-footer.home-club-section .home-club-status{min-height:0;margin:0;font-size:var(--text-small);color:#eee}.newsletter-footer.home-club-section .home-club-status:not(:empty){margin-top:18px}
.newsletter-footer.home-club-section form[aria-busy="true"] button{opacity:.6;cursor:wait}.newsletter-footer.home-club-section input:focus-visible,.newsletter-footer.home-club-section button:focus-visible{outline:2px solid #fff;outline-offset:4px}
/* Notifications use the same simple close control as the cart. */
body.member-notifications-open{overflow:hidden}
.member-notifications-modal{z-index:210;background:rgba(0,0,0,.4);padding:24px}
.member-notifications-modal .member-notifications-panel{width:min(600px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:#fff;box-shadow:0 18px 65px #0003}
.member-notifications-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 28px 22px;border-bottom:1px solid #dededb;flex:none}
.notification-eyebrow{font-size:10px;letter-spacing:.1em;color:#777}.member-notifications-head h2{font-size:var(--text-section);margin:9px 0 10px}.member-notifications-head p{font-size:var(--text-caption);color:#777;margin:0}
.site-dialog-close{flex:none;display:grid;place-items:center;width:44px;height:44px;appearance:none;border:0;border-radius:0;background:transparent;color:#111;padding:9px;cursor:pointer;transition:background 150ms ease,transform 150ms ease}
.site-dialog-close svg{width:24px;height:24px}.site-dialog-close:hover{background:#f1f1ef}.site-dialog-close:active{transform:scale(.94);background:#e7e7e4}.site-dialog-close:focus-visible{outline:2px solid #111;outline-offset:3px}
.member-notifications-list{min-height:0;overflow:auto;scrollbar-width:none;padding:0 28px 12px}.member-notifications-list::-webkit-scrollbar{display:none}
.member-notification-item{display:flex;align-items:flex-start;gap:16px;padding:22px 0;border-bottom:1px solid #e4e4e1;color:#111;text-decoration:none}.member-notification-item:last-child{border-bottom:0}
.member-notification-icon{flex:none;width:22px;height:22px;display:block;margin-top:2px;color:#666}.member-notification-icon svg{width:100%;height:100%}
.member-notification-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.member-notification-type{display:flex;align-items:center;gap:9px;font-size:10px;line-height:1.3;letter-spacing:.07em;color:#777}.notification-new-dot{width:5px;height:5px;border-radius:50%;background:#111}
.member-notification-copy strong{font-size:var(--text-small);font-weight:var(--weight-heading);line-height:1.45;overflow-wrap:anywhere}.member-notification-action{font-size:var(--text-caption);line-height:1.4;color:#777}.member-notification-arrow{flex:none;font-size:18px;margin-top:21px;color:#777;transition:transform 180ms ease}
.member-notification-item:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.member-notification-item:hover .member-notification-arrow{transform:translate(2px,-2px);color:#111}.member-notification-item:focus-visible{outline:2px solid #111;outline-offset:3px}
.member-notifications-empty{padding:36px 0 30px}.member-notifications-empty strong{font-size:var(--text-small);font-weight:var(--weight-heading)}.member-notifications-empty p{font-size:var(--text-small);color:#777;line-height:1.6;margin-bottom:0}
/* Both home panels can be edited independently in one form. */
.home-banner-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-banner-editor{min-width:0;border:1px solid #ddd;padding:24px;border-radius:8px}.home-banner-editor-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.home-banner-editor-head h3{margin:0 0 9px;font-size:20px}.home-banner-editor-head p{font-size:13px;color:#777;margin:0}.home-banner-editor .home-banner-preview{aspect-ratio:6/5;border-radius:6px}.home-banner-editor .home-banner-fields{margin-top:22px}.home-banner-editor [hidden]{display:none!important}.home-banner-editor .check-inline{font-size:12px;gap:8px}.home-banner-settings>.admin-form-actions{margin-top:24px}.home-banner-product-field{display:grid;gap:10px}.home-banner-product-field .field-note{margin:0}.home-banner-editor .home-banner-upload-actions .btn{font-size:12px;padding:9px 13px}.home-banner-editor .home-banner-upload-actions label{cursor:pointer}
@media(max-width:1000px){.home-banner-editors{grid-template-columns:1fr}.home-banner-editor .home-banner-preview{max-height:390px;aspect-ratio:6/5}}
@media(max-width:900px){.home-collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-collections-grid{grid-template-columns:1fr}.member-notifications-modal{padding:16px}.member-notifications-modal .member-notifications-panel{max-height:calc(100dvh - 32px)}.member-notifications-head{padding:22px 20px 18px}.member-notifications-list{padding:0 20px 8px}.member-notification-item{gap:12px;padding:20px 0}.member-notification-icon{width:20px;height:20px}.home-banner-editor{padding:18px}.home-banner-editor-head{flex-direction:column;gap:12px}.home-banner-editor .home-banner-preview{max-height:none}.home-duo-copy h1,.home-duo-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.site-dialog-close,.member-notification-arrow{transition:none}}
/* Keep every product card at the same compact type scale as the homepage. */
.product-card.storefront-product-card h3,
.home-product-section .product-card.storefront-product-card h3,
.home-popular-grid .product-card.storefront-product-card h3 {
  font-size:14px;
  font-weight:var(--weight-medium);
  line-height:1.35;
  letter-spacing:-.015em;
}
.product-card.storefront-product-card .product-card-meta-row>.price,
.home-product-section .product-card.storefront-product-card .product-card-meta-row>.price,
.home-popular-grid .product-card.storefront-product-card .price {
  font-size:17px;
  font-weight:var(--weight-medium);
  line-height:1.25;
  letter-spacing:-.02em;
}
.product-card.storefront-product-card .card-download-button,
.product-card.storefront-product-card .card-owned-label {
  font-size:15px;
  font-weight:var(--weight-medium);
}
@media(max-width:600px){
  .product-card.storefront-product-card h3,
  .home-product-section .product-card.storefront-product-card h3,
  .home-popular-grid .product-card.storefront-product-card h3{font-size:14px}
  .product-card.storefront-product-card .product-card-meta-row>.price,
  .home-product-section .product-card.storefront-product-card .product-card-meta-row>.price,
  .home-popular-grid .product-card.storefront-product-card .price{font-size:17px}
  .product-card.storefront-product-card .card-download-button,
  .product-card.storefront-product-card .card-owned-label{font-size:15px}
}

/* Homepage banners use two optional text positions controlled from the admin. */
.home-duo-copy[hidden],.home-duo-action[hidden]{display:none!important}
.home-duo-copy{padding:48px;pointer-events:none}
.home-duo-copy h1,.home-duo-copy h2{
  max-width:86%;margin:0;color:#fff;font-family:var(--font-sans);font-size:clamp(18px,1.6vw,28px);font-weight:var(--weight-regular);line-height:1.28;letter-spacing:-.02em;text-shadow:0 1px 14px rgba(0,0,0,.38)
}
.home-duo-action{
  right:auto;left:36px;bottom:32px;width:auto;font-family:var(--font-sans);font-size:16px;font-weight:var(--weight-regular);line-height:1.4
}
.home-banner-editor .home-banner-preview{position:relative;isolation:isolate;display:block;overflow:hidden;background:#242424;color:#fff}
.home-banner-editor .home-banner-preview::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.42))}
.home-banner-editor .home-banner-preview img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover}
.home-banner-preview-empty{position:absolute;z-index:2;top:14px;left:16px;color:#bbb;font-size:11px}
.home-banner-preview-copy{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:28px;color:#fff;font-size:clamp(15px,1.25vw,20px);font-weight:var(--weight-regular);line-height:1.3;letter-spacing:-.015em;text-align:center}
.home-banner-preview-action{position:absolute;z-index:2;left:20px;bottom:18px;color:#fff;font-size:13px;font-weight:var(--weight-regular);line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.home-banner-fields .field-note{margin:7px 0 0}
@media(max-width:900px){.home-duo-copy{padding:32px}.home-duo-action{left:24px;bottom:24px}.home-duo-copy h1,.home-duo-copy h2{font-size:20px}}
@media(max-width:600px){.home-duo-copy{padding:24px}.home-duo-action{left:20px;bottom:20px;font-size:15px}.home-duo-copy h1,.home-duo-copy h2{font-size:18px}}

/* Keep every price and add control on one shared optical baseline. */
.product-card.storefront-product-card .product-card-meta-row,
.home-product-section .product-card.storefront-product-card .product-card-meta-row{
  min-height:44px;height:44px;margin-top:auto;padding-top:0;align-items:center
}
.product-card.storefront-product-card .product-card-meta-row>.price,
.home-product-section .product-card.storefront-product-card .product-card-meta-row>.price{
  display:inline-flex;align-items:center;min-height:44px;line-height:1
}
.product-card.storefront-product-card .card-cart-button,
.home-product-section .product-card.storefront-product-card .card-cart-button{
  display:grid;place-items:center;align-self:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0
}
.product-card.storefront-product-card .card-cart-plus,
.home-product-section .product-card.storefront-product-card .card-cart-plus{
  display:grid;place-items:center;width:100%;height:100%;font-size:32px;font-weight:300;line-height:1;transform:none
}
@media(max-width:600px){
  .product-card.storefront-product-card .product-card-meta-row,
  .home-product-section .product-card.storefront-product-card .product-card-meta-row{min-height:44px;height:44px;padding-top:0}
}
