/*
Theme Name: Agenda Random
Theme URI: https://agendarandom.com.ar
Description: Portal de noticias culturales, agenda de espectáculos y entretenimiento de Rosario
Author: Agenda Random
Version: 2.0.0
Tags: news, culture, rosario, argentina, responsive, dark
Text Domain: agenda-random
*/

/* ============================================================
   DESIGN TOKENS — Agenda Random
   Brand: Cyan #00E5FF → Violet #8B5CF6 → Magenta #FF0090
   ============================================================ */
:root {
  --ar-cyan:       #00E5FF;
  --ar-violet:     #8B5CF6;
  --ar-magenta:    #FF0090;
  --ar-grad:       linear-gradient(135deg, #00E5FF 0%, #8B5CF6 50%, #FF0090 100%);
  --ar-grad-h:     linear-gradient(90deg,  #00E5FF 0%, #8B5CF6 50%, #FF0090 100%);
  --ar-grad-text:  linear-gradient(90deg,  #00E5FF, #FF0090);

  --ar-bg:         #070710;
  --ar-bg-2:       #0C0C1E;
  --ar-bg-3:       #111128;
  --ar-surface:    #181832;
  --ar-surface-2:  #202045;
  --ar-border:     rgba(139,92,246,.16);
  --ar-border-2:   rgba(0,229,255,.14);

  --ar-white:      #FFFFFF;
  --ar-text:       #E0E0F0;
  --ar-muted:      #8080A8;
  --ar-dim:        #484870;

  --ar-success:    #10F0A0;
  --ar-warning:    #FFB800;

  --cat-cultura:   #A855F7;
  --cat-deportes:  #10B981;
  --cat-cine:      #F43F5E;
  --cat-musica:    #F59E0B;
  --cat-ciencia:   #3B82F6;
  --cat-literatura:#14B8A6;
  --cat-agenda:    #FF0090;
  --cat-teatro:    #EC4899;

  --font-display:  'Space Grotesk', 'Inter', system-ui, sans-serif;
  --font-body:     'Inter', system-ui, sans-serif;
  --font-accent:   'Orbitron', 'Space Grotesk', sans-serif;
  --font-mono:     'JetBrains Mono', monospace;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px;
  --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-full:9999px;

  --glow-c:   0 0 32px rgba(0,229,255,.28);
  --glow-m:   0 0 32px rgba(255,0,144,.28);
  --glow-v:   0 0 32px rgba(139,92,246,.32);
  --shadow-card: 0 4px 24px rgba(0,0,0,.55);

  --t-fast: 150ms cubic-bezier(.4,0,.2,1);
  --t-base: 250ms cubic-bezier(.4,0,.2,1);
  --t-slow: 400ms cubic-bezier(.4,0,.2,1);
}

/* ============================================================ RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--ar-text);background:var(--ar-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ar-cyan);text-decoration:none;transition:color var(--t-fast)}
a:hover{color:var(--ar-magenta)}
a:focus-visible{outline:2px solid var(--ar-cyan);outline-offset:3px;border-radius:var(--r-sm)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--ar-white);letter-spacing:-.02em}

/* ============================================================ LAYOUT */
.ar-container{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--s5)}
.ar-grid-main{display:grid;grid-template-columns:1fr 340px;gap:var(--s6);align-items:start}
@media(max-width:1100px){.ar-grid-main{grid-template-columns:1fr}}

/* ============================================================ TOPBAR */
.ar-topbar{background:var(--ar-bg-2);border-bottom:1px solid var(--ar-border);padding:var(--s2) 0;font-size:.78rem}
/* Nav fijo — ocupa todo el ancho, siempre visible arriba */
.ar-sticky-nav{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%;}
/* Compensar el espacio que ocupa el nav fijo */
body{padding-top:177px;}
.ar-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.ar-topbar-date{font-family:var(--font-accent);font-size:.66rem;letter-spacing:.08em;color:var(--ar-dim);text-transform:uppercase}
.ar-topbar-widgets{display:flex;align-items:center;gap:var(--s5)}
.ar-iw{display:flex;align-items:center;gap:var(--s2);font-size:.78rem}
.ar-iw .lbl{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ar-dim)}
.ar-iw .val{color:var(--ar-cyan);font-weight:700;font-family:var(--font-mono)}
.ar-iw .val-m{color:var(--ar-magenta);font-weight:700;font-family:var(--font-mono)}

/* ============================================================ HEADER */
.ar-header{background:rgba(7,7,16,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--ar-border)}
.ar-header::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ar-grad-h)}
.ar-header-inner{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) 0;gap:var(--s5)}

.ar-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none!important}
.ar-logo img{height:46px;width:auto;object-fit:contain}

.ar-nav{display:flex;align-items:center;gap:2px}
.ar-nav a{display:block;padding:var(--s2) var(--s3);font-family:var(--font-display);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ar-muted);border-radius:var(--r-sm);transition:all var(--t-fast);white-space:nowrap}
.ar-nav a:hover{color:var(--ar-white);background:var(--ar-surface)}
.ar-nav a.current{color:var(--ar-cyan)}
.ar-nav-cta{background:var(--ar-grad-h)!important;color:var(--ar-bg)!important;border-radius:var(--r-full)!important;font-weight:800!important;padding:var(--s2) var(--s4)!important}
.ar-nav-cta:hover{opacity:.88;transform:translateY(-1px);color:var(--ar-bg)!important}

.ar-header-actions{display:flex;align-items:center;gap:var(--s3)}
.ar-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--ar-border);border-radius:var(--r-sm);background:var(--ar-surface);color:var(--ar-muted);cursor:pointer;transition:all var(--t-fast)}
.ar-icon-btn:hover{border-color:var(--ar-cyan);color:var(--ar-cyan);box-shadow:var(--glow-c)}
.ar-hamburger{display:none;background:none;border:none;cursor:pointer;padding:var(--s2);color:var(--ar-text);min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:var(--r-sm)}

@media(max-width:900px){
  .ar-hamburger{display:flex}
  .ar-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ar-bg-2);border-top:1px solid var(--ar-border);flex-direction:column;padding:var(--s4);gap:var(--s1);align-items:stretch}
  .ar-nav.open{display:flex}
  .ar-nav a{text-align:center}
}

.ar-search-overlay{display:none;border-top:1px solid var(--ar-border);padding:var(--s3) 0;background:rgba(7,7,16,.97);backdrop-filter:blur(24px)}
.ar-search-inner{display:flex;gap:var(--s3);max-width:700px;margin:0 auto}
.ar-search-input{flex:1;background:var(--ar-surface);border:1px solid var(--ar-border);border-radius:var(--r-md);padding:var(--s3) var(--s4);color:var(--ar-text);font-size:.95rem;font-family:var(--font-body);transition:all var(--t-fast)}
.ar-search-input:focus{outline:none;border-color:var(--ar-cyan);box-shadow:0 0 0 3px rgba(0,229,255,.1)}
.ar-search-btn{background:var(--ar-grad-h);border:none;border-radius:var(--r-md);color:var(--ar-bg);font-weight:700;padding:var(--s3) var(--s5);cursor:pointer;font-family:var(--font-display);font-size:.88rem;display:flex;align-items:center;gap:var(--s2);transition:opacity var(--t-fast)}
.ar-search-btn:hover{opacity:.85}

