/* MasEventos — plantilla PHP propia del evento (sin Elementor). Usa las
   variables --ev-color-primario/--ev-color-secundario que ya inyecta
   eventos_core_evento_head_css() y los tokens (--smi-radius-*, --smi-shadow-*,
   --smi-ease) definidos en frontend.css. */

.ev-page{
	margin:0;
	background:#FFFFFF;
	color:#1B231C;
	font-family:"Public Sans", sans-serif;
	-webkit-font-smoothing:antialiased;
}
.ev-page *,
.ev-page *::before,
.ev-page *::after{
	box-sizing:border-box;
}
.ev-page img{
	max-width:100%;
	display:block;
}

.ev-gradient-divider{
	width:56px;
	height:3px;
	margin:0 auto 28px;
	border-radius:3px;
	background:linear-gradient(90deg, var(--ev-color-primario, #8a6d3b), var(--ev-color-secundario, #f7f2ea));
}

/* Portada / hero a pantalla completa */
.ev-hero{
	position:relative;
	min-height:100vh;
	display:flex;
	align-items:flex-end;
	background-color:var(--ev-color-secundario, #f7f2ea);
	background-size:cover;
	background-position:center;
	overflow:hidden;
}
.ev-hero-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,.62) 100%);
}
.ev-hero-content{
	position:relative;
	z-index:1;
	width:100%;
	max-width:900px;
	margin:0 auto;
	padding:0 28px 90px;
	text-align:center;
	color:#FFFFFF;
}
.ev-eyebrow{
	margin:0 0 18px;
	font-family:"Public Sans", sans-serif;
	font-size:12px;
	font-weight:700;
	letter-spacing:.22em;
	text-transform:uppercase;
	opacity:.92;
}
.ev-title{
	margin:0 0 16px;
	font-family:"Cormorant", serif;
	font-weight:700;
	font-size:56px;
	line-height:1.08;
	letter-spacing:-.5px;
}
.ev-subtitle{
	margin:0;
	font-size:16px;
	opacity:.92;
}

@media (max-width:600px){
	.ev-title{ font-size:34px; }
	.ev-hero-content{ padding:0 20px 64px; }
}

