/* ==========================================================
   Aalayam — Events (archive-temple_event.php, single-temple_event.php,
   taxonomy-event_category.php). Loaded only on those views.
   Design: design-mockups/events-v2.html + event-single-v2.html.
   All classes are prefixed .ev- ; colours come from the theme tokens.
   ========================================================== */

:root{
  --ev-cream:#FFFDF8;
  --ev-sand:#F4E9D7;
  --ev-band:#F6EFE3;
  --ev-head:linear-gradient(135deg,#F7ECD6 0%,#EEDBB2 100%);
  --ev-radius:10px;
  --ev-cta:#c34f4f;   /* primary-light darkened: white text on it passes AA */
  --ev-live:#2E7D45;
}

.ev-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ev-icon{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- banner ---------- */
.ev-banner{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;border-bottom:4px solid var(--color-secondary)}
.ev-banner > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.ev-banner::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(60,30,20,.45) 0%,rgba(90,35,30,.75) 100%)}
.ev-banner-in{position:relative;z-index:2;padding:2.6rem 1.5rem;max-width:880px}
.ev-banner h1{font-family:var(--font-tamil-tiro);color:var(--color-gold-light);margin:0;
  font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.5;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.ev-banner-sub{font-family:var(--font-tamil-noto);font-size:1.02rem;color:rgba(255,255,255,.92);line-height:1.95;
  margin:.4rem auto 0;max-width:720px;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.ev-when{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;
  font-family:var(--font-tamil-noto);font-size:1.02rem;color:#fff;
  background:rgba(44,24,16,.42);border:1px solid rgba(229,201,122,.6);border-radius:20px;padding:.2rem 1rem}
.ev-when .ev-icon{color:var(--color-gold-light)}
.ev-crumbs{font-family:var(--font-tamil-noto);font-size:.9rem;color:rgba(255,255,255,.85);margin-top:.7rem}
.ev-crumbs a{color:var(--color-gold-light)}
.ev-crumbs a:hover{color:#fff}
.ev-crumbs .sep{margin:0 .45rem;color:var(--color-secondary)}

/* ---------- Tamil date (from the panchangam) ---------- */
.ev-tdate{display:flex;align-items:center;gap:.35rem;margin-top:.1rem;
  font-family:var(--font-tamil-noto);font-size:.86rem;font-weight:600;color:var(--color-primary)}
.ev-tdate::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--color-secondary);flex:none}
.ev-when .ev-tdate{display:inline-flex;margin:0;font-size:.95rem;color:var(--color-gold-light)}
.ev-when .ev-tdate::before{background:var(--color-gold-light)}

/* ---------- page band + layout ---------- */
.ev-main{background:var(--ev-band);padding:var(--space-xl) 0}
.ev-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:2rem;align-items:start}

/* month nav */
.ev-mnav{position:sticky;top:1rem;background:var(--color-white);border:1px solid var(--color-border);
  border-radius:var(--ev-radius);overflow:hidden;box-shadow:var(--shadow-card)}
.ev-mnav-head{background:var(--ev-head);border-bottom:2px solid var(--color-secondary);
  padding:.8rem 1.1rem;display:flex;align-items:center;gap:.6rem}
.ev-mnav-head .ev-icon{color:var(--color-primary);font-size:1.25rem}
.ev-mnav-head h2{font-family:var(--font-tamil-tiro);color:var(--color-primary-dark);font-size:1.08rem;line-height:1.5;margin:0}
.ev-mnav-list{list-style:none;margin:0;padding:.4rem 0}
.ev-mnav-list li{margin:0}
.ev-mnav-item{display:flex;align-items:center;gap:.6rem;
  border-left:3px solid transparent;padding:.62rem 1.1rem;
  font-family:var(--font-tamil-noto);font-size:.98rem;color:var(--color-primary-dark);
  transition:background var(--transition-fast),border-color var(--transition-fast)}
