/* Expoweed 2026 - design system v2 (lenguaje tipo afiche/póster)
   Colores según manual de marca. Tipografía: Oswald (títulos, sustituto de DIN Next LT Pro) + Poppins (cuerpo). */

:root{
	--ew-grafito:#1F1F1F;
	--ew-grafito-2:#161616;
	--ew-naranja:#F0852E;
	--ew-verde-claro:#3EB076;
	--ew-verde-oscuro:#024F47;
	--ew-beige:#E3D5B5;
	--ew-font-display:'Oswald', sans-serif;
	--ew-font-body:'Poppins', sans-serif;
}

*{box-sizing:border-box}

body{
	background:var(--ew-grafito);
	color:var(--ew-beige);
	font-family:var(--ew-font-body);
	font-size:17px;
	line-height:1.7;
	overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

.ew-container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}

h1,h2,h3,h4,.ew-title{
	font-family:var(--ew-font-display);
	font-weight:700;
	text-transform:uppercase;
	line-height:.98;
}

/* ---------- Header / navegación ---------- */
.ew-navbar{
	display:flex;justify-content:space-between;align-items:center;
	background:var(--ew-grafito);padding:14px 20px;width:100%;
	position:fixed;top:0;left:0;z-index:10000;border-bottom:1px solid rgba(227,213,181,.15);
}
.ew-navbar .ew-logo{line-height:0;display:inline-block}
.ew-navbar .ew-logo img{height:34px}
@media(min-width:768px){
	.ew-navbar{padding:16px 40px}
	.ew-navbar .ew-logo img{height:40px}
}
.ew-nav-menu{display:flex;gap:26px;align-items:center;margin:0;padding:0;list-style:none}
.ew-nav-menu a{
	color:var(--ew-beige);text-decoration:none;font-family:var(--ew-font-display);
	font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;transition:color .3s;
}
.ew-nav-menu a:hover, .ew-nav-menu li.current-menu-item a{color:var(--ew-verde-claro)}
.ew-hamburger{display:none;cursor:pointer;background:none;border:none;padding:10px;z-index:10001}
.ew-hamburger span{display:block;width:24px;height:3px;background:var(--ew-beige);margin:5px 0;transition:.3s}
.ew-hamburger.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}
.ew-hamburger.active span:nth-child(2){opacity:0}
.ew-hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}
@media(max-width:900px){
	.ew-hamburger{display:block}
	/* El menú móvil es position:fixed, pero su <nav> contenedor seguía contando como
	   columna de la barra: con space-between eso dejaba la hamburguesa al medio.
	   Sacándolo del flujo, la fila queda solo con logo y hamburguesa, uno en cada extremo. */
	.ew-navbar > nav{position:absolute}
	/* Compensa el padding interno del botón para que el ícono quede ópticamente
	   alineado con el borde del logo, no 10px más adentro. */
	.ew-hamburger{margin-right:-10px}
	.ew-nav-menu{
		position:fixed;top:0;right:-100%;width:100%;height:100vh;
		background:var(--ew-grafito);flex-direction:column;justify-content:center;
		transition:.5s cubic-bezier(.77,.2,.05,1);gap:26px;padding:40px;
	}
	.ew-nav-menu.active{right:0}
	.ew-nav-menu a{font-size:20px;letter-spacing:2px}
	.ew-nav-cta{display:none}
}
.ew-nav-cta a{
	background:var(--ew-naranja);color:var(--ew-grafito);padding:11px 22px;text-decoration:none;
	font-family:var(--ew-font-display);font-weight:700;font-size:13px;letter-spacing:1px;
	text-transform:uppercase;display:inline-block;transition:.3s;
}
.ew-nav-cta a:hover{opacity:.85}

/* ---------- Botones ---------- */
.btn{
	display:inline-block;font-family:var(--ew-font-display);font-weight:700;
	text-transform:uppercase;letter-spacing:1.5px;text-decoration:none;
	padding:16px 34px;font-size:15px;transition:.3s;border:2px solid transparent;
}
.btn-naranja{background:var(--ew-naranja);color:var(--ew-grafito)}
.btn-naranja:hover{opacity:.85}
.btn-outline-beige{background:transparent;border-color:var(--ew-beige);color:var(--ew-beige)}
.btn-outline-beige:hover{background:var(--ew-beige);color:var(--ew-grafito)}
.btn-verde{background:var(--ew-verde-claro);color:var(--ew-grafito)}
.btn-verde:hover{opacity:.85}
.btn-outline-grafito{background:transparent;border-color:var(--ew-grafito);color:var(--ew-grafito)}
.btn-outline-grafito:hover{background:var(--ew-grafito);color:var(--ew-beige)}