/* Secciones */
.ev-section{
	padding:100px 24px;
}
.ev-section--light{ background:#FFFFFF; }
.ev-section--tint{ background:var(--ev-color-secundario, #f7f2ea); }
.ev-container{ max-width:1100px; margin:0 auto; }
.ev-container--narrow{ max-width:640px; margin:0 auto; }

.ev-heading{
	margin:0 0 20px;
	text-align:center;
	font-family:"Cormorant", serif;
	font-weight:700;
	font-size:34px;
	letter-spacing:-.5px;
	color:var(--ev-color-primario, #8a6d3b);
}
.ev-heading--sm{ font-size:22px; margin-bottom:10px; }
.ev-heading--center{ text-align:center; }

.ev-text{
	margin:0 0 12px;
	font-size:16px;
	line-height:1.7;
	color:#3a362f;
	text-align:center;
}
.ev-text--center{ text-align:center; }
.ev-text a{
	color:var(--ev-color-primario, #8a6d3b);
	font-weight:600;
}

@media (max-width:600px){
	.ev-section{ padding:64px 20px; }
	.ev-heading{ font-size:26px; }
}

/* Galería de fotos */
.ev-gallery{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:20px;
}
.ev-gallery-item{
	border-radius:var(--smi-radius-md, 16px);
	overflow:hidden;
	box-shadow:var(--smi-shadow-sm, 0 4px 16px rgba(27,35,28,.07));
	transition:transform .4s var(--smi-ease, ease), box-shadow .3s ease;
}
.ev-gallery-item img{
	width:100%;
	height:100%;
	aspect-ratio:3/4;
	object-fit:cover;
}
.ev-gallery-item:hover{
	transform:translateY(-6px);
	box-shadow:var(--smi-shadow-md, 0 16px 40px rgba(27,35,28,.10));
}
@media (max-width:700px){
	.ev-gallery{ grid-template-columns:1fr; }
}

/* Cuándo / Dónde */
.ev-info-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
	text-align:left;
}
.ev-info-block .ev-text{ text-align:left; }
.ev-info-block .ev-heading--sm{ text-align:left; }
@media (max-width:600px){
	.ev-info-grid{ grid-template-columns:1fr; gap:28px; }
}

/* Reproductor de música */
.ev-musica audio{
	width:100%;
}

/* Tarjeta de RSVP */
.ev-rsvp-card{
	background:#FFFFFF;
	border-radius:var(--smi-radius-md, 16px);
	box-shadow:var(--smi-shadow-md, 0 16px 40px rgba(27,35,28,.10));
	padding:48px 36px;
	text-align:center;
}
@media (max-width:600px){
	.ev-rsvp-card{ padding:36px 24px; }
}

/* Aparición escalonada de hijos dentro de una sección revelada */
.smi-reveal .ev-stagger > *{
	opacity:0;
	transform:translateY(18px);
	transition:opacity .6s var(--smi-ease, ease), transform .6s var(--smi-ease, ease);
}
.smi-reveal.is-visible .ev-stagger > *{
	opacity:1;
	transform:none;
}
.smi-reveal.is-visible .ev-stagger > *:nth-child(1){ transition-delay:.05s; }
.smi-reveal.is-visible .ev-stagger > *:nth-child(2){ transition-delay:.15s; }
.smi-reveal.is-visible .ev-stagger > *:nth-child(3){ transition-delay:.25s; }
.smi-reveal.is-visible .ev-stagger > *:nth-child(4){ transition-delay:.35s; }

/* Pie de página mínimo */
.ev-footer{
	padding:32px 20px;
	text-align:center;
	background:#1B231C;
	color:rgba(255,255,255,.7);
	font-size:13px;
}

@media (prefers-reduced-motion: reduce){
	.ev-gallery-item, .smi-reveal .ev-stagger > *{ transition:none; }
}

/* Fase 5.5 — plantillas de evento en Elementor Theme Builder: estilos
   mínimos y funcionales para las piezas que se arman con shortcodes
   propios (contador, mapa, marca de agua). El resto del diseño (colores,
   tipografías, espaciados) se ajusta directo en Elementor. */
.eventos-core-contador{
	display:flex;
	justify-content:center;
	gap:24px;
	flex-wrap:wrap;
}
.eventos-core-contador-item{
	display:flex;
	flex-direction:column;
	align-items:center;
	min-width:64px;
}
.eventos-core-contador-numero{
	font-size:32px;
	font-weight:700;
	line-height:1;
}
.eventos-core-contador-etiqueta{
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.05em;
	opacity:.75;
}
.eventos-core-contador-llego{
	font-size:20px;
	font-weight:700;
	text-align:center;
}
.eventos-core-mapa-embed iframe{
	display:block;
	max-width:100%;
}
.eventos-core-marca-agua{
	text-align:center;
	font-size:13px;
	opacity:.7;
	margin:0;
}

/* ======================================================================
 * Fase 10f — Plantilla de Boda enriquecida: tema oscuro elegante.
 * Paleta fija de la plantilla (no depende de los colores que el anfitrión
 * elige para las demás plantillas): fondo casi negro, líneas y detalles en
 * dorado, tarjetas en gris oscuro semitransparente, tipografía serif en
 * itálica para nombres y fechas (Cormorant, ya cargada en el sitio).
 * Todas las clases usan el prefijo "ev-boda-" a propósito, para no afectar
 * en nada a las plantillas de XV años/Cumpleaños.
 * ====================================================================== */

.ev-boda-hero,
.ev-boda-seccion-cuerpo,
.ev-boda-tarjeta,
.ev-boda-linea-tiempo,
.ev-boda-pase{
	--ev-boda-oscuro:var(--t-oscuro, #15120f);
	--ev-boda-dorado:var(--t-acento, #C9A25B);
	--ev-boda-claro:var(--t-claro, #F6F4EE);
	--ev-boda-tenue:var(--t-tenue, rgba(246,244,238,.68));
	--ev-boda-tarjeta-fondo:rgba(255,255,255,.05);
	--ev-boda-tarjeta-borde:var(--t-borde-oscuro, rgba(201,162,91,.3));
	--ev-boda-crema:var(--t-fondo, #FAF6EE);
	--ev-boda-texto:var(--t-texto, #2B2620);
	--ev-boda-texto-tenue:var(--t-texto-tenue, rgba(43,38,32,.68));
}

/* Fase 16 (segunda vuelta, mirando la referencia en celular — no solo en
 * escritorio, que se ve distinto): en celular la portada es **una sola
 * foto de fondo de pantalla completa**, con degradado oscuro hacia abajo y
 * el texto encima, pegado abajo — no dos columnas. Las dos columnas
 * (foto | panel oscuro) solo aparecen a partir de pantallas anchas
 * (escritorio). */
.ev-boda-hero{
	position:relative;
	width:100vw;
	margin-left:calc(50% - 50vw);
	min-height:100vh;
	overflow:hidden;
	background-color:var(--ev-boda-oscuro);
}
.ev-boda-hero-foto{
	position:absolute;
	inset:0;
	background-color:var(--ev-boda-oscuro);
	background-size:cover;
	background-position:center;
}
.ev-boda-hero-panel{
	position:relative;
	min-height:100vh;
	display:flex;
	align-items:flex-end;
	justify-content:center;
	padding:40px 24px 64px;
	background:linear-gradient(180deg, rgba(var(--t-oscuro-rgb, 21,18,15),0) 0%, rgba(var(--t-oscuro-rgb, 21,18,15),.35) 45%, rgba(var(--t-oscuro-rgb, 21,18,15),.92) 82%, rgba(var(--t-oscuro-rgb, 21,18,15),.98) 100%);
}
.ev-boda-hero-contenido{
	text-align:center;
	color:var(--ev-boda-claro);
	max-width:420px;
}
.ev-boda-hero-nombres{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-weight:600;
	font-size:clamp(40px, 10vw, 60px);
	line-height:1.08;
	margin:0 0 14px;
	color:var(--ev-boda-claro);
}
.ev-boda-badge{
	font-family:var(--t-font-sans, "Public Sans", sans-serif);
	font-size:12px;
	letter-spacing:.28em;
	text-transform:uppercase;
	color:var(--ev-boda-dorado);
	margin:0 0 18px;
}
.ev-boda-hero-frase{
	font-size:15px;
	color:var(--ev-boda-tenue);
	max-width:380px;
	margin:0 auto 18px;
}
/* Fase 16 (tercera vuelta) — insignia de fecha ("ABR 17 2027") en vez de
 * texto plano, misma referencia. */
.ev-boda-hero-insignia{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin:0 0 26px;
	color:var(--ev-boda-claro);
}
.ev-boda-hero-insignia-linea{
	width:22px;
	height:1px;
	background:var(--ev-boda-tarjeta-borde);
}
.ev-boda-hero-insignia-mes,
.ev-boda-hero-insignia-anio{
	font-family:var(--t-font-sans, "Public Sans", sans-serif);
	font-size:12px;
	letter-spacing:.08em;
	color:var(--ev-boda-tenue);
}
.ev-boda-hero-insignia-dia{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:26px;
	color:var(--ev-boda-claro);
}
.ev-boda-hero-desliza{
	font-size:11px;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--ev-boda-tenue);
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
}
.ev-boda-hero-flecha{
	font-size:14px;
	animation:ev-boda-flotar 2s ease-in-out infinite;
}
@keyframes ev-boda-flotar{
	0%, 100%{ transform:translateY(0); }
	50%{ transform:translateY(6px); }
}

/* A partir de escritorio (~900px), la portada sí pasa a dos columnas: foto
 * a la izquierda, panel de texto sólido a la derecha — como en la
 * referencia vista en computadora. */
@media (min-width:900px){
	.ev-boda-hero{
		display:flex;
		min-height:88vh;
	}
	.ev-boda-hero-foto{
		position:relative;
		flex:1 1 480px;
	}
	.ev-boda-hero-panel{
		position:relative;
		flex:1 1 420px;
		min-height:0;
		align-items:center;
		background:var(--ev-boda-oscuro);
		padding:60px 40px;
	}
	.ev-boda-hero-contenido{ text-align:left; }
	.ev-boda-hero-desliza{ justify-content:flex-start; }
}

/* Fase 16 — el resto de la invitación pasó de fondo oscuro corrido a fondo
 * claro tipo crema, con bloques oscuros propios intercalados solo donde
 * corresponde (Vestimenta) — modificador `--oscura` más abajo. */
.ev-boda-seccion-cuerpo{
	max-width:640px;
	margin:0 auto;
	padding:70px 24px;
	text-align:center;
	color:var(--ev-boda-texto);
}
.ev-boda-seccion-cuerpo--oscura{
	max-width:100%;
	width:100vw;
	margin-left:calc(50% - 50vw);
	background:var(--ev-boda-oscuro);
	color:var(--ev-boda-claro);
	padding:70px 24px;
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-titulo,
.ev-boda-seccion-cuerpo--oscura .ev-boda-frase-emotiva{
	color:var(--ev-boda-claro);
}
.ev-boda-linea-decorativa{
	width:56px;
	height:1px;
	background:var(--ev-boda-dorado);
	margin:0 auto 22px;
}

/* Fase 16 (tercera vuelta) — íconos de línea (SVG inline) arriba del
 * título de cada sección, y el par de hojas decorativas de "Con la
 * bendición de" — misma referencia. */
.ev-boda-icono{
	display:block;
	margin:0 auto 14px;
	color:var(--t-acento-texto, #8a6d3b);
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-icono{
	color:var(--ev-boda-dorado);
}
.ev-boda-tarjeta .ev-boda-icono{
	margin-bottom:8px;
}
.ev-boda-hojas{
	display:flex;
	justify-content:center;
	gap:70px;
	margin-bottom:10px;
	color:var(--t-acento-texto, #8a6d3b);
}

/* Fase 16 (cuarta vuelta) — el contador genérico del sitio (`.eventos-core-
 * contador`) se envolvía mal en celular (4 números con cajas, se acomodaban
 * en 2 filas disparejas) — la referencia lo muestra siempre en una sola
 * fila, sin cajas, solo números y líneas verticales delgadas entre cada
 * uno. Este bloque SOLO aplica dentro de la plantilla de Boda del motor
 * propio (`.ev-motor-invitacion--boda`), no toca el contador en el resto
 * del sitio (RSVP, otras plantillas). */
.ev-motor-invitacion--boda .eventos-core-contador{
	flex-wrap:nowrap;
	gap:0;
	max-width:360px;
	margin:20px auto 30px;
}
.ev-motor-invitacion--boda .eventos-core-contador-item{
	flex:1 1 0;
	min-width:0;
	padding:0 6px;
	border-left:1px solid var(--t-borde, rgba(43,38,32,.15));
}
.ev-motor-invitacion--boda .eventos-core-contador-item:first-child{
	border-left:none;
}
.ev-motor-invitacion--boda .eventos-core-contador-numero{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-weight:600;
	font-size:clamp(22px, 6vw, 30px);
	color:var(--ev-boda-texto);
}
.ev-motor-invitacion--boda .eventos-core-contador-etiqueta{
	font-family:var(--t-font-sans, "Public Sans", sans-serif);
	font-size:10px;
	letter-spacing:.08em;
	color:var(--ev-boda-texto-tenue);
	opacity:1;
}
.ev-boda-seccion-cuerpo--oscura .eventos-core-contador-item{
	border-left-color:var(--ev-boda-tarjeta-borde);
}
.ev-boda-seccion-cuerpo--oscura .eventos-core-contador-numero{
	color:var(--ev-boda-claro);
}
.ev-boda-seccion-cuerpo--oscura .eventos-core-contador-etiqueta{
	color:var(--ev-boda-tenue);
}

/* Enlace "Guardar fecha en Google Calendar" — texto subrayado simple,
 * misma referencia. */
.ev-boda-enlace-calendario{
	display:inline-block;
	margin-top:14px;
	font-size:13px;
	color:var(--ev-boda-texto);
	text-decoration:underline;
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-enlace-calendario{
	color:var(--ev-boda-claro);
}
.ev-boda-titulo{
	font-family:var(--t-font-titulo, "Allura", cursive);
	font-weight:400;
	font-size:44px;
	line-height:1.25;
	color:var(--ev-boda-texto);
	margin:0 0 28px;
}
.ev-boda-frase-emotiva{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:22px;
	color:var(--ev-boda-texto-tenue);
	max-width:520px;
	margin:0 auto 30px;
}

.ev-boda-padres{
	display:flex;
	justify-content:center;
	gap:60px;
	flex-wrap:wrap;
	margin-bottom:8px;
}
.ev-boda-padres-columna p{
	margin:0 0 4px;
	font-size:15px;
	color:var(--ev-boda-texto-tenue);
}

.ev-boda-tarjeta{
	background:var(--t-tarjeta, #fff);
	border:1px solid var(--t-borde, rgba(43,38,32,.12));
	border-radius:12px;
	padding:22px 24px;
	margin:20px auto 0;
	max-width:460px;
	text-align:center;
}
.ev-boda-tarjeta h3{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:22px;
	color:var(--ev-boda-texto);
	margin:0 0 10px;
}
.ev-boda-tarjeta p{
	margin:0 0 6px;
	font-size:15px;
	color:var(--ev-boda-texto-tenue);
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-tarjeta{
	background:var(--ev-boda-tarjeta-fondo);
	border-color:var(--ev-boda-tarjeta-borde);
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-tarjeta h3{
	color:var(--ev-boda-dorado);
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-tarjeta p{
	color:var(--ev-boda-tenue);
}

.ev-boda-fecha-grande{
	display:flex;
	align-items:baseline;
	justify-content:center;
	gap:12px;
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	color:var(--ev-boda-texto);
	margin-bottom:6px;
}
.ev-boda-fecha-dia{ font-size:64px; font-weight:600; line-height:1; }
.ev-boda-fecha-mes{ font-size:24px; text-transform:capitalize; }
.ev-boda-fecha-anio{ font-size:24px; opacity:.75; }
.ev-boda-fecha-detalle{
	margin:0 0 26px;
	font-size:15px;
	color:var(--ev-boda-texto-tenue);
}

.ev-boda-calendario-botones{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
	margin:26px 0 4px;
}
.ev-boda-btn{
	display:inline-block;
	padding:12px 26px;
	border-radius:999px;
	background:var(--ev-boda-dorado);
	color:var(--t-boton-texto, #15120f);
	font-size:13px;
	font-weight:600;
	letter-spacing:.03em;
	text-decoration:none;
	white-space:nowrap;
}
.ev-boda-btn--fantasma{
	background:transparent;
	border:1px solid var(--t-borde, rgba(43,38,32,.25));
	color:var(--ev-boda-texto);
}
.ev-boda-seccion-cuerpo--oscura .ev-boda-btn--fantasma{
	border-color:var(--ev-boda-tarjeta-borde);
	color:var(--ev-boda-claro);
}
.ev-boda-btn--sm{
	padding:8px 18px;
	font-size:12px;
	margin-top:10px;
}

.ev-boda-mapa{ margin-top:14px; border-radius:10px; overflow:hidden; }
.ev-boda-mapa iframe{ display:block; max-width:100%; filter:grayscale(.15) contrast(1.05); }

.ev-boda-recepcion-hora{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:20px !important;
	color:var(--t-acento-texto, #8a6d3b) !important;
}

.ev-boda-colores{
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top:12px;
}
.ev-boda-color-circulo{
	width:28px;
	height:28px;
	border-radius:50%;
	display:inline-block;
	border:1px solid rgba(255,255,255,.35);
}

/* Fase 16 — galería apilada (una foto a la vez, con marco delgado) en vez
 * del carrusel horizontal anterior; misma referencia visual del resto de
 * esta fase. */
.ev-boda-galeria-apilada{
	display:flex;
	flex-direction:column;
	gap:18px;
	margin-top:10px;
}
.ev-boda-galeria-marco{
	border:1px solid var(--t-borde, rgba(43,38,32,.15));
	border-radius:4px;
	padding:10px;
	background:var(--t-tarjeta, #fff);
}
.ev-boda-galeria-marco img{
	width:100%;
	max-height:560px;
	object-fit:cover;
	display:block;
	border-radius:2px;
}

.ev-boda-ver-album{ margin-top:18px; }

/* Fase 16 (tercera vuelta) — itinerario centrado con icono por punto, como
 * la referencia ("La ceremonia" / "La recepción" / "La celebración"), en
 * vez de la línea de tiempo lateral de antes. */
.ev-boda-linea-tiempo{
	text-align:center;
	max-width:420px;
	margin:0 auto;
}
.ev-boda-linea-tiempo-item{
	padding:26px 0;
}
.ev-boda-linea-tiempo-item:first-child{ padding-top:0; }
.ev-boda-linea-tiempo-item:last-child{ padding-bottom:0; }
.ev-boda-linea-tiempo .ev-boda-icono{
	color:var(--ev-boda-dorado);
	margin-bottom:10px;
}
.ev-boda-linea-tiempo-hora{
	display:block;
	font-size:14px;
	color:var(--t-acento-texto, #8a6d3b);
	margin-top:4px;
}
.ev-boda-linea-tiempo-cuerpo h3{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:22px;
	margin:0;
	color:var(--ev-boda-texto);
}
.ev-boda-linea-tiempo-cuerpo p{
	margin:8px 0 0;
	font-size:14px;
	color:var(--ev-boda-texto-tenue);
}

.ev-boda-regalos-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
@media (min-width:640px){
	.ev-boda-regalos-grid{ grid-template-columns:1fr 1fr; }
}
.ev-boda-tarjeta-regalo{ margin:0; max-width:none; }

.ev-boda-donativo summary{
	cursor:pointer;
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:20px;
	color:var(--ev-boda-dorado);
}
.ev-boda-donativo p{ margin-top:14px; }

/* Pase de acceso (pantalla de RSVP confirmado) con el mismo tema oscuro,
 * cuando el evento usa la plantilla de Boda — ver invitados.php. */
.ev-boda-pase{
	background:var(--ev-boda-oscuro);
	border:1px solid var(--ev-boda-tarjeta-borde);
	border-radius:14px;
	padding:30px 20px;
	max-width:340px;
	margin:16px auto;
	color:var(--ev-boda-claro);
}
.ev-boda-pase-nombres{
	font-family:var(--t-font-serif, "Cormorant", serif);
	font-style:var(--t-italic, italic);
	font-size:24px;
	color:var(--ev-boda-dorado);
	margin:0 0 16px;
}
.ev-boda-pase #eventos-core-qr-canvas{
	background:#fff;
	padding:12px;
	border-radius:8px;
	display:inline-block;
}
.ev-boda-pase-codigo{
	margin-top:14px;
	letter-spacing:.15em;
	font-size:13px;
	color:var(--ev-boda-tenue);
}

/* Cuando el "código corto" aparece fuera del tema de Boda o XV años
 * (Cumpleaños), un estilo simple basta — sin el tema oscuro. */
.eventos-core-pase-codigo{
	font-size:13px;
	letter-spacing:.1em;
	opacity:.75;
	margin-top:10px;
}

/* ======================================================================
 * Fase 12a — Plantilla de XV años enriquecida: mismo tema oscuro elegante
 * de la Fase 10f (Boda), con sus propias clases "ev-xv-" a propósito, para
 * que un ajuste futuro de una plantilla nunca afecte a la otra. La paleta
 * de colores es la misma por ahora; si Pedro quiere una distinta para XV
 * años más adelante, solo hay que cambiar las variables de este bloque.
 * ====================================================================== */

.ev-xv-hero,
.ev-xv-seccion-cuerpo,
.ev-xv-tarjeta,
.ev-xv-linea-tiempo,
.ev-xv-pase{
	--ev-xv-oscuro:#15120f;
	--ev-xv-dorado:#C9A25B;
	--ev-xv-claro:#F6F4EE;
	--ev-xv-tenue:rgba(246,244,238,.68);
	--ev-xv-tarjeta-fondo:rgba(255,255,255,.05);
	--ev-xv-tarjeta-borde:rgba(201,162,91,.3);
}

.ev-xv-hero{
	position:relative;
	width:100vw;
	margin-left:calc(50% - 50vw);
	min-height:88vh;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:var(--ev-xv-oscuro);
	background-size:cover;
	background-position:center;
	overflow:hidden;
}
.ev-xv-hero-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(21,18,15,.55) 0%, rgba(21,18,15,.75) 55%, rgba(21,18,15,.92) 100%);
}
.ev-xv-hero-contenido{
	position:relative;
	z-index:1;
	text-align:center;
	color:var(--ev-xv-claro);
	padding:40px 24px;
	max-width:720px;
}
.ev-xv-hero-iniciales{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:22px;
	letter-spacing:.15em;
	color:var(--ev-xv-dorado);
	margin:0 0 10px;
}
.ev-xv-badge{
	font-family:"Public Sans", sans-serif;
	font-size:12px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--ev-xv-dorado);
	margin:0 0 18px;
}
.ev-xv-hero-nombres{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-weight:600;
	font-size:clamp(42px, 8vw, 76px);
	line-height:1.1;
	margin:0 0 18px;
	color:var(--ev-xv-claro);
}
.ev-xv-hero-frase{
	font-size:16px;
	color:var(--ev-xv-tenue);
	max-width:480px;
	margin:0 auto;
}
.ev-xv-hero-desliza{
	margin-top:48px;
	font-size:11px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--ev-xv-tenue);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
}
.ev-xv-hero-flecha{
	font-size:16px;
	animation:ev-xv-flotar 2s ease-in-out infinite;
}
@keyframes ev-xv-flotar{
	0%, 100%{ transform:translateY(0); }
	50%{ transform:translateY(6px); }
}

.ev-xv-seccion-cuerpo{
	max-width:640px;
	margin:0 auto;
	padding:70px 24px;
	text-align:center;
	color:var(--ev-xv-claro);
}
.ev-xv-linea-decorativa{
	width:56px;
	height:1px;
	background:var(--ev-xv-dorado);
	margin:0 auto 22px;
}
.ev-xv-titulo{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-weight:600;
	font-size:34px;
	color:var(--ev-xv-claro);
	margin:0 0 28px;
}
.ev-xv-frase-emotiva{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:22px;
	color:var(--ev-xv-tenue);
	max-width:520px;
	margin:0 auto 30px;
}

.ev-xv-padres{
	display:flex;
	justify-content:center;
	gap:60px;
	flex-wrap:wrap;
	margin-bottom:8px;
}
.ev-xv-padres-columna p{
	margin:0 0 4px;
	font-size:15px;
	color:var(--ev-xv-tenue);
}

.ev-xv-tarjeta{
	background:var(--ev-xv-tarjeta-fondo);
	border:1px solid var(--ev-xv-tarjeta-borde);
	border-radius:12px;
	padding:22px 24px;
	margin:20px auto 0;
	max-width:460px;
	text-align:center;
}
.ev-xv-tarjeta h3{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:22px;
	color:var(--ev-xv-dorado);
	margin:0 0 10px;
}
.ev-xv-tarjeta p{
	margin:0 0 6px;
	font-size:15px;
	color:var(--ev-xv-tenue);
}

.ev-xv-fecha-grande{
	display:flex;
	align-items:baseline;
	justify-content:center;
	gap:12px;
	font-family:"Cormorant", serif;
	font-style:italic;
	color:var(--ev-xv-claro);
	margin-bottom:6px;
}
.ev-xv-fecha-dia{ font-size:64px; font-weight:600; line-height:1; }
.ev-xv-fecha-mes{ font-size:24px; text-transform:capitalize; }
.ev-xv-fecha-anio{ font-size:24px; opacity:.75; }
.ev-xv-fecha-detalle{
	margin:0 0 26px;
	text-transform:capitalize;
	color:var(--ev-xv-tenue);
}

.ev-xv-calendario-botones{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
	margin:26px 0 4px;
}
.ev-xv-btn{
	display:inline-block;
	padding:12px 26px;
	border-radius:999px;
	background:var(--ev-xv-dorado);
	color:#15120f;
	font-size:13px;
	font-weight:600;
	letter-spacing:.03em;
	text-decoration:none;
	white-space:nowrap;
}
.ev-xv-btn--fantasma{
	background:transparent;
	border:1px solid var(--ev-xv-tarjeta-borde);
	color:var(--ev-xv-claro);
}
.ev-xv-btn--sm{
	padding:8px 18px;
	font-size:12px;
	margin-top:10px;
}

.ev-xv-mapa{ margin-top:14px; border-radius:10px; overflow:hidden; }
.ev-xv-mapa iframe{ display:block; max-width:100%; filter:grayscale(.15) contrast(1.05); }

.ev-xv-recepcion-hora{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:20px !important;
	color:var(--ev-xv-dorado) !important;
}

.ev-xv-colores{
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top:12px;
}
.ev-xv-color-circulo{
	width:28px;
	height:28px;
	border-radius:50%;
	display:inline-block;
	border:1px solid rgba(255,255,255,.35);
}

.ev-xv-carrusel{
	display:flex;
	gap:14px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding:6px 4px 14px;
	margin-top:6px;
}
.ev-xv-carrusel-item{
	flex:0 0 78%;
	scroll-snap-align:center;
	border-radius:10px;
	overflow:hidden;
}
.ev-xv-carrusel-item img{
	width:100%;
	height:340px;
	object-fit:cover;
	display:block;
}
@media (min-width:640px){
	.ev-xv-carrusel-item{ flex-basis:42%; }
}
@media (min-width:960px){
	.ev-xv-carrusel-item{ flex-basis:30%; }
}

.ev-xv-ver-album{ margin-top:18px; }

.ev-xv-linea-tiempo{
	text-align:left;
	max-width:420px;
	margin:0 auto;
	border-left:1px solid var(--ev-xv-tarjeta-borde);
	padding-left:24px;
}
.ev-xv-linea-tiempo-item{
	position:relative;
	margin-bottom:26px;
}
.ev-xv-linea-tiempo-item:last-child{ margin-bottom:0; }
.ev-xv-linea-tiempo-punto{
	position:absolute;
	left:-29px;
	top:6px;
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--ev-xv-dorado);
}
.ev-xv-linea-tiempo-hora{
	display:block;
	font-size:12px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--ev-xv-dorado);
	margin-bottom:4px;
}
.ev-xv-linea-tiempo-cuerpo h3{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:20px;
	margin:0 0 4px;
	color:var(--ev-xv-claro);
}
.ev-xv-linea-tiempo-cuerpo p{
	margin:0;
	font-size:14px;
	color:var(--ev-xv-tenue);
}

.ev-xv-regalos-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
@media (min-width:640px){
	.ev-xv-regalos-grid{ grid-template-columns:1fr 1fr; }
}
.ev-xv-tarjeta-regalo{ margin:0; max-width:none; }

.ev-xv-donativo summary{
	cursor:pointer;
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:20px;
	color:var(--ev-xv-dorado);
}
.ev-xv-donativo p{ margin-top:14px; }

/* Pase de acceso (pantalla de RSVP confirmado) con el mismo tema oscuro,
 * cuando el evento usa la plantilla de XV años — ver invitados.php. */
.ev-xv-pase{
	background:var(--ev-xv-oscuro);
	border:1px solid var(--ev-xv-tarjeta-borde);
	border-radius:14px;
	padding:30px 20px;
	max-width:340px;
	margin:16px auto;
	color:var(--ev-xv-claro);
}
.ev-xv-pase-nombres{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:24px;
	color:var(--ev-xv-dorado);
	margin:0 0 16px;
}
.ev-xv-pase #eventos-core-qr-canvas{
	background:#fff;
	padding:12px;
	border-radius:8px;
	display:inline-block;
}
.ev-xv-pase-codigo{
	margin-top:14px;
	letter-spacing:.15em;
	font-size:13px;
	color:var(--ev-xv-tenue);
}

/* ======================================================================
 * Fase 12b — Plantilla de Cumpleaños enriquecida: tema claro y festivo.
 * A diferencia de Boda/XV años (fondo oscuro fijo), Cumpleaños se queda
 * con el fondo claro de siempre y usa los colores propios del evento
 * (--ev-color-primario/--ev-color-secundario, elegidos por el anfitrión)
 * como acento — así cada fiesta puede tener su propio color sin tocar
 * este CSS. Todas las clases usan el prefijo "ev-cumple-" a propósito,
 * para no afectar en nada a Boda/XV años. Tipografía sans-serif (Public
 * Sans, ya cargada en el sitio) en vez de la serif itálica de las otras
 * dos plantillas.
 * ====================================================================== */

.ev-cumple-hero,
.ev-cumple-seccion-cuerpo,
.ev-cumple-tarjeta,
.ev-cumple-linea-tiempo{
	--ev-cumple-acento:var(--ev-color-primario, #ff6f61);
	--ev-cumple-fondo:var(--ev-color-secundario, #fff8f2);
	--ev-cumple-texto:#2b2320;
	--ev-cumple-tenue:rgba(43,35,32,.68);
	--ev-cumple-tarjeta-fondo:#ffffff;
	--ev-cumple-tarjeta-borde:rgba(43,35,32,.12);
}

.ev-cumple-hero{
	position:relative;
	width:100vw;
	margin-left:calc(50% - 50vw);
	min-height:88vh;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:var(--ev-cumple-fondo);
	background-size:cover;
	background-position:center;
	overflow:hidden;
}
.ev-cumple-hero-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.55) 55%, rgba(255,255,255,.85) 100%);
}
.ev-cumple-hero-contenido{
	position:relative;
	z-index:1;
	text-align:center;
	color:var(--ev-cumple-texto);
	padding:40px 24px;
	max-width:720px;
}
.ev-cumple-hero-iniciales{
	font-family:"Public Sans", sans-serif;
	font-weight:700;
	font-size:22px;
	letter-spacing:.15em;
	color:var(--ev-cumple-acento);
	margin:0 0 10px;
}
.ev-cumple-badge{
	font-family:"Public Sans", sans-serif;
	font-size:12px;
	letter-spacing:.3em;
	text-transform:uppercase;
	color:var(--ev-cumple-acento);
	margin:0 0 18px;
}
.ev-cumple-hero-nombres{
	font-family:"Public Sans", sans-serif;
	font-weight:800;
	font-size:clamp(42px, 8vw, 76px);
	line-height:1.1;
	margin:0 0 18px;
	color:var(--ev-cumple-texto);
}
.ev-cumple-hero-frase{
	font-size:16px;
	color:var(--ev-cumple-tenue);
	max-width:480px;
	margin:0 auto;
}
.ev-cumple-hero-desliza{
	margin-top:48px;
	font-size:11px;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--ev-cumple-tenue);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
}
.ev-cumple-hero-flecha{
	font-size:16px;
	animation:ev-cumple-flotar 2s ease-in-out infinite;
}
@keyframes ev-cumple-flotar{
	0%, 100%{ transform:translateY(0); }
	50%{ transform:translateY(6px); }
}

.ev-cumple-seccion-cuerpo{
	max-width:640px;
	margin:0 auto;
	padding:70px 24px;
	text-align:center;
	color:var(--ev-cumple-texto);
}
.ev-cumple-linea-decorativa{
	width:56px;
	height:4px;
	border-radius:4px;
	background:var(--ev-cumple-acento);
	margin:0 auto 22px;
}
.ev-cumple-titulo{
	font-family:"Public Sans", sans-serif;
	font-weight:800;
	font-size:34px;
	color:var(--ev-cumple-texto);
	margin:0 0 28px;
}
.ev-cumple-frase-emotiva{
	font-family:"Public Sans", sans-serif;
	font-size:20px;
	font-style:italic;
	color:var(--ev-cumple-tenue);
	max-width:520px;
	margin:0 auto 30px;
}

.ev-cumple-organiza-texto{
	font-size:17px;
	color:var(--ev-cumple-tenue);
	max-width:480px;
	margin:0 auto;
}

.ev-cumple-tarjeta{
	background:var(--ev-cumple-tarjeta-fondo);
	border:1px solid var(--ev-cumple-tarjeta-borde);
	border-radius:16px;
	padding:22px 24px;
	margin:20px auto 0;
	max-width:460px;
	text-align:center;
	box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.ev-cumple-tarjeta h3{
	font-family:"Public Sans", sans-serif;
	font-weight:700;
	font-size:20px;
	color:var(--ev-cumple-acento);
	margin:0 0 10px;
}
.ev-cumple-tarjeta p{
	margin:0 0 6px;
	font-size:15px;
	color:var(--ev-cumple-tenue);
}

.ev-cumple-fecha-grande{
	display:flex;
	align-items:baseline;
	justify-content:center;
	gap:12px;
	font-family:"Public Sans", sans-serif;
	font-weight:800;
	color:var(--ev-cumple-texto);
	margin-bottom:6px;
}
.ev-cumple-fecha-dia{ font-size:64px; line-height:1; }
.ev-cumple-fecha-mes{ font-size:24px; text-transform:capitalize; }
.ev-cumple-fecha-anio{ font-size:24px; opacity:.6; font-weight:600; }
.ev-cumple-fecha-detalle{
	margin:0 0 26px;
	text-transform:capitalize;
	color:var(--ev-cumple-tenue);
}

.ev-cumple-calendario-botones{
	display:flex;
	gap:12px;
	justify-content:center;
	flex-wrap:wrap;
	margin:26px 0 4px;
}
.ev-cumple-btn{
	display:inline-block;
	padding:12px 26px;
	border-radius:999px;
	background:var(--ev-cumple-acento);
	color:#fff;
	font-size:13px;
	font-weight:700;
	letter-spacing:.03em;
	text-decoration:none;
	white-space:nowrap;
}
.ev-cumple-btn--fantasma{
	background:transparent;
	border:1px solid var(--ev-cumple-tarjeta-borde);
	color:var(--ev-cumple-texto);
}
.ev-cumple-btn--sm{
	padding:8px 18px;
	font-size:12px;
	margin-top:10px;
}

.ev-cumple-mapa{ margin-top:14px; border-radius:12px; overflow:hidden; }
.ev-cumple-mapa iframe{ display:block; max-width:100%; }

.ev-cumple-recepcion-hora{
	font-family:"Public Sans", sans-serif;
	font-weight:700;
	font-size:18px !important;
	color:var(--ev-cumple-acento) !important;
}

.ev-cumple-colores{
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top:12px;
}
.ev-cumple-color-circulo{
	width:28px;
	height:28px;
	border-radius:50%;
	display:inline-block;
	border:1px solid rgba(0,0,0,.12);
}

.ev-cumple-carrusel{
	display:flex;
	gap:14px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding:6px 4px 14px;
	margin-top:6px;
}
.ev-cumple-carrusel-item{
	flex:0 0 78%;
	scroll-snap-align:center;
	border-radius:14px;
	overflow:hidden;
}
.ev-cumple-carrusel-item img{
	width:100%;
	height:340px;
	object-fit:cover;
	display:block;
}
@media (min-width:640px){
	.ev-cumple-carrusel-item{ flex-basis:42%; }
}
@media (min-width:960px){
	.ev-cumple-carrusel-item{ flex-basis:30%; }
}

.ev-cumple-ver-album{ margin-top:18px; }

.ev-cumple-linea-tiempo{
	text-align:left;
	max-width:420px;
	margin:0 auto;
	border-left:3px solid var(--ev-cumple-acento);
	padding-left:24px;
}
.ev-cumple-linea-tiempo-item{
	position:relative;
	margin-bottom:26px;
}
.ev-cumple-linea-tiempo-item:last-child{ margin-bottom:0; }
.ev-cumple-linea-tiempo-punto{
	position:absolute;
	left:-30px;
	top:6px;
	width:11px;
	height:11px;
	border-radius:50%;
	background:var(--ev-cumple-acento);
}
.ev-cumple-linea-tiempo-hora{
	display:block;
	font-size:12px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--ev-cumple-acento);
	margin-bottom:4px;
	font-weight:700;
}
.ev-cumple-linea-tiempo-cuerpo h3{
	font-family:"Public Sans", sans-serif;
	font-weight:700;
	font-size:19px;
	margin:0 0 4px;
	color:var(--ev-cumple-texto);
}
.ev-cumple-linea-tiempo-cuerpo p{
	margin:0;
	font-size:14px;
	color:var(--ev-cumple-tenue);
}

.ev-cumple-regalos-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}
@media (min-width:640px){
	.ev-cumple-regalos-grid{ grid-template-columns:1fr 1fr; }
}
.ev-cumple-tarjeta-regalo{ margin:0; max-width:none; }

/* ======================================================================
 * Fase 16 — Motor propio de plantillas.
 * Rediseño (segunda vuelta) tomando como referencia una invitación que
 * Pedro compartió de otra plataforma del mismo giro: fondo general claro
 * tipo crema, con bloques oscuros propios solo en Portada y Vestimenta
 * (ver `.ev-boda-hero` y `.ev-boda-seccion-cuerpo--oscura` más arriba) en
 * vez del fondo oscuro corrido de la primera versión.
 * ====================================================================== */
.ev-motor-invitacion--boda{
	background-color:var(--t-fondo, #FAF6EE);
	color:var(--t-texto, #2B2620);
}

/* Fase 16 (Paso 3b): fondo general de XV años y Cumpleaños en el motor propio.
 * En Elementor ese fondo lo ponía Pedro a mano en cada sección (el motor no
 * lo lee), así que se declara aquí una sola vez para toda la invitación —
 * mismos colores que ya usan las clases `.ev-xv-*` / `.ev-cumple-*`. */
.ev-motor-invitacion--xv-anos{
	background-color:#15120f;
	color:#F6F4EE;
}
.ev-motor-invitacion--cumpleanos{
	background-color:var(--ev-color-secundario, #fff8f2);
	color:#2b2320;
}

/* ======================================================================
 * Fase 16 (segunda vuelta) — sobre de apertura con el mismo degradado
 * morado/oscuro y el texto arriba del sobre que trae la referencia, en vez
 * del fondo crema plano genérico que ya existía en el sitio.
 * ====================================================================== */
.smi-envelope--boda{
	background:radial-gradient(circle at 30% 85%, rgba(120,40,70,.55), transparent 55%),
		linear-gradient(160deg, #2a1f35 0%, #1a1420 55%, #120e18 100%);
	padding:60px 24px;
}
.smi-envelope--boda .smi-envelope-eyebrow{
	font-family:"Public Sans", sans-serif;
	font-size:11px;
	letter-spacing:.25em;
	text-transform:uppercase;
	color:#C9A25B;
	margin:0 0 14px;
}
.smi-envelope--boda .smi-envelope-nombres{
	font-family:"Cormorant", serif;
	font-style:italic;
	font-weight:600;
	font-size:clamp(32px, 8vw, 44px);
	color:#F6F4EE;
	margin:0 0 32px;
}
.smi-envelope--boda .smi-envelope-sobre{
	width:min(320px, 80vw);
	aspect-ratio:16/10;
	background:linear-gradient(160deg, #e9d7b8, #cdb78f);
	clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%);
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:2px;
	box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.smi-envelope--boda .smi-envelope-sobre::before,
.smi-envelope--boda .smi-envelope-sobre::after{
	content:"";
	position:absolute;
	top:0;
	width:50%;
	height:100%;
	background:linear-gradient(160deg, rgba(255,255,255,.18), transparent 60%);
	clip-path:polygon(0 0, 100% 0, 0 100%);
}
.smi-envelope--boda .smi-envelope-sobre::after{
	right:0;
	transform:scaleX(-1);
}
.smi-envelope--boda .smi-envelope-seal{
	position:relative;
	z-index:1;
	width:70px;
	height:70px;
	border-radius:50%;
	background:radial-gradient(circle at 35% 30%, #c94a4a, #8a1f1f);
	border:2px solid #e8c88a;
	color:#F6F4EE;
	font-family:"Cormorant", serif;
	font-style:italic;
	font-size:22px;
	box-shadow:0 6px 14px rgba(0,0,0,.4);
}
.smi-envelope--boda .smi-envelope-btn{
	margin-top:28px;
	border-color:#C9A25B !important;
	color:#F6F4EE !important;
	background:rgba(201,162,91,.15) !important;
}

/* Fase 16 (segunda vuelta) — la ubicación de "La recepción" se ve, en la
 * referencia, sobre un fondo propio (rosa/beige suave), distinto al crema
 * del resto — no dentro de una tarjeta con borde. */
.ev-boda-seccion-cuerpo--rosa{
	max-width:100%;
	width:100vw;
	margin-left:calc(50% - 50vw);
	background:var(--t-rosa, #F4E7DF);
	padding:70px 24px;
}
.ev-boda-seccion-cuerpo--rosa .ev-boda-tarjeta{
	background:transparent;
	border:none;
	padding:0;
}

/* Fase 16 (segunda vuelta) — barra flotante inferior, fija mientras se hace
 * scroll, con el aviso de confirmar y accesos directos a ubicación y
 * compartir — misma referencia visual. */
.ev-motor-barra-flotante{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:500;
	display:flex;
	gap:10px;
	padding:12px 16px calc(12px + env(safe-area-inset-bottom));
	background:var(--t-fondo, #FAF6EE);
	backdrop-filter:blur(6px);
	border-top:1px solid var(--t-borde, rgba(43,38,32,.1));
}
.ev-motor-barra-flotante a{
	text-decoration:none;
	font-family:"Public Sans", sans-serif;
	font-size:14px;
	font-weight:600;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:999px;
}
.ev-motor-barra-flotante .ev-motor-barra-confirmar{
	flex:1;
	background:var(--t-acento-texto, #8a6d3b);
	color:var(--t-fondo, #fff);
	padding:12px 18px;
}
.ev-motor-barra-flotante .ev-motor-barra-icono{
	width:48px;
	height:48px;
	flex:0 0 48px;
	background:var(--t-tarjeta, #fff);
	border:1px solid var(--t-borde, rgba(43,38,32,.15));
	font-size:18px;
}
body.ev-motor-page{
	padding-bottom:76px;
}

/* ======================================================================
 * Fase 16 (Paso 3c) — sistema de temas. Variantes de portada y adornos por
 * modelo. Los colores y tipografías de cada modelo llegan como variables
 * `--t-*` desde `includes/temas.php`; aquí solo viven las diferencias de
 * estructura y los adornos propios de cada uno.
 * ====================================================================== */

/* Portada en arco: la foto va dentro de un arco, sobre fondo claro, y los
 * nombres debajo (en vez de la foto a pantalla completa de "foto"). */
.ev-boda-hero--arco{
	min-height:0;
	background-color:var(--t-fondo, #FAF6EE);
	padding-top:56px;
}
.ev-boda-hero--arco .ev-boda-hero-foto{
	position:relative;
	inset:auto;
	width:min(76vw, 300px);
	aspect-ratio:3 / 4;
	margin:0 auto;
	border-radius:999px 999px 10px 10px;
	background-color:var(--t-rosa, #F4E7DF);
	box-shadow:0 0 0 8px var(--t-fondo, #FAF6EE), 0 0 0 9px var(--t-acento, #C9A25B);
}
.ev-boda-hero--arco .ev-boda-hero-panel{
	min-height:0;
	align-items:flex-start;
	background:none;
	padding:40px 24px 60px;
}
.ev-boda-hero--arco .ev-boda-hero-contenido{ color:var(--t-texto, #2B2620); }
.ev-boda-hero--arco .ev-boda-hero-nombres{ color:var(--t-texto, #2B2620); font-size:clamp(34px, 9vw, 50px); }
.ev-boda-hero--arco .ev-boda-badge{ color:var(--t-acento-texto, #8a6d3b); }
.ev-boda-hero--arco .ev-boda-hero-frase,
.ev-boda-hero--arco .ev-boda-hero-desliza,
.ev-boda-hero--arco .ev-boda-hero-insignia-mes,
.ev-boda-hero--arco .ev-boda-hero-insignia-anio{ color:var(--t-texto-tenue, rgba(43,38,32,.68)); }
.ev-boda-hero--arco .ev-boda-hero-insignia,
.ev-boda-hero--arco .ev-boda-hero-insignia-dia{ color:var(--t-texto, #2B2620); }
.ev-boda-hero--arco .ev-boda-hero-insignia-linea{ background:var(--t-acento, #C9A25B); }
@media (min-width:900px){
	.ev-boda-hero--arco{ display:block; min-height:0; padding-top:64px; }
	.ev-boda-hero--arco .ev-boda-hero-foto{ flex:none; width:340px; }
	.ev-boda-hero--arco .ev-boda-hero-panel{ flex:none; justify-content:center; background:none; padding:44px 24px 72px; }
	.ev-boda-hero--arco .ev-boda-hero-contenido{ text-align:center; }
	.ev-boda-hero--arco .ev-boda-hero-desliza{ justify-content:center; }
}

/* Jardín botánico — ramas delicadas como adorno (máscara con el color de
 * acento de la paleta), tarjetas más suaves y galería en arcos. */
.ev-tema--jardin-botanico{
	--ev-rama:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20160%2026'%3E%3Cpath%20d='M18%2013H76M84%2013H142'%20fill='none'%20stroke='black'%20stroke-width='1.2'%20stroke-linecap='round'/%3E%3Cpath%20d='M62%2013q-3%20-9%20-13%20-10q1%209%2013%2010z%20M62%2013q-3%209%20-13%2010q1%20-9%2013%20-10z%20M44%2013q-3%20-9%20-13%20-10q1%209%2013%2010z%20M44%2013q-3%209%20-13%2010q1%20-9%2013%20-10z%20M26%2013q-3%20-9%20-13%20-10q1%209%2013%2010z%20M26%2013q-3%209%20-13%2010q1%20-9%2013%20-10z%20M98%2013q3%20-9%2013%20-10q-1%209%20-13%2010z%20M98%2013q3%209%2013%2010q-1%20-9%20-13%20-10z%20M116%2013q3%20-9%2013%20-10q-1%209%20-13%2010z%20M116%2013q3%209%2013%2010q-1%20-9%20-13%20-10z%20M134%2013q3%20-9%2013%20-10q-1%209%20-13%2010z%20M134%2013q3%209%2013%2010q-1%20-9%20-13%20-10z'%20fill='black'/%3E%3Ccircle%20cx='80'%20cy='13'%20r='2.8'%20fill='black'/%3E%3C/svg%3E");
}
.ev-tema--jardin-botanico .ev-boda-linea-decorativa,
.ev-tema--jardin-botanico .ev-boda-hojas{
	display:block;
	width:150px;
	height:26px;
	margin:0 auto 20px;
	background:var(--t-acento, #8FAA94);
	-webkit-mask:var(--ev-rama) center / contain no-repeat;
	mask:var(--ev-rama) center / contain no-repeat;
}
.ev-tema--jardin-botanico .ev-boda-hojas > *{ display:none; }
.ev-tema--jardin-botanico .ev-boda-titulo{ font-size:46px; }
.ev-tema--jardin-botanico .ev-boda-tarjeta{ border-radius:18px; }
.ev-tema--jardin-botanico .ev-boda-galeria-marco{
	border-radius:999px 999px 8px 8px;
	padding:8px;
}
.ev-tema--jardin-botanico .ev-boda-galeria-marco img{
	border-radius:999px 999px 4px 4px;
}
.ev-tema--jardin-botanico .ev-boda-icono{ stroke-width:1.1; }
