/*
   Responsive typography scale
   Breakpoint-based sizing keeps mobile and tablet text controlled without
   continuously scaling type with viewport width.
*/

body,
button,
input,
select,
textarea {
    letter-spacing: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

p,
li,
dd,
dt,
figcaption,
blockquote,
label,
small,
a,
button,
input,
select,
textarea {
    overflow-wrap: anywhere;
}

@media (max-width: 1919.98px) {
    body {
        font-size: 1rem !important;
        line-height: 1.6;
    }

    h1,
    .h1 {
        font-size: 3.25rem !important;
        line-height: 1.08;
    }

    h2,
    .h2 {
        font-size: 2.6rem !important;
        line-height: 1.12;
    }

    h3,
    .h3 {
        font-size: 2rem !important;
        line-height: 1.16;
    }

    h4,
    .h4 {
        font-size: 1.55rem !important;
        line-height: 1.22;
    }

    h5,
    .h5 {
        font-size: 1.18rem !important;
        line-height: 1.3;
    }

    h6,
    .h6 {
        font-size: 1rem !important;
        line-height: 1.35;
    }

    p,
    li,
    dd,
    dt,
    blockquote,
    .lead,
    .about-text,
    .store-copy,
    .customer-copy,
    .auth-copy,
    .auth-panel-copy,
    .auth-fine-print,
    .customer-card p,
    .store-product-card__copy,
    .store-highlight-list li,
    .privacy-policy-card p {
        font-size: 1rem !important;
        line-height: 1.7;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 4.75rem !important;
        line-height: 1.04;
        letter-spacing: 0 !important;
        max-width: 100%;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 2.8rem !important;
        line-height: 1.1;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 1599.98px) {
    body {
        font-size: 0.98rem !important;
    }

    h1,
    .h1 {
        font-size: 2.9rem !important;
    }

    h2,
    .h2 {
        font-size: 2.35rem !important;
    }

    h3,
    .h3 {
        font-size: 1.85rem !important;
    }

    h4,
    .h4 {
        font-size: 1.42rem !important;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 3.85rem !important;
        line-height: 1.05;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 2.45rem !important;
    }

    .navbar-nav .nav-link,
    .offcanvas-body .nav-link,
    .search-text,
    .dropdown-item,
    .store-button,
    .store-button-secondary,
    .store-link-inline,
    .store-chip,
    .store-results,
    .store-size-pill,
    .store-filter-pill,
    .store-pdp-pill,
    .customer-button,
    .customer-button--ghost,
    .customer-button--soft,
    .customer-subnav__link,
    .auth-submit,
    .auth-helper-link,
    .auth-inline-link,
    .auth-back-link,
    .btn-common,
    .btn-load-more,
    .cookie-consent__button {
        font-size: 0.82rem !important;
        line-height: 1.3;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 1399.98px) {
    body {
        font-size: 0.96rem !important;
    }

    h1,
    .h1 {
        font-size: 2.55rem !important;
    }

    h2,
    .h2 {
        font-size: 2.1rem !important;
    }

    h3,
    .h3 {
        font-size: 1.68rem !important;
    }

    h4,
    .h4 {
        font-size: 1.32rem !important;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 3.15rem !important;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 2.18rem !important;
    }
}

@media (max-width: 1199.98px) {
    body {
        font-size: 0.96rem !important;
        line-height: 1.6;
    }

    h1,
    .h1 {
        font-size: 2.35rem !important;
        line-height: 1.08;
    }

    h2,
    .h2 {
        font-size: 1.95rem !important;
        line-height: 1.12;
    }

    h3,
    .h3 {
        font-size: 1.55rem !important;
        line-height: 1.18;
    }

    h4,
    .h4 {
        font-size: 1.25rem !important;
        line-height: 1.24;
    }

    h5,
    .h5 {
        font-size: 1.1rem !important;
        line-height: 1.3;
    }

    h6,
    .h6 {
        font-size: 1rem !important;
        line-height: 1.35;
    }

    p,
    li,
    dd,
    dt,
    blockquote,
    .lead,
    .about-text,
    .store-copy,
    .customer-copy,
    .auth-copy,
    .auth-panel-copy,
    .auth-fine-print,
    .customer-card p,
    .store-product-card__copy,
    .store-highlight-list li,
    .privacy-policy-card p {
        font-size: 1rem !important;
        line-height: 1.7;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 2.75rem !important;
        line-height: 1.04;
        letter-spacing: 0 !important;
        max-width: 100%;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 2rem !important;
        line-height: 1.1;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 991.98px) {
    body {
        font-size: 1rem !important;
    }

    h1,
    .h1 {
        font-size: 2.35rem !important;
    }

    h2,
    .h2 {
        font-size: 1.95rem !important;
    }

    h3,
    .h3 {
        font-size: 1.55rem !important;
    }

    h4,
    .h4 {
        font-size: 1.25rem !important;
    }

    h5,
    .h5 {
        font-size: 1.05rem !important;
    }

    h6,
    .h6 {
        font-size: 0.95rem !important;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 2.75rem !important;
        line-height: 1.05;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 2.05rem !important;
        line-height: 1.12;
    }

    .navbar-nav .nav-link,
    .offcanvas-body .nav-link,
    .search-text,
    .dropdown-item,
    .store-button,
    .store-button-secondary,
    .store-link-inline,
    .store-chip,
    .store-results,
    .store-size-pill,
    .store-filter-pill,
    .store-pdp-pill,
    .customer-button,
    .customer-button--ghost,
    .customer-button--soft,
    .customer-subnav__link,
    .auth-submit,
    .auth-helper-link,
    .auth-inline-link,
    .auth-back-link,
    .btn-common,
    .btn-load-more,
    .cookie-consent__button {
        font-size: 0.84rem !important;
        line-height: 1.3;
        letter-spacing: 0 !important;
    }

    .auth-kicker,
    .auth-panel-tag,
    .auth-chip,
    .customer-kicker,
    .customer-section-label,
    .customer-hero-card__label,
    .customer-address-card__eyebrow,
    .customer-mini-stat__label,
    .customer-legend,
    .customer-field label,
    .customer-address-form-section__title,
    .store-kicker,
    .store-category-card__eyebrow,
    .store-editorial-card__eyebrow,
    .store-product-card__eyebrow,
    .store-feature-panel__eyebrow,
    .store-pdp-meta__eyebrow,
    .store-pdp-label,
    .contact-section-title {
        font-size: 0.76rem !important;
        line-height: 1.35;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 1rem !important;
        line-height: 1.62;
    }

    h1,
    .h1 {
        font-size: 2rem !important;
        line-height: 1.08;
    }

    h2,
    .h2 {
        font-size: 1.7rem !important;
        line-height: 1.14;
    }

    h3,
    .h3 {
        font-size: 1.38rem !important;
        line-height: 1.2;
    }

    h4,
    .h4 {
        font-size: 1.15rem !important;
        line-height: 1.26;
    }

    h5,
    .h5 {
        font-size: 1rem !important;
    }

    h6,
    .h6 {
        font-size: 0.92rem !important;
    }

    p,
    li,
    dd,
    dt,
    blockquote,
    label,
    input,
    select,
    textarea,
    .lead,
    .about-text,
    .store-copy,
    .customer-copy,
    .auth-copy,
    .auth-panel-copy,
    .auth-fine-print,
    .customer-card p,
    .store-product-card__copy,
    .store-highlight-list li,
    .privacy-policy-card p {
        font-size: 1rem !important;
        line-height: 1.68;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 2.25rem !important;
        line-height: 1.06;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 1.78rem !important;
        line-height: 1.14;
    }

    .auth-story-card h3,
    .auth-secondary-box h3,
    .auth-success-card h3,
    .auth-helper-card h3,
    .auth-status-card h3,
    .customer-card h3,
    .customer-line-item__title,
    .customer-order-card__title,
    .customer-address-item__title,
    .store-category-card h3,
    .store-editorial-card h3,
    .store-feature-panel h3,
    .store-details-card h3,
    .store-note-panel h3,
    .store-product-card__title {
        font-size: 1.2rem !important;
        line-height: 1.2;
    }

    .product-title,
    .store-pdp-selection strong,
    .customer-hero-card strong,
    .store-stat-card strong,
    .auth-stat-value,
    .customer-mini-stat strong {
        font-size: 1.45rem !important;
        line-height: 1.12;
    }

    .store-button,
    .store-button-secondary,
    .store-link-inline,
    .store-chip,
    .store-results,
    .store-size-pill,
    .store-filter-pill,
    .store-pdp-pill,
    .customer-button,
    .customer-button--ghost,
    .customer-button--soft,
    .customer-subnav__link,
    .auth-submit,
    .btn-common,
    .btn-load-more,
    .cookie-consent__button {
        font-size: 0.78rem !important;
        line-height: 1.28;
    }

    .small,
    small,
    .newsletter-consent,
    .newsletter-feedback,
    .product-content h5,
    .product-content span,
    .store-product-card__badge,
    .store-product-card__price,
    .store-pdp-price,
    .store-hero__panel p,
    .customer-data-list__item span,
    .customer-meta,
    .customer-note,
    .customer-caption,
    .auth-message,
    .auth-form-tips,
    .auth-session-row span,
    .auth-session-row strong {
        font-size: 0.88rem !important;
        line-height: 1.5;
    }
}

@media (max-width: 575.98px) {
    h1,
    .h1 {
        font-size: 1.88rem !important;
    }

    h2,
    .h2 {
        font-size: 1.55rem !important;
    }

    h3,
    .h3 {
        font-size: 1.28rem !important;
    }

    .display-1,
    .main-title,
    .about-title,
    .auth-display,
    .customer-title,
    .customer-dashboard__title,
    .customer-address-dashboard__title,
    .store-title {
        font-size: 2rem !important;
        line-height: 1.07;
    }

    .store-title--section,
    .hero-subtitle,
    .auth-panel-header h2,
    .customer-card h2,
    .customer-empty h2,
    .customer-auth-gate h2,
    .store-pdp-header h1,
    .customer-address-editor__intro h2,
    .customer-address-list-panel__header h2 {
        font-size: 1.6rem !important;
    }

    .navbar-nav .nav-link,
    .offcanvas-body .nav-link,
    .search-text,
    .dropdown-item,
    .store-button,
    .store-button-secondary,
    .store-link-inline,
    .store-chip,
    .store-results,
    .store-size-pill,
    .store-filter-pill,
    .store-pdp-pill,
    .customer-button,
    .customer-button--ghost,
    .customer-button--soft,
    .customer-subnav__link,
    .auth-submit,
    .btn-common,
    .btn-load-more,
    .cookie-consent__button {
        font-size: 0.75rem !important;
    }
}