.ev-mnav-item:hover{background:#FBF4E8;color:var(--color-primary-dark)}
.ev-mnav-item .yr{font-family:var(--font-english);font-size:.82rem;color:var(--color-text-muted)}
.ev-mnav-item .cnt{margin-left:auto;min-width:26px;height:22px;border-radius:11px;padding:0 .45rem;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-ui);font-size:.75rem;font-weight:700;background:var(--ev-sand);color:var(--color-primary-dark)}
.ev-mnav-item[aria-selected="true"]{background:linear-gradient(90deg,#F7ECD6,var(--ev-cream));border-left-color:var(--ev-cta);font-weight:600}
.ev-mnav-item[aria-selected="true"] .cnt{background:var(--ev-cta);color:#fff}
.ev-mnav-item.is-all{border-bottom:1px dashed var(--color-border);margin-bottom:.3rem}
.ev-mnav-foot{border-top:1px solid var(--color-border);padding:.7rem 1.1rem;background:var(--color-bg);text-align:center}
.ev-mnav-foot a{font-family:var(--font-tamil-noto);font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}

/* month panel */
.ev-mpanel[hidden]{display:none}
.ev-mpanel + .ev-mpanel{margin-top:2.4rem}
.ev-anchor{display:block;position:relative;top:-1rem;visibility:hidden}
.ev-mpanel-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;
  border-bottom:2px solid var(--color-border);padding-bottom:.6rem;margin-bottom:1.3rem}
.ev-mpanel-head h2{font-family:var(--font-tamil-tiro);color:var(--color-primary);font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.4;margin:0}
.ev-mpanel-head h2 .yr{font-family:var(--font-english);color:var(--color-gold-dark);font-size:.75em;margin-left:.35rem}
.ev-mpanel-head .tm{font-family:var(--font-tamil-noto);font-size:.92rem;color:var(--color-text-muted)}
.ev-list{display:flex;flex-direction:column;gap:1.15rem}
.ev-empty{text-align:center;background:var(--color-white);border:1px dashed var(--color-border);
  border-radius:var(--ev-radius);padding:2.5rem 1.5rem;font-family:var(--font-tamil-noto);color:var(--color-text-muted)}
.ev-pager{margin-top:2rem}

/* ---------- event card ---------- */
.ev-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:1.35rem;align-items:start;
  background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--ev-radius);
  padding:1.25rem 1.4rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
  transition:box-shadow var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}
.ev-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-secondary)}
.ev-card.is-live::before{background:var(--ev-live)}
.ev-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--color-secondary)}

.ev-date{background:linear-gradient(135deg,#FDF6E9,var(--ev-sand));border:1px solid var(--color-border);
  border-radius:var(--ev-radius);text-align:center;padding:.65rem .3rem .6rem}
.ev-date b{display:block;font-family:var(--font-english);font-size:1.75rem;color:var(--color-primary);line-height:1;font-weight:700}
.ev-date .m{display:block;font-family:var(--font-tamil-noto);font-size:.82rem;color:var(--color-primary-dark);margin-top:.25rem}
.ev-date .to{display:block;font-family:var(--font-tamil-noto);font-size:.72rem;color:var(--color-text-muted);
  border-top:1px dashed var(--color-border);margin:.4rem .35rem 0;padding-top:.3rem;line-height:1.5}
.ev-date .wd{display:block;font-family:var(--font-tamil-noto);font-size:.72rem;color:var(--color-text-muted);margin-top:.15rem}

.ev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.55rem}
.ev-top h3{font-family:var(--font-tamil-tiro);font-size:1.18rem;line-height:1.5;margin:0}
.ev-top h3 a{color:var(--color-primary-dark)}
.ev-top h3 a:hover{color:var(--color-primary)}
.ev-pills{display:flex;gap:.4rem;flex-wrap:wrap}
.ev-tag{display:inline-block;font-family:var(--font-tamil-noto);font-size:.78rem;font-weight:600;line-height:1.6;
  padding:.1rem .75rem;border-radius:20px;white-space:nowrap;
  background:linear-gradient(135deg,var(--color-gold-light),var(--color-secondary));color:var(--color-primary-dark)}
.ev-live-pill{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-tamil-noto);font-size:.78rem;font-weight:600;
  line-height:1.6;padding:.1rem .75rem;border-radius:20px;white-space:nowrap;
  background:#E7F3EA;color:var(--ev-live);border:1px solid #BFDCC6}
