/* ============================================================================
   demo-eventos.css · Salones de Eventos & Casamientos (DARK "celebración luxe",
   night plum + champagne + ivory) · Capa 2
   Scopeado 100% en html.demo-eventos. Escrito entero desde el blueprint propio
   (mockup "Finca Aurora") — NO deriva de ningún theme Porto. Re-skineable: los
   colores salen de var(--primary)/(--secondary)/(--dark)/(--light)/(--quaternary),
   que SkinColorService reinyecta por tenant. Solo literales de contraste
   (rgba sobre foto) quedan inline.
   Dirección #6 "celebración luxe": Cormorant Garamond (display serif, itálicas
   champagne en los remates <em>) + Jost (UI/eyebrows/botones uppercase).
   Capa A (cd-system-base.css) ya alinea botones/badges/paginación globales;
   acá va la Capa B: home custom + ensamble de módulos (services/gallery/team/faqs)
   + overrides #57 (.text-color-dark de Porto) y #58 (#footer a de Porto).
   ============================================================================ */

html.demo-eventos {
    --ev-champ: var(--primary, #D3A96A);
    --ev-champ2: var(--tertiary, #B98D4F);
    --ev-night: var(--dark, #1C1722);
    --ev-night2: var(--secondary, #262030);
    --ev-ivory: var(--light, #F7F3EC);
    --ev-smoke: var(--quaternary, #8E8798);
    --ev-line: rgba(247, 243, 236, .14);
    --ev-line-d: rgba(28, 23, 34, .12);
    --ev-serif-ff: var(--font-family-secondary, "Cormorant Garamond", Didot, Georgia, serif);
    --ev-sans-ff: var(--font-family-primary, "Jost", "Avenir Next", "Helvetica Neue", system-ui, sans-serif);
}

html.demo-eventos body,
html.demo-eventos .body,
html.demo-eventos .ev-main {
    background: var(--ev-night);
    color: var(--ev-ivory);
    font-family: var(--ev-sans-ff);
    font-weight: 300;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
html.demo-eventos .ev-main p,
html.demo-eventos .ev-footer p,
html.demo-eventos .main p { font-family: var(--ev-sans-ff); }
html.demo-eventos img { max-width: 100%; }
html.demo-eventos a { color: inherit; text-decoration: none; }
html.demo-eventos .ev-wrap { max-width: 1240px; margin: 0 auto; padding: 0 34px; position: relative; z-index: 2; }
html.demo-eventos .ev-serif {
    font-family: var(--ev-serif-ff);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: .01em;
    margin: 0;
}
html.demo-eventos .ev-serif em, html.demo-eventos .ev-main h1 em,
html.demo-eventos .ev-main h2 em { font-style: italic; color: var(--ev-champ); }
html.demo-eventos .ev-k {
    font-family: var(--ev-sans-ff); font-size: .66rem; letter-spacing: .34em;
    text-transform: uppercase; color: var(--ev-champ); font-weight: 400; display: inline-block;
}

/* ── botones (un solo lenguaje: rectos, uppercase Jost, borde champagne) ── */
html.demo-eventos .ev-btn {
    display: inline-flex; align-items: center; gap: .6em;
    font-family: var(--ev-sans-ff); font-size: .74rem; font-weight: 500;
    letter-spacing: .18em; text-transform: uppercase; padding: 16px 34px;
    border: 1px solid var(--ev-champ); border-radius: var(--border-radius, 0);
    cursor: pointer; transition: .28s;
}
html.demo-eventos .ev-btn--fill { background: var(--ev-champ); border-color: var(--ev-champ); color: var(--ev-night); }
html.demo-eventos .ev-btn--fill:hover { background: var(--ev-champ2); border-color: var(--ev-champ2); color: var(--ev-night); }
html.demo-eventos .ev-btn--ghost { color: var(--ev-ivory); }
html.demo-eventos .ev-btn--ghost:hover { background: var(--ev-ivory); color: var(--ev-night); border-color: var(--ev-ivory); }

/* ══ HEADER (barra night sticky glass) ══ */
html.demo-eventos .ev-header {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(0, 0, 0, .55); backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ev-line);
}
html.demo-eventos .ev-bar {
    max-width: 1240px; margin: 0 auto; padding: 15px 34px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
html.demo-eventos .ev-brand { display: flex; align-items: center; }
html.demo-eventos .ev-nav { display: flex; gap: 28px; }
html.demo-eventos .ev-nav a {
    font-size: .72rem; font-weight: 400; letter-spacing: .16em;
    text-transform: uppercase; color: var(--ev-smoke); transition: .2s;
}
html.demo-eventos .ev-nav a:hover, html.demo-eventos .ev-nav a.on { color: var(--ev-champ); }
html.demo-eventos .ev-hright { display: flex; align-items: center; gap: 16px; }
html.demo-eventos .ev-hd-cta {
    font-size: .7rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
    border: 1px solid var(--ev-champ); color: var(--ev-champ); padding: 11px 22px; transition: .25s;
}
html.demo-eventos .ev-hd-cta:hover { background: var(--ev-champ); color: var(--ev-night); }
html.demo-eventos .ev-burger { display: none; background: none; border: 0; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; }
html.demo-eventos .ev-burger span { width: 24px; height: 2px; background: var(--ev-ivory); display: block; }

/* ══ HERO ══ */
html.demo-eventos .ev-hero { position: relative; min-height: 100vh; display: flex; align-items: flex-end; overflow: hidden; }
html.demo-eventos .ev-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
html.demo-eventos .ev-hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(28, 23, 34, .55), rgba(28, 23, 34, .15) 45%, rgba(28, 23, 34, .95));
}
html.demo-eventos .ev-hero-inner { position: relative; z-index: 2; width: 100%; padding-bottom: 66px; }
html.demo-eventos .ev-hero .ev-k { display: block; margin-bottom: 16px; }
html.demo-eventos .ev-hero h1 { font-size: clamp(2.8rem, 6.6vw, 5.4rem); color: var(--ev-ivory); max-width: 18ch; text-wrap: balance; }
html.demo-eventos .ev-hero-sub { display: flex; justify-content: space-between; align-items: flex-end; gap: 26px; margin-top: 24px; flex-wrap: wrap; }
html.demo-eventos .ev-hero-sub p { font-size: 1.06rem; color: rgba(255, 255, 255, .82); max-width: 46ch; margin: 0; }
html.demo-eventos .ev-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ══ BANDA DE STATS ══ */
html.demo-eventos .ev-data { border-top: 1px solid var(--ev-line); border-bottom: 1px solid var(--ev-line); background: var(--ev-night2); }
html.demo-eventos .ev-data-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
html.demo-eventos .ev-dcell { padding: 28px 16px; text-align: center; border-right: 1px solid var(--ev-line); }
html.demo-eventos .ev-dcell:last-child { border-right: 0; }
html.demo-eventos .ev-dcell b { font-size: 2.1rem; font-weight: 500; color: var(--ev-champ); display: block; line-height: 1; }
html.demo-eventos .ev-dcell span { font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--ev-smoke); }

/* ── section heads ── */
html.demo-eventos .ev-sec-head { max-width: 680px; margin-bottom: 48px; }
html.demo-eventos .ev-sec-head.ev-center, html.demo-eventos .ev-center { margin-left: auto; margin-right: auto; text-align: center; }
html.demo-eventos .ev-sec-head h2 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); margin-top: 12px; text-wrap: balance; }
html.demo-eventos .ev-sec-head p { color: var(--ev-smoke); margin: 14px 0 0; }

/* ══ TABLERO "FECHAS DISPONIBLES" (killer — banda ivory en contraste) ══ */
html.demo-eventos .ev-fechas { background: var(--ev-ivory); color: var(--ev-night); padding: 100px 0; }
html.demo-eventos .ev-fechas .ev-k { color: var(--ev-champ2); }
html.demo-eventos .ev-fechas .ev-sec-head h2 { color: var(--ev-night); }
html.demo-eventos .ev-fechas .ev-sec-head h2 em { color: var(--ev-champ2); }
html.demo-eventos .ev-fechas .ev-sec-head p { color: rgba(28, 23, 34, .6); }
html.demo-eventos .ev-month { font-style: italic; font-size: 1.3rem; color: var(--ev-champ2); margin: 26px 0 8px; }
html.demo-eventos .ev-frow {
    display: grid; grid-template-columns: 150px 1fr 170px 200px;
    gap: 16px; align-items: center; padding: 16px 14px;
    border-bottom: 1px solid var(--ev-line-d); transition: .2s;
}
html.demo-eventos .ev-frow:hover { background: rgba(var(--primary-rgb, 211, 169, 106), .08); }
html.demo-eventos .ev-fecha { font-weight: 600; font-size: 1.15rem; font-family: var(--ev-serif-ff); }
html.demo-eventos .ev-fecha small {
    display: block; font-family: var(--ev-sans-ff); font-size: .64rem;
    letter-spacing: .2em; text-transform: uppercase; color: rgba(28, 23, 34, .45); font-weight: 400;
}
html.demo-eventos .ev-tipo { font-size: .86rem; color: rgba(28, 23, 34, .65); }
html.demo-eventos .ev-estado { font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }
html.demo-eventos .ev-estado.ok { color: var(--ev-champ2); }
html.demo-eventos .ev-estado.ok::before { content: "● "; }
html.demo-eventos .ev-estado.reservado { color: rgba(28, 23, 34, .35); }
html.demo-eventos .ev-estado.reservado::before { content: "○ "; }
html.demo-eventos .ev-estado.ultima { color: var(--ev-champ2); font-style: italic; }
html.demo-eventos .ev-estado.ultima::before { content: "◐ "; font-style: normal; }
html.demo-eventos .ev-go {
    justify-self: end; font-size: .66rem; font-weight: 600; letter-spacing: .14em;
    text-transform: uppercase; background: var(--ev-night); color: var(--ev-ivory);
    padding: 11px 20px; transition: .2s; white-space: nowrap;
}
html.demo-eventos .ev-go:hover { background: var(--ev-champ2); color: var(--ev-night); }
html.demo-eventos .ev-go--off { visibility: hidden; }
html.demo-eventos .ev-fnote { margin-top: 22px; font-size: .84rem; color: rgba(28, 23, 34, .5); text-align: center; }

/* ══ ESPACIOS (3 cards foto+velo) ══ */
html.demo-eventos .ev-espacios { padding: 100px 0; position: relative; }
html.demo-eventos .ev-esp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
html.demo-eventos .ev-esp { position: relative; min-height: 430px; display: flex; align-items: flex-end; overflow: hidden; border: 1px solid var(--ev-line); }
html.demo-eventos .ev-esp-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: .65s; }
html.demo-eventos .ev-esp:hover .ev-esp-bg { transform: scale(1.06); }
html.demo-eventos .ev-esp-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(28, 23, 34, .93)); }
html.demo-eventos .ev-esp-body { position: relative; z-index: 2; padding: 26px; }
html.demo-eventos .ev-esp-cap { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ev-champ); }
html.demo-eventos .ev-esp h3 { font-size: 1.7rem; margin: 6px 0 4px; color: var(--ev-ivory); }
html.demo-eventos .ev-esp p { font-size: .85rem; color: rgba(255, 255, 255, .78); margin: 0; }
html.demo-eventos .ev-esp-more {
    display: inline-block; margin-top: 12px; font-size: .66rem; letter-spacing: .16em;
    text-transform: uppercase; color: var(--ev-champ); border-bottom: 1px solid var(--ev-champ); padding-bottom: 3px;
}

