/* Modal de contacto — ver modal.js y alsur-effects.php.
   Usa las variables de color de alsur-custom.css (--alsur-ink, etc.)
   con fallback por si ese CSS no está cargado. */

html.alsur-modal-open {
	overflow: hidden;
	padding-right: var(--alsur-scrollbar-gap, 0);
}

.alsur-modal {
	/* Sin padding ni borde: el contenido vive en el panel, así un click
	   con target === dialog significa "click en el backdrop". */
	padding: 0;
	border: 0;
	margin: auto;
	width: min(640px, calc(100% - 32px));
	max-width: none;
	max-height: calc(100dvh - 32px);
	overflow: visible;
	background: transparent;
	color: var(--alsur-ink-soft, #33403a);

	opacity: 0;
	transform: translateY(8px) scale(0.96);
	transition:
		opacity 0.3s ease,
		transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.alsur-modal.is-open {
	opacity: 1;
	/* "none" en vez de scale(1): un transform en el dialog abierto
	   convertiría el position:fixed de los mensajes de Kadence (toast,
	   ver alsur-custom.css) en relativo al modal en vez de al viewport. */
	transform: none;
}

.alsur-modal::backdrop {
	background: rgba(15, 27, 33, 0.6); /* --alsur-overlay */
	opacity: 0;
	transition: opacity 0.3s ease;
}

.alsur-modal.is-open::backdrop {
	opacity: 1;
}

.alsur-modal__panel {
	position: relative;
	max-height: calc(100dvh - 32px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(28px, 5vw, 48px);
	background: var(--alsur-cream, #ffffff);
	border-radius: 6px;
	box-shadow: 0 24px 64px rgba(15, 27, 33, 0.28);
}

.alsur-modal__title {
	margin: 0 0 24px;
	font-size: 38px;
	text-align: center;
	color: var(--alsur-ink, #1b2b33);
}

/* Mismo breakpoint mobile que alsur-custom.css (hasta 767px). */
@media (max-width: 767px) {
	.alsur-modal__title {
		font-size: 28px;
	}
}

/* Doble clase (.alsur-modal .alsur-modal__close) para ganarle a los
   estilos globales de botón de Kadence (button, button:hover), que le
   ponen fondo y sombra a todo <button>. */
.alsur-modal .alsur-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--alsur-ink, #1b2b33);
	cursor: pointer;
	transition: color 0.2s ease;
}

.alsur-modal .alsur-modal__close:hover,
.alsur-modal .alsur-modal__close:focus,
.alsur-modal .alsur-modal__close:active {
	background: transparent;
	box-shadow: none;
}

/* Dorado solo en hover y foco por teclado — no en :focus a secas,
   porque showModal() le da foco a este botón al abrir y la cruz
   aparecería dorada de entrada. */
.alsur-modal .alsur-modal__close:hover,
.alsur-modal .alsur-modal__close:focus-visible {
	color: var(--alsur-gold, #cdae5c);
}

.alsur-modal .alsur-modal__close:focus {
	outline: none;
}

.alsur-modal .alsur-modal__close:focus-visible {
	outline: 1px solid var(--alsur-gold, #cdae5c);
	outline-offset: 2px;
}

.alsur-modal__close svg {
	width: 20px;
	height: 20px;
}

@media (prefers-reduced-motion: reduce) {
	.alsur-modal {
		transform: none;
		transition: opacity 0.15s linear;
	}
}