.ev-live-pill::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--ev-live);animation:ev-ping 1.8s ease-out infinite}
@keyframes ev-ping{0%{box-shadow:0 0 0 0 rgba(46,125,69,.45)}100%{box-shadow:0 0 0 7px rgba(46,125,69,0)}}

/* label / value rows */
.ev-dl{display:grid;grid-template-columns:110px minmax(0,1fr);margin:0;border-top:1px dashed var(--color-border)}
.ev-dl dt,.ev-dl dd{padding:.42rem 0;border-bottom:1px dashed var(--color-border);margin:0;line-height:1.8}
.ev-dl dt{font-family:var(--font-tamil-noto);font-size:.88rem;font-weight:600;color:var(--color-gold-dark);
  display:flex;align-items:center;gap:.4rem}
.ev-dl dd{font-family:var(--font-tamil-noto);font-size:.93rem;color:var(--color-text)}
.ev-dl dd small{color:var(--color-text-muted);font-size:.85em}
.ev-dl dd.ev-desc{color:var(--color-text-muted);font-size:.9rem;line-height:1.9}
.ev-dl dd a{color:var(--color-primary)}

/* actions */
.ev-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.85rem}
.ev-more{font-family:var(--font-tamil-noto);font-size:.92rem;color:var(--color-primary);padding:.32rem .2rem}
.ev-more:hover{color:var(--color-primary-dark)}
.ev-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-tamil-noto);font-size:.95rem;line-height:1.7;padding:.32rem 1.1rem;
  background:var(--ev-cream);border:1px solid var(--ev-cta);border-left:3px solid var(--ev-cta);
  border-radius:6px;color:var(--color-primary-dark);
  transition:color .16s ease .28s,box-shadow var(--transition-fast)}
.ev-btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--ev-cta);
  transform:scaleX(0);transform-origin:left center;transition:transform .38s cubic-bezier(.33,0,.2,1)}
.ev-btn:hover,.ev-btn:focus-visible{color:#fff;box-shadow:0 2px 10px rgba(184,63,63,.20)}
.ev-btn:hover::before,.ev-btn:focus-visible::before{transform:scaleX(1)}
.ev-btn .arw{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1}
.ev-ghost{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-tamil-noto);font-size:.95rem;line-height:1.7;
  padding:.32rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-primary-dark);
  transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.ev-ghost:hover{border-color:var(--color-secondary);box-shadow:0 2px 10px rgba(124,43,43,.10);color:var(--color-primary-dark)}
.ev-ghost .ev-icon{color:var(--color-gold-dark);font-size:1.05rem}

/* ---------- single event ---------- */
.ev-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-xl);align-items:start}
.ev-figure{position:relative;border-radius:var(--ev-radius);overflow:hidden;border:1px solid var(--color-border);
  box-shadow:var(--shadow-card);background:var(--ev-sand);aspect-ratio:16/8;margin:0 0 1.6rem}
.ev-figure img{width:100%;height:100%;object-fit:cover;display:block}
.ev-figure::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(44,24,16,.45),transparent 50%);pointer-events:none}
.ev-figure .ev-tag{position:absolute;top:12px;left:12px;z-index:3;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ev-figure .ev-date{position:absolute;right:14px;bottom:14px;z-index:3;min-width:96px;box-shadow:0 4px 14px rgba(0,0,0,.3)}

.ev-status-card{background:var(--ev-cream);border:1px solid var(--color-border);border-top:4px solid var(--ev-cta);
  border-radius:var(--ev-radius);padding:1.1rem 1.3rem 1.15rem;box-shadow:var(--shadow-card)}
.ev-status-main{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.ev-status-card .n{font-family:var(--font-english);font-size:2.6rem;color:var(--color-primary);line-height:1;font-weight:700}
.ev-status-card .t{font-family:var(--font-tamil-tiro);font-size:1.08rem;color:var(--color-primary-dark);line-height:1.5}
.ev-status-date{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--color-border);
  font-family:var(--font-tamil-noto);font-size:.9rem;color:var(--color-text-muted);line-height:1.7}
.ev-status-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;
  font-family:var(--font-tamil-noto);font-size:.92rem;font-weight:600;color:var(--color-primary)}
