/* Typography scale — Cormorant Garamond reads smaller at equal px sizes.
   Landing page display type is tuned separately; inner pages get UI + body fixes below. */

/* ── Display & page titles ── */
.hero-title{font-size:clamp(43px,7.2vw,76px)!important}
.section-title{font-size:clamp(31px,4.5vw,47px)!important}
.page-title{font-size:clamp(36px,5.6vw,54px)!important}
.page-promo-title{font-size:clamp(27px,4vw,38px)!important}
.detail-title{font-size:clamp(31px,4.5vw,43px)!important}
.checkout-title{font-size:clamp(31px,4.5vw,40px)!important}
.confirm-title{font-size:clamp(31px,4.5vw,38px)!important}
.account-greeting{font-size:clamp(29px,4.5vw,36px)!important}
.conc-title{font-size:clamp(29px,4.5vw,45px)!important}
.diff-title{font-size:clamp(25px,3.4vw,34px)!important}
.checkout-empty h2{font-size:25px!important}

/* ── Brand & navigation ── */
.nav-logo{font-family:var(--font-display)!important;font-size:17px!important}
.nav-link{font-size:14px!important}

/* ── Card & list titles (serif — keep at readable sizes) ── */
.treat-name{font-size:clamp(22px,2.4vw,26px)!important}
.catalog-name{font-size:clamp(22px,2.4vw,26px)!important}
.prod-name{font-size:clamp(22px,2.4vw,26px)!important}
.history-name{font-size:20px!important;font-weight:700!important}
.upcoming-name{font-size:clamp(17px,2vw,20px)!important;font-weight:700!important;line-height:1.2!important}
.confirm-name,
.pickup-item-name{font-size:17px!important;font-weight:600!important}
.summary-name{font-size:18px!important;font-weight:600!important}
.voucher-notice-title{font-size:17px!important;font-weight:600!important}
.voucher-modal-title{font-size:20px!important;font-weight:600!important;line-height:1.3!important}
.voucher-notice-inner-title{font-size:16px!important;font-weight:600!important;line-height:1.4!important}
.voucher-modal-inner-title{font-size:16px!important;font-weight:600!important;line-height:1.4!important}
.voucher-notice-text{font-size:15px!important;line-height:1.65!important}
.voucher-modal-text{font-size:15px!important;line-height:1.65!important}
.subscription-info h3{font-size:20px!important;font-weight:600!important}
.next-step-body h3{font-size:16px!important;font-weight:600!important}
.timeline-title{font-size:16px!important;font-weight:600!important}
.hiw-title{font-size:clamp(24px,2.6vw,30px)!important}
.hiw-num{font-size:52px!important}

/* ── Prices & totals ── */
.detail-price{font-size:32px!important}
.treat-price{font-size:20px!important;font-weight:700!important}
.catalog-price{font-size:20px!important;font-weight:700!important}
.catalog-price del{font-size:14px!important}
.prod-price{font-size:20px!important;font-weight:700!important}
.summary-price{font-size:17px!important;font-weight:700!important}
.summary-row.total{font-size:18px!important}
.summary-row.total span:last-child{font-size:20px!important}
.order-info-total span:last-child{font-size:23px!important}
.confirm-total{font-size:18px!important}

/* ── UI section labels — Inter, not tiny serif ── */
.account-card h2,
.panel-title,
.summary-title,
.detail-section h2,
.order-info-summary h2,
.confirm-card h2,
.cart-title{
  font-family:var(--font-body)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
}

.cart-group-label,
.summary-group-label,
.filter-tags-label{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
}

/* ── Tabs, toggles, detail eyebrows ── */
.tab-btn,
.fulfillment-option span{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:600!important;
}

.detail-eyebrow{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
}

.section-view-all-btn{
  font-family:var(--font-body)!important;
  font-size:13px!important;
}

/* ── Body & secondary copy (inner pages) ── */
.account-sub,
.page-sub,
.page-promo-sub,
.detail-sub,
.checkout-sub,
.confirm-sub{font-size:15px!important}
.confirm-sub{font-size:16px!important}

.history-detail,
.history-meta,
.history-order,
.confirm-detail,
.summary-detail,
.pickup-item-status,
.confirm-product-note,
.subscription-info p,
.next-step-body p,
.confirm-note,
.pickup-spa,
.ship-address,
.field-hint,
.secure-note,
.summary-footnote,
.catalog-desc,
.treat-desc,
.prod-detail,
.catalog-detail,
.catalog-duration,
.detail-ingredients,
.account-link{font-size:14px!important}