/* ============================================================ CAT NAV */
.ar-cat-nav{background:var(--ar-bg-2);border-bottom:1px solid var(--ar-border)}
.ar-cat-nav-inner{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) 0;overflow-x:auto;scrollbar-width:none}
.ar-cat-nav-inner::-webkit-scrollbar{display:none}
.ar-cat-pill{display:inline-flex;align-items:center;gap:5px;padding:5px var(--s3);border-radius:var(--r-full);font-size:.7rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid transparent;transition:all var(--t-fast);text-decoration:none}
.ar-cat-pill:hover{transform:translateY(-1px)}
.ar-cat-pill[data-cat="cultura"]   {background:rgba(168,85,247,.12);color:var(--cat-cultura);border-color:rgba(168,85,247,.25)}
.ar-cat-pill[data-cat="deportes"]  {background:rgba(16,185,129,.12);color:var(--cat-deportes);border-color:rgba(16,185,129,.25)}
.ar-cat-pill[data-cat="cine"]      {background:rgba(244,63,94,.12);color:var(--cat-cine);border-color:rgba(244,63,94,.25)}
.ar-cat-pill[data-cat="musica"]    {background:rgba(245,158,11,.12);color:var(--cat-musica);border-color:rgba(245,158,11,.25)}
.ar-cat-pill[data-cat="ciencia"]   {background:rgba(59,130,246,.12);color:var(--cat-ciencia);border-color:rgba(59,130,246,.25)}
.ar-cat-pill[data-cat="literatura"]{background:rgba(20,184,166,.12);color:var(--cat-literatura);border-color:rgba(20,184,166,.25)}
.ar-cat-pill[data-cat="agenda"]    {background:rgba(255,0,144,.12);color:var(--cat-agenda);border-color:rgba(255,0,144,.25)}

/* ============================================================ TICKER */
.ar-ticker{background:linear-gradient(90deg,rgba(0,229,255,.05),rgba(255,0,144,.05));border-bottom:1px solid var(--ar-border);padding:var(--s2) 0;overflow:hidden}
.ar-ticker-inner{display:flex;align-items:center;gap:var(--s4)}
.ar-ticker-label{font-family:var(--font-accent);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:3px var(--s3);border-radius:var(--r-sm);background:var(--ar-grad-h);color:var(--ar-bg);white-space:nowrap;flex-shrink:0}
.ar-ticker-track{display:flex;animation:ar-tick 50s linear infinite;gap:var(--s7);white-space:nowrap}
.ar-ticker-track:hover{animation-play-state:paused}
.ar-ticker-item{display:inline-flex;align-items:center;gap:var(--s3);font-size:.82rem;color:var(--ar-muted);transition:color var(--t-fast);text-decoration:none}
.ar-ticker-item:hover{color:var(--ar-cyan)}
.ar-ticker-item::before{content:'◆';font-size:.44rem;color:var(--ar-violet)}
@keyframes ar-tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============================================================ HERO — FULL WIDTH */
.ar-hero-wrap{position:relative;margin-left:calc(-1 * var(--s5));margin-right:calc(-1 * var(--s5));width:calc(100% + var(--s5) * 2)}
.ar-hero{position:relative;width:100%;height:clamp(460px,72vh,820px);overflow:hidden;background:var(--ar-bg-3)}
.ar-hero-media{position:absolute;inset:-5%;width:110%;height:110%}
.ar-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform 9s ease}
.ar-hero:hover .ar-hero-img{transform:scale(1.05) translateY(-1%)}
.ar-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,16,1) 0%,rgba(7,7,16,.85) 32%,rgba(7,7,16,.35) 62%,rgba(7,7,16,.08) 100%),linear-gradient(to right,rgba(7,7,16,.65) 0%,transparent 55%)}
.ar-hero-tint{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,229,255,.05) 0%,rgba(255,0,144,.05) 100%);mix-blend-mode:screen}

.ar-hero-content{position:absolute;bottom:0;left:0;right:0;padding:var(--s9) var(--s5) var(--s8);max-width:980px}
.ar-hero-eyebrow{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.ar-hero-cat{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-accent);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 14px;border-radius:var(--r-full);border:1px solid currentColor}
.ar-hero-new{font-family:var(--font-accent);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-magenta);border:1px solid rgba(255,0,144,.4);padding:3px 10px;border-radius:var(--r-full);animation:pulse-b 2s ease-in-out infinite}
@keyframes pulse-b{0%,100%{border-color:rgba(255,0,144,.35)}50%{border-color:rgba(255,0,144,.9)}}

.ar-hero-title{font-family:var(--font-display);font-size:clamp(2rem,4.8vw,3.8rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--ar-white);margin-bottom:var(--s4);text-shadow:0 2px 24px rgba(0,0,0,.5)}
.ar-hero-title a{color:var(--ar-white)}
.ar-hero-title a:hover{color:var(--ar-cyan)}
.ar-hero-excerpt{font-size:1.08rem;line-height:1.6;color:rgba(255,255,255,.72);margin-bottom:var(--s5);max-width:660px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ar-hero-meta{display:flex;align-items:center;gap:var(--s4);font-size:.82rem;color:rgba(255,255,255,.52);margin-bottom:var(--s4)}
.ar-hero-meta span{display:flex;align-items:center;gap:5px}
.ar-hero-cta{display:inline-flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s6);background:var(--ar-grad-h);color:var(--ar-bg)!important;border-radius:var(--r-full);font-family:var(--font-display);font-size:.92rem;font-weight:800;letter-spacing:.02em;transition:all var(--t-fast);box-shadow:var(--glow-c)}
.ar-hero-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 0 48px rgba(0,229,255,.4),0 0 48px rgba(255,0,144,.3)}

/* Hero navigation */
.ar-hero-controls{position:absolute;bottom:var(--s6);right:var(--s5);display:flex;gap:var(--s3)}
.ar-hero-nav-btn{width:44px;height:44px;border-radius:var(--r-full);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);color:var(--ar-white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}
.ar-hero-nav-btn:hover{background:var(--ar-grad-h);border-color:transparent;color:var(--ar-bg)}
.ar-hero-dots{position:absolute;bottom:var(--s6);left:50%;transform:translateX(-50%);display:flex;gap:var(--s2)}
.ar-hero-dot{width:6px;height:6px;border-radius:var(--r-full);background:rgba(255,255,255,.28);border:none;cursor:pointer;transition:all var(--t-fast)}
.ar-hero-dot.active{width:28px;background:var(--ar-cyan);box-shadow:0 0 10px var(--ar-cyan)}

/* ============================================================ AD SLIDER */
.ar-ad-slider{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--ar-border);background:var(--ar-bg-2);margin:var(--s5) 0}
.ar-ad-slider-track{position:relative;width:100%}
.ar-ad-slide{position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity .6s ease;pointer-events:none}
.ar-ad-slide.active{position:relative;opacity:1;pointer-events:auto}
.ar-ad-slide img{width:100%;height:110px;object-fit:contain;object-position:center;background:var(--ar-bg-2);display:block}
.ar-ad-slide a{display:block}
.ar-ad-lbl{position:absolute;top:var(--s2);right:var(--s2);font-family:var(--font-accent);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.28);background:rgba(0,0,0,.4);padding:2px 6px;border-radius:var(--r-sm)}
.ar-ad-dots{position:absolute;bottom:var(--s2);left:50%;transform:translateX(-50%);display:flex;gap:var(--s2)}
.ar-ad-dot{width:5px;height:5px;border-radius:var(--r-full);background:rgba(255,255,255,.22);border:none;cursor:pointer;transition:all var(--t-fast)}
.ar-ad-dot.active{background:var(--ar-cyan);width:18px}
.ar-ad-placeholder{height:88px;display:flex;align-items:center;justify-content:center;gap:var(--s3);border:1px dashed var(--ar-border);border-radius:var(--r-md);font-size:.82rem;color:var(--ar-dim);margin:var(--s5) 0}
.ar-ad-placeholder a{color:var(--ar-cyan)}