/* ---------- Sistema de "afiche": héroes de fondo plano, titular gigante alineado a la izquierda ---------- */
.ew-poster{
	position:relative;overflow:hidden;padding:150px 24px 70px;
	display:flex;flex-direction:column;justify-content:flex-end;min-height:78vh;
}
.ew-poster--grafito{background:var(--ew-grafito)}
.ew-poster--verde{background:var(--ew-verde-oscuro)}
.ew-poster--beige{background:var(--ew-beige);color:var(--ew-grafito)}
.ew-poster-accent{position:absolute;left:0;width:100%;height:5px;z-index:2}
.ew-poster-accent.top{top:0}
.ew-poster-accent.bottom{bottom:0}
.ew-poster-accent.naranja{background:var(--ew-naranja)}
.ew-poster-accent.verde{background:var(--ew-verde-claro)}

.ew-ghost-shape{
	position:absolute;border-radius:50%;pointer-events:none;z-index:0;
	border:52px solid rgba(255,255,255,.05);
}

/* Hojas de fondo, como en el manual de marca: 1-2 íconos grandes que sangran fuera del borde,
   mostrando solo una parte (nunca un patrón repetido saturando el fondo) */
/* z-index 2 para que las hojas queden por sobre el overlay del video (z-index 1);
   .ew-poster-inner también es 2 pero va después en el DOM, así el texto siempre queda encima. */
.ew-leaf-edge{position:absolute;z-index:2;pointer-events:none;opacity:.3}
.ew-leaf-edge img{width:100%;height:auto;display:block}
.ew-leaf-edge.left{left:-70px;top:-15px;width:240px;transform:rotate(-12deg)}
.ew-leaf-edge.right{right:-90px;bottom:-40px;width:280px;transform:rotate(155deg)}
@media(max-width:700px){
	.ew-leaf-edge.left{width:150px;left:-50px}
	.ew-leaf-edge.right{width:170px;right:-60px}
}

/* Video de fondo (YouTube) con overlay oscuro para no restar legibilidad al titular */
.ew-video-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}
.ew-video-bg iframe{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:177.78vh;height:100vh;min-width:100%;min-height:56.25vw;
	pointer-events:none;
}
.ew-poster-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(31,31,31,.72);z-index:1}
.ew-poster--beige .ew-ghost-shape{border-color:rgba(31,31,31,.06)}
.ew-ghost-shape.pos-tr{width:640px;height:640px;top:-220px;right:-180px}
.ew-ghost-shape.pos-br{width:560px;height:560px;bottom:-260px;right:-120px}

.ew-poster-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;width:100%}
.ew-poster-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}
.ew-poster-logo img{height:52px}
.ew-poster-icon{width:min(160px,22vw);opacity:.9}

.ew-poster-meta{margin-bottom:22px}
.ew-poster-meta .line1{
	font-family:var(--ew-font-display);font-size:14px;letter-spacing:3px;text-transform:uppercase;
	opacity:.85;
}
.ew-poster-meta .line2{
	font-family:var(--ew-font-display);font-weight:700;font-size:16px;letter-spacing:1px;
	text-transform:uppercase;padding-top:6px;border-top:1px solid currentColor;display:inline-block;margin-top:4px;
}

/* Variante centrada del hero (Inicio), inspirada en el encabezado del sitio 2025 */
.ew-poster--center{justify-content:center;text-align:center}
.ew-hero-center{display:flex;flex-direction:column;align-items:center}
.ew-hero-tagline{
	font-family:var(--ew-font-body);font-weight:400;letter-spacing:3px;text-transform:uppercase;
	font-size:clamp(13px,2vw,16px);color:var(--ew-beige);max-width:480px;margin:0 auto 18px;
}
.ew-hero-tt-logo{max-width:480px;width:88%;margin:0 auto}
.ew-hero-dates{
	font-family:var(--ew-font-display);font-weight:700;letter-spacing:1px;text-transform:uppercase;
	color:var(--ew-naranja);font-size:clamp(18px,3vw,26px);margin:26px auto 0;
}
.ew-hero-center-ctas{justify-content:center;margin-top:34px}

