/* Keep the mini-site form within the viewport without clipping validation messages. */
#formModal {
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    padding: 16px;
    z-index: 1001;
}
#formModal .form-modal-content {
    box-sizing: border-box;
    width: min(100%, 900px);
    height: auto;
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 24px;
}
#formModal .formModal-close { top: 12px; right: 12px; }
#formModal #save-your-spot-form-container,
#formModal #save-your-spot-form-container .inner-container {
    padding: 0;
    margin: 0;
    min-height: 0;
}
#formModal #modal-form-retreat-title-container {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 16px;
    margin: 0 36px 16px 0;
}
#formModal #modal-form-retreat-title { font-size: 20px; line-height: 1.35; }
#formModal .wpcf7-form { margin: 0; }
#formModal .wpcf7-form p { margin: 0 0 10px; }
#formModal .wpcf7-form p:last-child,
#formModal .wpcf7-form p:empty { margin: 0; }
#formModal .wpcf7-form .hidden-fields-container { display: none; }
/* CF7 inserts line breaks after hidden fields; grid treats them as extra rows. */
#formModal .fila.sencilla > br,
#formModal .fila.sencilla input[type="hidden"] + br,
#formModal .fila.sencilla .wpcf7-form-control-wrap:has(input[type="hidden"]) + br {
    display: none;
}
#formModal .fila.sencilla p:has(input[type="hidden"]):not(:has(input:not([type="hidden"]), textarea, select, button)) {
    display: none;
}
#formModal #save-your-spot-form .fila { margin-bottom: 8px; gap: 8px; }
#formModal #save-your-spot-form .columna p { margin: 0; }
#formModal #save-your-spot-form .columna textarea {
    display: block;
    height: 72px;
    min-height: 72px;
    margin: 0;
}
#formModal .wpcf7-submit { margin-bottom: 0; }
#formModal .wpcf7-not-valid-tip { position: static; }
#formModal .wpcf7 form .wpcf7-response-output {
    position: static;
    transform: none;
    width: auto;
    margin: 12px 0 0;
}
@media (max-width: 600px) {
    #formModal { padding: 8px; }
    #formModal .form-modal-content { padding: 48px 16px 16px; border-radius: 12px; }
    #formModal #modal-form-retreat-title-container {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 12px;
        margin-right: 0;
    }
    #formModal #modal-form-retreat-title { font-size: 17px; }
    #formModal #save-your-spot-form .fila.doble { grid-template-columns: 1fr; }
}
