/**
 * Tchatcha — typographie uniforme sur tout le site SPA
 * Chargé en dernier : même taille de lecture pour corps, cartes, listes, bandeaux.
 */
:root {
    --ht-text-uniform: 17px;
    --ht-text-uniform-sm: 16px;
    --ht-text-card-title: 18px;
    --ht-text-section: 28px;
    --ht-text-stat: 20px;
    --ht-text-line: 1.65;
}

/* ——— Base contenu SPA ——— */
body.ht-spa-active #ht-page-content {
    font-size: var(--ht-text-uniform) !important;
    line-height: var(--ht-text-line) !important;
}

body.ht-spa-active #ht-page-content p,
body.ht-spa-active #ht-page-content li,
body.ht-spa-active #ht-page-content .ht-prose,
body.ht-spa-active #ht-page-content .ht-section-sub,
body.ht-spa-active #ht-page-content .ht-lead,
body.ht-spa-active #ht-page-content .ht-page-premium .ht-section-sub,
body.ht-spa-active #ht-page-content .ht-page-premium .ht-lead,
body.ht-spa-active #ht-page-content .ht-page-premium p,
body.ht-spa-active #ht-page-content .ht-page-premium li,
body.ht-spa-active #ht-page-content .ht-room-card__desc,
body.ht-spa-active #ht-page-content .ht-room-card__tags li,
body.ht-spa-active #ht-page-content .ht-stats-band__label,
body.ht-spa-active #ht-page-content .ht-comfort-band strong,
body.ht-spa-active #ht-page-content .ht-comfort-band span,
body.ht-spa-active #ht-page-content .ht-amenities-pills li,
body.ht-spa-active #ht-page-content .ht-room-detail__extra,
body.ht-spa-active #ht-page-content .ht-info-list li,
body.ht-spa-active #ht-page-content .ht-amenities-list li,
body.ht-spa-active #ht-page-content .ht-feature-card p,
body.ht-spa-active #ht-page-content .ht-service-card p,
body.ht-spa-active #ht-page-content .ht-service-detail p,
body.ht-spa-active #ht-page-content .ht-service-detail .ht-lead,
body.ht-spa-active #ht-page-content .ht-menu-card__desc,
body.ht-spa-active #ht-page-content .ht-menu-card__price span,
body.ht-spa-active #ht-page-content .ht-gallery-hint,
body.ht-spa-active #ht-page-content .ht-event-card p,
body.ht-spa-active #ht-page-content .ht-split__body p,
body.ht-spa-active #ht-page-content .ht-about-intro__body p,
body.ht-spa-active #ht-page-content .ht-contact-hours,
body.ht-spa-active #ht-page-content .ht-contact-aside__tagline,
body.ht-spa-active #ht-page-content .ht-contact-emails li,
body.ht-spa-active #ht-page-content .ht-contact-map-note,
body.ht-spa-active #ht-page-content .ht-discover-card p,
body.ht-spa-active #ht-page-content .ht-spa-card p,
body.ht-spa-active #ht-page-content .ht-check-list li,
body.ht-spa-active #ht-page-content .ht-contact-list li,
body.ht-spa-active #ht-page-content .ht-reservation-aside__tagline,
body.ht-spa-active #ht-page-content .ht-reservation-preview__desc,
body.ht-spa-active #ht-page-content .ht-reservation-preview__dates,
body.ht-spa-active #ht-page-content .ht-article-page__meta,
body.ht-spa-active #ht-page-content .ht-article-page__body p,
body.ht-spa-active #ht-page-content .ht-article-page__body li {
    font-size: var(--ht-text-uniform) !important;
    line-height: var(--ht-text-line) !important;
}

/* Titres de section — un seul niveau cohérent */
body.ht-spa-active #ht-page-content .ht-section-title,
body.ht-spa-active #ht-page-content .ht-page-body h2.ht-section-title {
    font-size: var(--ht-text-section) !important;
    line-height: 1.25 !important;
}