/* ══ "NOS OCUPAMOS DE TODO" (4 celdas numeradas) ══ */
html.demo-eventos .ev-inc { background: var(--ev-night2); border-top: 1px solid var(--ev-line); border-bottom: 1px solid var(--ev-line); padding: 80px 0; }
html.demo-eventos .ev-inc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; background: var(--ev-line); }
html.demo-eventos .ev-inc-grid--3 { grid-template-columns: repeat(3, 1fr); }
html.demo-eventos .ev-inc-cell { background: var(--ev-night2); padding: 30px 26px; }
html.demo-eventos .ev-inc-n { font-style: italic; font-size: 1.5rem; color: var(--ev-champ); opacity: .7; }
html.demo-eventos .ev-inc-cell h3 {
    font-family: var(--ev-sans-ff); font-weight: 500; font-size: .95rem;
    letter-spacing: .06em; text-transform: uppercase; margin: 10px 0 6px; color: var(--ev-ivory);
}
html.demo-eventos .ev-inc-cell p { font-size: .83rem; color: var(--ev-smoke); margin: 0; }

/* ══ GALERÍA (mosaico módulo gallery) ══ */
html.demo-eventos .ev-gal { padding: 100px 0; }
html.demo-eventos .ev-gal-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; gap: 12px; }
html.demo-eventos .ev-gal-grid figure { overflow: hidden; position: relative; margin: 0; }
html.demo-eventos .ev-gal-grid img { width: 100%; height: 100%; object-fit: cover; transition: .6s; }
html.demo-eventos .ev-gal-grid figure:hover img { transform: scale(1.06); }
html.demo-eventos .ev-gal-grid .tall { grid-row: span 2; }
html.demo-eventos .ev-gal-grid .wide { grid-column: span 2; }
html.demo-eventos .ev-gal-more { text-align: center; margin-top: 36px; }

