/* Valle del Sol — popup de reserva (= .rv-* de site.css del prototipo).
   Colores, tipografías, espacios y bordes viven en los controles de Elementor (plantilla "Popup Reserva").
   Acá solo: overlay con desenfoque, altura máxima, tags del radio, select/inputs del DS, foco, estado "hecho"
   y el corte de 820 px del prototipo (no es un breakpoint de Elementor). Los !important pisan CSS generado por controles. */

/* ---------- overlay y panel ---------- */
.vds-rv-modal{padding:24px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vds-rv-modal .dialog-widget-content{background:none}
.vds-rv-modal .dialog-message{max-width:100%;max-height:none;overflow:visible}
.vds-rv-modal .vds-rv-panel{max-height:calc(100vh - 48px)}
.vds-rv-panel,.vds-rv-panel .vds-rv-anim,.vds-rv-flor{transition:none}
.vds-rv-modal .vds-rv-flor{max-width:none!important;z-index:auto}
.vds-rv-flor,.vds-rv-flor .elementor-icon-wrapper,.vds-rv-flor .elementor-icon,.vds-rv-done-flor .elementor-icon-wrapper,.vds-rv-done-flor .elementor-icon{line-height:0;pointer-events:none}
.vds-rv-flor .elementor-icon,.vds-rv-flor svg{display:block}
.vds-rv-done-flor svg{animation:vds-rvspin 40s linear infinite}
@keyframes vds-rvspin{to{transform:rotate(360deg)}}
.vds-rv-close .elementor-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;transition:background var(--vds-base),color var(--vds-base),border-color var(--vds-base)}
.vds-rv-modal .vds-rv-close .elementor-button:focus:not(:hover){background-color:var(--e-global-color-surfacecard)!important;color:var(--e-global-color-textsecondary)!important;border-color:var(--e-global-color-bordersubtle)!important}
/* .eyebrow del prototipo: la línea se achica si el texto no entra (vds.css le pone flex:none) */
.vds-rv-modal .vds-rv-eyebrow .elementor-heading-title::before{flex:0 1 auto}
.vds-rv-modal .vds-rv-panel .vds-rv-wa .elementor-heading-title a{transition:color var(--vds-base) var(--vds-ease-standard)}

/* ---------- formulario ---------- */
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo,.vds-rv-modal .vds-rv-form .elementor-field-group-fechas{display:block;margin-bottom:24px!important}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo>label,.vds-rv-modal .vds-rv-form .elementor-field-group-fechas>label{display:block;padding-bottom:12px!important;font-family:"futura-pt-bold","futura-pt",sans-serif!important;font-size:13px!important;font-weight:700!important;line-height:1.6!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--e-global-color-brandaccentstrong)!important}
.vds-rv-modal .vds-rv-form .elementor-field-group-fechas>input{display:none}
/* tags (Tag del DS) */
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-option{position:relative;margin:0;padding:0}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-subgroup .elementor-field-option label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 14px;border-radius:999px;border:1px solid var(--e-global-color-bordersubtle);background:var(--e-global-color-surfacecard);color:var(--e-global-color-textsecondary)!important;font-family:"futura-pt",system-ui,sans-serif!important;font-size:15px!important;font-weight:600!important;line-height:normal!important;cursor:pointer;transition:background var(--vds-fast) var(--vds-ease-standard)}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-subgroup input:checked+label{border-color:var(--e-global-color-brandprimary);background:var(--e-global-color-brandprimarysoft);color:var(--e-global-color-brandprimarystrong)!important}
.vds-rv-modal .vds-rv-form .elementor-field-group-tipo .elementor-field-subgroup input:focus-visible+label{box-shadow:0 0 0 3px rgba(192,158,98,.45)}
/* inputs y select (Input / Select del DS) */
.vds-rv-modal .vds-rv-form .elementor-field-group .elementor-field-textual{height:48px;min-height:48px;padding:0 14px;line-height:normal;box-shadow:none;transition:box-shadow var(--vds-fast) var(--vds-ease-standard)}
.vds-rv-modal .vds-rv-form .elementor-field-group input.elementor-field-textual{padding:0 16px}
.vds-rv-modal .vds-rv-form .elementor-field-group input.elementor-field-textual:focus{border-color:var(--e-global-color-brandaccent)!important;box-shadow:0 0 0 3px rgba(192,158,98,.45)}
.vds-rv-modal .vds-rv-form .elementor-field-group textarea.elementor-field-textual{height:auto;min-height:72px;padding:12px 14px;line-height:1.6;resize:vertical}
.vds-rv-modal .vds-rv-form .elementor-field-group textarea.elementor-field-textual:focus{border-color:var(--e-global-color-brandprimary)!important;box-shadow:0 0 0 3px rgba(28,61,47,.12)}
.vds-rv-modal .vds-rv-form .elementor-select-wrapper select.elementor-field-textual{padding:0 36px 0 14px;-webkit-appearance:none;appearance:none;cursor:pointer}
.vds-rv-modal .vds-rv-form .elementor-select-wrapper .select-caret-down-wrapper{display:none}
.vds-rv-modal .vds-rv-form .elementor-select-wrapper::after{content:"\25BE";position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;font:17px/1.6 "futura-pt",system-ui,sans-serif;color:var(--e-global-color-brandprimary)}
/* acciones: Cancelar y WhatsApp (los mueve reserva.js) + enviar */
.vds-rv-modal .vds-rv-form .e-form__buttons{gap:12px;align-items:center;margin-top:8px;padding-top:8px}
.vds-rv-modal .vds-rv-form .e-form__buttons>.elementor-widget,.vds-rv-modal .vds-rv-form .e-form__buttons .elementor-button-wrapper{display:contents}
.vds-rv-modal .vds-rv-form .e-form__buttons .elementor-button-content-wrapper{justify-content:flex-start}
.vds-rv-modal .vds-rv-form .e-form__buttons .elementor-button-text{flex-grow:0}
.vds-rv-modal .vds-rv-form .elementor-message-success{display:none}
/* calendario: el flatpickr de Elementor pone el mes en flex; el original (el del prototipo) es inline-block */
.vds-rv-modal .flatpickr-current-month{display:inline-block}