.ew-poster-headline{font-size:clamp(46px,9vw,110px);letter-spacing:-1px}
.ew-poster-headline span{display:block}
.ew-poster-headline .c-naranja{color:var(--ew-naranja)}
.ew-poster-headline .c-verde{color:var(--ew-verde-claro)}
.ew-poster-headline .c-beige{color:var(--ew-beige)}
.ew-poster-headline .c-grafito{color:var(--ew-grafito)}
.ew-poster-headline .small{font-size:.5em}
.ew-poster-headline .divider{display:block;width:80px;height:2px;background:currentColor;opacity:.5;margin:10px 0}

.ew-poster-sub{margin-top:26px;max-width:640px;font-size:17px;line-height:1.7;opacity:.92}
.ew-poster-sub strong{color:var(--ew-naranja)}
.ew-poster-cta-group{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* ---------- Secciones genéricas ---------- */
.ew-section{padding:80px 0;position:relative}
.ew-section--tight{padding:36px 0}
.ew-section-alt{background:var(--ew-grafito-2)}
.ew-section-beige{background:var(--ew-beige);color:var(--ew-grafito)}
.ew-section-beige h1,.ew-section-beige h2,.ew-section-beige h3{color:var(--ew-grafito)}
.ew-section-divider{max-width:1280px;margin:0 auto 50px;padding:0 24px;display:flex;align-items:center;gap:15px}
.ew-divider-line{flex-grow:1;height:2px;background:linear-gradient(90deg,var(--ew-naranja),transparent)}
.ew-divider-tag{font-family:var(--ew-font-display);font-size:11px;font-weight:700;letter-spacing:2px;padding:4px 10px;border:1px solid var(--ew-naranja);color:var(--ew-naranja);white-space:nowrap;text-transform:uppercase}
.ew-title-main{font-size:clamp(32px,6vw,64px);margin-bottom:15px}

/* Preámbulo breve de Inicio, previo al bloque de tickets: ancho completo del contenedor, alineado a la izquierda */
.ew-preamble{padding-top:20px;padding-bottom:20px}
.ew-preamble p{margin-bottom:16px;font-size:18px;line-height:1.7}
.ew-preamble p:last-child{margin-bottom:0}

/* Contenido de página estándar (WYSIWYG dentro de Feria/Medicinal/Cultura) */
.ew-page-content{padding:70px 0}
.ew-page-content p{margin-bottom:22px;font-size:18px;line-height:1.8}
.ew-page-content h2{font-size:clamp(26px,4vw,38px);color:var(--ew-verde-claro);margin:40px 0 18px}
.ew-page-content h3{font-size:22px;color:var(--ew-naranja);margin:30px 0 14px}
.ew-page-content ul{margin:0 0 22px 22px;list-style:disc}
.ew-page-content img{margin:20px 0}
.ew-page-content a:not(.btn){color:var(--ew-naranja);text-decoration:underline}

/* ---------- Intro dos columnas: contador + texto + íconos 2x2, todo sobre el mismo fondo claro ----------
   Los PNG de iconos traen fondo blanco opaco (no editamos esos archivos);
   mix-blend-mode:multiply sobre fondo beige hace que el blanco se funda
   con el fondo y solo quede visible el trazo verde. */
.ew-intro-section{background:var(--ew-beige);color:var(--ew-grafito);padding:60px 24px 70px}
.ew-countdown-grid{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;max-width:1100px;margin:0 auto 60px}
.ew-countdown-item{display:flex;flex-direction:column;align-items:center;gap:12px}
.ew-countdown-box{
	background:var(--ew-naranja);width:96px;height:96px;border-radius:0;
	display:flex;align-items:center;justify-content:center;
}
.ew-countdown-box span{font-family:var(--ew-font-display);font-weight:700;font-size:clamp(30px,5vw,42px);color:var(--ew-grafito)}
.ew-countdown-label{font-family:var(--ew-font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ew-grafito)}
.ew-countdown-label--light{color:var(--ew-beige)}
.ew-countdown-grid--hero{margin:28px auto 0}
@media(max-width:600px){.ew-countdown-box{width:70px;height:70px}}

.ew-intro-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:50px}
@media(min-width:900px){.ew-intro-grid{grid-template-columns:1.1fr 1fr;align-items:center}}
.ew-intro-text h2{font-size:clamp(32px,6vw,56px);margin-bottom:0}
.ew-intro-text h2 .green{color:var(--ew-verde-claro)}
.ew-intro-text .divider{width:80px;height:3px;background:var(--ew-naranja);margin:20px 0}
.ew-intro-text p{font-size:clamp(17px,2vw,19px);line-height:1.7}
/* Íconos de la intro. Es flex y no grid a propósito: con flex-wrap + justify-content:center
   los que sobran en la última fila quedan centrados solos, así 5 íconos caen 3 + 2 centrados
   sin depender de cuántos haya cargados. */