.ev-status-link .ev-icon{color:var(--color-gold-dark);font-size:1.1rem}
.ev-status-uba{margin:1rem -1.3rem -1.15rem;padding:1rem 1.3rem 1.2rem;background:#FBF4E8;
  border-top:1px solid var(--color-border);border-radius:0 0 var(--ev-radius) var(--ev-radius);text-align:center}
.ev-status-uba h3{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:0 0 .45rem;
  font-family:var(--font-tamil-tiro);font-size:1.02rem;color:var(--color-primary-dark);line-height:1.5}
.ev-status-uba h3 .ev-icon{color:var(--color-primary);font-size:1.15rem}
.ev-status-uba p{font-family:var(--font-tamil-noto);font-size:.9rem;color:var(--color-text-muted);line-height:1.85;margin:0 0 .85rem}
.ev-status-card.is-live{border-top-color:var(--ev-live)}
.ev-status-card.is-live .t{color:var(--ev-live);font-weight:600}
.ev-status-card.is-past{border-top-color:var(--color-secondary)}
.ev-status-card.is-past .t{color:var(--color-text-muted)}
.ev-status-card.is-top{display:none;margin-bottom:1.4rem}   /* shown on narrow screens only */

/* ---------- photos & videos ---------- */
.ev-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.ev-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;
  border:1px solid var(--color-border);background:var(--ev-sand)}
.ev-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-normal)}
.ev-photo:hover img,.ev-photo:focus-visible img{transform:scale(1.05)}
.ev-photo.is-extra{display:none}
.ev-photo-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(44,24,16,.55);color:#fff;font-family:var(--font-english);font-size:1.8rem;font-weight:700}
.ev-videos{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1rem}
.ev-photos + .ev-videos{margin-top:1rem}
.ev-videos:first-child{margin-top:0}
.ev-video{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#2C1810;border:1px solid var(--color-border)}
.ev-video-play{position:absolute;inset:0;display:block}
.ev-video-play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9;transition:opacity var(--transition-fast)}
.ev-video-play:hover img{opacity:1}
.ev-video-icon{position:absolute;top:50%;left:50%;width:64px;height:45px;transform:translate(-50%,-50%);
  border-radius:12px;background:var(--color-primary);box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform var(--transition-fast)}
.ev-video-icon::after{content:'';position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.ev-video-play:hover .ev-video-icon{transform:translate(-50%,-50%) scale(1.08)}
.ev-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ev-media-chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-tamil-noto);font-size:.78rem;font-weight:600;
  line-height:1.6;padding:.1rem .7rem;border-radius:20px;white-space:nowrap;
  background:var(--ev-cream);border:1px solid var(--color-border);color:var(--color-primary-dark)}
.ev-media-chip:hover{border-color:var(--color-secondary);color:var(--color-primary)}
.ev-media-chip .ev-icon{color:var(--color-gold-dark)}

.ev-media.is-placeholder .ev-media-ph{position:relative}
.ev-ph-tile{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#FBF4E8 0 10px,#F4E9D7 10px 20px);
  border:2px dashed var(--color-border);color:var(--color-gold-dark);font-size:2rem}
.ev-video.ev-ph-tile .ev-video-icon{opacity:.45}
.ev-ph-note{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:1.5rem;background:rgba(255,253,248,.82);border-radius:var(--ev-radius)}
.ev-ph-note p{font-family:var(--font-tamil-noto);font-size:.95rem;color:var(--color-primary-dark);line-height:1.9;max-width:460px;margin:0 0 1rem}
.ev-ph-note .ev-ph-who{display:inline-block;font-size:.78rem;font-weight:600;color:#7a5a1a;background:#fff8e6;
  border:1px dashed var(--color-gold-dark);border-radius:20px;padding:.1rem .8rem;margin-bottom:.7rem}

/* lightbox (built by events.js) */
.ev-lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  background:rgba(20,10,6,.92);padding:3.5rem 4rem}
.ev-lb[hidden]{display:none}
.ev-lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.ev-lb img{max-width:100%;max-height:calc(100vh - 9rem);object-fit:contain;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.ev-lb figcaption{color:rgba(255,255,255,.85);font-family:var(--font-tamil-noto);font-size:.92rem;margin-top:.7rem;text-align:center}
.ev-lb-count{position:absolute;top:1.1rem;left:1.3rem;color:rgba(255,255,255,.75);font-family:var(--font-ui);font-size:.85rem}
.ev-lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  width:46px;height:46px;border-radius:50%;font-size:1.6rem;line-height:46px;padding:0;transition:background var(--transition-fast)}
.ev-lb button:hover,.ev-lb button:focus-visible{background:rgba(255,255,255,.25)}
.ev-lb-close{top:.9rem;right:1rem}
.ev-lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.ev-lb-next{right:1rem;top:50%;transform:translateY(-50%)}
body.ev-lb-open{overflow:hidden}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;
  padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