/* ============================================================ SECTION HEADERS */
.ar-section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s5);gap:var(--s3)}
.ar-section-title{font-family:var(--font-display);font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ar-white);display:flex;align-items:center;gap:var(--s3)}
.ar-section-title::before{content:'';display:block;width:3px;height:1.1em;background:var(--ar-grad-h);border-radius:var(--r-full);flex-shrink:0}
.ar-section-link{font-size:.78rem;color:var(--ar-muted);font-weight:600;font-family:var(--font-display);display:flex;align-items:center;gap:4px;transition:color var(--t-fast)}
.ar-section-link:hover{color:var(--ar-cyan)}

/* ============================================================ CARDS */
.ar-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.ar-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
@media(max-width:960px){.ar-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ar-grid-3,.ar-grid-2{grid-template-columns:1fr}}

.ar-card{background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:all var(--t-base);position:relative}
.ar-card::after{content:'';position:absolute;inset:-1px;border-radius:var(--r-lg);background:var(--ar-grad-h);opacity:0;z-index:-1;transition:opacity var(--t-base)}
.ar-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px rgba(0,0,0,.7);border-color:transparent}
.ar-card:hover::after{opacity:1}
.ar-card-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ar-bg-3);flex-shrink:0}
.ar-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.ar-card:hover .ar-card-thumb img{transform:scale(1.07)}
.ar-card-cat{position:absolute;top:var(--s3);left:var(--s3);font-family:var(--font-accent);font-size:.56rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-full);color:var(--ar-bg);z-index:2}
.ar-card-body{padding:var(--s4);flex:1;display:flex;flex-direction:column;gap:var(--s2)}
.ar-card-title{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.ar-card-title a{color:var(--ar-white)}
.ar-card-title a:hover{color:var(--ar-cyan)}
.ar-card-excerpt{font-size:.83rem;color:var(--ar-muted);line-height:1.55;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ar-card-meta{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--ar-dim);padding-top:var(--s3);border-top:1px solid var(--ar-border);margin-top:auto}
.ar-card-read{color:var(--ar-cyan);font-weight:700;font-family:var(--font-display);font-size:.74rem;text-decoration:none;transition:color var(--t-fast)}
.ar-card-read:hover{color:var(--ar-magenta)}

/* Horizontal card */
.ar-card-h{display:flex;gap:var(--s3);background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-md);overflow:hidden;transition:all var(--t-fast);text-decoration:none}
.ar-card-h:hover{border-color:rgba(0,229,255,.22);transform:translateX(3px)}
.ar-card-h-thumb{flex-shrink:0;width:88px;aspect-ratio:1;overflow:hidden;background:var(--ar-bg-3)}
.ar-card-h-thumb img{width:100%;height:100%;object-fit:cover}
.ar-card-h-body{padding:var(--s3) var(--s3) var(--s3) 0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}
.ar-card-h-cat{font-family:var(--font-accent);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ar-cyan)}
.ar-card-h-title{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--ar-white);line-height:1.3}
.ar-card-h-date{font-size:.7rem;color:var(--ar-dim)}

/* ============================================================ TV PLAYER */
.ar-tv{background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-lg);overflow:hidden}
.ar-tv-header{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);background:var(--ar-bg-3);border-bottom:1px solid var(--ar-border)}
.ar-live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-full);background:rgba(255,0,144,.12);border:1px solid rgba(255,0,144,.35);font-family:var(--font-accent);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-magenta)}
.ar-live-dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--ar-magenta);animation:ar-blink 1.2s ease-in-out infinite;box-shadow:0 0 6px var(--ar-magenta)}
@keyframes ar-blink{0%,100%{opacity:1}50%{opacity:.2}}
.ar-tv-title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--ar-white)}
.ar-tv-player{position:relative;width:100%;padding-top:56.25%;background:#000}
.ar-tv-player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.ar-tv-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) var(--s5);background:var(--ar-bg-3);border-top:1px solid var(--ar-border)}
.ar-tv-info{font-size:.78rem;color:var(--ar-muted)}
.ar-btn-outline{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:1px solid var(--ar-border);border-radius:var(--r-sm);background:var(--ar-surface);color:var(--ar-muted);font-size:.78rem;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:all var(--t-fast);text-decoration:none}
.ar-btn-outline:hover{border-color:var(--ar-cyan);color:var(--ar-cyan);box-shadow:var(--glow-c)}

/* ============================================================ CALENDAR */
.ar-cal{background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-lg);overflow:hidden}
.ar-cal-header{padding:var(--s4) var(--s5);background:linear-gradient(135deg,rgba(0,229,255,.06),rgba(255,0,144,.06));border-bottom:1px solid var(--ar-border);display:flex;align-items:center;justify-content:space-between}
.ar-cal-header h3{font-family:var(--font-accent);font-size:.88rem;font-weight:700;letter-spacing:.06em;background:var(--ar-grad-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ar-cal-nav-btn{width:32px;height:32px;border-radius:var(--r-sm);background:var(--ar-surface);border:1px solid var(--ar-border);color:var(--ar-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--t-fast)}
.ar-cal-nav-btn:hover{border-color:var(--ar-cyan);color:var(--ar-cyan)}
.ar-cal-tabs{display:flex;border-bottom:1px solid var(--ar-border)}
.ar-cal-tab{flex:1;padding:var(--s3) var(--s2);background:none;border:none;border-bottom:2px solid transparent;color:var(--ar-dim);font-family:var(--font-display);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--t-fast)}
.ar-cal-tab.active{color:var(--ar-cyan);border-bottom-color:var(--ar-cyan)}
.ar-cal-grid{padding:var(--s4)}
.ar-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--s2)}
.ar-cal-weekday{text-align:center;font-family:var(--font-accent);font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ar-dim);padding:var(--s2) 0}
.ar-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;max-width:280px;margin:0 auto}
.ar-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:.68rem;font-weight:500;cursor:pointer;position:relative;color:var(--ar-text);background:transparent;border:none;transition:all var(--t-fast);font-family:var(--font-display);max-width:36px;max-height:36px;width:100%;height:100%}
.ar-cal-day:hover{background:var(--ar-surface)}
.ar-cal-day.today{background:linear-gradient(135deg,rgba(0,229,255,.18),rgba(255,0,144,.18));border:1px solid rgba(0,229,255,.28);color:var(--ar-cyan);font-weight:800}
.ar-cal-day.has-event::after{content:'';position:absolute;bottom:3px;width:4px;height:4px;border-radius:var(--r-full);background:var(--ar-magenta);box-shadow:0 0 6px var(--ar-magenta)}
.ar-cal-day.other-month{color:var(--ar-dim);opacity:.4}
.ar-cal-day.selected{background:var(--ar-surface);border:1px solid var(--ar-cyan)}
.ar-cal-events{border-top:1px solid var(--ar-border);padding:var(--s4);max-height:240px;overflow-y:auto}
.ar-cal-event-item{display:flex;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--ar-border);align-items:flex-start}
.ar-cal-event-item:last-child{border-bottom:none}
.ar-cal-event-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--ar-magenta);box-shadow:0 0 8px var(--ar-magenta);flex-shrink:0;margin-top:5px}
.ar-cal-event-name{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--ar-white);line-height:1.3}
.ar-cal-event-name a{color:var(--ar-white)}
.ar-cal-event-name a:hover{color:var(--ar-cyan)}
.ar-cal-event-time{font-size:.72rem;color:var(--ar-dim);margin-top:3px}
.ar-cal-no-events{text-align:center;color:var(--ar-dim);font-size:.85rem;padding:var(--s5)}

