@charset "UTF-8";

/*
 * Accessibility floor for the 14px root scale used by the storefront.
 * Dense mobile product cards stay two-column, but important text never falls
 * back to the previous 8–11px rendering range.
 */
:is(.storefront-surface, .admin-surface) :is(.site-utility-bar, .section-kicker, .eyebrow, .admin-page-eyebrow, .footer-eyebrow, .friendly-error-label) {
  font-size: var(--moonarrow-type-small);
}

:is(.storefront-surface, .admin-surface) :is(.text-muted.small, .form-text, .field-validation-valid, .field-validation-error) {
  font-size: var(--moonarrow-type-support);
  line-height: 1.55;
}

:is(.storefront-surface, .admin-surface) :is(.data-table th, .cart-table th) {
  font-size: var(--moonarrow-type-small);
}

.storefront-surface .section-kicker {
  color: var(--moonarrow-color-brand-blue);
}

.storefront-surface .account-story .section-kicker {
  color: var(--moonarrow-color-gold-text);
}

.storefront-surface .product-card-meta {
  color: var(--moonarrow-color-brand-blue);
  font-size: var(--moonarrow-type-card-meta);
  line-height: 1.4;
}

.storefront-surface .product-stock-state {
  font-size: var(--moonarrow-type-card-meta);
  line-height: 1.35;
}

.storefront-surface .product-card h2 {
  font-size: var(--moonarrow-type-card-title);
  line-height: 1.35;
}

.storefront-surface .product-card-code {
  font-size: var(--moonarrow-type-card-meta);
  line-height: 1.4;
}

.storefront-surface .product-card-price {
  font-size: var(--moonarrow-type-card-price);
}

.storefront-surface .legal-page-header .section-kicker {
  color: #e6d3b0;
}

.storefront-surface .legal-card :is(p, li) {
  color: #40536d;
  font-size: var(--moonarrow-type-policy);
  line-height: 1.85;
}

.storefront-surface .legal-nav a {
  color: #40536d;
  font-size: var(--moonarrow-type-small);
  line-height: 1.45;
}

.storefront-surface :is(.product-card-image-link, .product-card-arrow, .legal-nav a, .site-navigation .nav-link, .site-navigation .nav-button):focus-visible {
  outline: 3px solid var(--moonarrow-color-brand-ink);
  outline-offset: 3px;
}

.moonarrow-storefront-navigation .moonarrow-storefront-action-count,
.original-site-navigation .original-nav-cart-count {
  font-size: 0.7rem;
}

/* Keep compact copy readable on every storefront breakpoint without scaling layout spacing. */
.storefront-surface .site-footer nav h2,
.storefront-surface .site-footer nav a,
.storefront-surface .site-footer-bottom,
.storefront-surface .footer-logout,
.storefront-surface .audio-product-facts dt,
.storefront-surface .product-price-row > div > span,
.storefront-surface .product-gallery-title,
.storefront-surface .product-availability,
.storefront-surface .product-title-meta,
.storefront-surface .audio-selected-variant,
.storefront-surface .account-login-divider,
.storefront-surface .account-help-links,
.storefront-surface .account-form-footer {
  font-size: var(--moonarrow-type-compact);
}

.storefront-surface .product-detail-badge {
  font-size: var(--moonarrow-type-micro);
}

.storefront-surface .support-card p,
.storefront-surface .site-footer-brand p,
.storefront-surface .account-panel-header p,
.storefront-surface label {
  font-size: var(--moonarrow-type-label);
}

.storefront-surface .support-card span:not(.support-symbol),
.storefront-surface small,
.storefront-surface :is(
  .catalog-result-heading > span,
  .store-breadcrumb,
  .product-spec-card dt,
  .product-cart-message,
  .cart-product-brand,
  .cart-save-status,
  .cart-summary-panel > p,
  .cart-secure-note,
  .checkout-section-heading p,
  .checkout-optional-section summary,
  .checkout-summary-products summary,
  .checkout-summary-heading a,
  .checkout-summary-products > summary strong,
  .checkout-product-list p,
  .checkout-product-list article > strong,
  .checkout-price-list > div,
  .checkout-trust-list,
  .account-story-features li,
  .auth-verification-warning p,
  .member-profile-list dt,
  .data-table td,
  .order-bank-details dt,
  .order-history-disclosure > summary,
  .order-meta-grid span,
  .order-cancellation-status p,
  .order-cancellation-status time,
  .order-status-pill,
  .order-shipment-info dt,
  .shipment-timeline-item p,
  .shipment-timeline-item time
) {
  font-size: var(--moonarrow-type-compact);
}