.ev-detail-card{background:var(--color-white);border:1px solid var(--color-border);border-top:4px solid var(--color-secondary);
  border-radius:var(--ev-radius);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:1.8rem}
.ev-dc-head{background:var(--ev-head);border-bottom:2px solid var(--color-secondary);padding:.85rem 1.3rem;display:flex;align-items:center;gap:.6rem}
.ev-dc-head .ev-icon{color:var(--color-primary);font-size:1.3rem}
.ev-dc-head h2{font-family:var(--font-tamil-tiro);font-size:1.12rem;color:var(--color-primary-dark);margin:0;line-height:1.5}
.ev-dc-body{padding:.6rem 1.3rem 1.3rem}
.ev-detail-card .ev-dl{grid-template-columns:130px minmax(0,1fr);border-top:0}
.ev-detail-card .ev-dl dd{font-size:.98rem}
.ev-detail-card .ev-actions{margin-top:1.1rem}

.ev-section{margin-bottom:2rem}
.ev-section > h2{font-family:var(--font-tamil-tiro);font-size:1.3rem;color:var(--color-primary);line-height:1.5;
  padding-bottom:.45rem;border-bottom:2px solid var(--color-border);margin:0 0 1rem}
.ev-significance{background:var(--ev-cream);border:1px solid var(--color-border);border-left:4px solid var(--color-secondary);
  border-radius:var(--ev-radius);padding:1.2rem 1.5rem;box-shadow:var(--shadow-sm)}
.ev-significance p{font-family:var(--font-tamil-noto);font-size:.98rem;color:var(--color-primary-dark);line-height:2;margin:0}
.ev-significance p + p{margin-top:.7rem}
.ev-content{font-family:var(--font-tamil-noto);font-size:.98rem;color:var(--color-text-muted);line-height:2}
.ev-content h3{font-family:var(--font-tamil-tiro);color:var(--color-primary-dark);font-size:1.08rem;margin:1.4rem 0 .5rem}
.ev-content ul,.ev-content ol{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--ev-radius);
  padding:.4rem 1.2rem .4rem 2.4rem;box-shadow:var(--shadow-sm)}
.ev-content li{padding:.35rem 0;border-bottom:1px dashed var(--color-border)}
.ev-content li:last-child{border-bottom:0}
.ev-content table{width:100%;border-collapse:collapse;background:var(--color-white)}
.ev-content th,.ev-content td{border:1px solid var(--color-border);padding:.45rem .7rem;text-align:left}
.ev-content th{background:#FBF4E8;color:var(--color-primary-dark)}

.ev-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.ev-adjacent a{display:block;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--ev-radius);
  padding:.8rem 1.1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.ev-adjacent a:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-card)}
.ev-adjacent small{display:block;font-family:var(--font-tamil-noto);font-size:.8rem;color:var(--color-text-muted)}
.ev-adjacent b{display:block;font-family:var(--font-tamil-tiro);font-size:1rem;color:var(--color-primary-dark);font-weight:400;line-height:1.6}
.ev-adjacent .nx{text-align:right}

/* sidebar */
.ev-side{display:flex;flex-direction:column;gap:var(--space-lg)}
.ev-side-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--ev-radius);overflow:hidden;box-shadow:var(--shadow-card)}
.ev-side-head{background:var(--ev-head);border-bottom:2px solid var(--color-secondary);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.65rem}
.ev-side-head .ev-icon{color:var(--color-primary);font-size:1.3rem}
.ev-side-head h3{font-family:var(--font-tamil-tiro);color:var(--color-primary-dark);font-size:1.12rem;line-height:1.5;margin:0}
.ev-side-body{padding:.45rem 1.1rem 1.15rem}
.ev-side-foot{border-top:1px solid var(--color-border);padding:.75rem 1.1rem;text-align:center;background:var(--color-bg)}
.ev-side-foot a{font-family:var(--font-tamil-noto);font-size:.92rem}
.ev-hours-row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;
  padding:.6rem 0;border-bottom:1px dashed var(--color-border);font-family:var(--font-tamil-noto);font-size:.95rem}
