/* =========================================================
   Experiencias Creativas — submarca de EBAB
   Colores del logo (archivo de marca): violeta #3B266E, índigo #504898, lavanda #7D6BAA, amarillo #F2B934,
   naranja #F6A24E, coral #EC605A, rosa #EF788B, rosa pálido #FBDBE7, verde #4B947D, azul #33A9DF.
   Tipografía: Fredoka (títulos) + Nunito (texto), sustitutas libres de «Darling Coffee».
   Blindado contra el kit de Elementor (tipografía y botones genéricos): por eso los !important.
   ========================================================= */
.aebab-exp {
	--exp-violeta: #3b266e;
	--exp-indigo: #504898;
	--exp-lavanda: #7d6baa;
	--exp-amarillo: #f2b934;
	--exp-naranja: #f6a24e;
	--exp-coral: #ec605a;
	--exp-rosa: #ef788b;
	--exp-rosa-palido: #fbdbe7;
	--exp-crema: #fff6f2;
	--exp-verde: #4b947d;
	--exp-azul: #33a9df;
	font-family: "Nunito", sans-serif;
	color: #3a2f55;
	background: var( --exp-crema );
	overflow-x: clip;
}
.aebab-exp *, .aebab-exp *::before, .aebab-exp *::after { box-sizing: border-box; }
/* El kit mete word-spacing 3.2px, letter-spacing .3px y peso 300 al texto: aquí no. */
.aebab-exp, .aebab-exp p, .aebab-exp span, .aebab-exp li, .aebab-exp a, .aebab-exp h1, .aebab-exp h2, .aebab-exp h3 { letter-spacing: normal !important; word-spacing: normal !important; }
.aebab-exp p { font-family: "Nunito", sans-serif !important; font-weight: 400 !important; }
.aebab-exp a { text-decoration: none !important; }
.aebab-exp h1, .aebab-exp h2, .aebab-exp h3 { font-family: "Fredoka", sans-serif !important; letter-spacing: normal !important; text-transform: none !important; color: var( --exp-violeta ) !important; }
.exp-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* ---- Botones ---- */
.aebab-exp .exp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 999px; font: 600 16px "Fredoka", sans-serif !important; border: 2px solid transparent; transition: transform .15s ease, background-color .15s ease; }
.aebab-exp .exp-btn:hover { transform: translateY( -1px ); }
.aebab-exp .exp-btn--violeta { background: var( --exp-violeta ); color: #fff !important; }
.aebab-exp .exp-btn--violeta:hover { background: var( --exp-indigo ); }
.aebab-exp .exp-btn--claro { background: #fff; color: var( --exp-violeta ) !important; border-color: var( --exp-violeta ); }
.aebab-exp .exp-btn--linea { background: transparent; color: var( --exp-violeta ) !important; border-color: var( --exp-lavanda ); }
.aebab-exp .exp-btn--amarillo { background: var( --exp-amarillo ); color: var( --exp-violeta ) !important; }
.aebab-exp .exp-btn--amarillo:hover { background: #f6c654; }
.aebab-exp .exp-btn--chico { min-height: 40px; padding: 8px 16px; font-size: 14.5px !important; }
.aebab-exp a:focus-visible { outline: 3px solid var( --exp-amarillo ); outline-offset: 3px; }

/* ---- Hero ---- */
.exp-hero { position: relative; background: var( --exp-rosa-palido ); padding: 52px 0 0; overflow: hidden; }
.exp-hero::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -120px; top: -140px; background: radial-gradient( circle, rgba( 255, 255, 255, .7 ), rgba( 255, 255, 255, 0 ) 70% ); }
.exp-hero__grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 32px; align-items: center; padding-bottom: 44px; }
.exp-sello { display: inline-block; font: 700 13px "Nunito", sans-serif; color: var( --exp-violeta ); background: rgba( 255, 255, 255, .75 ); border: 1px solid rgba( 59, 38, 110, .15 ); border-radius: 999px; padding: 6px 14px; margin-bottom: 16px; }
.exp-hero__titulo { font-weight: 700 !important; font-size: clamp( 40px, 5.6vw, 72px ) !important; line-height: .98 !important; margin: 0 0 16px !important; }
.exp-hero__lema { font-size: 20px; line-height: 1.5; max-width: 26em; margin: 0 0 26px; color: #4a3d6e; }
.exp-hero__acciones { display: flex; flex-wrap: wrap; gap: 12px; }
.exp-hero__logo { justify-self: center; width: 100%; max-width: 420px; }
.exp-hero__logo img { width: 100% !important; height: auto !important; display: block; filter: drop-shadow( 0 18px 30px rgba( 59, 38, 110, .18 ) ); }
.exp-arcoiris { display: flex; height: 14px; }
.exp-arcoiris span { flex: 1; }
.exp-arcoiris span:nth-child(1) { background: var( --exp-coral ); }
.exp-arcoiris span:nth-child(2) { background: var( --exp-naranja ); }
.exp-arcoiris span:nth-child(3) { background: var( --exp-amarillo ); }
.exp-arcoiris span:nth-child(4) { background: var( --exp-verde ); }
.exp-arcoiris span:nth-child(5) { background: var( --exp-azul ); }
.exp-arcoiris span:nth-child(6) { background: var( --exp-lavanda ); }

/* ---- Bloques ---- */
.exp-bloque { padding: 60px 0 10px; }
.exp-titulo { margin-bottom: 26px; max-width: 46em; }
.exp-titulo h2 { font-weight: 700 !important; font-size: clamp( 30px, 3.4vw, 42px ) !important; line-height: 1.1 !important; margin: 0 0 8px !important; }
.exp-titulo p { margin: 0; font-size: 17px; line-height: 1.55; }

/* ---- Talleres ---- */
.exp-talleres { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 24px; }
.exp-taller { --exp-c: var( --exp-lavanda ); margin: 0; display: flex; flex-direction: column; background: #fff; border-radius: 24px; overflow: hidden; border: 2px solid var( --exp-c ); box-shadow: 6px 6px 0 var( --exp-c ); }
.exp-taller--coral { --exp-c: var( --exp-coral ); }
.exp-taller--amarillo { --exp-c: var( --exp-amarillo ); }
.exp-taller--verde { --exp-c: var( --exp-verde ); }
.exp-taller--azul { --exp-c: var( --exp-azul ); }
.exp-taller--lavanda { --exp-c: var( --exp-lavanda ); }
.exp-taller--rosa { --exp-c: var( --exp-rosa ); }
.exp-taller__foto { display: block; aspect-ratio: 1; overflow: hidden; background: var( --exp-rosa-palido ); }
.exp-taller__foto img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }
.exp-taller__cuerpo { display: flex; flex-direction: column; flex: 1; padding: 18px 18px 20px; }
.exp-taller h3 { font-weight: 600 !important; font-size: 22px !important; line-height: 1.15 !important; margin: 0 0 6px !important; }
.exp-taller h3 a { color: inherit !important; }
.exp-taller p { margin: 0 0 16px; font-size: 15.5px; line-height: 1.5; color: #574a7a; }
.exp-taller__acciones { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.exp-vacio { font-size: 18px; }

/* ---- Pasos (es una secuencia real: numerados) ---- */
.exp-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat( 3, 1fr ); gap: 20px; counter-reset: none; }
.exp-pasos li { margin: 0; background: #fff; border-radius: 22px; padding: 24px 22px; border: 2px dashed rgba( 125, 107, 170, .45 ); }
.exp-pasos__n { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; font: 700 22px "Fredoka", sans-serif; color: #fff; margin-bottom: 12px; }
.exp-pasos li:nth-child(1) .exp-pasos__n { background: var( --exp-coral ); }
.exp-pasos li:nth-child(2) .exp-pasos__n { background: var( --exp-amarillo ); color: var( --exp-violeta ); }
.exp-pasos li:nth-child(3) .exp-pasos__n { background: var( --exp-verde ); }
.exp-pasos h3 { font-weight: 600 !important; font-size: 21px !important; margin: 0 0 6px !important; }
.exp-pasos p { margin: 0; font-size: 16px; line-height: 1.5; }

/* ---- CTA ---- */
.exp-cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; background: var( --exp-violeta ); border-radius: 28px; padding: 26px 32px; margin-bottom: 60px; }
.exp-cta__pincel { width: 92px !important; height: 92px !important; flex: none; }
.exp-cta div { flex: 1 1 320px; }
.aebab-exp .exp-cta h2 { color: #fff !important; font-weight: 700 !important; font-size: 28px !important; margin: 0 0 4px !important; }
.exp-cta p { margin: 0; color: #e6defa; font-size: 16.5px; }

/* ---- Entrada del blog de la marca ---- */
.exp-migas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; font: 700 14px "Nunito", sans-serif; color: #6a5c92; }
.exp-migas a { display: inline-flex; align-items: center; gap: 6px; color: var( --exp-violeta ) !important; }
.exp-migas a:hover { text-decoration: underline !important; }
.exp-migas__pincel { width: 26px !important; height: 26px !important; }
.exp-hero__titulo--post { font-size: clamp( 34px, 4.4vw, 56px ) !important; line-height: 1.05 !important; }
.exp-hero__flyer { justify-self: center; width: 100%; max-width: 440px; margin: 0; transform: rotate( 2deg ); }
.exp-hero__flyer img { width: 100% !important; height: auto !important; display: block; border-radius: 20px; border: 6px solid #fff; box-shadow: 0 20px 40px rgba( 59, 38, 110, .2 ); }
.exp-post { display: grid; grid-template-columns: minmax( 0, 1fr ) 320px; gap: 48px; align-items: start; padding-top: 52px; padding-bottom: 10px; }
.exp-post__cuerpo { font-size: 18px; line-height: 1.7; color: #3a2f55; max-width: 720px; }
.exp-post__cuerpo > :first-child { margin-top: 0 !important; }
.exp-post__cuerpo p { margin: 0 0 1em !important; font-size: 18px !important; line-height: 1.7 !important; color: #3a2f55 !important; }
.exp-post__cuerpo strong { color: var( --exp-violeta ); font-weight: 700; }
.exp-post__cuerpo h2 { font-weight: 700 !important; font-size: clamp( 26px, 2.6vw, 32px ) !important; line-height: 1.2 !important; margin: 1.6em 0 .5em !important; padding-left: 16px; border-left: 6px solid var( --exp-amarillo ); }
.exp-post__cuerpo h2:nth-of-type( 4n+2 ) { border-left-color: var( --exp-coral ); }
.exp-post__cuerpo h2:nth-of-type( 4n+3 ) { border-left-color: var( --exp-verde ); }
.exp-post__cuerpo h2:nth-of-type( 4n+4 ) { border-left-color: var( --exp-azul ); }
.exp-post__cuerpo h3 { font-weight: 600 !important; font-size: 21px !important; line-height: 1.3 !important; margin: 1.2em 0 .35em !important; }
.exp-post__cuerpo ul, .exp-post__cuerpo ol { margin: 0 0 1em; padding-left: 0; list-style: none; }
.exp-post__cuerpo ul li, .exp-post__cuerpo ol li { position: relative; padding-left: 28px; margin: 0 0 .5em; }
.exp-post__cuerpo ul li::before { content: ""; position: absolute; left: 4px; top: .6em; width: 10px; height: 10px; border-radius: 50%; background: var( --exp-rosa ); }
.exp-post__cuerpo ol { counter-reset: exp-ol; }
.exp-post__cuerpo ol li { counter-increment: exp-ol; }
.exp-post__cuerpo ol li::before { content: counter( exp-ol ) "."; position: absolute; left: 0; font: 700 18px "Fredoka", sans-serif; color: var( --exp-indigo ); }
.exp-post__cuerpo a { color: var( --exp-indigo ) !important; text-decoration: underline !important; }
.exp-post__cuerpo img { max-width: 100%; height: auto; border-radius: 18px; }
/* Los datos del evento (el párrafo tras «Información del evento») como ficha */
.exp-post__cuerpo h2[id*="informacion"] + p, .exp-post__cuerpo h2[id*="detalles"] + p { background: #fff; border: 2px solid var( --exp-lavanda ); box-shadow: 6px 6px 0 var( --exp-lavanda ); border-radius: 20px; padding: 20px 22px; line-height: 1.9 !important; }
.exp-post__lado { position: sticky; top: 110px; }
.exp-reserva { background: var( --exp-violeta ); color: #e6defa; border-radius: 24px; padding: 26px 24px; display: flex; flex-direction: column; gap: 12px; }
.exp-reserva p { margin: 0; font-size: 16px; line-height: 1.5; color: #e6defa; }
.aebab-exp .exp-reserva .exp-reserva__titulo { font: 700 26px "Fredoka", sans-serif !important; color: #fff; }
.aebab-exp .exp-reserva .exp-btn--violeta { background: var( --exp-amarillo ); color: var( --exp-violeta ) !important; }
.aebab-exp .exp-reserva .exp-btn--violeta:hover { background: #f6c654; }
.aebab-exp .exp-reserva .exp-btn--linea { color: #fff !important; border-color: rgba( 255, 255, 255, .5 ); }
.aebab-exp .exp-reserva .exp-reserva__sello { font-size: 13px; color: #b9addb; text-align: center; }
.exp-bloque--otros { padding-top: 70px; }

@media ( max-width: 1024px ) {
	.exp-hero__grid { grid-template-columns: 1fr; }
	.exp-hero__logo { max-width: 300px; order: -1; }
	.exp-hero__flyer { max-width: 360px; order: -1; transform: none; }
	.exp-post { grid-template-columns: 1fr; gap: 32px; }
	.exp-post__lado { position: static; }
	.exp-talleres { grid-template-columns: repeat( 2, 1fr ); }
	.exp-pasos { grid-template-columns: 1fr; }
}
@media ( max-width: 600px ) {
	.exp-hero { padding-top: 28px; }
	.exp-hero__logo { max-width: 220px; }
	.exp-hero__flyer { max-width: 280px; }
	.exp-post { padding-top: 36px; }
	.exp-post__cuerpo, .exp-post__cuerpo p { font-size: 17px !important; }
	.exp-hero__lema { font-size: 17.5px; }
	.aebab-exp .exp-hero__acciones .exp-btn { width: 100%; }
	.exp-talleres { grid-template-columns: 1fr; gap: 20px; }
	.exp-cta { padding: 22px 20px; border-radius: 22px; }
	.exp-cta__pincel { width: 64px !important; height: 64px !important; }
	.aebab-exp .exp-cta .exp-btn { width: 100%; }
}
@media ( prefers-reduced-motion: reduce ) { .aebab-exp .exp-btn { transition: none; } }