.ew-icons-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 22px}
.ew-categoria-item{display:flex;align-items:center;gap:14px;min-width:0;flex:0 1 calc(50% - 11px)}
@media(min-width:1100px){.ew-categoria-item{flex:0 1 calc(33.333% - 15px)}}
.ew-categoria-item img{height:54px;width:auto;max-width:100px;object-fit:contain;mix-blend-mode:multiply}
.ew-categoria-item span{font-family:var(--ew-font-display);font-size:14px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ew-grafito)}
/* Cuando la imagen ya trae su propio texto no se reserva espacio para el rótulo:
   la imagen se queda con toda la celda. */
.ew-categoria-item.solo-imagen{justify-content:center}
.ew-categoria-item.solo-imagen img{height:auto;width:100%;max-width:200px}
@media(max-width:500px){.ew-categoria-item img{height:42px}.ew-categoria-item.solo-imagen img{height:auto}}

/* ---------- Error 404 y resultados de búsqueda ---------- */
.screen-reader-text{
	position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
	clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.ew-404-buscador{display:flex;flex-wrap:wrap;gap:12px;max-width:560px;margin:0 0 40px}
.ew-404-buscador input[type=search]{
	flex:1 1 240px;min-width:0;padding:14px 16px;font-family:var(--ew-font-body);font-size:16px;
	color:var(--ew-grafito);background:#fff;border:2px solid var(--ew-verde-oscuro);border-radius:0;
}
.ew-404-buscador input[type=search]:focus{outline:3px solid var(--ew-naranja);outline-offset:2px}
.ew-404-links-tit{
	font-family:var(--ew-font-display);font-size:13px;font-weight:700;letter-spacing:2px;
	text-transform:uppercase;color:var(--ew-verde-oscuro);margin-bottom:16px;
}
.ew-404-links{display:flex;flex-wrap:wrap;gap:10px}
.ew-404-links a{
	font-family:var(--ew-font-display);font-size:13px;font-weight:700;letter-spacing:1.5px;
	text-transform:uppercase;color:var(--ew-verde-oscuro);text-decoration:none;
	border:2px solid var(--ew-verde-oscuro);padding:10px 18px;transition:background .2s,color .2s;
}
.ew-404-links a:hover,.ew-404-links a:focus-visible{background:var(--ew-verde-oscuro);color:var(--ew-beige)}
.ew-search-list{list-style:none;margin:0;padding:0}
.ew-search-list li{padding:22px 0;border-bottom:1px solid rgba(31,31,31,.15)}
.ew-search-list a{
	font-family:var(--ew-font-display);font-weight:700;text-transform:uppercase;
	font-size:clamp(19px,2.4vw,26px);color:var(--ew-grafito);text-decoration:none;
}
.ew-search-list a:hover{color:var(--ew-naranja)}
.ew-search-list p{margin-top:8px;font-size:16px;line-height:1.6;color:var(--ew-grafito);opacity:.85}
.ew-search-nav a,.ew-search-nav .current{
	display:inline-block;margin:20px 6px 0;font-family:var(--ew-font-display);font-weight:700;
	color:var(--ew-verde-oscuro);text-decoration:none;
}
.ew-search-nav .current{color:var(--ew-naranja)}

.ew-photo-grid{
	display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
	max-width:1100px;margin:60px auto 0;
}
.ew-photo-grid img{
	width:100%;aspect-ratio:1/1;object-fit:cover;display:block;
	outline:3px solid transparent;outline-offset:-3px;transition:outline-color .25s;
}
.ew-photo-grid img:hover{outline-color:var(--ew-naranja)}
@media(max-width:700px){.ew-photo-grid{grid-template-columns:repeat(2,1fr)}}
.ew-photo-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.ew-photo-grid.cols-3{grid-template-columns:repeat(2,1fr)}}