.ev-hours-row:last-child{border-bottom:0}
.ev-hours-row span{color:var(--color-text-muted)}
.ev-hours-row b{color:var(--color-primary-dark);font-weight:600}
.ev-fest-row{display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px dashed var(--color-border)}
.ev-fest-row:last-child{border-bottom:0}
.ev-fest-row.is-current{background:#FBF4E8;margin:0 -1.1rem;padding:.85rem 1.1rem}
.ev-fest-date{flex:none;width:54px;text-align:center;background:var(--ev-sand);border:1px solid var(--color-border);border-radius:6px;padding:.4rem 0}
.ev-fest-date b{display:block;font-family:var(--font-english);font-size:1.3rem;color:var(--color-primary);line-height:1;font-weight:700}
.ev-fest-date span{font-family:var(--font-tamil-noto);font-size:.7rem;color:var(--color-text-muted)}
.ev-fest-info h4{font-family:var(--font-tamil-noto);font-size:1rem;color:var(--color-text);line-height:1.65;margin:0 0 .1rem;font-weight:600}
.ev-fest-info h4 a{color:inherit}
.ev-fest-info h4 a:hover{color:var(--color-primary)}
.ev-fest-info p{font-family:var(--font-tamil-noto);font-size:.86rem;color:var(--color-text-muted);line-height:1.8;margin:0}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .ev-single-grid{grid-template-columns:1fr}
  .ev-side{display:grid;grid-template-columns:1fr 1fr}
  .ev-status-card.is-top{display:block}
  .ev-status-card.is-side{display:none}
}
@media (max-width:900px){
  /* month nav becomes a scrollable chip row */
  .ev-layout{grid-template-columns:1fr;gap:1.4rem}
  .ev-mnav{position:static}
  .ev-mnav-head,.ev-mnav-foot{display:none}
  .ev-mnav-list{display:flex;gap:.5rem;overflow-x:auto;padding:.6rem;scrollbar-width:thin}
  .ev-mnav-list li{flex:none}
  .ev-mnav-item{border:1px solid var(--color-border);border-radius:20px;padding:.3rem .85rem;white-space:nowrap}
  .ev-mnav-item.is-all{margin:0;border-bottom:1px solid var(--color-border)}
  .ev-mnav-item[aria-selected="true"]{background:var(--ev-cta);border-color:var(--ev-cta);color:#fff}
  .ev-mnav-item[aria-selected="true"] .yr{color:rgba(255,255,255,.85)}
  .ev-mnav-item[aria-selected="true"] .cnt{background:rgba(255,255,255,.25)}
}
@media (max-width:640px){
  .ev-banner{min-height:240px}
  .ev-card{grid-template-columns:1fr;gap:.9rem;padding:1.1rem 1.1rem 1.2rem 1.3rem}
  .ev-date{display:flex;align-items:baseline;gap:.5rem;text-align:left;padding:.45rem .8rem;width:fit-content}
  .ev-date b{font-size:1.35rem}
  .ev-date .m,.ev-date .wd{margin:0}
  .ev-date .to{border:0;margin:0;padding:0}
  .ev-dl,.ev-detail-card .ev-dl{grid-template-columns:1fr}
  .ev-dl dt{border-bottom:0;padding-bottom:0}
  .ev-side{grid-template-columns:1fr}
  .ev-adjacent{grid-template-columns:1fr}
  .ev-figure{aspect-ratio:4/3}
  .ev-photos{grid-template-columns:repeat(2,1fr)}
  .ev-videos{grid-template-columns:1fr}
  .ev-lb{padding:3.5rem .5rem}
  .ev-lb-prev,.ev-lb-next{top:auto;bottom:1rem;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ev-live-pill::before{animation:none}
  .ev-btn::before{transition:none}
  .ev-card,.ev-card:hover{transform:none}
}
