/*
 * CSP – Réservation mobile premium (Informations) v0.1.2
 * Portée : entrée responsive et phase Informations, page Réservation uniquement.
 * Aucun JavaScript, aucun identifiant fonctionnel et aucune logique métier modifiée.
 */

/* Harmonisation de l’entrée éditoriale avec Contact et Règles :
 * marge supérieure restaurée et augmentée pour éviter toute coupure sous la navbar,
 * sans toucher au calendrier. */
@media (max-width: 768px) {
    #csp-booking-app {
        padding-top: calc(7.05rem + env(safe-area-inset-top, 0px)) !important;
    }
}

@media (min-width: 769px) {
    #csp-booking-app {
        padding-top: calc(6.8rem + env(safe-area-inset-top, 0px)) !important;
    }
}

@media (max-width: 600px) {
    #csp-step-2 .csp-form-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding: 1.35rem 1rem 1.5rem;
    }

    #csp-step-2 .csp-form-panel > h3 {
        margin-bottom: 1.15rem !important;
    }

    /* Un seul écrin : la Carte cadeau devient une surface intégrée. */
    #csp-step-2 #csp-gift-card-section {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        margin: 0 0 1.45rem !important;
        padding: 1rem 0 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-top: 1px solid rgba(201, 168, 76, 0.28) !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    #csp-step-2 #csp-gift-card-section > div[style*="gap:8px"] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0.65rem !important;
        width: 100%;
        min-width: 0;
    }

    #csp-step-2 #csp-gc-code,
    #csp-step-2 #csp-gc-validate-btn {
        display: block;
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    #csp-step-2 #csp-gc-validate-btn {
        min-height: 46px;
        padding: 12px 16px !important;
        white-space: normal;
    }

    #csp-step-2 #csp-gc-result,
    #csp-step-2 #csp-gc-details {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
    }

    #csp-step-2 #csp-gc-details {
        padding: 0.8rem 0 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    /* Les champs restent distincts et lisibles, sans créer de nouveaux cadres. */
    #csp-step-2 .csp-form-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0.95rem;
    }

    #csp-step-2 .csp-form-group,
    #csp-step-2 .csp-form-input,
    #csp-step-2 .csp-form-select,
    #csp-step-2 .csp-form-textarea {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    #csp-step-2 .csp-form-input,
    #csp-step-2 .csp-form-select,
    #csp-step-2 .csp-form-textarea {
        width: 100%;
    }

    #csp-step-2 .csp-form-textarea {
        min-height: 112px;
    }
}