/* ══ QUOTE ══ */
html.demo-eventos .ev-quote-sec { padding: 30px 0 100px; }
html.demo-eventos .ev-quote { text-align: center; max-width: 820px; margin: 0 auto; }
html.demo-eventos .ev-qmark { font-style: italic; font-size: 4.6rem; color: var(--ev-champ); line-height: .4; display: block; margin-bottom: 14px; }
html.demo-eventos .ev-quote blockquote {
    font-style: italic; font-size: clamp(1.5rem, 3.2vw, 2.3rem); line-height: 1.35;
    color: var(--ev-ivory); border: 0; margin: 0; padding: 0;
}
html.demo-eventos .ev-quote cite { display: block; margin-top: 24px; font-style: normal; font-size: .68rem; letter-spacing: .26em; text-transform: uppercase; color: var(--ev-smoke); }

/* ══ CTA FINAL ══ */
html.demo-eventos .ev-cta { position: relative; min-height: 66vh; display: flex; align-items: center; overflow: hidden; }
html.demo-eventos .ev-cta-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
html.demo-eventos .ev-cta-bg::after { content: ""; position: absolute; inset: 0; background: rgba(28, 23, 34, .78); }
html.demo-eventos .ev-cta-inner { position: relative; z-index: 2; width: 100%; text-align: center; }
html.demo-eventos .ev-cta h2 { font-size: clamp(2.4rem, 6vw, 4.4rem); color: var(--ev-ivory); margin-top: 12px; }
html.demo-eventos .ev-cta p { color: var(--ev-smoke); margin: 16px auto 30px; max-width: 44ch; }
html.demo-eventos .ev-cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ══ PAGE HEADER (banda night-2 — módulos/about/contact) ══ */
html.demo-eventos .ev-pagehead { background: var(--ev-night2); border-bottom: 1px solid var(--ev-line); padding: 120px 0 54px; position: relative; overflow: hidden; }
html.demo-eventos .ev-crumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 14px; }
html.demo-eventos .ev-crumb li { font-size: .64rem; letter-spacing: .24em; text-transform: uppercase; color: var(--ev-smoke); }
html.demo-eventos .ev-crumb a { color: var(--ev-smoke); }
html.demo-eventos .ev-crumb a:hover { color: var(--ev-champ); }
html.demo-eventos .ev-crumb li span { color: var(--ev-champ); }
html.demo-eventos .ev-pagehead h1 { font-size: clamp(2.4rem, 5.6vw, 4rem); color: var(--ev-ivory); }
html.demo-eventos .ev-pagehead p { color: var(--ev-smoke); margin: 12px 0 0; max-width: 60ch; }

