/* Readable storefront typography. Load after the existing presentation layers. */
body.sata-flagship {
  --sans: 'Nunito Sans', Arial, sans-serif;
  --heading: 'Rubik', Arial, sans-serif;
  --mono: 'Nunito Sans', Arial, sans-serif;
  --ink: #242424;
  --muted: #444;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.sata-flagship :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--heading);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: #202020;
}

body.sata-flagship :is(button, input, select, textarea) {
  font-family: var(--sans);
}

body.sata-flagship :is(.button, .button-outline, .text-link, .minimal-text-link),
body.sata-flagship.woocommerce :is(a.button, button.button, input.button),
body.sata-flagship .woocommerce :is(a.button, button.button, input.button) {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

body.sata-flagship :is(.eyebrow, .master-hero-kicker, .refined-hero-kicker) {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .065em;
  color: #444;
}

body.sata-flagship :is(.demo-notice, .demo-caption, .newsletter-note,
  .sample-bag-caption, .campaign-credit, .campaign-status) {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.6;
  color: #444;
}

/* Compact navigation and utility text remain easy to read. */
body.sata-flagship .announcement-bar > a {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .025em;
}

body.sata-flagship .desktop-nav,
body.sata-flagship .desktop-nav ul {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
}

body.sata-flagship .menu-sheet .sheet-head h2 {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  color: #444;
}

body.sata-flagship .menu-sheet nav > a {
  min-height: 52px;
  padding-block: 14px;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}

body.sata-flagship :is(.collection-rail > a, .minimal-rail > a) {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: #303030;
}

body.sata-flagship :is(.woocommerce-breadcrumb, .breadcrumbs) {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  overflow-wrap: break-word;
}

body.sata-flagship :is(.collection-toolbar, .sort-label select,
  .woocommerce-result-count, .woocommerce-ordering select) {
  font-size: 14px;
  line-height: 1.5;
  color: #333;
}

body.sata-flagship .collection-toolbar .button-outline {
  font-size: 14px;
}

/* Homepage: clear hierarchy without adding more campaign panels. */
body.sata-flagship .refined-hero-copy h1,
body.sata-flagship .refined-hero-copy h2 {
  font-size: clamp(38px, 4.1vw, 58px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.035em;
}

body.sata-flagship .refined-hero-intro,
body.sata-flagship .master-hero-copy > p:not(.master-hero-kicker),
body.sata-flagship .campaign-copy > p:not(.eyebrow) {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

body.sata-flagship .minimal-home .refined-hero-copy .button {
  font-size: 14px;
  font-weight: 700;
}

body.sata-flagship :is(.minimal-section-head h2, .section-heading h2,
  .category-stories-heading h2, .minimal-story h2, .woocommerce-tabs h2,
  .related.products > h2, .upsells.products > h2, .cross-sells > h2,
  .cart_totals h2, .woocommerce-MyAccount-content h2,
  .woocommerce-customer-details h2, .woocommerce-order-details h2) {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.025em;
}

body.sata-flagship .minimal-section-head > span,
body.sata-flagship .section-intro {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

body.sata-flagship .minimal-edits .minimal-section-head h2 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .035em;
}

body.sata-flagship .minimal-edit-card > span {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

body.sata-flagship .minimal-story-copy > p:not(.master-hero-kicker),
body.sata-flagship .editorial-copy > p:not(.eyebrow) {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
}

body.sata-flagship :is(.refined-service-track h3, .minimal-services h3,
  .service-grid h3) {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.015em;
}

body.sata-flagship :is(.refined-service-track p, .minimal-services p,
  .service-grid p) {
  font-size: 14px;
  line-height: 1.55;
  color: #444;
}

/* Full product names wrap naturally; compact action buttons keep their size. */
body.sata-flagship .card-meta p,
body.sata-flagship .minimal-home .card-meta p {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: #444;
}

body.sata-flagship .card-meta h3,
body.sata-flagship .minimal-home .card-meta h3,
body.sata-flagship .curated-section .card-meta h3,
body.sata-flagship ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  color: #242424;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

body.sata-flagship ul.products li.product .price,
body.sata-flagship .sample-price {
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  color: #202020;
}

body.sata-flagship ul.products li.product .price del {
  font-size: 14px;
  font-weight: 400;
  color: #555;
  opacity: 1;
}

body.sata-flagship ul.products li.product .price ins {
  font-weight: 700;
  text-decoration: none;
}

body.sata-flagship ul.products li.product .button {
  /* The earlier compact-control layer sets these two declarations important. */
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 600;
  letter-spacing: 0;
}

body.sata-flagship :is(.showroom-enquiry, .minimal-home .showroom-enquiry,
  .quick-look, .minimal-home .quick-look, .quick-look-save,
  .quick-look-copy .text-link) {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #333;
}

body.sata-flagship .sample-tag,
body.sata-flagship span.onsale {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

body.sata-flagship .sample-price small,
body.sata-flagship .demo-detail-price small {
  font-size: 13px;
  line-height: 1.5;
  color: #444;
}

/* Product details and overlays. */
body.sata-flagship .woocommerce div.product .product_title,
body.sata-flagship.woocommerce div.product .product_title,
body.sata-flagship .demo-summary h1 {
  font-family: var(--heading);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}

body.sata-flagship .woocommerce div.product p.price,
body.sata-flagship .woocommerce div.product span.price,
body.sata-flagship.woocommerce div.product p.price,
body.sata-flagship.woocommerce div.product span.price,
body.sata-flagship .demo-detail-price {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #202020;
}

body.sata-flagship :is(.woocommerce-product-details__short-description,
  .woocommerce-Tabs-panel, .demo-summary .product-intro,
  .lookbook-availability, .product-accordions p,
  .quick-look-copy > p:not(.eyebrow)) {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
}

body.sata-flagship :is(.product_meta, .size-heading, .gallery-toolbar,
  .gallery-zoom, .product-sticky small, .product-sticky .sticky-size,
  .demo-product-sticky small, .demo-product-sticky .sticky-size) {
  font-size: 13px;
  line-height: 1.5;
  color: #444;
}

body.sata-flagship :is(.size-heading .text-link,
  .size-heading [data-selected-size], .demo-summary > .text-link,
  .product-accordions summary),
body.sata-flagship div.product .woocommerce-tabs ul.tabs li a {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #242424;
}

body.sata-flagship :is(.sample-size-note, .demo-feedback) {
  /* These helper messages also have important legacy font sizes. */
  font-size: 14px !important;
  line-height: 1.6;
  color: #444;
}

body.sata-flagship .product-sticky strong,
body.sata-flagship .demo-product-sticky strong {
  display: block;
  max-width: 100%;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.sata-flagship .product-sticky > div,
body.sata-flagship .demo-product-sticky > div {
  min-width: 0;
  flex: 1;
}

body.sata-flagship .product-sticky small,
body.sata-flagship .demo-product-sticky small {
  display: block;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.sata-flagship .product-sticky .button,
body.sata-flagship .demo-product-sticky .button,
body.sata-flagship .quick-look-copy .button {
  font-size: 14px;
}

body.sata-flagship .product-sticky .button,
body.sata-flagship .demo-product-sticky .button {
  flex-shrink: 0;
}

body.sata-flagship .sheet-head h2,
body.sata-flagship .quick-look-sheet .sheet-head h2 {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
}

body.sata-flagship .zoom-head h2 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
}

body.sata-flagship :is(.sheet form > label, .filter-options legend,
  .filter-options label, .demo-filter-options label, .zoom-head .text-link) {
  font-size: 14px;
  line-height: 1.5;
}

/* Information, legal and commerce pages use the same readable rhythm. */
body.sata-flagship :is(.page-heading h1, .woocommerce-products-header h1) {
  font-size: clamp(32px, 3.6vw, 46px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.03em;
}

body.sata-flagship :is(.page-content, .info-layout p, .contact-grid p,
  .contact-grid a, .faq-list p, .collection-enquiry-panel p,
  .empty-collection p, .demo-empty-saved, .not-found p,
  .woocommerce-MyAccount-content, .woocommerce-order-details,
  .woocommerce-customer-details, .woocommerce-order-overview,
  .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
}

body.sata-flagship :is(.page-content, .woocommerce-Tabs-panel) :is(p, li, td, th) {
  overflow-wrap: break-word;
}

body.sata-flagship :is(.page-content h2, .info-layout h2,
  .collection-enquiry-panel h2, .checkout-fields h2,
  .checkout-summary h2, .newsletter-copy h2) {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
}

body.sata-flagship :is(.page-content h3, .contact-grid h2,
  .journal-grid h2, .checkout-step h3) {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;
}

body.sata-flagship .faq-list summary {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

body.sata-flagship :is(.woocommerce form .form-row label,
  .checkout-input-grid label, .newsletter-entry label,
  .woocommerce-MyAccount-navigation li a, .checkout-total,
  .checkout-step p, .checkout-preview-note, .newsletter-copy p:not(.eyebrow),
  .woocommerce-error, .woocommerce-info, .woocommerce-message,
  .woocommerce table.shop_table, .woocommerce table.variations,
  .woocommerce table.variations label, .variations, .variations label) {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}

body.sata-flagship :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),
  select, textarea),
body.sata-flagship .woocommerce form .form-row :is(input.input-text, select, textarea),
body.sata-flagship .checkout-input-grid input,
body.sata-flagship .newsletter-field input {
  font-size: 16px;
  line-height: 1.5;
}

body.sata-flagship .demo-bag-line h3 {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
}

body.sata-flagship :is(.demo-bag-line p, .bag-summary > small,
  .quantity-control [data-cart-quantity]) {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
}

body.sata-flagship :is(.demo-bag-line [data-cart-subtotal], .bag-summary > p) {
  font-size: 16px;
  line-height: 1.5;
  color: #242424;
}

/* Footer information is real content, rather than fine print. */
body.sata-flagship .footer-brand .footer-tagline,
body.sata-flagship .footer-brand address,
body.sata-flagship .footer-brand .footer-contact-line,
body.sata-flagship .footer-brand > .text-link,
body.sata-flagship .footer-group-content a {
  font-size: 14px;
  font-style: normal;
  line-height: 1.75;
  color: #444;
  overflow-wrap: break-word;
}

body.sata-flagship .footer-group summary {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}

body.sata-flagship .footer-bottom {
  font-size: 13px;
  line-height: 1.6;
  color: #444;
}

@media (min-width: 701px) and (max-width: 1000px) {
  body.sata-flagship .refined-hero-copy h1,
  body.sata-flagship .refined-hero-copy h2 {
    font-size: 38px;
  }

  body.sata-flagship .refined-hero-intro {
    font-size: 15px;
  }
}

@media (max-width: 700px) {
  body.sata-flagship .product-sticky .button {
    font-size: 13px;
    gap: 8px;
    padding-inline: 12px;
  }

  body.sata-flagship .announcement-bar > a {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .01em;
  }

  body.sata-flagship .refined-hero-copy h1,
  body.sata-flagship .refined-hero-copy h2 {
    font-size: clamp(24px, 6.6vw, 30px);
    line-height: 1.15;
    letter-spacing: -.035em;
  }

  body.sata-flagship .minimal-home .refined-hero-copy .button {
    font-size: 13px;
    line-height: 18px;
    gap: 6px;
    padding-inline: 9px;
  }

  body.sata-flagship :is(.minimal-section-head h2, .section-heading h2,
    .category-stories-heading h2, .minimal-story h2, .page-content h2,
    .info-layout h2, .collection-enquiry-panel h2,
    .checkout-fields h2, .checkout-summary h2, .newsletter-copy h2,
    .woocommerce-tabs h2, .related.products > h2, .upsells.products > h2,
    .cross-sells > h2, .cart_totals h2, .woocommerce-MyAccount-content h2,
    .woocommerce-customer-details h2, .woocommerce-order-details h2) {
    font-size: 26px;
    line-height: 1.3;
  }

  body.sata-flagship .minimal-edits .minimal-section-head h2 {
    font-size: 15px;
  }

  body.sata-flagship .card-meta h3,
  body.sata-flagship .minimal-home .card-meta h3,
  body.sata-flagship .curated-section .card-meta h3,
  body.sata-flagship ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px;
    line-height: 1.45;
  }

  body.sata-flagship .woocommerce div.product .product_title,
  body.sata-flagship.woocommerce div.product .product_title,
  body.sata-flagship .demo-summary h1 {
    font-size: 28px;
    line-height: 1.23;
  }

  body.sata-flagship :is(.page-content h3, .contact-grid h2,
    .journal-grid h2, .checkout-step h3) {
    font-size: 22px;
  }

  body.sata-flagship .mobile-dock > a {
    color: #444;
  }

  body.sata-flagship .mobile-dock > a > span:last-child {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.015em;
  }

  body.sata-flagship .mobile-dock .dock-saved-count {
    font-size: 10px;
    font-weight: 700;
  }
}

@media (max-width: 359px) {
  body.sata-flagship .mobile-dock > a > span:last-child {
    font-size: 11px;
    letter-spacing: -.02em;
  }
}


/* Native product controls and tabs keep their labels visible on narrow screens. */
body.sata-flagship .twwr-container.twwr-woocommerce { display: none !important; }
body.sata-flagship div.product form.cart .variations_button { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.sata-flagship div.product form.cart .quantity { float: none; margin: 0 !important; flex: 0 0 70px; }
body.sata-flagship div.product form.cart button.single_add_to_cart_button { float: none; flex: 1; min-height: 52px; margin: 0; padding: 12px 18px; border: 1px solid #111; background: #111; color: #fff; font-size: 16px; font-weight: 700; }
body.sata-flagship div.product form.cart button.single_add_to_cart_button.disabled { background: #555; color: #fff; opacity: .65; }
body.sata-flagship .variable-items-wrapper .variable-item { min-width: 40px; min-height: 40px; font-size: 14px; }
body.sata-flagship div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0 20px; padding: 0; margin: 0 0 24px; overflow: visible; }
body.sata-flagship div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; padding: 0 !important; margin: 0 !important; }
body.sata-flagship div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 0; white-space: nowrap; }
body.sata-flagship div.product .woocommerce-tabs ul.tabs::before { display: none; }
body.sata-flagship .sata-product-support { font-size: 14px; margin-bottom: 24px; }
/* Cart and checkout blocks share the storefront's readable product scale. */
body.sata-flagship :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) { font-size: 16px; line-height: 1.6; color: #242424; }
body.sata-flagship :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-name { font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.45; letter-spacing: 0; }
body.sata-flagship :is(.wc-block-components-product-metadata,.wc-block-components-product-metadata__description) { font-size: 14px; line-height: 1.5; color: #444; }
body.sata-flagship :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-formatted-money-amount { font-size: 16px; }
body.sata-flagship :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-product-price__regular { font-size: 14px; }
body.sata-flagship :is(.wc-block-components-sale-badge,.wc-block-components-product-badge) { font-size: 13px; line-height: 1.4; }
body.sata-flagship .wc-block-components-button { font-family: var(--sans); font-size: 16px; font-weight: 700; min-height: 48px; }
body.sata-flagship .wc-block-cart__empty-cart__title::before { display: none; }
body.sata-flagship .wc-block-cart__empty-cart__title { padding-top: 0; margin-block: 0 28px; font-size: 24px; }
@media (max-width: 700px) {
  body.sata-flagship .wc-block-components-checkout-step__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
  body.sata-flagship .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title { float: none; margin: 0; font-size: 22px !important; line-height: 1.3; }
  body.sata-flagship .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-content { height: auto !important; min-height: 21px; flex: 0 0 auto; line-height: 1.5; }
  body.sata-flagship .wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt { position: static; display: inline-block; margin: 0 !important; line-height: 1.5; font-size: 14px; }
  body.sata-flagship .wc-block-components-checkout-step__heading-content { position: static; float: none; margin: 0; font-size: 14px; }
}

body.sata-flagship :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-name { font-size: 15px !important; }
body.sata-flagship :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-formatted-money-amount { font-size: 16px !important; }
@media (max-width: 700px) {
  body.sata-flagship .wp-block-woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 64px minmax(0, 1fr) !important; gap: 12px 16px; width: 100%; max-width: 100%; }
  body.sata-flagship .wp-block-woocommerce-cart .wc-block-cart-item__image { grid-column: 1 !important; grid-row: 1 / span 2 !important; width: 64px; padding: 0 !important; }
  body.sata-flagship .wp-block-woocommerce-cart .wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1 !important; min-width: 0; }
  body.sata-flagship .wp-block-woocommerce-cart .wc-block-cart-item__total { grid-column: 2 !important; grid-row: 2 !important; display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center; gap: 8px; min-width: 0; }
}


