/* ==========================================================================
   CUSTOM POPUP - Pop-up promocional de la portada (custom section custom-popup)
   Modal Bootstrap 5. Tarjeta centrada con la textura y el dibujo botanico
   del bloque de bienvenida, titulo Playfair turquesa y boton de reserva.
   Se carga condicionalmente desde custom-popup.xsl.
   ========================================================================== */

/* ----------------------------------------------------------------------------
   Estilos base (desktop-first, aplica a todos los breakpoints)
   ---------------------------------------------------------------------------- */

.custom-popup .modal-dialog {
	max-width: 640px;
}
.custom-popup .modal-content {
	position: relative;
	overflow: hidden;
	border: none;
	border-radius: 2px;
	background-color: #ffffff;
	background-image: url("../../images/noise-white-bg.png");
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
}
/* Dibujo botanico del bloque de bienvenida, igual de tenue (8%) */
.custom-popup .modal-content::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -90px;
	width: 420px;
	height: 322px;
	background-image: url("../../images/welcome-bg.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.08;
	pointer-events: none;
}

/* --- Cerrar: mismo chip oscuro que los demas modales del sitio --- */

.custom-popup .custom-popup__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 20px;
	height: 20px;
	padding: 6px;
	box-sizing: content-box;
	border: none;
	border-radius: 2px;
	opacity: 1;
	background-color: #2A2A2A;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 12px;
	transition: opacity 0.3s ease;
}
/* Objetivo tactil de 44x44 sin agrandar el chip visible (32x32) */
.custom-popup .custom-popup__close::before {
	content: "";
	position: absolute;
	inset: -6px;
}
.custom-popup .custom-popup__close:hover {
	opacity: 0.7;
}
.custom-popup .custom-popup__close:focus {
	box-shadow: none;
	outline: none;
}
.custom-popup .custom-popup__close:focus-visible {
	outline: 2px solid #00A8B5;
	outline-offset: 3px;
}

/* --- Contenido --- */

.custom-popup .custom-popup__body {
	position: relative;
	z-index: 1;
	padding: 72px 64px 64px 64px;
	text-align: center;
}
.custom-popup .custom-popup__title {
	margin: 0;
	font-family: "Playfair Display";
	font-size: 3rem;
	color: #00A8B5;
	font-weight: 400;
	line-height: 3.5rem;
	text-transform: uppercase;
	text-wrap: balance;
}

/* Filete con estrella entre la cabecera (titulo y subtitulo) y el detalle */
.custom-popup .custom-popup__divider {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin: 24px 0;
	color: #00A8B5;
}
.custom-popup .custom-popup__divider::before,
.custom-popup .custom-popup__divider::after {
	content: "";
	width: 72px;
	height: 1px;
	background-color: #00A8B5;
	opacity: 0.5;
}
.custom-popup .custom-popup__divider svg {
	display: block;
}

/* Subtitulo justo debajo del titulo, antes del filete */
.custom-popup .custom-popup__subtitle {
	margin: 12px 0 0 0;
	font-family: "Inter";
	font-size: 1rem;
	color: #00181a;
	font-weight: 700;
	line-height: 1.5rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
/* Detalle del pack (una linea por concepto) en la tipografia de los titulos */
.custom-popup .custom-popup__text p {
	margin: 0 0 8px 0;
	font-family: "Playfair Display";
	font-size: 1.5rem;
	color: #00181a;
	font-weight: 400;
	line-height: 2.125rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.custom-popup .custom-popup__text p:last-child {
	margin-bottom: 0;
}

/* Boton de reserva (.button.btn-booking del sitio) con la flecha en blanco.
   En ordenador, mas grande que el boton estandar (lo pidio la clienta); en
   movil vuelve al tamano del sitio y ocupa todo el ancho. */
.custom-popup .custom-popup__cta {
	min-width: 240px;
	margin-top: 36px;
	padding: 18px 40px;
	font-size: 1rem;
	line-height: 1.5rem;
}
.custom-popup .custom-popup__cta img.arrow {
	filter: brightness(0) invert(1);
}

/* ----------------------------------------------------------------------------
   Desktop (992px - 1920px)
   ---------------------------------------------------------------------------- */

@media (min-width: 992px) and (max-width: 1920px) {
	.custom-popup .modal-dialog {
		max-width: 600px;
	}
	.custom-popup .custom-popup__body {
		padding: 64px 56px 56px 56px;
	}
	.custom-popup .custom-popup__title {
		font-size: 2.75rem;
		line-height: 3.25rem;
	}
}

/* ----------------------------------------------------------------------------
   Desktop Grande (>1920px)
   Los estilos base ya cubren este rango
   ---------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
   Tablet y Movil (<992px)
   ---------------------------------------------------------------------------- */

@media (max-width: 991px) {
	.custom-popup .modal-dialog {
		max-width: min(560px, calc(100% - 32px));
		margin: 16px auto;
		/* Bootstrap calcula el min-height de .modal-dialog-centered con
		   --bs-modal-margin: igualado al margin para centrar bien */
		--bs-modal-margin: 16px;
	}
	.custom-popup .modal-content::after {
		right: -140px;
		bottom: -110px;
	}
	.custom-popup .custom-popup__body {
		padding: 64px 32px 40px 32px;
	}
	.custom-popup .custom-popup__title {
		font-size: 2.25rem;
		line-height: 2.75rem;
	}
	.custom-popup .custom-popup__divider {
		margin: 20px 0;
	}
	.custom-popup .custom-popup__divider::before,
	.custom-popup .custom-popup__divider::after {
		width: 56px;
	}
	.custom-popup .custom-popup__subtitle {
		margin-top: 10px;
		font-size: 0.9375rem;
		line-height: 1.375rem;
	}
	.custom-popup .custom-popup__text p {
		font-size: 1.25rem;
		line-height: 1.875rem;
	}
	/* Tamano estandar del boton del sitio (.button) */
	.custom-popup .custom-popup__cta {
		min-width: 0;
		margin-top: 28px;
		padding: 12px 24px;
		font-size: 0.8125rem;
		line-height: 1.375rem;
	}
}

/* ----------------------------------------------------------------------------
   Movil pequeno (<=576px)
   ---------------------------------------------------------------------------- */

@media (max-width: 576px) {
	.custom-popup .custom-popup__body {
		padding: 60px 20px 32px 20px;
	}
	.custom-popup .custom-popup__title {
		font-size: 1.875rem;
		line-height: 2.375rem;
	}
	/* Boton a lo ancho: objetivo tactil comodo */
	.custom-popup .custom-popup__cta {
		width: 100%;
	}
}
