/**
 * Shop4Moms - Typographies & Couleurs
 * Applique les variables CSS aux éléments du site
 */

/* ============================
   TEXTE COURANT (body)
   ============================ */
body,
body p,
body span:not(.featured-badge):not(.featured-discount-badge):not(.featured-happy-badge):not(.slide-button),
body li,
body td,
body th,
body label,
body input,
body textarea,
body select,
.container,
.content,
.product-description,
#main {
    font-family: var(--s4m-font-body) !important;
    font-weight: var(--s4m-weight-body) !important;
    color: var(--s4m-color-body) !important;
}

body {
    font-size: var(--s4m-size-body) !important;
    line-height: 1.6 !important;
}

/* Strong / gras */
body strong,
body b,
body .font-weight-bold,
body .fw-bold {
    font-weight: 600 !important;
}

/* ============================
   TITRES (H1, H2, H3, H4, H5, H6)
   ============================ */
body h1, body h2, body h3, body h4, body h5, body h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-title,
.product-title,
.block-title,
.section-title {
    font-family: var(--s4m-font-headings) !important;
    font-weight: var(--s4m-weight-headings) !important;
    color: var(--s4m-color-headings) !important;
    line-height: 1.2 !important;
}

body h1, .h1, .page-title {
    font-size: var(--s4m-size-h1) !important;
}

body h2, .h2 {
    font-size: var(--s4m-size-h2) !important;
}

body h3, .h3 {
    font-size: var(--s4m-size-h3) !important;
}

body h4, .h4 {
    font-size: calc(var(--s4m-size-h3) * 0.85) !important;
}

body h5, .h5 {
    font-size: calc(var(--s4m-size-h3) * 0.75) !important;
}

body h6, .h6 {
    font-size: calc(var(--s4m-size-h3) * 0.65) !important;
}

/* ============================
   LIENS
   ============================ */
body a:not(.btn):not(.button):not(.featured-arrow):not(.featured-wishlist):not(.slide-button):not(.slide-link) {
    color: var(--s4m-color-links) !important;
    transition: color 0.2s ease !important;
}

body a:not(.btn):not(.button):not(.featured-arrow):not(.featured-wishlist):not(.slide-button):not(.slide-link):hover {
    color: var(--s4m-color-links-hover) !important;
}

/* ============================
   BOUTONS
   ============================ */
body .btn,
body .button,
body button.btn-primary,
body input[type="submit"],
body .btn-primary,
body .add-to-cart,
body .cart-content-btn .btn {
    font-family: var(--s4m-font-buttons) !important;
    font-weight: var(--s4m-weight-buttons) !important;
}

body .btn-primary,
body .button.btn-primary,
body button.btn-primary,
body .add-to-cart,
body input[type="submit"].btn-primary {
    background-color: var(--s4m-color-buttons-bg) !important;
    border-color: var(--s4m-color-buttons-bg) !important;
    color: var(--s4m-color-buttons-text) !important;
    transition: all 0.2s ease !important;
}

body .btn-primary:hover,
body .button.btn-primary:hover,
body button.btn-primary:hover,
body .add-to-cart:hover,
body input[type="submit"].btn-primary:hover {
    background-color: var(--s4m-color-links-hover) !important;
    border-color: var(--s4m-color-links-hover) !important;
    color: var(--s4m-color-buttons-text) !important;
}

/* ============================
   RESPONSIVE - Tailles plus petites sur mobile
   ============================ */
@media (max-width: 768px) {
    body h1, .h1, .page-title {
        font-size: calc(var(--s4m-size-h1) * 0.7) !important;
    }
    body h2, .h2 {
        font-size: calc(var(--s4m-size-h2) * 0.75) !important;
    }
    body h3, .h3 {
        font-size: calc(var(--s4m-size-h3) * 0.85) !important;
    }
}

/* ============================
   EXCEPTIONS - Éléments à ne pas toucher
   ============================ */
.shop4moms-featured .featured-title,
.shop4moms-featured .featured-subtitle,
.shop4moms-featured .featured-price,
.shop4moms-featured .featured-price-old,
.shop4moms-featured .featured-name,
.shop4moms-featured .featured-brand,
.shop4moms-slider-wrapper .slide-title,
.shop4moms-slider-wrapper .slide-subtitle,
.shop4moms-slider-wrapper .slide-description {
    font-family: var(--s4m-font-headings), var(--s4m-font-body) !important;
}

/* Code et pre - laisser monospace */
body code, body pre, body kbd {
    font-family: 'Courier New', monospace !important;
}