/* ══ SECCIONES INTERNAS (about / contact) ══ */
html.demo-eventos .ev-sec { padding: 90px 0; }
html.demo-eventos .ev-about-grid, html.demo-eventos .ev-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
html.demo-eventos .ev-about-title { font-size: clamp(1.9rem, 4.6vw, 3rem); margin: 14px 0 22px; }
html.demo-eventos .ev-sec p { color: var(--ev-smoke); margin-bottom: 14px; }
html.demo-eventos .ev-about-img { width: 100%; height: 480px; object-fit: cover; }
html.demo-eventos .ev-badge { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--ev-line); padding: 14px 20px; margin-top: 16px; }
html.demo-eventos .ev-badge-dot { width: 9px; height: 9px; background: var(--ev-champ); border-radius: 50%; flex: 0 0 auto; }
html.demo-eventos .ev-badge span:last-child { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ev-ivory); }
html.demo-eventos .ev-inc--about { border-bottom: 0; }
html.demo-eventos .ev-contact-list { list-style: none; padding: 0; margin: 22px 0 0; }
html.demo-eventos .ev-contact-list li { padding: 14px 0; border-bottom: 1px solid var(--ev-line); color: var(--ev-ivory); }
html.demo-eventos .ev-contact-list strong { display: block; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ev-champ); margin-bottom: 4px; font-weight: 500; }
html.demo-eventos .ev-contact-form .ev-input {
    width: 100%; background: var(--ev-night2); border: 1px solid var(--ev-line); color: var(--ev-ivory);
    padding: 14px 16px; margin-bottom: 14px; font-family: var(--ev-sans-ff); font-size: .95rem; border-radius: 0;
}
html.demo-eventos .ev-contact-form .ev-input::placeholder { color: var(--ev-smoke); }
html.demo-eventos .ev-contact-form .ev-input:focus { outline: none; border-color: var(--ev-champ); }
html.demo-eventos .ev-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
html.demo-eventos .ev-alert { background: rgba(var(--primary-rgb, 211, 169, 106), .14); border: 1px solid var(--ev-champ); color: var(--ev-ivory); padding: 14px 16px; margin-bottom: 16px; }
html.demo-eventos .ev-map iframe { width: 100%; height: 420px; border: 0; display: block; filter: grayscale(.4); }