/* ============================================================ SIDEBAR */
.ar-sidebar{display:flex;flex-direction:column;gap:var(--s5);position:sticky;top:190px}
.ar-widget{background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-lg);overflow:hidden}
.ar-widget-title{padding:var(--s3) var(--s5);font-family:var(--font-accent);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ar-border);display:flex;align-items:center;gap:var(--s2);background:linear-gradient(90deg,rgba(0,229,255,.04),transparent)}
.ar-widget-title::before{content:'';width:2px;height:12px;background:var(--ar-grad-h);border-radius:var(--r-full);flex-shrink:0}
.ar-widget-title span{background:var(--ar-grad-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ar-sidebar-ad{background:var(--ar-bg-3);border:1px dashed rgba(139,92,246,.28);border-radius:var(--r-md);min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color var(--t-fast);cursor:pointer}
.ar-sidebar-ad:hover{border-color:var(--ar-cyan)}
.ar-sidebar-ad img{width:100%;height:100%;object-fit:contain;object-position:center}
.ar-sidebar-ad-ph{text-align:center;color:var(--ar-dim);font-size:.8rem;display:flex;flex-direction:column;align-items:center;gap:var(--s2)}
.ar-sidebar-ad-ph a{color:var(--ar-cyan);font-size:.74rem}

/* Weather */
.ar-weather{padding:var(--s5);text-align:center}
.ar-weather-icon{font-size:3rem;margin-bottom:var(--s3)}
.ar-weather-temp{font-family:var(--font-display);font-size:3.5rem;font-weight:800;line-height:1;background:var(--ar-grad-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ar-weather-temp sup{font-size:1.4rem;vertical-align:super}
.ar-weather-city{font-family:var(--font-accent);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-dim);margin-top:var(--s2)}
.ar-weather-desc{font-size:.9rem;color:var(--ar-muted);margin-top:4px}
.ar-weather-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--ar-border)}
.ar-wd{text-align:center}
.ar-wd .lbl{font-family:var(--font-accent);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ar-dim)}
.ar-wd .val{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--ar-white);margin-top:2px}

/* Dollar */
.ar-dollar-widget{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.ar-dollar-row{display:flex;justify-content:space-between;align-items:center;padding:var(--s3) var(--s4);background:var(--ar-bg-3);border-radius:var(--r-md);border-left:2px solid var(--ar-cyan)}
.ar-dollar-name{font-family:var(--font-display);font-size:.82rem;color:var(--ar-muted);font-weight:600}
.ar-dollar-prices{display:flex;gap:var(--s4)}
.ar-dollar-price{text-align:center}
.ar-dollar-price .lbl{font-family:var(--font-accent);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ar-dim)}
.ar-dollar-price .amt{font-family:var(--font-mono);font-size:1rem;font-weight:800;color:var(--ar-cyan)}
.ar-dollar-upd{font-family:var(--font-accent);font-size:.58rem;text-align:center;color:var(--ar-dim);letter-spacing:.06em;padding-top:var(--s2)}

/* ============================================================ CONTACT */
.ar-contact-hero{text-align:center;padding:var(--s8) 0 var(--s7)}
.ar-contact-hero h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--s4)}
.ar-contact-hero p{font-size:1.1rem;color:var(--ar-muted);max-width:560px;margin:0 auto}
.ar-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:start}
@media(max-width:768px){.ar-contact-grid{grid-template-columns:1fr}}
.ar-contact-card{background:var(--ar-bg-2);border:1px solid var(--ar-border);border-radius:var(--r-lg);padding:var(--s5)}
.ar-contact-icon{width:48px;height:48px;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(0,229,255,.12),rgba(255,0,144,.12));border:1px solid var(--ar-border);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s3)}
.ar-contact-card h3{font-family:var(--font-display);font-size:1rem;margin-bottom:var(--s2)}
.ar-contact-card p{font-size:.88rem;color:var(--ar-muted);line-height:1.65}
.ar-contact-card a{color:var(--ar-cyan)}
.ar-gacetilla{background:linear-gradient(135deg,rgba(0,229,255,.05),rgba(255,0,144,.05));border:1px solid rgba(0,229,255,.18);border-radius:var(--r-lg);padding:var(--s5)}
.ar-gacetilla h3{font-family:var(--font-display);margin-bottom:var(--s3)}
.ar-gacetilla p,.ar-gacetilla li{font-size:.88rem;color:var(--ar-muted);line-height:1.65}
.ar-gacetilla ul{list-style:none;margin-top:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}
.ar-gacetilla li{display:flex;gap:var(--s2);align-items:flex-start}
.ar-gacetilla li::before{content:'◆';color:var(--ar-cyan);font-size:.52rem;margin-top:5px;flex-shrink:0}
.ar-form{display:flex;flex-direction:column;gap:var(--s4)}
.ar-form-group{display:flex;flex-direction:column;gap:var(--s2)}
.ar-form-label{font-family:var(--font-accent);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ar-muted)}
.ar-form-input,.ar-form-textarea,.ar-form-select{background:var(--ar-bg-3);border:1px solid var(--ar-border);border-radius:var(--r-md);padding:var(--s3) var(--s4);color:var(--ar-text);font-size:.92rem;font-family:var(--font-body);width:100%;transition:all var(--t-fast)}
.ar-form-input:focus,.ar-form-textarea:focus,.ar-form-select:focus{outline:none;border-color:var(--ar-cyan);box-shadow:0 0 0 3px rgba(0,229,255,.1)}
.ar-form-textarea{min-height:140px;resize:vertical}
.ar-form-select option{background:var(--ar-bg-3)}
.ar-form-submit{display:flex;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s4) var(--s6);background:var(--ar-grad-h);color:var(--ar-bg);border:none;border-radius:var(--r-full);font-family:var(--font-display);font-size:1rem;font-weight:800;cursor:pointer;transition:all var(--t-fast);min-height:52px}
.ar-form-submit:hover{opacity:.88;transform:translateY(-1px);box-shadow:var(--glow-c)}

/* ============================================================ FOOTER */
.ar-footer{background:var(--ar-bg-2);border-top:1px solid var(--ar-border);margin-top:var(--s9);padding:var(--s8) 0 var(--s5);position:relative}
.ar-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--ar-grad-h)}
.ar-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s7);margin-bottom:var(--s7)}
@media(max-width:900px){.ar-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ar-footer-grid{grid-template-columns:1fr}}
.ar-footer-logo img{height:34px;width:auto;margin-bottom:var(--s4)}
.ar-footer-desc{font-size:.85rem;color:var(--ar-muted);line-height:1.65}
.ar-footer-social{display:flex;gap:var(--s3);margin-top:var(--s4)}
.ar-social-btn{width:36px;height:36px;border-radius:var(--r-sm);background:var(--ar-surface);border:1px solid var(--ar-border);display:flex;align-items:center;justify-content:center;color:var(--ar-muted);transition:all var(--t-fast);text-decoration:none}
.ar-social-btn:hover{background:var(--ar-cyan);border-color:transparent;color:var(--ar-bg)}
.ar-footer-col-title{font-family:var(--font-accent);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ar-dim);margin-bottom:var(--s4)}
.ar-footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--s2)}
.ar-footer-links li a{font-size:.85rem;color:var(--ar-muted);display:flex;align-items:center;gap:var(--s2);transition:color var(--t-fast);text-decoration:none}
.ar-footer-links li a:hover{color:var(--ar-cyan)}
.ar-footer-bottom{border-top:1px solid var(--ar-border);padding-top:var(--s5);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);font-size:.78rem;color:var(--ar-dim);font-family:var(--font-display)}