/* ---------- Encabezado de sección interna (eyebrow + título) ---------- */
.ew-block{padding:70px 0}
.ew-block-head{margin-bottom:36px}
.ew-block-head .eyebrow{
	display:inline-block;font-family:var(--ew-font-display);font-size:12px;font-weight:700;
	letter-spacing:3px;text-transform:uppercase;color:var(--ew-naranja);margin-bottom:12px;
}
.ew-block-head .eyebrow.verde{color:var(--ew-verde-claro)}
.ew-block-head h2{font-size:clamp(28px,5vw,48px)}
/* text-wrap:pretty evita que quede una sola palabra huérfana en la última línea */
.ew-block-head p{margin-top:14px;font-size:17px;line-height:1.7;max-width:900px;opacity:.9;text-wrap:pretty}

/* Tarjetas de "qué encontrarás" (features tipográficas con barra de acento) */
.ew-feature-grid{display:grid;grid-template-columns:1fr;gap:2px;background:rgba(227,213,181,.12)}
@media(min-width:640px){.ew-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.ew-feature-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.ew-feature-grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.ew-feature-grid--3{grid-template-columns:repeat(3,1fr)}}
.ew-feature-card{background:var(--ew-grafito);padding:30px 26px;border-top:4px solid var(--ew-verde-claro)}
.ew-feature-card:nth-child(even){border-top-color:var(--ew-naranja)}
.ew-feature-card .num{font-family:var(--ew-font-display);font-size:13px;font-weight:700;letter-spacing:2px;color:var(--ew-naranja);opacity:.8}
.ew-feature-card:nth-child(even) .num{color:var(--ew-verde-claro)}
.ew-feature-card h3{font-size:20px;margin:10px 0 8px;color:var(--ew-beige)}
.ew-feature-card p{font-size:15px;line-height:1.6;opacity:.82}

/* CTA doble al cierre de una página de contenido */
.ew-cta-duo{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}

/* Ritmo de fondos por sección (solo los 3 fondos válidos del manual: grafito / beige / verde oscuro) */
.ew-section-verde{background:var(--ew-verde-oscuro)}
.ew-faq-section--verde{background:var(--ew-verde-oscuro)}

/* Imagen opcional dentro del bloque de texto (se sube desde el Personalizador) */
.ew-content-img{margin-top:34px}
.ew-content-img img{width:100%;height:auto;display:block}
.ew-content-texto>*:first-child{margin-top:0}

/* Texto con imagen a un costado (Feria, Cultura, Medicinal).
   El texto va primero en el HTML; para la variante «izquierda» es order quien
   lo manda a la segunda columna, así el orden en móvil sigue siendo el correcto. */
@media(min-width:900px){
	.ew-content-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36%);gap:0 48px;align-items:start}
	.ew-content-split .ew-content-img{margin-top:6px;position:sticky;top:110px}
	.ew-content-split--izquierda{grid-template-columns:minmax(0,36%) minmax(0,1fr)}
	.ew-content-split--izquierda .ew-content-img{order:-1}
}

/* Contenido WYSIWYG sobre fondo beige: se oscurecen títulos y enlaces para contraste */
.ew-content-beige{background:var(--ew-beige);color:var(--ew-grafito)}
.ew-content-beige .ew-page-content h2{color:var(--ew-verde-oscuro)}
.ew-content-beige .ew-page-content a:not(.btn){color:var(--ew-verde-oscuro)}

/* Encabezado de bloque sobre beige */
.ew-section-beige .ew-block-head .eyebrow.verde{color:var(--ew-verde-oscuro)}

/* Franja de datos clave (Info): fecha, horario, edad, lugar */
.ew-facts-strip{background:var(--ew-beige);color:var(--ew-grafito);padding:44px 24px}
.ew-facts-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:32px 24px}
@media(min-width:768px){.ew-facts-grid{grid-template-columns:repeat(4,1fr)}}
.ew-fact{border-left:3px solid var(--ew-naranja);padding-left:16px}
.ew-fact:nth-child(even){border-left-color:var(--ew-verde-claro)}
.ew-fact .k{display:block;font-family:var(--ew-font-display);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ew-verde-oscuro);margin-bottom:6px}
.ew-fact .v{display:block;font-family:var(--ew-font-display);font-weight:700;font-size:clamp(20px,2.4vw,26px);line-height:1.05;text-transform:uppercase;color:var(--ew-grafito)}

/* Copiar-correo sobre la franja naranja de contacto (Info) */
.ew-contact-stripe .ew-email-copy{border-color:var(--ew-grafito);max-width:420px}
.ew-contact-stripe .ew-email-copy .email-text{color:var(--ew-grafito)}
.ew-contact-stripe .ew-email-copy .copy-btn{background:var(--ew-grafito);color:var(--ew-beige)}
.ew-contact-stripe .ew-email-copy .copy-btn:hover,
.ew-contact-stripe .ew-email-copy .copy-btn.copied{background:var(--ew-verde-oscuro)}

