/**
 * Typography CSS — De Anciola
 * Gestion globale de tous les éléments typographiques.
 * La police Sarabun est chargée via functions.php (wp_head).
 *
 * @package deanciola
 * @version 3.0.1
 */

/* Application globale sur tout le site */
html,
body,
input,
textarea,
select,
button {
    font-family: 'Sarabun', sans-serif !important;
}

/* Écrase les polices Elementor et Kadence */
.elementor-widget-container,
.elementor-heading-title,
.elementor-text-editor,
.elementor *,
.e-con *,
[class*="elementor"] {
    font-family: 'Sarabun', sans-serif !important;
}

/* ========================================
   TITRES
   ======================================== */

h1, .h1 {
    font-family: var(--font-primary) !important;
    font-size: 3em !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    text-wrap: balance;
}

h2, .h2 {
    font-family: var(--font-primary) !important;
    font-size: 2.5em !important;
    font-weight: 200 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    text-wrap: balance;
}

h3, .h3 {
    font-family: var(--font-primary) !important;
    font-size: 2em !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

h4, .h4 {
    font-family: var(--font-primary) !important;
    font-size: 1.5em !important;
    font-weight: 100 !important;
    line-height: 1.4 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

h5, .h5 {
    font-family: var(--font-primary) !important;
    font-size: 1.25em !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

h6, .h6 {
    font-family: var(--font-primary) !important;
    font-size: 1em !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-bottom: 0.5rem !important;
}

/* ========================================
   PARAGRAPHES
   ======================================== */

p {
    font-family: var(--font-primary) !important;
    font-size: 1.2em !important;
    font-weight: 200 !important;
    line-height: 1.6 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-bottom: 1rem !important;
    text-wrap: pretty;
}

p.lead,
.entry-content > p:first-child {
    font-size: 1.125em !important;
    line-height: 1.7 !important;
}

p.small {
    font-size: 0.875em !important;
    line-height: 1.5 !important;
}

/* ========================================
   SPAN
   ======================================== */

span {
    font-family: var(--font-primary) !important;
    font-size: 1em !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

/* ========================================
   LIENS
   ======================================== */

a {
    font-family: inherit !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

p a {
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

p a:hover {
    text-decoration-thickness: 2px !important;
}

/* ========================================
   LISTES
   ======================================== */

ul, ol {
    font-family: var(--font-primary) !important;
    font-size: 1em !important;
    font-weight: 300 !important;
    margin-block-start: 0 !important;
}

li {
    margin-bottom: 0 !important;
}

/* ========================================
   WOOCOMMERCE
   ======================================== */

.woocommerce-message {
    font-family: var(--font-primary);
    font-weight: 200;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media screen and (max-width: 1024px) {
    h1, .h1 { font-size: 3em !important; }
    h2, .h2 { font-size: 2.25em !important; }
    h3, .h3 { font-size: 1.75em !important; }
    h4, .h4 { font-size: 1.35em !important; }
    h5, .h5 { font-size: 1.15em !important; }
}

@media screen and (max-width: 768px) {
    h1, .h1 { font-size: 2.5em !important; }
    h2, .h2 { font-size: 2em !important; }
    h3, .h3 { font-size: 1.5em !important; }
    h4, .h4 { font-size: 1.25em !important; }
    h5, .h5 { font-size: 1.1em !important; }
    h6, .h6 { font-size: 1em !important; }
    p       { font-size: 0.95em !important; line-height: 1.7 !important; }
    span    { font-size: 1em !important; }
}

@media screen and (max-width: 480px) {
    h1, .h1 { font-size: 2em !important; }
    h2, .h2 { font-size: 1.75em !important; }
    h3, .h3 { font-size: 1.35em !important; }
    h4, .h4 { font-size: 1.15em !important; }
    p       { font-size: 0.9em !important; }
    span    { font-size: 1em !important; }
}
