/* Shared page-title scale; homepage and product titles have their own rules. */
html body:not(.home):not(.single-product) main h1,
html body:not(.home):not(.single-product) main h1.page-title,
html body:not(.home):not(.single-product) main .rz-sale-page__header h1 {
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
    font-size: clamp(28px, 2.8vw, 36px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.025em;
    margin: 0 0 24px;
    overflow-wrap: anywhere;
}

html body:not(.home) main .woocommerce-products-header {
    margin-bottom: 24px;
}

html body:not(.home) main .woocommerce-info,
html body:not(.home) main .woocommerce-message,
html body:not(.home) main .woocommerce-error {
    font-size: 15px;
}
:root {
    /* RZHomestore brand */
    --rz-brand-red: #eb5956;
    --rz-brand-red-dark: #d94d4a;
    --rz-charcoal: #343435;

    /* Neutrals */
    --rz-text: #202124;
    --rz-text-soft: #55585d;
    --rz-muted: #72767d;
    --rz-bg: #ffffff;
    --rz-bg-soft: #f7f8fa;
    --rz-border: #e5e7eb;

    /* Layout */
    --rz-container: 1240px;
    --rz-container-wide: 1360px;

    /* Spacing */
    --rz-space-1: 4px;
    --rz-space-2: 8px;
    --rz-space-3: 12px;
    --rz-space-4: 16px;
    --rz-space-5: 24px;
    --rz-space-6: 32px;
    --rz-space-7: 48px;
    --rz-space-8: 64px;
    --rz-space-9: 88px;

    /* Shape */
    --rz-radius-sm: 8px;
    --rz-radius-md: 14px;
    --rz-radius-lg: 22px;

    /* Shadows */
    --rz-shadow-soft: 0 8px 30px rgba(32, 33, 36, 0.07);

    /* Motion */
    --rz-transition: 180ms ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: var(--rz-bg);
    color: var(--rz-text);
    font-family:
        "Montserrat",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
    transition:
        color var(--rz-transition),
        background-color var(--rz-transition),
        border-color var(--rz-transition),
        opacity var(--rz-transition);
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Montserrat Alternates", "Montserrat", sans-serif;
    color: var(--rz-text);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

h1 {
    font-size: clamp(2.35rem, 5vw, 4.6rem);
}

h2 {
    font-size: clamp(1.9rem, 3.2vw, 3rem);
}

h3 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

p {
    color: var(--rz-text-soft);
}

.rz-container {
    width: min(calc(100% - 48px), var(--rz-container));
    margin-inline: auto;
}

.rz-container--wide {
    width: min(calc(100% - 48px), var(--rz-container-wide));
    margin-inline: auto;
}

.rz-section {
    padding-block: var(--rz-space-9);
}

.rz-section--soft {
    background: var(--rz-bg-soft);
}

.rz-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: var(--rz-radius-sm);
    background: var(--rz-brand-red);
    color: #fff;
    font-weight: 700;
    line-height: 1;
}

.rz-button:hover {
    background: var(--rz-brand-red-dark);
    color: #fff;
}

.rz-button--dark {
    background: var(--rz-charcoal);
}

.rz-button--dark:hover {
    background: #202021;
}

.rz-button--outline {
    border-color: var(--rz-charcoal);
    background: transparent;
    color: var(--rz-charcoal);
}

.rz-button--outline:hover {
    background: var(--rz-charcoal);
    color: #fff;
}

.rz-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    z-index: 100000;
    top: 8px;
    left: 8px;
    width: auto;
    height: auto;
    padding: 12px 16px;
    margin: 0;
    clip: auto;
    overflow: visible;
    background: #fff;
    color: var(--rz-charcoal);
    border: 2px solid var(--rz-brand-red);
    border-radius: var(--rz-radius-sm);
    font-weight: 700;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(235, 89, 86, 0.38);
    outline-offset: 3px;
}

::selection {
    background: var(--rz-brand-red);
    color: #fff;
}

/* RZ commerce page-title refinement */
html body:is(.woocommerce-cart, .woocommerce-checkout):not(.home):not(.single-product) main h1 {
    font-size: clamp(26px, 2.4vw, 30px);
    line-height: 1.25;
    margin-bottom: 18px;
}
