/* ── Hero ── */
    .ev-hero {
      background: var(--bk);
      padding: 8rem 0 5rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .ev-hero-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; padding: 0 5%; }
    .ev-eyebrow {
      font-size: .72rem; font-weight: 700; letter-spacing: 2px;
      text-transform: uppercase; color: var(--g); margin-bottom: .9rem;
    }
    .ev-hero h1 {
      font-size: clamp(2.2rem, 5vw, 3.4rem);
      font-weight: 700; color: #fff; line-height: 1.18;
      margin: 0 0 1.1rem;
    }
    .ev-hero h1 em { font-style: normal; color: var(--g); }
    .ev-hero p {
      font-size: 1rem; color: rgba(255,255,255,.5);
      line-height: 1.75; max-width: 520px; margin: 0 auto;
    }

    /* ── Filtros ── */
    .ev-filters {
      display: flex; justify-content: center; gap: .5rem;
      padding: 2.5rem 5% 0;
      flex-wrap: wrap;
    }
    .ev-filter-btn {
      border: 1px solid var(--border); border-radius: 20px;
      padding: .4rem 1.1rem; font-size: .78rem; font-weight: 600;
      color: var(--muted); background: transparent; cursor: pointer;
      transition: border-color .2s, color .2s, background .2s;
    }
    .ev-filter-btn:hover,
    .ev-filter-btn.active {
      border-color: var(--g); color: var(--g); background: var(--g3);
    }

    /* ── Carousel ── */
    .ev-section {
      padding: 3rem 0 5rem;
    }
    .ev-section-inner {
      position: relative;
    }
    .ev-carousel-wrap { position: relative; }
    .ev-grid {
      display: flex;
      gap: 1rem;
      overflow-x: auto;
      scroll-snap-type: x proximity;
      scroll-behavior: smooth;
      scroll-padding-left: 180px;
      padding: 1.5rem 0 2.5rem;
      cursor: grab;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .ev-card:first-child { margin-left: 180px; }
    .ev-card:last-child  { margin-right: 180px; }
    .ev-grid::-webkit-scrollbar { display: none; }
    .ev-grid.dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }

    /* Dots */
    .ev-dots {
      display: flex; justify-content: center; gap: .5rem;
      margin-top: .25rem;
    }
    .ev-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--border); cursor: pointer;
      transition: background .2s, transform .2s;
    }
    .ev-dot.active { background: var(--g); transform: scale(1.3); }

/* ── Tarjeta ── */
    .ev-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 18px;
      overflow: hidden;
      display: flex; flex-direction: column;
      flex: 0 0 calc(25vw - 5rem);
      scroll-snap-align: start;
      transition: box-shadow .25s, transform .25s;
      user-select: none;
    }
    .ev-card:hover {
      box-shadow: 0 12px 36px rgba(0,0,0,.09);
      transform: translateY(-4px);
    }

    /* Cabecera de color */
    .ev-card-head {
      height: 300px;
      display: flex; align-items: center; justify-content: center;
      position: relative;
      overflow: hidden;
    }
    .ev-card-head-ico {
      font-size: 2.8rem; color: rgba(255,255,255,.9);
      position: relative; z-index: 1;
    }
    .ev-card-head-ico::before { margin-right: 0 !important; }
    .ev-card-head img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .ev-card-link {
      display: inline-flex; align-items: center; gap: .35rem;
      margin-top: .8rem; font-size: .75rem; font-weight: 600;
      color: var(--g); text-decoration: none;
    }
    .ev-card-link:hover { text-decoration: underline; }

    /* Gradientes por tipo */
    .ev-head--partner  { background: linear-gradient(135deg, #0d1b2a 0%, #1a4060 100%); }
    .ev-head--music    { background: linear-gradient(135deg, #1a0d2e 0%, #4a1a7a 100%); }
    .ev-head--wine     { background: linear-gradient(135deg, #1a0a12 0%, #6b1a2e 100%); }
    .ev-head--outdoor  { background: linear-gradient(135deg, #0f1a0a 0%, #3a5a1a 100%); }
    .ev-head--salsa    { background: linear-gradient(135deg, #1a0d00 0%, #8a3a00 100%); }

    /* Body */
    .ev-card-body { padding: 1.4rem 1.5rem 1.6rem; flex: 1; display: flex; flex-direction: column; }
    .ev-card-meta {
      display: flex; align-items: center; gap: .5rem;
      margin-bottom: .85rem; flex-wrap: wrap;
    }
    .ev-badge {
      display: inline-flex; align-items: center;
      border-radius: 20px; padding: .22rem .75rem;
      font-size: .7rem; font-weight: 700; letter-spacing: .4px;
      text-transform: uppercase;
    }
    .ev-badge--cat {
      background: var(--g3); color: var(--g); border: 1px solid rgba(123,191,62,.3);
    }
    .ev-badge--done {
      background: #f0f0f0; color: #888;
    }
    .ev-badge--upcoming {
      background: #fff8e6; color: #c47a00; border: 1px solid rgba(196,122,0,.25);
    }
    .ev-badge--planning {
      background: #eef5ff; color: #2563c4; border: 1px solid rgba(37,99,196,.2);
    }
    .ev-year {
      font-size: .72rem; color: var(--muted); font-weight: 500;
    }
    .ev-card h3 {
      font-size: 1.05rem; font-weight: 700; color: var(--bk);
      margin: 0 0 .6rem; line-height: 1.3;
    }
    .ev-card p {
      font-size: .83rem; color: var(--muted);
      line-height: 1.65; margin: 0; flex: 1;
    }
    .ev-edition {
      display: inline-block; font-size: .68rem; font-weight: 700;
      color: var(--g); letter-spacing: .3px; margin-bottom: .3rem;
      text-transform: uppercase;
    }

    /* Línea divisora dentro de la tarjeta */
    .ev-card-footer {
      margin-top: 1.1rem; padding-top: .9rem;
      border-top: 1px solid var(--border);
      font-size: .73rem; color: var(--muted);
      display: flex; align-items: center; gap: .4rem;
    }
    .ev-card-footer-ico { font-size: .8rem; color: var(--g); }
    .ev-card-footer-ico::before { margin-right: 0 !important; }

    /* ── CTA final ── */
    .ev-cta {
      background: var(--bk);
      padding: 5rem 5%;
      text-align: center;
    }
    .ev-cta h2 {
      font-size: clamp(1.5rem, 3vw, 2.2rem);
      font-weight: 700; color: #fff; margin: 0 0 .9rem;
    }
    .ev-cta h2 em { font-style: normal; color: var(--g); }
    .ev-cta p {
      font-size: .95rem; color: rgba(255,255,255,.5);
      max-width: 480px; margin: 0 auto 2rem; line-height: 1.7;
    }

    @media (max-width: 768px) {
      .ev-card { flex: 0 0 280px; }
      .ev-arrow { display: none; }
    }