/* ══ FOOTER ══ */
html.demo-eventos .ev-footer { background: color-mix(in srgb, var(--ev-night) 82%, black); padding: 64px 0 36px; border-top: 1px solid var(--ev-line); }
html.demo-eventos .ev-fin { max-width: 1240px; margin: 0 auto; padding: 0 34px; }
html.demo-eventos .ev-fgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 38px; margin-bottom: 42px; }
html.demo-eventos .ev-fbrand p { font-size: .86rem; color: var(--ev-smoke); max-width: 34ch; }
html.demo-eventos .ev-footer h4 { font-size: .64rem; letter-spacing: .26em; text-transform: uppercase; color: var(--ev-champ); margin-bottom: 16px; font-weight: 500; }
html.demo-eventos .ev-footer ul { list-style: none; padding: 0; margin: 0; }
html.demo-eventos .ev-footer ul li { margin-bottom: 8px; }
/* trampa #58: Porto define #footer a{color:#555} (especificidad de ID) → todo link
   del footer se re-declara con !important para no quedar ilegible sobre night. */
html.demo-eventos .ev-footer ul a, html.demo-eventos .ev-footer ul li { font-size: .86rem; color: var(--ev-smoke); }
html.demo-eventos #footer.ev-footer ul a,
html.demo-eventos #footer.ev-footer .ev-fbot a { color: var(--ev-smoke) !important; }
html.demo-eventos #footer.ev-footer ul a:hover,
html.demo-eventos #footer.ev-footer .ev-fbot a:hover { color: var(--ev-ivory) !important; }
html.demo-eventos .ev-social { display: flex; gap: 12px; margin-bottom: 16px; }
html.demo-eventos #footer.ev-footer .ev-social a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ev-line); color: var(--ev-smoke) !important; transition: .2s; }
html.demo-eventos #footer.ev-footer .ev-social a:hover { border-color: var(--ev-champ); color: var(--ev-champ) !important; }
html.demo-eventos .ev-fcta { display: inline-block; }
/* CTA reutilizado en el footer (trampa #58): color REAL verificado con getComputedStyle */
html.demo-eventos #footer.ev-footer a.ev-hd-cta { color: var(--ev-champ) !important; }
html.demo-eventos #footer.ev-footer a.ev-hd-cta:hover { background: var(--ev-champ); color: var(--ev-night) !important; }
html.demo-eventos .ev-fbot { border-top: 1px solid var(--ev-line); padding-top: 20px; display: flex; justify-content: space-between; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; flex-wrap: wrap; gap: 8px; color: var(--ev-smoke); }

/* ══ CAPA B · ENSAMBLE DE MÓDULOS (services / gallery / team / faqs compartidos) ══
   El demo es DARK → fondo night, cards night-2 legibles, acentos champagne.
   Nunca @if($activeDemo) en blades de módulos — solo estas reglas. */
html.demo-eventos .main > section:not(.ev-fechas):not(.ev-hero):not(.ev-cta),
html.demo-eventos .main .section:not(.ev-fechas):not(.ev-hero):not(.ev-cta) { background: var(--ev-night); }
/* cards de módulo → fondo night-2, borde línea, texto ivory */
html.demo-eventos .main .card,
html.demo-eventos .main .service-item,
html.demo-eventos .main .gallery-item,
html.demo-eventos .main .team-item,
html.demo-eventos .main .post-item,
html.demo-eventos .main .thumb-info {
    background: var(--ev-night2); border: 1px solid var(--ev-line); color: var(--ev-ivory);
}
html.demo-eventos .main .card .card-body { color: var(--ev-ivory); background: var(--ev-night2); }
html.demo-eventos .main h1, html.demo-eventos .main h2, html.demo-eventos .main h3,
html.demo-eventos .main h4, html.demo-eventos .main h5 { color: var(--ev-ivory); }
html.demo-eventos .main p, html.demo-eventos .main li { color: var(--ev-smoke); }
/* trampa #57: Porto define .text-color-dark {color: var(--dark) !important} en theme.css
   → en este demo DARK los títulos de card de vistas compartidas (team/blog/faqs) quedan
   negro-sobre-plum ilegibles. Override canónico con !important desde el alta:
   headings → ivory, texto corrido → smoke. */