/* ---------- estado "hecho" ---------- */
body:not(.elementor-editor-active) .vds-rv-panel:not(.is-done) .vds-rv-done,.vds-rv-panel.is-done .vds-rv-form{display:none}
.vds-rv-panel.is-done .vds-rv-done{flex-grow:1}

/* ---------- solo WhatsApp (reserva.js: Reservas → Ajustes → Consulta por WhatsApp): fechas y personas, sin datos de contacto ---------- */
.vds-rv-solo-wa .vds-rv-form :is(.elementor-field-group-tipo,.elementor-field-group-nombre,.elementor-field-group-email,.elementor-field-group-telefono,.elementor-field-group-mensaje),
.vds-rv-solo-wa .vds-rv-form .e-form__buttons button[type=submit],.vds-rv-solo-wa .vds-rv-wa{display:none!important}
.vds-rv-modal .vds-rv-solo-wa .vds-rv-wa-btn .elementor-button{background-color:var(--e-global-color-brandprimary)!important;border-color:var(--e-global-color-brandprimary)!important;color:var(--e-global-color-white,#fff)!important}
.vds-rv-modal .vds-rv-solo-wa .vds-rv-wa-btn .elementor-button:hover{background-color:var(--e-global-color-brandprimarystrong,#12291F)!important;border-color:var(--e-global-color-brandprimarystrong,#12291F)!important}

/* ---------- ≤ 820 px (igual al prototipo) ---------- */
@media(max-width:820px){
	.vds-rv-modal{padding:12px;align-items:flex-end!important}
	.vds-rv-modal .dialog-message{width:min(1040px,100vw - 24px)!important}
	.vds-rv-modal .vds-rv-panel.e-con{max-height:calc(100vh - 24px);--e-con-grid-template-columns:1fr!important}
	.vds-rv-modal .vds-rv-panel>.vds-rv-side.e-con{--padding-top:32px!important;--padding-right:24px!important;--padding-bottom:24px!important;--padding-left:24px!important;--gap:16px 16px!important;--row-gap:16px!important;--column-gap:16px!important}
	.vds-rv-modal .vds-rv-panel .vds-rv-note{display:none}
	.vds-rv-modal .vds-rv-panel>.vds-rv-main.e-con{--padding-top:24px!important;--padding-right:24px!important;--padding-bottom:24px!important;--padding-left:24px!important}
	.vds-rv-modal .vds-rv-form .elementor-field-group.elementor-column{width:100%}
	.vds-rv-modal .vds-rv-form .e-form__buttons{justify-content:stretch!important}
	.vds-rv-modal .vds-rv-form .e-form__buttons .elementor-button{flex:1 1 0%!important;min-width:auto!important;white-space:normal}
	.vds-rv-modal .vds-rv-solo-wa .vds-rv-cancel{display:none!important} /* un solo botón a todo el ancho; se cierra con la × */
}

/* ---------- sistema de reservas: noches ocupadas, avisos y errores (popup y formularios vds-form) ---------- */
.vds-rv-modal .flatpickr-day.vds-ocupado{text-decoration:line-through;cursor:not-allowed}
.vds-rv-modal .flatpickr-day.vds-ocupado:not(.selected):not(.startRange):not(.endRange):not(.inRange){color:var(--e-global-color-textmuted,#8A8D93);opacity:.5}
.vds-rv-form .elementor-field-type-honeypot,.vds-form .elementor-field-type-honeypot,.vds-rv-aviso[hidden]{display:none!important}
.vds-rv-form .elementor-message.elementor-message-danger,.vds-form .elementor-message.elementor-message-danger{display:block;width:100%;margin:8px 0 0;font:400 14px/1.5 "futura-pt",system-ui,sans-serif;color:var(--e-global-color-terra600,#8C503C)}
.vds-rv-form .elementor-message.elementor-message-danger::before,.vds-form .elementor-message.elementor-message-danger::before{content:none}
.vds-rv-form .elementor-form-fields-wrapper:has(.elementor-error),.vds-form .elementor-form-fields-wrapper:has(.elementor-error){align-items:flex-start}
.vds-rv-form .elementor-error .elementor-field-textual,.vds-form .elementor-error .elementor-field-textual{border-color:var(--e-global-color-terra600,#8C503C)!important}