/* ---------- Line-up estilo cartel de festival (Cultura) ---------- */
.ew-lineup-poster{
	position:relative;overflow:hidden;margin-top:14px;
	background:var(--ew-beige);border:3px solid var(--ew-verde-oscuro);
}
/* Banda superior tipo cartel */
.ew-lineup-banda{
	background:var(--ew-verde-oscuro);color:var(--ew-beige);text-align:center;
	font-family:var(--ew-font-display);font-weight:600;font-size:12px;letter-spacing:5px;
	text-transform:uppercase;padding:11px 14px;
}
.ew-lineup-days{display:grid;grid-template-columns:1fr;gap:0;padding:26px 20px 8px;position:relative;z-index:1}
@media(min-width:820px){
	.ew-lineup-days{grid-template-columns:1fr 1fr;gap:34px;padding:34px 30px 12px}
}
.ew-lineup-day-tit{
	background:var(--ew-verde-oscuro);color:var(--ew-beige);text-align:center;
	font-size:14px;letter-spacing:3px;padding:9px 14px;margin-bottom:16px;
}
.ew-lineup-list{list-style:none;margin:0;padding:0}
.ew-lineup-row{margin:0}
.ew-lineup-item{
	display:flex;align-items:center;gap:14px;width:100%;
	background:none;border:0;padding:9px 10px;text-align:left;transition:background-color .2s;
}
button.ew-lineup-item{cursor:pointer}
button.ew-lineup-item:hover,button.ew-lineup-item:focus-visible{background:rgba(2,79,71,.09)}
.ew-lineup-item .hora{
	flex:0 0 auto;min-width:50px;font-family:var(--ew-font-display);font-size:13px;
	font-weight:700;letter-spacing:1px;color:var(--ew-naranja);
}
.ew-lineup-item .thumb{
	flex:0 0 auto;width:48px;height:48px;overflow:hidden;background:var(--ew-verde-oscuro);
	transition:width .25s,height .25s;
}
.ew-lineup-item .thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .3s}
button.ew-lineup-item:hover .thumb img,button.ew-lineup-item:focus-visible .thumb img{filter:none}
.ew-lineup-item .nombre{
	font-family:var(--ew-font-display);font-weight:700;text-transform:uppercase;
	line-height:1;color:var(--ew-grafito);font-size:clamp(19px,2.4vw,28px);letter-spacing:-.5px;
	transition:color .2s;
}
button.ew-lineup-item:hover .nombre,button.ew-lineup-item:focus-visible .nombre{color:var(--ew-naranja)}
/* El artista principal del día se muestra mayor, aunque el orden sea cronológico */
.ew-lineup-item.is-head .nombre{font-size:clamp(26px,3.8vw,44px);color:var(--ew-naranja)}
.ew-lineup-item.is-head .thumb{width:66px;height:66px}
button.ew-lineup-item.is-head:hover .nombre,button.ew-lineup-item.is-head:focus-visible .nombre{color:var(--ew-verde-oscuro)}
.ew-lineup-item .nombre.is-empty{opacity:.45}
/* Foro: bajo el nombre del relator va el título de la charla, en minúsculas para no competir */
.ew-lineup-item .subtitulo{
	display:block;margin-top:6px;font-family:var(--ew-font-body);font-weight:400;
	text-transform:none;letter-spacing:0;font-size:15px;line-height:1.35;color:var(--ew-verde-oscuro);
	max-width:34ch;text-wrap:pretty;
}
.ew-lineup-item.is-head .subtitulo{font-size:17px}
.ew-modal-subtitulo{font-size:17px;line-height:1.4;color:var(--ew-verde-claro);margin-bottom:16px}
/* Cordillera al pie del cartel, firma gráfica de la marca */
.ew-lineup-foot{
	height:58px;background:url('/wp-content/uploads/marca/iconos/cordillera.svg') bottom/cover no-repeat;
	opacity:.4;pointer-events:none;
}
.ew-lineup-note{margin-top:26px;font-family:var(--ew-font-display);font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--ew-verde-oscuro)}

