/* Shared visual roles, loaded after page styles. Keep deliberate photography,
   campaign artwork and semantic status colors independent of surface colors. */
:root{
  --font-display:Georgia,"Times New Roman",serif;
  --text-caption:.75rem;
  --text-body:.875rem;
  --text-label:.8125rem;
}
.storefront-body :is(button,a,input,textarea,select):focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.storefront-body :is(.account-home,.account-page,.account-details-hub,.account-orders,.address-book,.account-security,.account-reviews,.post-sale-page){
  font-size:var(--text-body);
}
.storefront-body :is(.account-home,.account-page,.account-details-hub,.account-orders,.address-book,.account-security,.account-reviews)>header h1{
  margin:.5rem 0 .7rem;
  font:600 clamp(2.4rem,5vw,4.5rem)/1.06 var(--font-display);
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}
.storefront-body :is(.account-home,.account-page,.account-details-hub,.account-orders,.address-book,.account-security,.account-reviews)>header p{
  color:var(--muted);
  font-size:var(--text-body);
  line-height:1.6;
}
.storefront-body .account-page{padding-block:clamp(2rem,6vw,5rem)}
.storefront-body .account-page>header{margin-bottom:1.4rem}
.storefront-body .account-page>header>a{margin-top:.6rem}
.storefront-body :is(.account-module-grid .account-card strong,.detail-navigation-card h2){font-size:1rem}
.storefront-body :is(.account-module-grid .account-card small,.detail-status-card p,.detail-navigation-card p,.detail-status-list,.delivery-address-grid article>p,.address-list article p){
  font-size:var(--text-caption);
  line-height:1.6;
}
.storefront-body :is(.delivery-card-actions a,.delivery-card-actions button,.address-list article button){
  font-family:inherit;
  font-size:var(--text-label);
  font-weight:750;
}
.storefront-body .address-list article button{min-height:36px}
.storefront-body :is(.auth-card>p,.auth-intro>p,.auth-switch,.auth-forgot,.form-notice,.form-errors,.validation-card,.communication-preferences p,.security-card-heading p,.security-help p){
  font-size:var(--text-label);
  line-height:1.6;
}
.storefront-body :is(.auth-card>label,.auth-fields label,.verification-choice legend,.checkout-fields label,.pickup-branch label,.password-field>span){font-size:var(--text-label)}
.storefront-body :is(.auth-card label small,.standalone-error,.verification-option small,.switch-copy small,.security-session small,.security-profile dt,.password-rules li){font-size:var(--text-caption)}
.storefront-body :is(.switch-copy strong,.verification-option strong){font-size:var(--text-label)}
.storefront-body :is(.order-card-copy>span,.order-card-total>span,.order-detail-summary small,.order-detail-modal header p,.order-detail-lines article small){font-size:var(--text-caption)}
.storefront-body :is(.order-detail-summary strong,.order-detail-lines article strong,.order-detail-lines article>b,.order-payment-breakdown-head strong,.order-payment-breakdown dl>div,.order-store-information,.order-store-information strong,.order-delivery-summary strong,.order-delivery-summary em,.order-delivery-summary b){
  font-size:var(--text-label);
  line-height:1.5;
}
.storefront-body :is(.order-progress strong,.return-progress-steps strong){font-size:var(--text-caption)}
.storefront-body :is(.order-progress small,.return-progress-steps small){line-height:1.45}
.storefront-body :is(.checkout-card-title p,.checkout-selected-address p,.checkout-address-option small,.shipping-option small,.payment-notice small,.checkout-summary-item small,.checkout-summary>p,.cart-line-copy small,.cart-order-summary>p){
  font-size:var(--text-caption);
  line-height:1.5;
}
.storefront-body :is(.shipping-option b,.shipping-option strong,.payment-option strong,.checkout-summary-item strong,.checkout-summary-item>b,.checkout-summary dl div){font-size:var(--text-label)}
.storefront-body :is(.variant-picker small,.product-code,.detail-price span,.purchase-benefits small,.mobile-buy-bar small,.catalog-heading p,.catalog-product>div>span){font-size:var(--text-caption)}
.storefront-body :is(.product-info>small,.catalog-product>div>small){font-size:.6875rem}
.storefront-body :is(.product-info h3,.catalog-product h2){font-size:var(--text-body);line-height:1.45}
.storefront-body :is(.home-review-card>p,.account-review-copy>p){font-size:var(--text-body);line-height:1.65}
.storefront-body :is(.home-review-card footer,.account-review-copy footer,.account-links small,.cart-items small,.category-nav-copy small){font-size:var(--text-caption)}
.storefront-body .home-review-stars .filled,.storefront-body .account-review-stars{color:var(--gold)}
.storefront-body .coupon-ticket{background:var(--surface);box-shadow:var(--shadow)}
.storefront-body .coupon-code{background:var(--soft)}
.storefront-body :is(.order-payment-breakdown-head em.refunded,.tracking-provider em.live){background:var(--accent-soft);color:var(--accent)}
.storefront-body .order-payment-breakdown .refund-total,.storefront-body .order-payment-breakdown .refund-total dd{color:var(--accent)}
.storefront-body :is(.return-process-notice.rejected,.return-progress-panel>header em.rejected,.tracking-error){background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}
.storefront-body .order-detail-lines .order-line-returned{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)!important}
.storefront-body .tracking-document.returned{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)!important}