html.demo-eventos .main h1.text-color-dark, html.demo-eventos .main h2.text-color-dark,
html.demo-eventos .main h3.text-color-dark, html.demo-eventos .main h4.text-color-dark,
html.demo-eventos .main h5.text-color-dark, html.demo-eventos .main h6.text-color-dark { color: var(--ev-ivory) !important; }
html.demo-eventos .main p.text-color-dark, html.demo-eventos .main span.text-color-dark,
html.demo-eventos .main li.text-color-dark, html.demo-eventos .main a.text-color-dark { color: var(--ev-smoke) !important; }
/* enlaces / precios / acentos → champagne */
html.demo-eventos .main a.text-color-primary,
html.demo-eventos .main .text-color-primary,
html.demo-eventos .main .price { color: var(--ev-champ) !important; }
/* botones de módulo (la Capa A ya los pinta con --primary) → texto night sobre champagne */
html.demo-eventos .main .btn-primary { color: var(--ev-night) !important; }
/* fondos claros heredados de vistas compartidas → neutralizar a night */
html.demo-eventos .main .bg-color-light,
html.demo-eventos .main .bg-light { background: var(--ev-night) !important; }
html.demo-eventos .main .bg-color-grey,
html.demo-eventos .main .bg-color-grey-scale-1 { background: var(--ev-night2) !important; }
/* FAQs accordion (vista compartida) → superficie night-2 legible */
html.demo-eventos .main .accordion .card,
html.demo-eventos .main .accordion .card-header,
html.demo-eventos .main .accordion .card-header a,
html.demo-eventos .main .accordion .card-body { background: var(--ev-night2); color: var(--ev-ivory); }
html.demo-eventos .main .accordion .card-header a { color: var(--ev-ivory) !important; }
html.demo-eventos .main .accordion .card-body p { color: var(--ev-smoke); }
/* formularios de vistas compartidas (sidebar blog, etc.) */
html.demo-eventos .main .form-control {
    background: var(--ev-night2); border-color: var(--ev-line); color: var(--ev-ivory);
}
html.demo-eventos .main .form-control::placeholder { color: var(--ev-smoke); }

/* ── responsive ── */
@media (max-width: 991px) {
    html.demo-eventos .ev-nav {
        display: none; position: absolute; top: 100%; left: 0; right: 0;
        flex-direction: column; gap: 0; background: rgba(20, 16, 24, .96);
        border-bottom: 1px solid var(--ev-line); padding: 8px 0;
    }
    html.demo-eventos .ev-nav.open { display: flex; }
    html.demo-eventos .ev-nav a { padding: 14px 34px; }
    html.demo-eventos .ev-burger { display: flex; }
    html.demo-eventos .ev-hd-cta { display: none; }
    html.demo-eventos .ev-fcta { display: inline-block; }
}
@media (max-width: 880px) {
    html.demo-eventos .ev-esp-grid { grid-template-columns: 1fr; }
    html.demo-eventos .ev-inc-grid, html.demo-eventos .ev-inc-grid--3 { grid-template-columns: 1fr 1fr; }
    html.demo-eventos .ev-about-grid, html.demo-eventos .ev-contact-grid { grid-template-columns: 1fr; gap: 40px; }
    html.demo-eventos .ev-about-img { height: 360px; }
    html.demo-eventos .ev-fgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
    html.demo-eventos .ev-frow { grid-template-columns: 110px 1fr 150px; }
    html.demo-eventos .ev-tipo { display: none; }
    html.demo-eventos .ev-gal-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    html.demo-eventos .ev-data-grid { grid-template-columns: 1fr 1fr; }
    html.demo-eventos .ev-dcell { border-bottom: 1px solid var(--ev-line); }
    html.demo-eventos .ev-form-row { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    html.demo-eventos .ev-inc-grid, html.demo-eventos .ev-inc-grid--3 { grid-template-columns: 1fr; }
    html.demo-eventos .ev-wrap, html.demo-eventos .ev-bar, html.demo-eventos .ev-fin { padding-left: 20px; padding-right: 20px; }
}