.checkout-steps,
.breadcrumb,
.summary-row,
.order-info-field span.muted,
.confirm-order{font-size:14px!important}

.field label{font-size:13px!important}
.field input,
.field select,
.filter-search{font-size:14px!important}

.profile-field label,
.order-info-field label{font-size:12px!important;font-weight:600!important}
.profile-field span,
.order-info-field span{font-size:15px!important}
.order-info-total span:first-child{font-size:14px!important}

.account-empty{font-size:15px!important}

/* ── Status pills, badges, stock ── */
.status-pill{
  font-size:12px!important;
  font-weight:600!important;
  padding:5px 12px!important;
}
.stock-pill{font-size:12px!important}
.catalog-badge,
.detail-media-badge,
.treat-img-tag{font-size:11px!important}

/* ── Filters ── */
.filter-tag{font-size:13px!important;padding:7px 16px!important}
.filter-count{font-size:13px!important}

/* ── Detail page content ── */
.detail-section p,
.detail-section li{font-size:14px!important;line-height:1.75!important}
.detail-size{font-size:14px!important}
.detail-perk{font-size:14px!important}
.detail-back{font-size:14px!important}

/* ── Footer (shared) ── */
.footer-logo{font-family:var(--font-display)!important;font-size:14px!important}
.footer-col h4{
  font-family:var(--font-body)!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
}
.footer-tagline,
.footer-col a{font-size:14px!important}
.footer-subscribe-title{font-size:14px!important;font-family:var(--font-body)!important}

/* ── Shell / cart ── */
.chat-title{font-size:19px!important}
.cart-title{font-size:13px!important}
.cart-group-label{font-size:12px!important;letter-spacing:.1em!important}
.cart-item-name{font-size:17px!important;line-height:1.25!important;font-weight:600!important}
.cart-item-detail{font-size:13px!important}
.cart-item-price{font-size:16px!important;font-weight:700!important}
.cart-item-qty{font-size:12px!important}
.cart-subtotal-label{font-size:13px!important}
.cart-subtotal-amount{font-size:20px!important}
.cart-empty{font-size:14px!important}
.fulfillment-option small{font-size:12px!important}
.next-step-num{
  font-family:var(--font-body)!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* ── CTA & action buttons — Inter at readable sizes ── */
.nav-cta,
.hero-btn,
.hero-cta-link,
.conc-btn,
.treat-btn,
.catalog-btn,
.section-view-all-btn,
.detail-btn-primary,
.detail-btn-secondary,
.page-promo-btn,
.place-order,
.checkout-empty-btn,
.confirm-btn,
.confirm-subscribe-btn,
.cart-checkout,
.mm-cta,
.footer-subscribe-btn,
.subscription-btn,
.book-btn,
.book-now-btn,
.card-add-btn{
  font-family:var(--font-body)!important;
}

.nav-cta{font-size:15px!important}
.hero-btn{font-size:15px!important}
.hero-cta-link{font-size:14px!important}
.conc-btn{font-size:16px!important}
.treat-btn,
.catalog-btn,
.section-view-all-btn{font-size:13px!important;padding:10px 20px!important}
.page-promo-btn{font-size:15px!important}
.detail-btn-primary,
.detail-btn-secondary{font-size:16px!important}
.place-order{font-size:16px!important}
.checkout-empty-btn{font-size:15px!important}
.confirm-btn{font-size:15px!important}
.confirm-subscribe-btn{font-size:14px!important;font-weight:600!important}
.cart-checkout{font-size:15px!important}
.mm-cta{font-size:15px!important}
.footer-subscribe-btn{font-size:14px!important}
.subscription-btn{font-size:14px!important}
.book-btn,
.book-now-btn{font-size:13px!important;padding:10px 16px!important}

/* ── Floating concierge CTA ── */
.chat-fab-brand{font-family:var(--font-display)!important;font-size:11px!important}
.chat-brand{font-family:var(--font-display)!important;font-size:12px!important;letter-spacing:.2em!important}
.chat-fab-label{font-size:14px!important;font-weight:500!important;color:rgba(255,255,255,.88)!important}

@media(max-width:560px){
  .hero-title{font-size:clamp(34px,9vw,44px)!important}
}
