
  :root {
    --navy: #0c1f3f;
    --ocean: #1a5276;
    --teal: #148f8b;
    --teal-light: #1abc9c;
    --gold: #e2a832;
    --slate: #4a5568;
    --light: #f0f4f8;
    --white: #ffffff;
    --card-shadow: 0 2px 20px rgba(12,31,63,0.08);
    --card-hover-shadow: 0 12px 40px rgba(12,31,63,0.15);
    --radius: 16px;
    --transition: 0.35s cubic-bezier(0.4,0,0.2,1);
  }
  
  body { font-family:'DM Sans',sans-serif; background:var(--light); color:var(--navy); -webkit-font-smoothing:antialiased; }
  .events-section { max-width:1200px; margin:0 auto; padding:60px 24px 80px; }

  /* Header */
  .section-header { text-align:center; margin-bottom:48px; animation:fadeUp .6s ease both; }
  .section-label { display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
  .section-label::before, .section-label::after { content:''; width:28px; height:1.5px; background:var(--teal); opacity:.4; }
  .section-title { font-family:'DM Serif Display',serif; font-size:clamp(2rem,4vw,2.8rem); color:var(--navy); line-height:1.2; margin-bottom:10px; }
  .section-subtitle { font-size:1.05rem; color:var(--slate); max-width:540px; margin:0 auto; line-height:1.6; }

  /* Year Tabs */
  .year-tabs { display:flex; justify-content:center; gap:6px; margin-bottom:32px; animation:fadeUp .6s ease .1s both; }
  .year-tab { padding:8px 20px; border-radius:100px; font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:600; border:none; cursor:pointer; background:transparent; color:var(--slate); transition:var(--transition); }
  .year-tab:hover { color:var(--navy); background:rgba(12,31,63,.04); }
  .year-tab.active { background:var(--navy); color:var(--white); }

  /* Filters */
  .filters-bar { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:40px; animation:fadeUp .6s ease .15s both; }
  .filter-btn { padding:10px 22px; border:1.5px solid #d1dbe6; border-radius:100px; background:var(--white); font-family:'DM Sans',sans-serif; font-size:.88rem; font-weight:500; color:var(--slate); cursor:pointer; transition:var(--transition); }
  .filter-btn:hover { border-color:var(--teal); color:var(--teal); }
  .filter-btn.active { background:var(--navy); color:var(--white); border-color:var(--navy); }

  /* Search */
  .search-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; animation:fadeUp .6s ease .25s both; flex-wrap:wrap; gap:12px; }
  .results-count { font-size:.92rem; color:var(--slate); }
  .results-count strong { color:var(--navy); }
  .search-box { position:relative; }
  .search-box input { width:280px; padding:10px 16px 10px 40px; border:1.5px solid #d1dbe6; border-radius:100px; font-family:'DM Sans',sans-serif; font-size:.88rem; color:var(--navy); background:var(--white); transition:var(--transition); outline:none; }
  .search-box input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(20,143,139,.1); }
  .search-box .search-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--slate); opacity:.5; }

  /* Grid */
  .events-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:24px; }

  /* Card */
  .event-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--card-shadow); transition:var(--transition); display:flex; flex-direction:column; animation:fadeUp .5s ease both; position:relative; }
  .event-card:hover { box-shadow:var(--card-hover-shadow); transform:translateY(-4px); }

  /* ══ BANNER ══ */
  .card-banner { position:relative; height:140px; overflow:hidden; display:flex; align-items:flex-end; padding:18px 22px; }
  .card-banner.theme-salud { background:linear-gradient(135deg,#0c1f3f 0%,#1a5276 45%,#148f8b 100%); }
  .card-banner.theme-politicas { background:linear-gradient(135deg,#1a1a2e 0%,#16213e 45%,#0f3460 100%); }
  .card-banner.theme-nutricion { background:linear-gradient(135deg,#0c3b2e 0%,#145a4a 45%,#1abc9c 100%); }
  .card-banner.theme-seminario { background:linear-gradient(135deg,#2d1b4e 0%,#44318d 45%,#6c5ce7 100%); }

  .card-banner::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.09) 0%,transparent 50%),radial-gradient(circle at 10% 85%,rgba(255,255,255,.05) 0%,transparent 40%); pointer-events:none; }
  .card-banner::after { content:''; position:absolute; right:-25px; top:-25px; width:120px; height:120px; border-radius:50%; border:2px solid rgba(255,255,255,.07); pointer-events:none; }

  .banner-date { position:absolute; top:12px; right:14px; z-index:3; display:flex; flex-direction:column; align-items:center; min-width:50px; padding:6px 10px; border-radius:10px; background:rgba(255,255,255,.14); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.14); }
  .banner-date .b-month { font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:rgba(255,255,255,.65); line-height:1; }
  .banner-date .b-day { font-family:'DM Serif Display',serif; font-size:1.35rem; line-height:1.15; color:var(--white); }

  .banner-status { position:absolute; top:12px; left:14px; z-index:3; display:inline-flex; align-items:center; gap:5px; font-size:.62rem; font-weight:700; padding:4px 10px; border-radius:100px; text-transform:uppercase; letter-spacing:.8px; }
  .banner-status.upcoming { background:rgba(26,188,156,.22); color:#7dffda; border:1px solid rgba(26,188,156,.28); }
  .banner-status.past { background:rgba(255,255,255,.1); color:rgba(255,255,255,.55); border:1px solid rgba(255,255,255,.1); }
  .banner-status.live { background:rgba(231,76,60,.3); color:#ff8a80; border:1px solid rgba(231,76,60,.3); }
  .banner-status .s-dot { width:5px; height:5px; border-radius:50%; background:currentColor; }
  .banner-status.live .s-dot { animation:livePulse 1.5s ease infinite; }

  .banner-content { position:relative; z-index:2; flex:1; min-width:0; }
  .banner-category { display:inline-flex; align-items:center; gap:6px; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:1.6px; color:rgba(255,255,255,.55); margin-bottom:6px; }
  .banner-category .cat-dot { width:5px; height:5px; border-radius:50%; background:var(--teal-light); }
  .banner-title-text { font-family:'DM Serif Display',serif; font-size:1rem; line-height:1.3; color:var(--white); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:85%; }

  .banner-icon { position:absolute; bottom:16px; right:18px; z-index:2; width:46px; height:46px; border-radius:12px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; }
  .banner-icon svg { width:22px; height:22px; color:rgba(255,255,255,.8); }

  .event-card[data-status="past"] .card-banner { filter:saturate(.5) brightness(.82); }
  .event-card[data-status="past"]:hover .card-banner { filter:saturate(.7) brightness(.88); }

  @keyframes livePulse { 0%,100%{opacity:1} 50%{opacity:.3} }

  /* Card Body */
  .card-body { padding:18px 22px; flex:1; display:flex; flex-direction:column; }
  .event-title { font-family:'DM Serif Display',serif; font-size:1.1rem; line-height:1.35; color:var(--navy); margin-bottom:8px; }
  .event-description { font-size:.84rem; color:var(--slate); line-height:1.6; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  .speakers-row { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
  .speaker-avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--teal),var(--ocean)); display:flex; align-items:center; justify-content:center; color:white; font-size:.68rem; font-weight:700; flex-shrink:0; border:2px solid var(--white); box-shadow:0 2px 6px rgba(0,0,0,.1); }
  .speaker-avatar:not(:first-child) { margin-left:-10px; }
  .speakers-text { font-size:.78rem; color:var(--slate); line-height:1.3; }
  .speakers-text strong { color:var(--navy); font-weight:600; }

  .card-meta { display:flex; flex-wrap:wrap; gap:16px; padding-top:12px; border-top:1px solid #edf2f7; margin-top:auto; }
  .meta-item { display:flex; align-items:center; gap:6px; font-size:.78rem; color:var(--slate); }
  .meta-item svg { width:14px; height:14px; color:var(--teal); opacity:.7; flex-shrink:0; }

  /* Footer */
  .card-footer { padding:14px 22px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #edf2f7; }
  .btn-details { display:inline-flex; align-items:center; gap:8px; padding:9px 22px; border-radius:100px; font-family:'DM Sans',sans-serif; font-size:.84rem; font-weight:600; border:none; cursor:pointer; transition:var(--transition); text-decoration:none; }
  .btn-details.primary { background:var(--navy); color:var(--white); }
  .btn-details.primary:hover { background:var(--ocean); transform:translateX(2px); }
  .btn-details svg { width:15px; height:15px; transition:transform .3s ease; }
  .btn-details:hover svg { transform:translateX(3px); }
  .badge-constancia { display:inline-flex; align-items:center; gap:5px; font-size:.73rem; font-weight:500; color:var(--teal); opacity:.8; }
  .badge-constancia svg { width:13px; height:13px; }

  /* Load More */
  .load-more-wrap { text-align:center; margin-top:48px; animation:fadeUp .5s ease .4s both; }
  .btn-load-more { display:inline-flex; align-items:center; gap:8px; padding:14px 36px; border:2px solid var(--navy); border-radius:100px; background:transparent; font-family:'DM Sans',sans-serif; font-size:.92rem; font-weight:600; color:var(--navy); cursor:pointer; transition:var(--transition); }
  .btn-load-more:hover { background:var(--navy); color:var(--white); }

  /* Animations */
  @keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
  .event-card:nth-child(1){animation-delay:.05s} .event-card:nth-child(2){animation-delay:.1s} .event-card:nth-child(3){animation-delay:.15s} .event-card:nth-child(4){animation-delay:.2s} .event-card:nth-child(5){animation-delay:.25s} .event-card:nth-child(6){animation-delay:.3s}
  .event-card.hiding { opacity:0; transform:scale(.95); pointer-events:none; position:absolute; visibility:hidden; }

  @media(max-width:768px) {
    .events-section{padding:40px 16px 60px} .events-grid{grid-template-columns:1fr;gap:18px} .search-box input{width:100%} .search-row{flex-direction:column;align-items:stretch} .filters-bar{gap:8px} .filter-btn{padding:8px 16px;font-size:.82rem} .card-banner{height:120px} .banner-title-text{font-size:.92rem}
  }
  .events-section::before { content:''; position:fixed; top:-200px; right:-200px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(20,143,139,.04) 0%,transparent 70%); pointer-events:none; z-index:-1; }