/* ---------- Modal de ficha de artista ---------- */
.ew-modal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px}
.ew-modal[hidden]{display:none}
.ew-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.75)}
.ew-modal-box{
	position:relative;z-index:1;background:var(--ew-grafito);color:var(--ew-beige);
	width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
	border-top:5px solid var(--ew-naranja);
}
.ew-modal-close{
	position:absolute;top:8px;right:10px;z-index:2;background:rgba(31,31,31,.75);border:0;
	color:var(--ew-beige);font-size:28px;line-height:1;width:38px;height:38px;cursor:pointer;
}
.ew-modal-close:hover{color:var(--ew-naranja)}
.ew-modal-foto{width:100%;height:auto;max-height:300px;object-fit:cover;display:block}
.ew-modal-body{padding:26px 28px 30px}
.ew-modal-meta{display:block;font-family:var(--ew-font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ew-verde-claro);margin-bottom:8px}
.ew-modal-body h3{font-size:clamp(26px,4vw,38px);margin-bottom:14px}
.ew-modal-bio{font-size:16px;line-height:1.7;opacity:.9}
.ew-modal-bio p{margin-bottom:12px}
.ew-modal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ew-modal-links a{
	font-family:var(--ew-font-display);font-size:12px;font-weight:700;letter-spacing:1.5px;
	text-transform:uppercase;text-decoration:none;padding:10px 18px;
	border:2px solid var(--ew-beige);color:var(--ew-beige);transition:.2s;
}
.ew-modal-links a:hover{background:var(--ew-naranja);border-color:var(--ew-naranja);color:var(--ew-grafito)}
body.ew-modal-open{overflow:hidden}

/* ---------- Early Prendidos / Club ---------- */
.ew-early-banner{background:var(--ew-verde-oscuro);padding:38px 24px;border-top:2px solid var(--ew-naranja);border-bottom:2px solid var(--ew-naranja)}
.ew-early-banner-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:space-between}
.ew-early-banner-text{text-align:left;max-width:560px}
.ew-early-banner h3{font-size:clamp(20px,3vw,30px);color:var(--ew-naranja);margin-bottom:6px}
.ew-early-banner p{font-size:17px;color:var(--ew-beige);margin:0}
@media(max-width:700px){.ew-early-banner-inner{flex-direction:column;align-items:flex-start}}

.ew-club-section{background:var(--ew-beige);color:var(--ew-grafito);padding:80px 0}
.ew-club-inner{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}
.ew-club-inner h2{font-size:clamp(38px,7.5vw,92px);margin-bottom:18px}
.ew-club-inner h2 .green{color:var(--ew-verde-claro)}
.ew-club-inner .divider{width:80px;height:3px;background:var(--ew-naranja);margin:20px 0}
.ew-club-inner p{font-size:clamp(17px,2.2vw,21px);line-height:1.7;max-width:900px}

/* ---------- Tickets / pricing ---------- */
.ew-tickets-section{background:var(--ew-grafito-2);padding:90px 0;border-top:2px solid var(--ew-naranja)}
.ew-tickets-section--merged{padding-top:30px;border-top:none}
.ew-tickets-hero{max-width:820px;margin:0 0 50px}
.ew-tickets-hero p{font-size:20px;opacity:.9;margin:20px 0 10px}
.ew-goldenpass-cta{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:20px}
.ew-goldenpass-logo{max-width:200px}
.ew-price-grid{display:grid;grid-template-columns:1fr;gap:2px;margin-top:45px;background:rgba(227,213,181,.15)}
@media(min-width:768px){.ew-price-grid{grid-template-columns:repeat(2,1fr)}}
.ew-price-card{
	background:var(--ew-grafito);border-top:4px solid var(--ew-naranja);
	padding:36px 32px;text-align:left;position:relative;display:flex;flex-direction:column;
}
.ew-price-card.early{border-top-color:var(--ew-verde-claro)}
.ew-price-card .tag{
	display:inline-block;margin-bottom:14px;font-family:var(--ew-font-display);font-weight:700;
	font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ew-grafito);padding:5px 12px;
}
.ew-price-card.early .tag{background:var(--ew-verde-claro)}
.ew-price-card.general .tag{background:var(--ew-naranja)}
.ew-price-card h3{font-size:26px;color:var(--ew-beige);margin-bottom:6px}
.ew-price-card .price-label{font-size:14px;letter-spacing:1px;text-transform:uppercase;opacity:.65;margin-bottom:22px}
.ew-price-table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px}
.ew-price-table th{text-align:left;color:var(--ew-beige);text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:8px 0;border-bottom:1px solid rgba(227,213,181,.2)}
.ew-price-table td{padding:12px 0;border-bottom:1px solid rgba(227,213,181,.08);font-size:15px}
.ew-price-table th:not(:first-child),.ew-price-table td:not(:first-child){text-align:right}
.ew-price-table .total-cell{font-size:20px;font-weight:700;color:var(--ew-verde-claro);font-family:var(--ew-font-display)}
.ew-price-table .total-cell.orange{color:var(--ew-naranja)}
.ew-price-card .includes{font-size:16px;opacity:.85;margin:6px 0 16px}
.ew-price-card .limit{color:var(--ew-naranja);font-family:var(--ew-font-display);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-top:auto;padding-top:16px;border-top:1px solid rgba(227,213,181,.15)}
.ew-price-card.early .limit{color:var(--ew-verde-claro)}

