/* Warm red footer with clear, soft-white content. */
.footer.footer-premium{--fp-ink:#fffaf4;--fp-muted:#f2dcd6;--fp-gold:#ffdb9d;background:#af292d;color:var(--fp-ink);border-top-color:#a22428}
.footer-premium .fp-intro,.footer-premium .fp-bottom,.footer-premium .fp-visit{border-color:#ffffff30}
.footer-premium .fp-intro h2{color:#fffaf4}.footer-premium .fp-intro h2 span{color:#ffdc9e}
.footer-premium .fp-intro p,.footer-premium .fp-brand-col p{color:#f2dcd6}
.footer-premium .fp-brand,.footer-premium .fp-grid h3,.footer-premium .fp-info strong{color:#fffaf4}
.footer-premium .fp-brand small,.footer-premium .fp-brand-mark svg,.footer-premium .fp-info>svg,.footer-premium .fp-call svg{color:#ffdb9d}
.footer-premium .fp-eyebrow,.footer-premium .fp-label{color:#ffe0ad}
.footer-premium .fp-links>a{color:#f4e1dc}.footer-premium .fp-links>a>span:last-child{color:#edb9a9}.footer-premium .fp-links>a:hover{color:#ffdc9e}
.footer-premium .fp-contact small,.footer-premium .fp-info address,.footer-premium .fp-hours dl{color:#f2dcd6}
.footer-premium .fp-hours dl>div:last-child dd{color:#ffdfad}
.footer-premium .fp-map,.footer-premium .fp-contact-page{color:#ffe1ac;border-color:#ffffff40}
.footer-premium .fp-bottom,.footer-premium .fp-domain{color:#eed5cd}.footer-premium .fp-backtop{color:#fff6e6}
.footer-premium .social-links>.contact-social{background:#fffaf4;border-color:#fffaf4}
.footer-premium .social-links>.contact-social:hover{background:#fff;box-shadow:0 5px 15px #65151930}
.footer-premium a:focus-visible{outline-color:#ffe1a2}
/* Shared type scale for the redesigned storefront, including mobile screens. */
body {
    font-size: 17px;
    line-height: 1.85;
}

body main p,
body main address,
body main li,
body .detail-description,
body .detail-description p,
body .detail-description td,
body .detail-description th {
    font-size: 17px !important;
    line-height: 1.9 !important;
    color: #52665f;
}

body .premium-content p {
    font-size: 18px !important;
    color: #435b55 !important;
}

body main small,
body main label,
body main time,
body main .shop-small-note,
body main .shop-field small,
body main .register-form .shop-field > small,
body main .catalog-breadcrumb,
body main .catalog-card-body > small,
body main .account-stats span,
body main .account-order-help,
body main .account-identity > small,
body main .detail-copy-hint,
body main .detail-enquiry-label,
body main .detail-message summary,
body main .detail-copy-status,
body main .gallery-note,
body main .story-list p {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #617269 !important;
}

body main .account-status {
    font-size: 14px !important;
    line-height: 1.8 !important;
}

body .story-copy > p,
body .section-intro > p,
body .catalog-intro p,
body .catalog-empty p,
body .detail-description p,
body .detail-enquiry > p,
body .shop-auth-intro > p,
body .shop-heading > p,
body .account-heading > p,
body .register-panel-heading p,
body .register-success p,
body .faq details > p {
    color: #52665f !important;
}

body .eyebrow,
body .premium-kicker,
body .catalog-eyebrow,
body .shop-eyebrow,
body .register-step,
body .photo-label,
body .premium-material > small {
    font-size: 14px !important;
    line-height: 1.7 !important;
    letter-spacing: 1.2px !important;
}

body .services strong,
body .material-info h3,
body .product-info h3,
body .catalog-card h3,
body .register-benefits strong {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

body .services small {
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #617269 !important;
}

body .button,
body main button,
body .text-link,
body .product-detail,
body .premium-consult,
body .premium-material > a,
body .catalog-detail,
body .catalog-enquire,
body .catalog-help,
body .catalog-reset,
body .catalog-category-list > a,
body .catalog-empty-help,
body .catalog-pagination > a,
body .shop-button,
body .shop-secondary,
body .shop-text-link,
body .shop-summary-help,
body .account-detail-button,
body .account-order-filters > a,
body .account-sidebar nav > a,
body .account-sidebar nav span,
body .account-section-heading > a,
body .account-pagination a,
body .register-signin,
body .register-help,
body .detail-line,
body .detail-phone,
body .detail-tabs a,
body .faq summary {
    font-size: 15px !important;
    line-height: 1.7 !important;
}

body main input,
body main select,
body main textarea,
body main input::placeholder {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

body .enhanced-header .nav > a,
body .enhanced-header .header-quote,
body .language-switch > a {
    font-size: 15px !important;
}

body .enhanced-header .nav > a {
    padding-inline: 10px;
}

body .topbar {
    font-size: 14px !important;
}

body .footer-premium p,
body .footer-premium address,
body .footer-premium small,
body .footer-premium .fp-hours dl,
body .footer-premium .fp-label,
body .footer-premium .fp-bottom,
body .footer-premium .fp-eyebrow,
body .footer-premium .fp-domain,
body .footer-premium .fp-backtop {
    font-size: 14px !important;
    line-height: 1.85 !important;
}

body .footer-premium .fp-links > a,
body .footer-premium .fp-map,
body .footer-premium .fp-contact-page,
body .footer-premium .fp-grid h3 {
    font-size: 16px !important;
    line-height: 1.8 !important;
}

body .catalog-card-actions {
    flex-wrap: wrap;
    gap: 10px;
}

body .catalog-card h3,
body .product-info h3 {
    min-height: 0;
    height: auto;
    -webkit-line-clamp: unset;
}

body .account-order-top,
body .account-order-bottom {
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 760px) {
    body main p,
    body main address,
    body main li,
    body .detail-description,
    body .detail-description p {
        font-size: 16px !important;
    }

    body .premium-content p {
        font-size: 17px !important;
    }

    body .app-tab {
        font-size: 13px !important;
        line-height: 1.35;
    }

    body .app-tab > span {
        overflow-wrap: anywhere;
    }

    body .register-benefits strong {
        font-size: 14px !important;
    }

    body .account-stats {
        grid-template-columns: 1fr;
    }

    body .account-stats > a {
        padding: 18px;
    }

    body .catalog-category-list > a,
    body .catalog-card-body > small {
        white-space: normal;
    }

    body .services > div {
        align-items: start;
    }

    body .register-password input {
        padding-right: 75px;
    }
}