.admin-surface .admin-order-delivery-source {
  background: #f4f8ff;
  border: 1px solid #c7dcfb;
  border-left: 3px solid var(--admin-blue);
  border-radius: 10px;
  display: grid;
  gap: 0.25rem;
  margin: 0.25rem 0;
  padding: 0.95rem 1rem;
}

.admin-surface .admin-order-delivery-source > span {
  color: #526987;
  font-size: var(--moonarrow-type-small);
  font-weight: 700;
}

.admin-surface .admin-order-delivery-source > strong {
  color: var(--admin-ink);
  font-size: 1rem;
}

.admin-surface .admin-order-delivery-source > p {
  color: #526987;
  font-size: var(--moonarrow-type-support);
  line-height: 1.55;
  margin: 0.15rem 0 0;
}

@media (max-width: 767.98px) {
  .storefront-surface .site-navigation :is(.nav-link, .nav-button) {
    font-size: max(1rem, 14px);
    line-height: 1.5;
  }

  .storefront-surface :is(.order-detail-table, .member-order-table, .cart-table) td::before,
  .admin-surface .admin-card-table td::before {
    font-size: var(--moonarrow-type-small);
  }
}

/* Long operational identifiers must remain readable instead of widening the viewport. */
:is(.storefront-surface, .admin-surface) :is(
  .data-table td,
  .order-number,
  .order-state,
  .order-status-pill,
  .admin-order-work-tag,
  .admin-shipment-code,
  .admin-order-overview strong,
  .admin-order-heading h1
) {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Footer navigation remains readable; do not inherit the compact utility-copy scale. */
.storefront-surface .site-footer nav a,
.storefront-surface .footer-logout {
  font-size: max(0.875rem, 14px);
}

/* The product page price is the one display-size value: it leads the buying column. */
.storefront-surface .product-price-row > div > strong {
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
  line-height: 1.1;
}

/* Semantic floors: values lead, body/control copy follows, and labels stay readable. */
.storefront-surface :is(
  .product-card h2,
  .product-card-price,
  .cart-subtotal-cell,
  .cart-summary-total strong,
  .checkout-total-row strong,
  .member-profile-list dd,
  .order-meta-grid strong,
  .order-shipment-info dd
) {
  font-size: var(--moonarrow-type-card-price);
}

.storefront-surface :is(
  .catalog-filter,
  .cart-table td,
  .checkout-form,
  .checkout-summary,
  .account-panel,
  .member-dashboard-grid,
  .order-detail-layout,
  .legal-card
) {
  font-size: var(--moonarrow-type-support);
}

.storefront-surface :is(
  .product-card-meta,
  .product-stock-state,
  .product-card-code,
  .order-status-pill,
  .order-shipment-info dt,
  .cart-table td::before,
  .member-profile-list dt
) {
  font-size: var(--moonarrow-type-small);
}

.admin-surface :is(.data-table td, .detail-grid p, .admin-logistics-guidance p, .text-muted) {
  font-size: var(--moonarrow-type-support);
}

.admin-surface :is(.data-table td strong, .admin-detail-list dd, .detail-grid strong, .admin-order-overview strong) {
  font-size: var(--moonarrow-type-card-price);
}

.admin-surface :is(
  .data-table th,
  .data-table td small,
  .stacked-form > label:not(.checkbox-line),
  .product-form-preview-block > label,
  .home-setting-preview-block > label,
  .refund-form > label,
  .form-text,
  .field-validation-error,
  .validation-summary-errors,
  .order-state,
  .admin-order-work-tag
) {
  font-size: var(--moonarrow-type-small);
}

/* Semantic exceptions: these are customer-facing or form guidance, not micro utility copy. */
:is(.storefront-surface, .admin-surface) .form-required-note,
.storefront-surface .site-nav-action-label {
  font-size: max(0.875rem, 14px);
}

:is(.storefront-surface, .admin-surface) .product-specification-text {
  font-size: var(--moonarrow-type-support);
}

@media (max-width: 767.98px) {
  .storefront-surface .brand-content-page .brand-content-hero > p {
    font-size: var(--moonarrow-type-support);
  }
}

/* Order-card labels remain secondary, but never drop below a readable 13px. */
@media (max-width: 959.98px) {
  .admin-surface .admin-order-table td::before {
    font-size: max(0.8125rem, 13px);
  }
}