/* ============================================================ SINGLE */
.ar-single{max-width:820px}
.ar-single-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:var(--s4)}
.ar-single-meta{display:flex;flex-wrap:wrap;gap:var(--s4);font-size:.82rem;color:var(--ar-muted);padding:var(--s4) 0;border-top:1px solid var(--ar-border);border-bottom:1px solid var(--ar-border);margin-bottom:var(--s5)}
.ar-single-featured{border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s5)}
.ar-single-featured img{width:100%}
.ar-single-content{font-size:1.05rem;line-height:1.8;color:var(--ar-text)}
.ar-single-content h2,.ar-single-content h3,.ar-single-content h4{font-family:var(--font-display);margin:var(--s6) 0 var(--s3)}
.ar-single-content p{margin-bottom:var(--s4)}
.ar-single-content a{color:var(--ar-cyan);text-decoration:underline;text-underline-offset:3px}
.ar-single-content blockquote{border-left:3px solid var(--ar-cyan);margin:var(--s5) 0;padding:var(--s4) var(--s5);background:rgba(0,229,255,.04);border-radius:0 var(--r-md) var(--r-md) 0;font-style:italic;color:var(--ar-muted)}
.ar-event-dates{background:rgba(255,0,144,.05);border:1px solid rgba(255,0,144,.18);border-radius:var(--r-md);padding:var(--s4) var(--s5);margin:var(--s5) 0}
.ar-event-dates h4{font-family:var(--font-accent);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-muted);margin-bottom:var(--s3)}
.ar-event-date-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;font-size:.9rem;border-bottom:1px solid rgba(255,0,144,.07);color:var(--ar-text)}
.ar-event-date-item:last-child{border-bottom:none}
.ar-event-date-item svg{color:var(--ar-magenta);flex-shrink:0}

/* ============================================================ UTILS */
.ar-section{padding:var(--s7) 0}
.ar-divider{border:none;border-top:1px solid var(--ar-border);margin:var(--s6) 0}
.ar-tag{display:inline-flex;padding:3px 10px;border-radius:var(--r-full);font-family:var(--font-accent);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--ar-surface);color:var(--ar-muted);border:1px solid var(--ar-border);transition:all var(--t-fast);text-decoration:none}
.ar-tag:hover{background:var(--ar-grad-h);color:var(--ar-bg);border-color:transparent}
.ar-skeleton{background:linear-gradient(90deg,var(--ar-bg-3) 25%,var(--ar-surface) 50%,var(--ar-bg-3) 75%);background-size:200% 100%;animation:ar-shimmer 1.5s infinite;border-radius:var(--r-sm)}
@keyframes ar-shimmer{to{background-position:-200% 0}}
.nav-links{display:flex;align-items:center;justify-content:center;gap:var(--s2);flex-wrap:wrap}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--s3);border-radius:var(--r-sm);background:var(--ar-bg-2);border:1px solid var(--ar-border);color:var(--ar-muted)!important;font-size:.85rem;font-weight:600;font-family:var(--font-display);transition:all var(--t-fast);text-decoration:none!important}
.page-numbers:hover,.page-numbers.current{background:var(--ar-grad-h);border-color:transparent;color:var(--ar-bg)!important}
.page-numbers.dots{background:transparent;border-color:transparent;color:var(--ar-dim)!important}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--ar-bg-2)}
::-webkit-scrollbar-thumb{background:var(--ar-violet);border-radius:var(--r-full)}
::-webkit-scrollbar-thumb:hover{background:var(--ar-cyan)}
@media(max-width:768px){.ar-topbar-widgets{display:none}.ar-hero{height:clamp(300px,55vw,440px)}.ar-hero-content{padding:var(--s6) var(--s4) var(--s5)}.ar-footer-grid{grid-template-columns:1fr 1fr}body{padding-top:140px;}}
@media(max-width:480px){.ar-hero-title{font-size:1.6rem}.ar-footer-grid{grid-template-columns:1fr}body{padding-top:120px;}}
@media print{.ar-topbar,.ar-header,.ar-cat-nav,.ar-ticker,.ar-sidebar,.ar-tv,.ar-ad-slider,.ar-footer{display:none!important}body{background:#fff!important;color:#000!important}}

/* ============================================================
   HERO MINI-CALENDARIO
   ============================================================ */
.ar-hero-minical {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-md);
  padding: var(--s2) var(--s3);
  min-width: 60px;
  text-align: center;
  gap: 1px;
}
.ar-minical-month {
  font-family: var(--font-accent);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ar-cyan);
}
.ar-minical-day {
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1;
  color: var(--ar-white);
}
.ar-minical-dow {
  font-family: var(--font-display);
  font-size: .68rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  text-transform: lowercase;
}

/* ============================================================
   FEATURED POST (titular grande en Últimas Noticias)
   ============================================================ */
.ar-featured-post { border-radius: var(--r-lg); overflow: hidden; }
.ar-featured-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 260px;
  text-decoration: none;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--ar-border);
  transition: all var(--t-base);
}
.ar-featured-inner:hover { border-color: rgba(0,229,255,.25); box-shadow: var(--shadow-card); }
@media(max-width:700px) { .ar-featured-inner { grid-template-columns: 1fr; } }

.ar-featured-thumb {
  position: relative;
  overflow: hidden;
  background: var(--ar-bg-3);
  min-height: 200px;
}
.ar-featured-thumb img { width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow); }
.ar-featured-inner:hover .ar-featured-thumb img { transform: scale(1.04); }
.ar-featured-overlay {
  position:absolute;inset:0;
  background: linear-gradient(135deg, rgba(7,7,16,.2), rgba(7,7,16,.1));
}
.ar-featured-content {
  background: var(--ar-bg-2);
  padding: var(--s6);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--s3);
}
.ar-featured-badge {
  display: inline-block;
  font-family: var(--font-accent);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--r-full);
  color: var(--ar-bg);
  width: fit-content;
}
.ar-featured-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem,2.5vw,1.6rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: var(--ar-white);
}
.ar-featured-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
  font-size: .8rem;
  color: var(--ar-muted);
}

/* ============================================================
   AD STRIP (wrapper del banner de publicidad)
   ============================================================ */
.ar-ad-strip { padding: var(--s4) 0; }
.ar-ad-strip-placeholder { padding: var(--s3) 0; }

/* ============================================================
   AGENDA LAYOUT — Almanaque + Carrusel
   ============================================================ */
.ar-agenda-layout {
  display: grid;
  grid-template-columns: 380px minmax(0,1fr);
  gap: var(--s6);
  align-items: start;
}
@media(max-width:1024px) { .ar-agenda-layout { grid-template-columns: 1fr; } }
.ar-agenda-left { position: sticky; top: 190px; }
.ar-agenda-right { display: flex; flex-direction: column; gap: var(--s4); min-width: 0; overflow: hidden; }

.ar-carousel-header { margin-bottom: var(--s2); }
.ar-carousel-label {
  font-family: var(--font-accent);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ar-muted);
  min-height: 1.4em;
}

.ar-events-carousel-wrap {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-lg);
  border: 1px solid var(--ar-border);
  background: var(--ar-bg-2);
  min-height: 220px;
}
.ar-events-carousel {
  display: flex;
  gap: 0;
  transition: transform var(--t-slow);
  align-items: stretch;
}

/* Cada "página" del carrusel muestra 3 eventos */
.ar-carousel-page {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  flex: 0 0 100%;
  background: var(--ar-border);
}
@media(max-width:700px) {
  .ar-carousel-page { grid-template-columns: 1fr 1fr; }
}
@media(max-width:480px) {
  .ar-carousel-page { grid-template-columns: 1fr; }
}

/* Tarjeta del evento en el carrusel */
.ar-ev-card {
  background: var(--ar-bg-2);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: background var(--t-fast);
}
.ar-ev-card:hover { background: var(--ar-bg-3); }
.ar-ev-card-thumb {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--ar-bg-3);
  position: relative;
  flex-shrink: 0;
}
.ar-ev-card-thumb img { width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow); }
.ar-ev-card:hover .ar-ev-card-thumb img { transform:scale(1.06); }