/* Titres cartes / blocs */
body.ht-spa-active #ht-page-content .ht-room-card__body h3,
body.ht-spa-active #ht-page-content .ht-page-body h3,
body.ht-spa-active #ht-page-content .ht-card__body h3,
body.ht-spa-active #ht-page-content .ht-feature-card h3,
body.ht-spa-active #ht-page-content .ht-service-card h3,
body.ht-spa-active #ht-page-content .ht-menu-card__body h3,
body.ht-spa-active #ht-page-content .ht-event-card h3,
body.ht-spa-active #ht-page-content .ht-contact-card h3,
body.ht-spa-active #ht-page-content .ht-reservation-preview__room-title {
    font-size: var(--ht-text-card-title) !important;
    line-height: 1.35 !important;
}

/* Hero sous-titre = même corps que le reste */
body.ht-spa-active #ht-page-content .ht-page-hero .ht-hero-sub,
body.ht-spa-active #ht-page-content .ht-page-premium .ht-page-hero .ht-hero-sub {
    font-size: var(--ht-text-uniform) !important;
    line-height: var(--ht-text-line) !important;
}

/* Bandeau stats */
body.ht-spa-active #ht-page-content .ht-stats-band__value {
    font-size: var(--ht-text-stat) !important;
}

body.ht-spa-active #ht-page-content .ht-stats-band__label {
    font-size: var(--ht-text-uniform) !important;
}

/* Prix chambres */
body.ht-spa-active #ht-page-content .ht-room-card__price {
    font-size: var(--ht-text-uniform) !important;
}

body.ht-spa-active #ht-page-content .ht-room-card__price small {
    display: inline !important;
    font-size: var(--ht-text-uniform-sm) !important;
    margin-left: 0.2em;
}

body.ht-spa-active #ht-page-content .ht-price-badge {
    font-size: var(--ht-text-card-title) !important;
}

body.ht-spa-active #ht-page-content .ht-price-badge span {
    font-size: var(--ht-text-uniform) !important;
}

/* Pages spécifiques — annule les tailles 11–14px */
body.ht-spa-active #ht-page-content .ht-about-intro__body .ht-lead,
body.ht-spa-active #ht-page-content .ht-about-intro__body > p,
body.ht-spa-active #ht-page-content .ht-amenities-block .ht-amenities-list li,
body.ht-spa-active #ht-page-content .ht-contact-form-card .ht-lead,
body.ht-spa-active #ht-page-content .ht-service-detail .ht-lead,
body.ht-spa-active #ht-page-content .ht-restaurant-intro__body .ht-lead,
body.ht-spa-active #ht-page-content .ht-restaurant-intro__body p,
body.ht-spa-active #ht-page-content .ht-gallery-page .ht-lead,
body.ht-spa-active #ht-page-content .ht-gallery-page .ht-section-sub,
body.ht-spa-active #ht-page-content .ht-events-page .ht-lead,
body.ht-spa-active #ht-page-content .ht-discover-page .ht-lead,
body.ht-spa-active #ht-page-content .ht-spa-page .ht-lead,
body.ht-spa-active #ht-page-content .ht-services-page .ht-lead,
body.ht-spa-active #ht-page-content .ht-service-detail__contact,
body.ht-spa-active #ht-page-content .ht-services-free .ht-check-list li {
    font-size: var(--ht-text-uniform) !important;
    line-height: var(--ht-text-line) !important;
}

/* Boutons — lisibles et homogènes */
body.ht-spa-active #ht-page-content .ht-btn,
body.ht-spa-active #ht-page-content .ht-page-premium .ht-btn,
body.ht-spa-active #ht-page-content .ht-room-card__actions .ht-btn {
    font-size: var(--ht-text-uniform-sm) !important;
}

body.ht-spa-active #ht-page-content .ht-btn--lg {
    font-size: var(--ht-text-uniform) !important;
}

/* Formulaire réservation — consentement lisible (pas en micro-texte type libellé) */
body.ht-spa-active #ht-page-content .ht-field--checkbox,
body.ht-spa-active #ht-page-content .ht-field--checkbox .ht-field__consent {
    font-size: var(--ht-text-uniform-sm) !important;
    font-weight: 500 !important;
    line-height: var(--ht-text-line) !important;
    color: #606060 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

@media (max-width: 767px) {
    :root {
        --ht-text-uniform: 16px;
        --ht-text-uniform-sm: 15px;
        --ht-text-card-title: 17px;
        --ht-text-section: 24px;
        --ht-text-stat: 18px;
    }
}
