/**
 * Boutons Tchatcha — police et tailles identiques partout (SPA + pages premium)
 */
body.ht-spa-active #ht-page-content a.ht-btn,
body.ht-spa-active #ht-page-content button.ht-btn,
body.ht-spa-active #ht-page-content .ht-btn,
#ht-page-content.ht-home a.ht-btn,
#ht-page-content.ht-home button.ht-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    text-decoration: none !important;
    padding: 0.85rem 1.55rem !important;
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-font-smoothing: antialiased;
}

body.ht-spa-active #ht-page-content a.ht-btn--lg,
body.ht-spa-active #ht-page-content button.ht-btn--lg,
body.ht-spa-active #ht-page-content .ht-page-cta .ht-btn,
body.ht-spa-active #ht-page-content .ht-page-cta a.ht-btn {
    font-size: 14px !important;
    padding: 0.9rem 1rem !important;
    min-height: 48px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

body.ht-spa-active #ht-page-content a.ht-btn--gold,
body.ht-spa-active #ht-page-content button.ht-btn--gold {
    background: #deb666 !important;
    color: #fff !important;
    border-color: #deb666 !important;
    box-shadow: 0 4px 16px rgba(222, 182, 102, 0.35) !important;
}

body.ht-spa-active #ht-page-content a.ht-btn--gold:hover,
body.ht-spa-active #ht-page-content button.ht-btn--gold:hover {
    background: #b69854 !important;
    border-color: #b69854 !important;
    color: #fff !important;
}

body.ht-spa-active #ht-page-content a.ht-btn--dark,
body.ht-spa-active #ht-page-content button.ht-btn--dark {
    background: #2d2d2d !important;
    color: #fff !important;
    border-color: #2d2d2d !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

body.ht-spa-active #ht-page-content a.ht-btn--dark:hover,
body.ht-spa-active #ht-page-content button.ht-btn--dark:hover {
    background: #454545 !important;
    border-color: #454545 !important;
    color: #fff !important;
}

body.ht-spa-active #ht-page-content a.ht-btn--primary,
body.ht-spa-active #ht-page-content button.ht-btn--primary {
    background: #deb666 !important;
    color: #fff !important;
    border-color: #deb666 !important;
}

body.ht-spa-active #ht-page-content .ht-page-cta,
body.ht-spa-active #ht-page-content .ht-page-premium .ht-page-cta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 1rem !important;
    max-width: 720px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 2.5rem !important;
    padding-top: 2rem !important;
    border-top: 1px solid #eee !important;
    text-align: center !important;
    flex-wrap: nowrap !important;
}

/* Un seul bouton dans le bandeau : une colonne centrée */
body.ht-spa-active #ht-page-content .ht-page-cta:not(:has(a.ht-btn + a.ht-btn)):not(:has(button.ht-btn + .ht-btn)):not(:has(.ht-btn + button.ht-btn)) {
    grid-template-columns: 1fr !important;
    max-width: 320px !important;
}

body.ht-spa-active #ht-page-content .ht-page-cta--inline {
    display: block !important;
    grid-template-columns: none !important;
    max-width: none !important;
    justify-content: flex-start !important;
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 1.25rem !important;
}

body.ht-spa-active #ht-page-content .ht-page-cta--inline .ht-btn {
    width: auto !important;
    display: inline-flex !important;
}

body.ht-spa-active #ht-page-content .ht-page-cta .ht-btn i,
body.ht-spa-active #ht-page-content a.ht-btn i {
    font-family: FontAwesome !important;
    font-size: 14px !important;
    font-weight: normal !important;
}

/* Cartes chambres : boutons plus compacts mais même police */
body.ht-spa-active #ht-page-content .ht-room-card__actions .ht-btn,
body.ht-spa-active #ht-page-content .ht-room-detail__actions .ht-btn,
body.ht-spa-active #ht-page-content .ht-service-core-card .ht-btn {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0.7rem 1.15rem !important;
    font-size: 13px !important;
}

body.ht-spa-active #ht-page-content .ht-room-card__actions .ht-btn--outline {
    background: transparent !important;
    color: #606060 !important;
    border-color: #deb666 !important;
    box-shadow: none !important;
}

body.ht-spa-active #ht-page-content .ht-room-card__actions .ht-btn--outline:hover {
    background: #faf6ee !important;
    color: #606060 !important;
}

body.ht-zante-home #main_menu .menu_button .ht-btn-reserve-gold,
body.ht-zante-home #main_menu .menu_button a.ht-btn-reserve-gold {
    font-family: 'Nunito', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
}

@media (max-width: 520px) {
    body.ht-spa-active #ht-page-content .ht-page-cta:not(.ht-page-cta--inline):has(a.ht-btn + a.ht-btn) {
        grid-template-columns: 1fr !important;
        max-width: 320px !important;
    }

    body.ht-spa-active #ht-page-content .ht-page-cta .ht-btn,
    body.ht-spa-active #ht-page-content .ht-page-cta a.ht-btn {
        font-size: 13px !important;
        padding: 0.85rem 0.75rem !important;
    }
}