/* Mini calendario sobre la imagen */
.ar-ev-card-cal {
  position: absolute;
  top: var(--s2);
  left: var(--s2);
  background: rgba(7,7,16,.82);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-sm);
  padding: 3px 7px;
  text-align: center;
  min-width: 40px;
}
.ar-ev-card-cal .m { font-family:var(--font-accent);font-size:.5rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ar-cyan); }
.ar-ev-card-cal .d { font-family:var(--font-display);font-size:1.1rem;font-weight:900;line-height:1;color:var(--ar-white); }
.ar-ev-card-cal .w { font-size:.5rem;color:rgba(255,255,255,.6);font-family:var(--font-display); }

.ar-ev-card-body {
  padding: var(--s3);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ar-ev-card-title {
  font-family: var(--font-display);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ar-white);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ar-ev-card-time {
  font-size: .72rem;
  color: var(--ar-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
}

.ar-carousel-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  color: var(--ar-dim);
  font-size: .85rem;
  gap: var(--s3);
  text-align: center;
  padding: var(--s5);
  width: 100%;
}

/* Botones prev/next del carrusel */
.ar-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: var(--r-full);
  background: rgba(7,7,16,.8);
  border: 1px solid var(--ar-border);
  backdrop-filter: blur(8px);
  color: var(--ar-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: all var(--t-fast);
}
.ar-carousel-btn:hover { border-color:var(--ar-cyan); color:var(--ar-cyan); box-shadow:var(--glow-c); }
.ar-carousel-prev { left: var(--s2); }
.ar-carousel-next { right: var(--s2); }

/* Dots del carrusel */
.ar-carousel-dots {
  display: flex;
  justify-content: center;
  gap: var(--s2);
  padding: var(--s2) 0;
  min-height: 20px;
}
.ar-carousel-dot {
  width: 6px;
  height: 6px;
  border-radius: var(--r-full);
  background: var(--ar-surface-2);
  border: none;
  cursor: pointer;
  transition: all var(--t-fast);
}
.ar-carousel-dot.active { width: 20px; background: var(--ar-cyan); box-shadow: 0 0 8px var(--ar-cyan); }

/* ============================================================
   EVENTO: fechas con mini-calendarios en columnas
   ============================================================ */
.ar-event-dates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--s3);
  margin-top: var(--s3);
}
.ar-event-date-card {
  display: flex;
  align-items: center;
  gap: var(--s3);
  background: var(--ar-bg-3);
  border: 1px solid var(--ar-border);
  border-radius: var(--r-md);
  padding: var(--s3);
}
.ar-event-minical {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(135deg, rgba(0,229,255,.12), rgba(255,0,144,.12));
  border: 1px solid rgba(0,229,255,.2);
  border-radius: var(--r-sm);
  padding: var(--s2) var(--s3);
  min-width: 52px;
  flex-shrink: 0;
}
.ar-minical-month-sm { font-family:var(--font-accent);font-size:.52rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ar-cyan); }
.ar-minical-day-sm   { font-family:var(--font-display);font-size:1.5rem;font-weight:900;line-height:1;color:var(--ar-white); }
.ar-minical-dow-sm   { font-size:.6rem;color:rgba(255,255,255,.6);font-family:var(--font-display); }
.ar-event-date-info  { flex:1;display:flex;flex-direction:column;gap:4px; }

/* ============================================================
   RELATED POSTS section
   ============================================================ */
.ar-related { background: var(--ar-bg-2); padding: var(--s7) 0; margin-top: var(--s4); border-top: 1px solid var(--ar-border); }

/* ============================================================
   HOME LAYOUT v3.1
   Fila 1: hero (izq ~64%) + sidebar (der ~36%)
   ============================================================ */
.ar-home-top {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--s6);
  align-items: start;
  margin-bottom: var(--s2);
}
@media(max-width:1100px) { .ar-home-top { grid-template-columns: 1fr; } }

/* HERO col izquierda */
.ar-home-hero-col { display: flex; flex-direction: column; gap: 0; }
.ar-home-hero {
  background: var(--ar-bg-2);
  border: 1px solid var(--ar-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
}
.ar-home-hero-link { display: block; }
.ar-home-hero-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--ar-bg-3);
}
.ar-home-hero-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow);
}
.ar-home-hero:hover .ar-home-hero-thumb img { transform: scale(1.03); }
.ar-home-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(7,7,16,.55) 0%, transparent 60%);
}
.ar-home-hero-body {
  padding: var(--s5);
  display: flex;
  flex-direction: column;
  gap: var(--s3);
}
.ar-home-cat {
  display: inline-block;
  font-family: var(--font-accent);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--r-full);
  color: var(--ar-bg);
  width: fit-content;
  text-decoration: none;
}
.ar-home-hero-title {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: var(--ar-white);
  margin: 0;
}
.ar-home-hero-title a { color: var(--ar-white); text-decoration: none; }
.ar-home-hero-title a:hover { color: var(--ar-cyan); }
.ar-home-hero-excerpt {
  font-size: .88rem;
  color: var(--ar-muted);
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ar-home-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
  font-size: .78rem;
  color: var(--ar-muted);
}
.ar-home-hero-meta span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.ar-home-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  padding: var(--s3) var(--s5);
  background: var(--ar-grad-h);
  color: var(--ar-bg) !important;
  border-radius: var(--r-full);
  font-family: var(--font-display);
  font-size: .85rem;
  font-weight: 800;
  text-decoration: none;
  width: fit-content;
  transition: all var(--t-fast);
  box-shadow: var(--glow-c);
}
.ar-home-hero-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 32px rgba(0,229,255,.4), 0 0 32px rgba(255,0,144,.3);
}

/* SIDEBAR derecho (home) — igual que ar-sidebar pero sticky top menor */
.ar-home-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--s4);
  position: sticky;
  top: 190px;
}

/* HOME AD debajo del hero */
.ar-home-ad { border-radius: var(--r-md) !important; }

/* ============================================================
   HOME NOTICIAS + TV — fila horizontal
   3 cards noticias | TV player
   ============================================================ */
.ar-home-news-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s5);
  align-items: start;
}
.ar-home-news-cols {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--s4);
}
@media(max-width:700px) { .ar-home-news-cols { grid-template-columns: 1fr; } }


/* ============================================================
   HERO FULL-WIDTH SLIDER v3.2
   ============================================================ */
.ar-hero-fullwidth {
  width: 100%;
}

.ar-fullhero-slider {
  position: relative;
  width: 100%;
  height: clamp(420px, 60vw, 620px);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--ar-bg-3);
}

/* Cada slide ocupa 100% y se oculta/muestra con opacity + z-index */
.ar-fullhero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
  transition: opacity .7s ease;
  pointer-events: none;
}
.ar-fullhero-slide.active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

/* Imagen de fondo */
.ar-fullhero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  transition: transform 9s ease;
}
.ar-fullhero-slide.active .ar-fullhero-bg {
  transform: scale(1);
}

/* Overlay degradado oscuro inferior + lateral */
.ar-fullhero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top,  rgba(7,7,16,.96) 0%, rgba(7,7,16,.72) 35%, rgba(7,7,16,.18) 65%, rgba(7,7,16,.04) 100%),
    linear-gradient(to right, rgba(7,7,16,.55) 0%, transparent 60%);
  z-index: 1;
}

/* Contenido superpuesto */
.ar-fullhero-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: clamp(24px,5vw,56px) clamp(20px,5vw,56px) clamp(32px,5vw,52px);
  max-width: 860px;
  display: flex;
  flex-direction: column;
  gap: var(--s3);
}

.ar-fullhero-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.8vw, 2.9rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: var(--ar-white);
  margin: 0;
  text-shadow: 0 2px 20px rgba(0,0,0,.5);
}
.ar-fullhero-title a { color: var(--ar-white); text-decoration: none; }
.ar-fullhero-title a:hover { color: var(--ar-cyan); }

.ar-fullhero-excerpt {
  font-size: clamp(.85rem,1.5vw,1.05rem);
  color: rgba(255,255,255,.72);
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 620px;
}

