﻿/* ==========================================================================
   EVENT.CSS — Shri Charbhuja Nath Ji Mandir
   Page-specific styles. Uses the tokens from master.css (--bg, --bg2, --card,
   --gold, --gold2, --maroon, --deep, --red, --saf, --head, --line, --shadow,
   --dev, --cin, --ease ...). Every class is prefixed "ev-" so nothing clashes
   with master.css / index.css / blog.css / gallery.css / news.css.
   ========================================================================== */

:root{
  --ev-m:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 400%22%3E%3Cg stroke=%22%23C9962F%22 stroke-width=%221.3%22 fill=%22none%22%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22192%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22172%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%22128%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%2262%22/%3E%3Ccircle cx=%22200%22 cy=%22200%22 r=%2226%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(0 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(30 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(60 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(90 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(120 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(150 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(180 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(210 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(240 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(270 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(300 200 200)%22/%3E%3Cpath d=%22M200 200C172 150 172 82 200 30C228 82 228 150 200 200Z%22 transform=%22rotate(330 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(15 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(45 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(75 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(105 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(135 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(165 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(195 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(225 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(255 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(285 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(315 200 200)%22/%3E%3Cpath d=%22M200 200C185 172 185 134 200 100C215 134 215 172 200 200Z%22 transform=%22rotate(345 200 200)%22/%3E%3Ccircle cx=%22382.0%22 cy=%22200.0%22 r=%223.2%22/%3E%3Ccircle cx=%22375.8%22 cy=%22247.1%22 r=%223.2%22/%3E%3Ccircle cx=%22357.6%22 cy=%22291.0%22 r=%223.2%22/%3E%3Ccircle cx=%22328.7%22 cy=%22328.7%22 r=%223.2%22/%3E%3Ccircle cx=%22291.0%22 cy=%22357.6%22 r=%223.2%22/%3E%3Ccircle cx=%22247.1%22 cy=%22375.8%22 r=%223.2%22/%3E%3Ccircle cx=%22200.0%22 cy=%22382.0%22 r=%223.2%22/%3E%3Ccircle cx=%22152.9%22 cy=%22375.8%22 r=%223.2%22/%3E%3Ccircle cx=%22109.0%22 cy=%22357.6%22 r=%223.2%22/%3E%3Ccircle cx=%2271.3%22 cy=%22328.7%22 r=%223.2%22/%3E%3Ccircle cx=%2242.4%22 cy=%22291.0%22 r=%223.2%22/%3E%3Ccircle cx=%2224.2%22 cy=%22247.1%22 r=%223.2%22/%3E%3Ccircle cx=%2218.0%22 cy=%22200.0%22 r=%223.2%22/%3E%3Ccircle cx=%2224.2%22 cy=%22152.9%22 r=%223.2%22/%3E%3Ccircle cx=%2242.4%22 cy=%22109.0%22 r=%223.2%22/%3E%3Ccircle cx=%2271.3%22 cy=%2271.3%22 r=%223.2%22/%3E%3Ccircle cx=%22109.0%22 cy=%2242.4%22 r=%223.2%22/%3E%3Ccircle cx=%22152.9%22 cy=%2224.2%22 r=%223.2%22/%3E%3Ccircle cx=%22200.0%22 cy=%2218.0%22 r=%223.2%22/%3E%3Ccircle cx=%22247.1%22 cy=%2224.2%22 r=%223.2%22/%3E%3Ccircle cx=%22291.0%22 cy=%2242.4%22 r=%223.2%22/%3E%3Ccircle cx=%22328.7%22 cy=%2271.3%22 r=%223.2%22/%3E%3Ccircle cx=%22357.6%22 cy=%22109.0%22 r=%223.2%22/%3E%3Ccircle cx=%22375.8%22 cy=%22152.9%22 r=%223.2%22/%3E%3C/g%3E%3C/svg%3E");
}

.ev-page{overflow-x:clip}
.ev-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* shared mandala + ornament ------------------------------------------------ */
.ev-mandala{display:block;width:100%;height:100%;background:var(--ev-m) center/contain no-repeat}
.ev-om-mark{position:absolute;font-family:var(--dev);font-weight:600;line-height:1;color:var(--gold);opacity:.06;pointer-events:none;user-select:none}

.ev-orn{display:flex;align-items:center;justify-content:center;gap:14px;max-width:420px;margin:0 auto;color:var(--gold)}
.ev-orn i{flex:1;height:1.5px;background:linear-gradient(90deg,transparent,var(--gold2));transform:scaleX(0);transform-origin:right}
.ev-orn i:last-child{background:linear-gradient(270deg,transparent,var(--gold2));transform-origin:left}
.ev-orn svg{width:36px;height:36px;flex:none;transform:scale(0) rotate(-40deg)}
.ev-orn-dark i{background:linear-gradient(90deg,transparent,var(--gold))}
.ev-orn-dark i:last-child{background:linear-gradient(270deg,transparent,var(--gold))}
.ev-orn.ev-in i,.ev-sh.ev-in .ev-orn i{transform:none;transition:transform 1.4s var(--ease-io) .2s}
.ev-orn.ev-in svg,.ev-sh.ev-in .ev-orn svg{transform:none;transition:transform 1s var(--ease) .1s}

/* ==========================================================================
   1. HERO
   ========================================================================== */
.ev-hero{position:relative;overflow:hidden;text-align:center;color:#f3e3c0;
  padding:clamp(64px,9vw,120px) 0 clamp(96px,12vw,150px);
  background:radial-gradient(ellipse 90% 80% at 50% 0%,#7c1d2b 0%,var(--maroon) 38%,var(--deep) 100%)}
.ev-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:repeating-linear-gradient(90deg,var(--gold) 0 14px,var(--saf) 14px 20px,var(--red) 20px 34px)}
.ev-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.ev-hero-in{position:relative;z-index:2}

.ev-mandala-wrap{position:absolute;opacity:0;pointer-events:none}
.ev-mandala-wrap .ev-mandala{animation:evSpin 160s linear infinite;filter:brightness(1.35)}
.ev-m1{width:min(760px,120vw);aspect-ratio:1;left:50%;top:50%;margin:calc(min(760px,120vw)/-2) 0 0 calc(min(760px,120vw)/-2)}
.ev-m2{width:min(420px,70vw);aspect-ratio:1;right:-110px;top:-120px}
.ev-m2 .ev-mandala{animation-direction:reverse;animation-duration:200s}
.ev-hero.ev-go .ev-m1{opacity:.16;transition:opacity 3s var(--ease) .1s}
.ev-hero.ev-go .ev-m2{opacity:.12;transition:opacity 3s var(--ease) .6s}
.ev-hero.ev-off .ev-mandala{animation-play-state:paused}

.ev-hero .ev-om-mark{left:50%;top:50%;transform:translate(-50%,-52%);font-size:clamp(220px,34vw,460px);color:var(--gold2);opacity:.05}

.ev-glow{position:absolute;bottom:14%;width:clamp(56px,8vw,96px);aspect-ratio:1}
.ev-glow-l{left:clamp(14px,6vw,110px)}
.ev-glow-r{right:clamp(14px,6vw,110px)}
.ev-glow svg{position:relative;width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(255,179,71,.6))}
.ev-glow::before{content:"";position:absolute;inset:-70%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,179,71,.42),rgba(255,179,71,.12) 40%,transparent 68%);
  animation:evBreathe 6s ease-in-out infinite}
.ev-glow-r::before{animation-delay:-3s}
.ev-hero.ev-off .ev-glow::before{animation-play-state:paused}

.ev-particles{position:absolute;inset:0;overflow:hidden}
.ev-particles span{position:absolute;bottom:-14px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,#fff1c4,var(--gold2) 45%,transparent 70%);
  animation:evRise linear infinite}
.ev-hero.ev-off .ev-particles span{animation-play-state:paused}

.ev-label{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-family:var(--dev);font-size:clamp(15px,1.6vw,18px);font-weight:500;letter-spacing:.04em;color:var(--gold2)}
.ev-label::before,.ev-label::after{content:"";width:clamp(26px,5vw,52px);height:1.5px;background:linear-gradient(90deg,transparent,var(--gold2))}
.ev-label::after{background:linear-gradient(270deg,transparent,var(--gold2))}

.ev-h1{margin:0 0 6px;font-size:clamp(36px,6.4vw,76px);line-height:1.25;color:#fbeab8;font-weight:700;
  text-shadow:0 2px 0 rgba(0,0,0,.25),0 0 40px rgba(232,200,119,.28)}
.ev-w{display:inline-block;margin:0 .14em}
.ev-en{margin:0 0 6px;font-family:var(--cin);font-size:clamp(14px,2vw,22px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.ev-hero .ev-orn{margin:18px auto 22px}
.ev-desc{max-width:720px;margin:0 auto 26px;font-family:var(--dev);font-size:clamp(15px,1.7vw,19px);line-height:1.95;color:#ead8b5}

.ev-crumb ol{display:inline-flex;align-items:center;gap:12px;margin:0;padding:8px 22px;list-style:none;
  font-family:var(--dev);font-size:15px;color:#ead8b5;border:1px solid rgba(232,200,119,.4);border-radius:99px;background:rgba(58,10,18,.45)}
.ev-crumb a{color:var(--gold2);transition:color .3s}
.ev-crumb a:hover{color:#fff1c4}
.ev-sep{color:var(--gold);font-size:18px;line-height:1}

/* hero entrance sequence (starts once the loader has opened) */
.js .ev-hero:not(.ev-go) [data-ev-h],.js .ev-hero:not(.ev-go) .ev-w{opacity:0}
.js .ev-hero:not(.ev-go) .ev-orn i{transform:scaleX(0)}
.js .ev-hero.ev-go [data-ev-h]{animation:evUp .9s var(--ease) both;animation-delay:calc(var(--i,0)*130ms + 120ms)}
.js .ev-hero.ev-go .ev-w{animation:evWord .95s var(--ease) both;animation-delay:calc(var(--i,0)*150ms + 260ms)}
.js .ev-hero.ev-go .ev-orn i{transform:none;transition:transform 1.5s var(--ease-io) 1.3s}
.js .ev-hero.ev-go .ev-orn svg{transform:none;transition:transform 1s var(--ease) 1.2s}
.js .ev-hero.ev-go .ev-orn{animation:none}

@keyframes evUp{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes evWord{from{opacity:0;transform:translate3d(0,.45em,0) scale(.96);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes evSpin{to{transform:rotate(360deg)}}
@keyframes evBreathe{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}
@keyframes evRise{0%{opacity:0;transform:translate3d(0,0,0)}12%{opacity:.85}100%{opacity:0;transform:translate3d(var(--sx,20px),-70vh,0)}}

/* ==========================================================================
   2. SEARCH + COUNT
   ========================================================================== */
section.ev-tools{padding:0 0 clamp(36px,5vw,56px);z-index:5}
.ev-search-wrap{max-width:860px;margin:0 auto}
.ev-search{position:relative;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 58px;
  background:var(--card);border:2px solid var(--gold);border-radius:99px;
  box-shadow:var(--shadow),0 0 0 6px rgba(201,150,47,.12);
  transition:box-shadow .45s var(--ease),transform .45s var(--ease),border-color .35s}
.ev-search:focus-within{transform:scale(1.015);border-color:var(--gold2);
  box-shadow:0 0 0 5px rgba(232,200,119,.4),0 0 38px rgba(201,150,47,.55),var(--shadow)}
.ev-s-ico{position:absolute;left:22px;top:50%;width:24px;height:24px;margin-top:-12px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;pointer-events:none}
.ev-sinput{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:12px 4px;
  font-family:var(--dev);font-size:clamp(16px,2vw,19px);color:var(--text)}
.ev-sinput::placeholder{color:var(--muted);opacity:.85}
.ev-sbtn{flex:none;border:0;cursor:pointer;border-radius:99px;padding:13px 32px;min-height:48px;
  font-family:var(--dev);font-weight:600;font-size:16px;color:var(--deep);
  background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%),linear-gradient(135deg,#E8C877,#C9962F 55%,#E8C877);
  background-repeat:no-repeat;background-size:60% 100%,100% 100%;background-position:-120% 0,0 0;
  box-shadow:0 10px 24px -10px rgba(201,150,47,.9);
  transition:background-position .8s var(--ease),box-shadow .4s,transform .3s}
.ev-sbtn:hover{background-position:220% 0,0 0;box-shadow:0 14px 30px -10px rgba(232,200,119,.95);transform:translateY(-2px)}
.ev-sbtn:active{transform:scale(.97)}
.ev-sbtn:focus-visible{outline:3px solid var(--saf);outline-offset:3px}

.ev-total{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;font-family:var(--dev);color:var(--muted)}
.ev-total svg{width:26px;height:26px}
.ev-total b{font-family:var(--cin);font-size:22px;color:var(--head);font-variant-numeric:tabular-nums}

/* ==========================================================================
   3. FEATURED
   ========================================================================== */
.ev-feature{padding-bottom:clamp(40px,6vw,70px)}
.ev-feat{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center}
.ev-feat-fig{position:relative;margin:0;padding:12px;border-radius:18px;background:var(--card);
  border:2px solid var(--gold);box-shadow:var(--shadow)}
.ev-feat-fig::before{content:"";position:absolute;inset:-12px;border:1px solid var(--line);border-radius:26px;pointer-events:none}
.ev-feat-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:var(--deep)}
.ev-feat-media::after,.ev-media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent 35%,rgba(201,150,47,.38));transition:opacity .6s var(--ease)}
.ev-feat-media::before,.ev-media::before{content:"";position:absolute;inset:10px;z-index:3;pointer-events:none;border:1.5px solid var(--gold2);
  border-radius:inherit;opacity:0;transform:scale(.96);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.ev-feat-fig:hover .ev-feat-media::after,.ev-feat-fig:hover .ev-feat-media::before{opacity:1;transform:none}
.ev-feat-fig:hover .ev-ph>*{transform:scale(1.05)}

.ev-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px 7px 12px;margin-bottom:16px;border-radius:99px;
  font-family:var(--dev);font-size:14px;font-weight:600;color:var(--gold2);
  background:linear-gradient(135deg,var(--maroon),var(--deep));border:1px solid var(--gold);box-shadow:0 8px 20px -10px rgba(58,10,18,.8)}
.ev-badge svg{width:22px;height:22px}
.ev-feat-title{margin:0 0 12px;font-size:clamp(26px,3.4vw,42px);line-height:1.35}
.ev-feat-title a{background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 2px no-repeat;transition:background-size .6s var(--ease)}
.ev-feat-title a:hover{background-size:100% 2px}
.ev-feat-date{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--dev);font-weight:500;color:var(--red)}
.ev-feat-date svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round}
.ev-feat-ex{margin:0 0 24px;font-family:var(--dev);font-size:clamp(15px,1.5vw,17px);line-height:1.95;color:var(--text)}
.ev-arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease)}
.btn:hover .ev-arr{transform:translateX(6px)}

/* ==========================================================================
   4. LISTING
   ========================================================================== */
.ev-sec{overflow:hidden}
.ev-om-list{right:-30px;top:30px;font-size:clamp(200px,28vw,380px)}
.ev-sec .wrap{position:relative;z-index:1}
.ev-sh{text-align:center;max-width:760px;margin:0 auto clamp(30px,4vw,54px)}
.ev-sh .ev-orn{margin-bottom:10px}
.ev-sub{margin:0 0 4px;font-family:var(--cin);letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--red)}
.ev-sh h2{margin:0;font-size:clamp(28px,3.8vw,46px)}

.ev-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin:0 auto 30px;padding:12px 22px;max-width:max-content;
  font-family:var(--dev);color:var(--head);background:var(--card);border:1px solid var(--line);border-radius:99px;box-shadow:var(--shadow)}
.ev-info a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ev-info a:hover{color:var(--saf)}

.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}

/* card ------------------------------------------------------------------- */
.ev-card{min-width:0}
.ev-card-in{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:var(--card);border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .45s}
.ev-card-in:hover,.ev-card-in:focus-within{transform:translate3d(0,-8px,0);border-color:var(--gold);
  box-shadow:0 34px 54px -26px rgba(58,10,18,.6),0 0 0 1px var(--gold)}
.ev-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--deep)}
.ev-card-in:hover .ev-media::after,.ev-card-in:hover .ev-media::before,
.ev-card-in:focus-within .ev-media::after,.ev-card-in:focus-within .ev-media::before{opacity:1;transform:none}
.ev-card-in:hover .ev-ph>*,.ev-card-in:focus-within .ev-ph>*{transform:scale(1.07)}

.ev-date{position:absolute;left:14px;top:14px;z-index:4;display:flex;flex-direction:column;align-items:center;min-width:60px;padding:7px 10px 6px;
  text-align:center;line-height:1.15;border-radius:14px;color:var(--gold2);
  background:linear-gradient(160deg,var(--maroon),var(--deep));border:1.5px solid var(--gold);box-shadow:0 10px 22px -10px rgba(0,0,0,.7)}
.ev-date b{font-family:var(--cin);font-size:22px;color:#fff1c4}
.ev-date span{font-family:var(--dev);font-size:12.5px}
.ev-date i{font-style:normal;font-family:var(--cin);font-size:11px;opacity:.85;letter-spacing:.06em}

.ev-body{display:flex;flex-direction:column;flex:1;padding:20px 24px 24px}
.ev-rule{display:block;width:44px;height:2px;margin:0 0 14px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--saf));transition:width .6s var(--ease)}
.ev-card-in:hover .ev-rule,.ev-card-in:focus-within .ev-rule{width:96px}
.ev-title{margin:0 0 10px;font-size:clamp(18px,1.6vw,21px);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-title a{transition:color .3s}
.ev-title a:hover{color:var(--red)}
.ev-ex{margin:0 0 18px;font-family:var(--dev);font-size:15px;line-height:1.85;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ev-more{position:relative;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;padding-bottom:7px;
  font-family:var(--dev);font-weight:600;color:var(--head)}
.ev-more::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:36px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--saf));transition:width .55s var(--ease)}
.ev-card-in:hover .ev-more::after,.ev-more:hover::after,.ev-more:focus-visible::after{width:100%}
.ev-card-in:hover .ev-arr,.ev-more:hover .ev-arr{transform:translateX(6px)}

/* image + placeholder -------------------------------------------------------- */
.ev-ph{position:absolute;inset:0;display:block;overflow:hidden;background:var(--deep)}
.ev-ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ev-ph>img,.ev-ph>.ev-ph-art{transition:transform 1.1s var(--ease),opacity .8s ease}
.js .ev-ph>img:not(.ev-ok){opacity:0}
.ev-ph-art{position:absolute;inset:0;display:block;background:radial-gradient(circle at 50% 52%,#7c1d2b 0%,var(--maroon) 45%,var(--deep) 100%)}
.ev-ph-art .ev-mandala{position:absolute;inset:-8%;width:116%;height:116%;opacity:.22;filter:brightness(1.4)}
.ev-ph-om{position:absolute;left:50%;top:46%;width:42%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 16px rgba(232,200,119,.55))}
.ev-ph-lotus{position:absolute;left:10%;bottom:8%;width:20%;height:auto;aspect-ratio:1;opacity:.95}
.ev-ph-diya{position:absolute;right:10%;bottom:8%;width:20%;height:auto;aspect-ratio:1;filter:drop-shadow(0 0 12px rgba(255,179,71,.7))}

@supports not (aspect-ratio:1){
  .ev-media{height:0;padding-top:62.5%}
  .ev-feat-media{height:0;padding-top:75%}
}

/* ==========================================================================
   Pagination · empty · error
   ========================================================================== */
.ev-pager{margin-top:clamp(34px,5vw,60px)}
.ev-pager ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.ev-pg{display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border-radius:50%;
  font-family:var(--cin);font-weight:600;color:var(--head);background:var(--card);border:1.5px solid var(--line);
  transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s,box-shadow .35s}
a.ev-pg:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 22px -12px rgba(201,150,47,.9)}
.ev-cur{color:var(--gold2);background:linear-gradient(135deg,var(--maroon),var(--deep));border-color:var(--gold);box-shadow:0 10px 22px -10px rgba(58,10,18,.8)}
.ev-pg-nav{font-size:24px;line-height:1;padding-bottom:3px}
.ev-gap{color:var(--gold);padding:0 2px}

.ev-empty{position:relative;max-width:620px;margin:0 auto;padding:clamp(30px,5vw,56px) 24px;text-align:center;
  background:var(--card);border:1.5px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.ev-empty-art{position:relative;width:150px;height:150px;margin:0 auto 14px}
.ev-empty-art .ev-mandala{position:absolute;inset:0;opacity:.45;animation:evSpin 120s linear infinite}
.ev-empty-art svg{position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%)}
.ev-empty h3{margin:0 0 8px;font-size:clamp(22px,3vw,30px)}
.ev-empty p{margin:0 0 22px;font-family:var(--dev);color:var(--muted)}

.ev-err{padding:30px 0}
.ev-err p{margin:0;padding:16px 22px;text-align:center;font-family:var(--dev);color:#fff1c4;background:var(--maroon);border:1px solid var(--gold);border-radius:16px}

/* ==========================================================================
   Scroll reveal  (data-ev-r="up|scale|clip")
   ========================================================================== */
.js [data-ev-r]{transition:opacity .9s var(--ease) calc(var(--d,0)*1ms),transform .9s var(--ease) calc(var(--d,0)*1ms),clip-path 1.3s var(--ease-io) calc(var(--d,0)*1ms)}
.js [data-ev-r]:not(.ev-in){opacity:0}
.js [data-ev-r=up]:not(.ev-in){transform:translate3d(0,34px,0)}
.js [data-ev-r=scale]:not(.ev-in){transform:scale(.88)}
.js [data-ev-r=clip]:not(.ev-in){opacity:1;clip-path:inset(0 100% 0 0)}
.js [data-ev-r=clip].ev-in{clip-path:inset(-20px -20px -20px -20px)}
.js [data-ev-r=clip]:not(.ev-in) .ev-ph>*{transform:scale(1.25)}

/* page transition when clicking a "read more" link */
#evLeave{position:fixed;inset:0;z-index:998;pointer-events:none;opacity:0;transition:opacity .22s ease;
  background:radial-gradient(circle at 50% 50%,#6e1a22,var(--deep))}
#evLeave.on{opacity:.96}

html:not(.js) .ev-orn i,html:not(.js) .ev-orn svg{transform:none}
.ev-intro-in.ev-in .ev-orn i{transform:none;transition:transform 1.4s var(--ease-io) .2s}
.ev-intro-in.ev-in .ev-orn svg{transform:none;transition:transform 1s var(--ease) .1s}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1060px){.ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .ev-feat{grid-template-columns:1fr}
  .ev-feat-fig{order:-1}
}
@media (max-width:640px){
  .ev-grid{grid-template-columns:1fr}
  .ev-search{padding:6px 6px 6px 46px}
  .ev-s-ico{left:16px;width:21px;height:21px;margin-top:-10px}
  .ev-sbtn{padding:12px 20px}
  .ev-glow{display:none}
  .ev-w{margin:0 .1em}
  .ev-crumb ol{padding:6px 16px;font-size:14px}
}
@media (max-width:380px){.ev-sinput::placeholder{font-size:14px}}

/* dark theme niceties (tokens already switch colours) */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ev-sub,:root:not([data-theme="light"]) .ev-feat-date,:root:not([data-theme="light"]) .ev-info a{color:var(--gold2)}}
:root[data-theme="dark"] .ev-sub,:root[data-theme="dark"] .ev-feat-date,:root[data-theme="dark"] .ev-info a{color:var(--gold2)}

/* ==========================================================================
   Reduced motion: no parallax / particles / complex transitions, instant reveal
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .ev-page *,.ev-page *::before,.ev-page *::after{animation:none!important;transition:none!important}
  .js [data-ev-r],.js .ev-hero [data-ev-h],.js .ev-hero .ev-w{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
  .js .ev-hero .ev-orn i,.js .ev-hero .ev-orn svg,.ev-orn i,.ev-orn svg{transform:none!important}
  .ev-mandala-wrap{opacity:.12!important}
  .ev-particles{display:none}
  .ev-card-in:hover,.ev-card-in:focus-within{transform:none}
  .js .ev-ph>img:not(.ev-ok){opacity:1}
  #evLeave{display:none}
}

/* ==========================================================================
   CARRIED-OVER ADDITIONS
   ========================================================================== */
/* soft halo + golden light sweep behind the heading */
.ev-halo{position:absolute;left:50%;top:44%;width:min(900px,130vw);aspect-ratio:1;margin:calc(min(900px,130vw)/-2) 0 0 calc(min(900px,130vw)/-2);border-radius:50%;opacity:0;
  background:radial-gradient(circle,rgba(255,196,102,.3),rgba(255,196,102,.08) 40%,transparent 68%)}
.ev-hero.ev-go .ev-halo{opacity:1;transition:opacity 2.6s var(--ease) .1s}
.ev-title-wrap{position:relative;display:inline-block;max-width:100%;padding:0 .3em}
.ev-sweep{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.ev-sweep::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:34%;opacity:0;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,236,170,.34),transparent)}
.ev-hero.ev-go .ev-sweep::before{animation:evSweep 2.8s var(--ease-io) 1.3s 1 both}
@keyframes evSweep{0%{opacity:0;left:-40%}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:120%}}

/* diya flame flicker */
.ev-glow svg{transform-origin:50% 90%;animation:evFlick 3.4s ease-in-out infinite}
.ev-glow-r svg{animation-delay:-1.7s}
@keyframes evFlick{0%,100%{transform:scale(1,1)}22%{transform:scale(1.03,.97)}48%{transform:scale(.98,1.04)}73%{transform:scale(1.02,.98)}}
.ev-hero.ev-off .ev-glow svg{animation-play-state:paused}

/* intro */
.ev-intro{padding:clamp(36px,5vw,60px) 0 clamp(8px,2vw,20px)}
.ev-intro-in{max-width:760px;margin:0 auto;text-align:center}
.ev-intro .ev-orn{margin-bottom:16px}
.ev-intro-txt{margin:0;font-family:var(--dev);font-size:clamp(18px,2.3vw,26px);line-height:1.8;color:var(--head)}

/* featured: magazine cover feel */
.ev-feat-body{position:relative}
.ev-feat-body::before{content:"";position:absolute;left:-18px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.7}
.ev-feat-title{font-size:clamp(26px,3.4vw,44px)}
.ev-feat-ex::first-letter{font-size:1.35em;color:var(--red)}

/* temple CTA */
.ev-cta{position:relative;overflow:hidden;text-align:center;color:#f3e3c0;padding:clamp(56px,8vw,100px) 0;
  background:radial-gradient(ellipse 90% 90% at 50% 0%,#7c1d2b,var(--maroon) 45%,var(--deep))}
.ev-cta::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 14px,var(--saf) 14px 20px,var(--red) 20px 34px)}
.ev-cta-bg{position:absolute;left:50%;top:50%;width:min(720px,120vw);aspect-ratio:1;margin:calc(min(720px,120vw)/-2) 0 0 calc(min(720px,120vw)/-2);opacity:.12;pointer-events:none}
.ev-cta-bg .ev-mandala{animation:evSpin 200s linear infinite;filter:brightness(1.4)}
.ev-cta-in{position:relative;z-index:1;max-width:820px}
.ev-cta .ev-orn{margin-bottom:16px}
.ev-cta .ev-orn i{transform:none}
.ev-cta .ev-orn svg{transform:none;filter:drop-shadow(0 0 10px rgba(255,179,71,.7))}
.ev-cta h2{margin:0 0 12px;color:#fbeab8;font-size:clamp(24px,3.4vw,40px);line-height:1.45}
.ev-cta p{margin:0 auto 26px;font-family:var(--dev);font-size:clamp(15px,1.7vw,18px);line-height:1.9;color:#ead8b5}
.ev-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.ev-cta-ol{color:var(--gold2);border-color:var(--gold2)}

/* mobile: simplify */
@media (max-width:640px){
  .ev-feat-body::before{display:none}
  .ev-sweep{display:none}
  .ev-halo{opacity:0!important}
  .ev-title-wrap{padding:0}
  .ev-cta-btns .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ev-sweep,.ev-halo{display:none}
  .ev-glow svg,.ev-cta-bg .ev-mandala{animation:none!important}
}

/* ==========================================================================
   EVENTS-ONLY ADDITIONS
   ========================================================================== */
.ev-sec{padding:clamp(48px,7vw,84px) 0}
.ev-sec-past{position:relative}
.ev-om-past{right:-30px;top:30px;font-size:clamp(200px,28vw,380px)}
.ev-sec-live{background:linear-gradient(180deg,transparent,rgba(201,150,47,.07) 50%,transparent)}

/* bells (hero) */
.ev-bell{position:absolute;top:-6px;width:clamp(26px,3.4vw,44px);opacity:0;transform-origin:50% 0}
.ev-bell svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
.ev-bell-l{left:clamp(46px,14vw,230px)}
.ev-bell-r{right:clamp(46px,14vw,230px)}
.ev-hero.ev-go .ev-bell{opacity:.9;transition:opacity 2s var(--ease) 1.6s;animation:evSwing 6s ease-in-out 2s infinite}
.ev-hero.ev-go .ev-bell-r{animation-delay:3.2s}
.ev-hero.ev-off .ev-bell{animation-play-state:paused}
@keyframes evSwing{0%,100%{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}

/* counts */
.ev-counts{margin:22px 0 0}
.ev-counts-in{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ev-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:99px;font-family:var(--dev);font-size:15px;color:var(--head);background:var(--card);border:1px solid var(--line)}
.ev-chip b{font-family:var(--cin);font-size:18px;color:var(--red);font-variant-numeric:tabular-nums}
.ev-chip-live{border-color:rgba(190,30,45,.45)}
.ev-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin:22px auto 0;padding:12px 22px;max-width:max-content;font-family:var(--dev);color:var(--head);background:var(--card);border:1px solid var(--line);border-radius:99px;box-shadow:var(--shadow)}

/* live dot (gentle pulse) */
.ev-dot{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;background:#e0262f;flex:none}
.ev-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(224,38,47,.55);animation:evPulse 2s ease-out infinite}
@keyframes evPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* status badges */
.ev-status{position:absolute;right:14px;top:14px;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:99px;
  font-family:var(--cin);font-size:11.5px;font-weight:700;letter-spacing:.07em;color:var(--gold2);
  background:rgba(58,10,18,.86);border:1px solid rgba(232,200,119,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ev-status-live{left:14px;right:auto;color:#fff;background:rgba(140,14,26,.92);border-color:rgba(255,120,120,.8)}
.ev-status-past{color:#e9dcc0;background:rgba(70,48,40,.86);border-color:rgba(214,190,150,.55)}
.ev-feat-body .ev-status{position:static;display:inline-flex;margin-bottom:14px}

/* live cards: subtle glowing border */
.ev-grid-live{grid-template-columns:repeat(2,minmax(0,1fr))}
.ev-live .ev-card-in{border-color:rgba(190,30,45,.55);box-shadow:var(--shadow),0 0 0 1px rgba(190,30,45,.25),0 0 30px -8px rgba(224,38,47,.45)}
.ev-live .ev-card-in:hover{border-color:var(--gold)}
.ev-grid-live:has(.ev-card:only-child){grid-template-columns:minmax(0,640px);justify-content:center}

/* meta rows */
.ev-meta{margin:0 0 14px;display:grid;gap:8px}
.ev-meta>div,.ev-meta dl>div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.ev-meta dt{min-width:64px;font-family:var(--dev);font-size:13px;font-weight:600;color:var(--red);letter-spacing:.03em}
.ev-meta dd{margin:0;font-family:var(--dev);font-size:15px;color:var(--text)}
.ev-loc dd{display:inline-flex;align-items:flex-start;gap:6px}
.ev-meta svg,.ev-time svg,.ev-where svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}
.ev-time,.ev-where{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;font-family:var(--dev);font-size:14.5px;color:var(--head)}
.ev-where{color:var(--muted)}
.ev-ex{margin-top:6px}

/* featured upcoming */
.ev-feat{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center;margin-bottom:clamp(34px,5vw,64px)}
.ev-feat-fig{margin:0}

/* countdown (visual only - SQL Server decides the real state) */
.ev-cd{margin:0 0 18px;padding:16px 18px;border-radius:14px;background:linear-gradient(160deg,var(--maroon),var(--deep));border:1.5px solid var(--gold);color:#f3e3c0;box-shadow:0 18px 34px -22px rgba(58,10,18,.9)}
.ev-cd-t{margin:0 0 10px;text-align:center;font-family:var(--dev);font-size:13px;letter-spacing:.06em;color:var(--gold2)}
.ev-cd-b{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.ev-cd-b b{display:block;font-family:var(--cin);font-size:clamp(24px,4vw,34px);line-height:1.1;color:#fff1c4;font-variant-numeric:tabular-nums}
.ev-cd-b span{font-family:var(--dev);font-size:12.5px;color:#ead8b5}

/* past: calmer treatment, still rich */
.ev-past .ev-card-in{border-color:rgba(140,100,60,.28);box-shadow:0 14px 28px -22px rgba(58,10,18,.5)}
.ev-past .ev-ph>img{filter:saturate(.82) sepia(.08)}
.ev-past .ev-title a{color:var(--head)}

/* separators between major sections */
.ev-divider{display:flex;align-items:center;justify-content:center;gap:16px;max-width:520px;margin:0 auto;padding:0 20px;color:var(--gold)}
.ev-divider i{flex:1;height:1.5px;background:linear-gradient(90deg,transparent,var(--gold))}
.ev-divider i:last-child{background:linear-gradient(270deg,transparent,var(--gold))}
.ev-divider svg{width:40px;height:40px;flex:none}

/* empty (compact) */
.ev-empty{max-width:560px;padding:28px 22px}
.ev-empty-art{width:110px;height:110px;margin-bottom:8px}
.ev-e-diya{left:50%;top:50%;width:46%;height:46%;transform:translate(-50%,-50%);right:auto;bottom:auto}
.ev-empty p{margin:0}

/* refresh swap feedback */
#evDynamic{transition:opacity .35s ease}
#evDynamic.ev-swapping{opacity:.35}

@media (max-width:900px){.ev-feat{grid-template-columns:1fr}.ev-feat-fig{order:-1}}
@media (max-width:1060px){.ev-grid-live{grid-template-columns:1fr}}
@media (max-width:640px){
  .ev-bell{display:none}
  .ev-cd{padding:14px 10px}
  .ev-cd-b{gap:4px}
  .ev-meta dt{min-width:56px}
  .ev-status{font-size:10.5px;padding:5px 11px}
}
@media (max-width:360px){.ev-label::before,.ev-label::after{display:none}.ev-cd-b b{font-size:22px}}
@media (prefers-reduced-motion:reduce){
  .ev-bell,.ev-dot::after{animation:none!important}
  .ev-dot::after{display:none}
  .ev-bell{opacity:.8!important}
}

/* ==========================================================================
   v2 ADDITIONS - live progress bar (start -> now -> end), stats count-up
   ========================================================================== */
.ev-prog{position:relative;height:10px;margin:2px 0 8px;border-radius:99px;overflow:hidden;background:rgba(140,14,26,.14);border:1px solid rgba(190,30,45,.35)}
.ev-prog-bar{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);border-radius:inherit;
  background:linear-gradient(90deg,#c9962f,#e8c877 50%,#e0262f);box-shadow:0 0 14px rgba(224,38,47,.45)}
.ev-prog-bar::after{content:"";position:absolute;right:-1px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;
  background:#fff1c4;border:2px solid #e0262f;box-shadow:0 0 10px rgba(224,38,47,.8)}
.js .ev-live:not(.ev-in) .ev-prog-bar{width:0}
.js .ev-live .ev-prog-bar{transition:width 1.6s var(--ease-io) .35s}
.ev-prog-t{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;font-family:var(--dev);font-size:12.5px;color:var(--muted)}
.ev-prog-t b{font-family:var(--cin);font-size:15px;color:var(--red);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.js .ev-live .ev-prog-bar{transition:none!important}.js .ev-live:not(.ev-in) .ev-prog-bar{width:var(--p,0%)}}