/* Pale mint fills need dark glyphs in dark mode, not white-on-mint. */
:root[data-theme=dark] .storefront-body :is(
  .action-count,.nav-icon-wrap i,.category-nav-group.is-open .category-nav-chevron,
  .password-rules li.is-valid svg,.security-session>span,
  .verification-input:checked+.verification-option .verification-check,
  .order-request-operation input:checked+span,.catalog-product-image em,
  .catalog-pagination a.active,.checkout-phone-verify-head em.is-verified,
  .checkout-address-option em,.payment-option:has(input:checked) strong,
  .pickup-branch-option:has(input:checked)>i,.checkout-success-icon,
  .checkout-success-flow .is-current i,.secure-payment-steps span.is-complete i,
  .secure-payment-steps span.is-current i,.checkout-copy-detail button:hover,
  .order-progress .done i,.return-progress-steps .done i,.return-shipment-form button,
  .order-address-change button,.operation-options input:checked+span,
  .detail-discount,.review-open-button,.review-summary-icon
){color:var(--bg)}
:root[data-theme=dark] .storefront-body :is(.order-payment-breakdown-head em.waiting,.tracking-provider em.fallback,.account-review-head em.pending,.missing){
  background:color-mix(in srgb,var(--gold) 14%,var(--surface));
  color:var(--gold);
}
.storefront-body .hero-art picture,.storefront-body .hero-art img{display:block;width:100%;height:100%}
.storefront-body .hero-art img{object-fit:cover}
.storefront-body .hero-copy h2{overflow-wrap:anywhere}
.storefront-body .hero-copy p{overflow-wrap:anywhere}
.storefront-body .home-review-product{font-size:var(--text-body)}
.storefront-body .home-review-card h3{font-size:.9375rem;line-height:1.4}
.storefront-body .home-review-card>p{font-size:var(--text-body)}
.storefront-body :is(.home-review-card footer,.home-review-verified,.home-review-stars b){font-size:var(--text-caption)}
.storefront-body .home-review-stars .filled{color:var(--gold)}
.storefront-body .home-review-stars b{white-space:nowrap}
@media(max-width:760px){
  .storefront-body :is(.account-home,.account-page,.account-details-hub,.account-orders,.address-book,.account-security,.account-reviews)>header h1{font-size:2.4rem}
  .storefront-body .account-module-grid .account-card{min-height:118px}
  .storefront-body .account-review-head{flex-wrap:wrap;gap:.5rem}
  .storefront-body .account-review-head>div{min-width:0;flex:1 1 150px}
  .storefront-body .account-review-head h2{overflow-wrap:anywhere}
  .storefront-body .checkout-summary-item{grid-template-columns:52px minmax(0,1fr)}
  .storefront-body .checkout-summary-item>b{grid-column:2}
}