.ar-fullhero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s4);
  font-size: .82rem;
  color: rgba(255,255,255,.52);
}
.ar-fullhero-meta span {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Botones nav izq/der */
.ar-fullhero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 46px; height: 46px;
  border-radius: var(--r-full);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
  color: var(--ar-white);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--t-fast);
}
.ar-fullhero-nav:hover { background: var(--ar-grad-h); border-color: transparent; color: var(--ar-bg); }
.ar-fullhero-prev { left: var(--s5); }
.ar-fullhero-next { right: var(--s5); }

/* Dots */
.ar-fullhero-dots {
  position: absolute;
  bottom: var(--s5);
  right: var(--s5);
  z-index: 3;
  display: flex;
  gap: var(--s2);
}
.ar-fullhero-dot {
  width: 8px; height: 8px;
  border-radius: var(--r-full);
  background: rgba(255,255,255,.28);
  border: none; cursor: pointer;
  transition: all var(--t-fast);
}
.ar-fullhero-dot.active {
  width: 28px;
  background: var(--ar-cyan);
  box-shadow: 0 0 10px var(--ar-cyan);
}

/* AD banner ancho completo (debajo del hero) */
.ar-fullwidth-ad {
  width: 100%;
}
.ar-fullwidth-ad .ar-ad-slide img {
  width: 100%;
  height: 120px;
  object-fit: contain;       /* imagen completa, sin recortar */
  object-position: center;
  background: var(--ar-bg-2);
}

/* WIDGETS ROW — reemplazado por layout main+sidebar */
.ar-below-hero-row { display: none; }
.ar-home-sidebar-horiz {
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
}
@media(max-width:1100px) {
  .ar-home-sidebar-horiz { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:640px) {
  .ar-home-sidebar-horiz { grid-template-columns: 1fr; }
  .ar-fullhero-slider { height: clamp(280px,70vw,420px); }
  .ar-fullhero-nav { display: none; }
}

/* Publicidad sidebar: imagen se ve completa (contain) */
.ar-sidebar-ad img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* ============================================================
   LAYOUT PRINCIPAL: main (izq ~70%) + sidebar (der ~30%)
   Debajo del hero+ad, para TODAS las secciones de contenido
   ============================================================ */
.ar-home-content-wrap {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: var(--s6);
  align-items: start;
}
@media(max-width:1100px) {
  .ar-home-content-wrap { grid-template-columns: 1fr; }
}

.ar-home-main-col {
  min-width: 0; /* evita overflow en grid */
}

.ar-home-sidebar-sticky {
  position: sticky;
  top: 190px;
  display: flex;
  flex-direction: column;
  gap: var(--s4);
}
@media(max-width:1100px) {
  .ar-home-sidebar-sticky {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s4);
  }
}
@media(max-width:600px) {
  .ar-home-sidebar-sticky { grid-template-columns: 1fr; }
}

/* ============================================================
   ALMANAQUE — Versión compacta v3.2
   ============================================================ */

/* Reducir tamaño general del almanaque */
.ar-agenda-layout {
  grid-template-columns: 250px minmax(0,1fr) !important;
}
@media(max-width:1024px) {
  .ar-agenda-layout { grid-template-columns: 1fr !important; }
}

/* Días más pequeños */
.ar-cal-grid   { padding: var(--s2) !important; }
.ar-cal-day    { font-size: .66rem !important; }
.ar-cal-weekday { font-size: .46rem !important; padding: 2px 0 !important; }
.ar-cal-events  { max-height: 150px !important; padding: var(--s2) var(--s3) !important; }
.ar-cal-header  { padding: var(--s3) var(--s3) !important; }
.ar-cal-header h3 { font-size: .78rem !important; }
.ar-cal-nav-btn { width: 26px !important; height: 26px !important; }
.ar-cal-tab     { font-size: .6rem !important; padding: var(--s2) 4px !important; }

/* ============================================================
   FILTROS DE CATEGORÍA DEL ALMANAQUE
   ============================================================ */
.ar-cal-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: var(--s3) var(--s4);
  border-bottom: 1px solid var(--ar-border);
  background: linear-gradient(135deg, rgba(0,229,255,.04), rgba(255,0,144,.04));
}
.ar-cal-filter-btn {
  padding: 3px 10px;
  border-radius: var(--r-full);
  border: 1px solid var(--ar-border);
  background: var(--ar-surface);
  color: var(--ar-muted);
  font-family: var(--font-display);
  font-size: .62rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--t-fast);
  letter-spacing: .04em;
  white-space: nowrap;
}
.ar-cal-filter-btn:hover {
  border-color: var(--ar-cyan);
  color: var(--ar-cyan);
}
.ar-cal-filter-btn.active {
  background: var(--ar-grad-h);
  border-color: transparent;
  color: var(--ar-bg);
  box-shadow: var(--glow-c);
}

/* ============================================================
   SECCIÓN DESTACADOS / SUGERIDOS
   ============================================================ */
.ar-suggested-section {
  margin-top: var(--s2);
}
.ar-suggested-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s5);
}
@media(max-width:900px) {
  .ar-suggested-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:560px) {
  .ar-suggested-grid { grid-template-columns: 1fr; }
}

/* Card sugerido */
.ar-sug-card {
  background: var(--ar-bg-2);
  border: 1px solid var(--ar-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);
}
.ar-sug-card:hover {
  border-color: rgba(0,229,255,.28);
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}

/* Imagen */
.ar-sug-card-img-wrap {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--ar-bg-3);
  flex-shrink: 0;
}
.ar-sug-card-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--t-slow);
}
.ar-sug-card:hover .ar-sug-card-img-wrap img { transform: scale(1.04); }
.ar-sug-card-img-ph {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2.5rem;
  background: linear-gradient(135deg, var(--ar-bg-3), var(--ar-surface));
}
.ar-sug-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(7,7,16,.45) 0%, transparent 55%);
}

/* Badge de categoría sobre imagen */
.ar-sug-cat {
  position: absolute;
  top: var(--s3); left: var(--s3);
  font-family: var(--font-accent);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: var(--r-full);
  color: var(--ar-bg);
  z-index: 1;
}

/* Cuerpo */
.ar-sug-card-body {
  padding: var(--s4);
  display: flex;
  flex-direction: column;
  gap: var(--s2);
  flex: 1;
}
.ar-sug-card-title {
  font-family: var(--font-display);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.015em;
  margin: 0;
  color: var(--ar-white);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ar-sug-card-title a { color: var(--ar-white); text-decoration: none; }
.ar-sug-card-title a:hover { color: var(--ar-cyan); }

.ar-sug-card-excerpt {
  font-size: .8rem;
  color: var(--ar-muted);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ar-sug-card-meta {
  font-size: .72rem;
  color: var(--ar-dim);
  margin-top: auto;
  padding-top: var(--s2);
}
.ar-sug-card-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  font-family: var(--font-display);
  font-size: .75rem;
  font-weight: 700;
  color: var(--ar-cyan) !important;
  text-decoration: none;
  transition: gap var(--t-fast);
}
.ar-sug-card-btn:hover { gap: var(--s3); }

/* ============================================================
   MOBILE RESPONSIVE — Almanaque + Filtros + Cards
   ============================================================ */
@media(max-width:768px) {
  .ar-cal-filters {
    gap: 4px;
    padding: var(--s2) var(--s3);
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ar-cal-filters::-webkit-scrollbar { display: none; }
  .ar-cal-filter-btn { flex-shrink: 0; font-size: .6rem; padding: 3px 8px; }

  .ar-agenda-layout { gap: var(--s4) !important; }
  .ar-cal { font-size: .85rem; }
  .ar-cal-day { font-size: .68rem !important; }

  .ar-suggested-section { margin-top: var(--s4); }
}
@media(max-width:480px) {
  .ar-cal-tab { font-size: .58rem; padding: var(--s2) var(--s1); }
  .ar-sug-card-body { padding: var(--s3); }
}

/* ============================================================
   AGENDA PAGE (archive-ar_evento) — Layout: contenido + sidebar 300px
   ============================================================ */
.ar-agenda-page-wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: var(--s6);
  align-items: start;
  margin-bottom: var(--s6);
}
@media(max-width:1100px) {
  .ar-agenda-page-wrap { grid-template-columns: 1fr; }
  .ar-agenda-page-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--s4); }
}
@media(max-width:600px) {
  .ar-agenda-page-sidebar { grid-template-columns: 1fr; }
}
.ar-agenda-page-main { min-width: 0; }
.ar-agenda-page-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--s4);
  position: sticky;
  top: 190px;
}