/* ---------- FAQ ---------- */
.ew-faq-section{background:var(--ew-grafito);padding:90px 0}
.ew-faq-wrapper{max-width:860px;margin:0 auto;padding:0 24px}
.ew-faq-item{border-bottom:1px solid rgba(227,213,181,.15);padding:20px 0}
.ew-faq-q{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--ew-font-display);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.5px;list-style:none}
.ew-faq-q::-webkit-details-marker{display:none}
.ew-faq-q::after{content:'+';font-size:26px;color:var(--ew-naranja);flex-shrink:0}
.ew-faq-item[open] .ew-faq-q::after{content:'\2212'}
.ew-faq-a{font-size:15px;line-height:1.7;opacity:.88;padding-top:16px}

/* ---------- Footer ---------- */
.ew-footer{background:var(--ew-grafito);border-top:2px solid var(--ew-verde-oscuro);padding:50px 24px 40px;position:relative;overflow:hidden}
.ew-footer-mountain{position:absolute;left:0;bottom:0;width:100%;height:auto;opacity:.16;z-index:0;pointer-events:none}
.ew-footer-inner{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;position:relative;z-index:1}
.ew-footer-col h4{font-size:14px;color:var(--ew-verde-claro);margin-bottom:14px;letter-spacing:1px}
.ew-footer-logo{width:100%;max-width:320px;height:auto;margin-bottom:18px}
.ew-footer-col p, .ew-footer-col a{font-size:14px;opacity:.85;text-decoration:none;line-height:1.9;display:block}
.ew-footer-col a:hover{color:var(--ew-naranja)}
.ew-footer-bottom{text-align:center;opacity:.5;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-top:40px;padding-top:20px;border-top:1px solid rgba(227,213,181,.1);position:relative;z-index:1}

/* ---------- Contacto expositores / foodtrucks (copiar correo) ---------- */
.ew-contact-emails{display:flex;flex-wrap:wrap;gap:32px;margin-top:36px}
.ew-contact-email-item{flex:1 1 300px}
.ew-contact-email-item .label{
	display:block;font-family:var(--ew-font-display);font-size:12px;font-weight:700;
	letter-spacing:2px;text-transform:uppercase;color:var(--ew-verde-claro);margin-bottom:10px;
}
.ew-email-copy{display:flex;align-items:stretch;border:2px solid var(--ew-beige);max-width:440px}
.ew-email-copy .email-text{
	flex:1;display:flex;align-items:center;padding:12px 16px;
	font-family:var(--ew-font-display);font-size:14px;letter-spacing:.5px;color:var(--ew-beige);
	word-break:break-all;
}
.ew-email-copy .copy-btn{
	background:var(--ew-naranja);color:var(--ew-grafito);border:none;padding:0 20px;
	font-family:var(--ew-font-display);font-weight:700;font-size:12px;letter-spacing:1.5px;
	text-transform:uppercase;cursor:pointer;transition:background-color .2s;white-space:nowrap;
}
.ew-email-copy .copy-btn:hover{background:var(--ew-verde-claro)}
.ew-email-copy .copy-btn.copied{background:var(--ew-verde-claro)}

/* ---------- Contacto stripe ---------- */
.ew-contact-stripe{background:var(--ew-naranja);padding:60px 24px;color:var(--ew-grafito)}
.ew-contact-flex{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:26px;text-align:left}
@media(min-width:768px){.ew-contact-flex{flex-direction:row;justify-content:space-between;align-items:center}}
.ew-contact-flex h2{font-size:clamp(26px,4vw,38px)}
.ew-contact-flex p{font-weight:500;font-size:17px;margin-top:8px;max-width:600px}