/* Sidebar ad slider */
.ar-sidebar-adslider {
  position: relative;
  overflow: hidden;
}
.ar-sidebar-adslider-track {
  position: relative;
  width: 100%;
}
.ar-sidebar-adslide {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease;
  pointer-events: none;
}
.ar-sidebar-adslide.active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
}
.ar-sidebar-adslide img {
  width: 100%;
  height: auto;
  display: block;
}
.ar-sidebar-adslider-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: var(--s2) 0;
}
.ar-sidebar-adslider-dots .dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ar-border);
  cursor: pointer;
  transition: background var(--t-fast);
}
.ar-sidebar-adslider-dots .dot.active { background: var(--ar-cyan); }

/* Almanaque en página agenda: igual al de inicio */

/* ============================================================
   ALMANAQUE — ADAPTACIÓN MÓVIL COMPLETA
   ============================================================ */

/* En mobile el almanaque debe ocupar todo el ancho disponible */
@media(max-width:700px) {

  /* Contenedor: sin padding lateral excesivo */
  .ar-cal { border-radius: var(--r-md); }
  .ar-cal-grid { padding: var(--s2) var(--s2) !important; }

  /* La grilla de días ocupa el 100% sin max-width fijo */
  .ar-cal-days {
    max-width: 100% !important;
    gap: 3px;
    /* 7 columnas iguales que se expanden al ancho total */
    grid-template-columns: repeat(7, 1fr) !important;
  }

  /* Las celdas: quitar los max-width/height fijos, dejar que la grilla mande */
  .ar-cal-day {
    max-width: none !important;
    max-height: none !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    font-size: .72rem !important;
    border-radius: 4px !important;
    padding: 0 !important;
  }

  /* Punto de evento más pequeño */
  .ar-cal-day.has-event::after {
    bottom: 2px;
    width: 3px;
    height: 3px;
  }

  /* Cabecera del almanaque más compacta */
  .ar-cal-header { padding: var(--s3) var(--s3) !important; }
  .ar-cal-header h3 { font-size: .8rem !important; }
  .ar-cal-nav-btn { width: 28px !important; height: 28px !important; }

  /* Días de semana: letras más pequeñas pero legibles */
  .ar-cal-weekdays { gap: 3px; margin-bottom: var(--s1); }
  .ar-cal-weekday {
    font-size: .52rem !important;
    padding: var(--s1) 0 !important;
  }

  /* Tabs más compactos */
  .ar-cal-tab { font-size: .62rem !important; padding: var(--s2) 6px !important; }

  /* Filtros: scroll horizontal */
  .ar-cal-filters {
    padding: var(--s2) var(--s2) !important;
    gap: 4px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ar-cal-filters::-webkit-scrollbar { display: none; }
  .ar-cal-filter-btn { flex-shrink: 0 !important; font-size: .6rem !important; padding: 3px 9px !important; }

  /* Lista de eventos: más compacta */
  .ar-cal-events { max-height: 180px !important; padding: var(--s3) !important; }
  .ar-cal-event-name { font-size: .82rem !important; }
  .ar-cal-event-time { font-size: .68rem !important; }

  /* Página agenda: el almanaque ocupa full en mobile */
  .ar-agenda-page-main .ar-cal-days { max-width: 100% !important; }
}

@media(max-width:400px) {
  .ar-cal-day { font-size: .65rem !important; }
  .ar-cal-weekday { font-size: .48rem !important; }
  .ar-cal-grid { padding: var(--s1) !important; }
  .ar-cal-days { gap: 2px; }
}

/* ============================================================
   AGENDA HOME — FIX SCROLL HORIZONTAL EN MÓVIL
   Cubre: almanaque, carrusel de eventos, tarjetas destacadas
   ============================================================ */

/* Regla base: nada dentro del container puede pasarse del ancho */
@media(max-width:700px) {

  /* El container reduce su padding lateral en mobile */
  .ar-container { padding: 0 var(--s3) !important; }

  /* La sección agenda ocupa 1 columna sin ancho fijo */
  .ar-agenda-layout {
    grid-template-columns: 1fr !important;
    gap: var(--s4) !important;
  }
  .ar-agenda-left {
    position: static !important; /* quitar sticky en mobile */
    width: 100% !important;
    min-width: 0 !important;
  }
  .ar-agenda-right {
    display: none !important;
  }

  /* Sección destacados/sugeridos: oculta en mobile */
  .ar-suggested-section {
    display: none !important;
  }

  /* El wrap del carrusel no puede desbordarse */
  .ar-events-carousel-wrap {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .ar-events-carousel {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Páginas del carrusel: 1 columna en mobile */
  .ar-carousel-page {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Tarjetas de evento dentro del carrusel */
  .ar-ev-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Sección destacados/sugeridos */
  .ar-suggested-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .ar-sug-card {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Home content wrap: 1 columna */
  .ar-home-content-wrap {
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
  }
  .ar-home-main-col {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Secciones generales */
  .ar-section {
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Grid de 3 columnas a 1 en mobile */
  .ar-grid-3 {
    grid-template-columns: 1fr !important;
  }

  /* Cards horizontales: limitar ancho de thumb */
  .ar-card-h {
    min-width: 0 !important;
  }
  .ar-card-h-thumb {
    width: 72px !important;
    flex-shrink: 0 !important;
  }
}

/* Pantallas muy pequeñas */
@media(max-width:400px) {
  .ar-container { padding: 0 var(--s2) !important; }
  .ar-carousel-page { grid-template-columns: 1fr !important; }
}

/* ============================================================
   AGENDA PAGE — Lista de eventos del día (debajo del carrusel)
   ============================================================ */
.ar-agenda-events-below {
  margin-top: var(--s5);
}
.ar-agenda-events-below .ar-cal-events {
  max-height: none;
  border-radius: var(--r-lg);
  border: 1px solid var(--ar-border);
  background: var(--ar-bg-2);
  padding: var(--s3) var(--s4);
}

/* ============================================================
   AGENDA PAGE — Todos los eventos: filtros + listado card-h
   ============================================================ */
.ar-agenda-cat-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  margin: var(--s4) 0 var(--s5);
}
.ar-agenda-cat-btn {
  padding: 6px 16px;
  border-radius: var(--r-full);
  border: 1px solid var(--ar-border);
  background: var(--ar-bg-2);
  color: var(--ar-dim);
  font-family: var(--font-accent);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--t-fast);
}
.ar-agenda-cat-btn:hover {
  border-color: var(--ar-cyan);
  color: var(--ar-cyan);
}
.ar-agenda-cat-btn.active {
  background: var(--ar-cyan);
  border-color: var(--ar-cyan);
  color: var(--ar-bg);
}

.ar-agenda-all-list {
  display: flex;
  flex-direction: column;
  gap: var(--s3);
}
.ar-agenda-all-item {
  transition: opacity .25s ease, transform .25s ease;
}
.ar-agenda-all-item.hidden {
  display: none;
}
