/* DANZO — events & festivals page. Shares hero/spot/finder styles with schools.css. */
.events-page .crumbs [aria-current]{color:#ffd76a}.events-page .crumbs li+li::before{color:#c9b6ff}
.h2{font:800 clamp(26px,3vw,38px)/1.15 var(--serif);margin:0 0 6px;color:var(--ink)}
.hint{color:var(--mut);margin:0 0 18px;font-size:14px}
.hero-grid{display:grid;grid-template-columns:1fr 330px;gap:30px;align-items:end}
.nextup{--c:#ff3d7f;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.96);color:var(--ink);border-radius:24px;padding:20px 22px;box-shadow:0 24px 50px -20px rgba(0,0,0,.5);border-top:7px solid var(--c);transform:rotate(-1.5deg);transition:transform .25s}
.nextup:hover{transform:rotate(0) translateY(-4px)}
.nx-tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font:800 12px var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--c);padding:5px 12px;border-radius:20px}
html[lang="fa"] .nx-tag{letter-spacing:0}
.nx-tag svg{width:15px;height:15px}
.nextup>b{font:800 22px/1.2 var(--serif)}
.nextup small{display:flex;gap:5px;align-items:center;color:var(--mut);font-weight:700;font-size:13px}.nextup small svg{width:14px;height:14px;flex:none}
.nx-count{font-weight:800;color:var(--c);font-size:15px}.nx-count strong{font:800 44px/1 var(--serif);margin-inline-end:4px}

/* poster mock in spotlight */
.poster{position:relative;display:block;border-radius:22px;overflow:hidden;background:#1c1240;box-shadow:0 30px 60px -24px rgba(0,0,0,.6);transform:rotate(2deg);aspect-ratio:4/5;max-width:340px;justify-self:center;transition:transform .3s}
html[dir="rtl"] .poster{transform:rotate(-2deg)}.poster:hover{transform:rotate(0) scale(1.02)}
.poster-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,18,64,.95) 10%,transparent 60%)}
.poster-body{position:absolute;z-index:1;inset:auto 18px 18px;color:#fff;display:flex;flex-direction:column;gap:4px}
.poster-star{position:absolute;top:-250px;inset-inline-end:0;width:44px;height:44px;border-radius:50%;background:#ffd23c;color:#3b1d00;display:grid;place-items:center}
.poster-star svg{width:24px;height:24px}
.poster-body b{font:800 26px/1.1 var(--serif)}.poster-body small{font-weight:700;color:#ffd76a}
.poster-btn{align-self:flex-start;margin-top:8px;width:44px;height:44px;border-radius:14px;background:var(--hot);display:grid;place-items:center}.poster-btn svg{width:24px;height:24px}

/* highlights */
.hl-sec{margin-top:54px}
.hl{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px;margin-top:18px}
.hlc{--c:#ff3d7f;position:relative;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.3),transparent 50%),linear-gradient(135deg,var(--c),#2a0b5e);border-radius:24px;overflow:hidden;box-shadow:0 22px 44px -26px rgba(28,18,64,.7);transition:transform .3s}
.hlc:first-child{grid-column:span 2;grid-row:span 2}
.hlc:hover{transform:translateY(-6px)}
.hlc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.hlc:hover img{transform:scale(1.07)}
.hlc::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,8,50,.92) 5%,rgba(20,8,50,.2) 55%,transparent);border-bottom:6px solid var(--c)}
.hl-in{position:absolute;z-index:1;inset:auto 16px 16px;display:flex;flex-direction:column;gap:6px;color:#fff;align-items:flex-start}
.hl-type{font:800 11px var(--sans);text-transform:uppercase;letter-spacing:.1em;background:var(--c);padding:4px 10px;border-radius:20px}
html[lang="fa"] .hl-type{letter-spacing:0;font-size:12px}
.hl-in b{font:800 21px/1.15 var(--serif)}.hlc:first-child .hl-in b{font-size:clamp(26px,3vw,36px)}
.hl-in small{display:flex;gap:5px;align-items:center;font-weight:700;font-size:13px;color:#f0e8ff}.hl-in small svg{width:14px;height:14px}
.when{display:inline-block;font:800 12px var(--sans);padding:4px 10px;border-radius:20px}
.when.soon{background:#ffd23c;color:#3b1d00}.when.now{background:#22c55e;color:#fff}.when.ended{background:#e5e1ee;color:#6b6585}.when.tba{background:#f2eefe;color:#5b2bd6}

/* year overview */
.year-sec{margin-top:60px;padding:50px 0;background:radial-gradient(500px 300px at 10% 10%,rgba(255,201,60,.35),transparent 70%),linear-gradient(160deg,#f3edff,#fff0f7)}
.year{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.mon{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:2px solid transparent;border-radius:20px;padding:14px 6px;cursor:pointer;box-shadow:0 12px 26px -20px rgba(80,30,160,.7);transition:all .2s;font:inherit;color:var(--ink)}
.mon:hover{transform:translateY(-4px);border-color:#d9ccff}
.mon.on{background:var(--hot);color:#fff}.mon.on .mc{background:rgba(255,255,255,.25);color:#fff}
.mon.empty{opacity:.5}
.mn{font-weight:800;font-size:13px;writing-mode:horizontal-tb}
.dots{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:32px;align-content:flex-start}
.dots i{width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fff}
.mc{font:800 13px var(--sans);background:#f2eefe;color:var(--violet);border-radius:10px;padding:1px 9px}

/* finder extras */
.events-page .finder{margin-top:34px}
.events-page .searchrow{grid-template-columns:1fr 210px 190px}
.events-page #month{border:2px solid #ece6fb;border-radius:40px;padding:0 18px;font:700 15px var(--sans);color:var(--ink);background:#fbf9ff;cursor:pointer;height:52px}
.events-page .chips{margin-top:14px}
.toggles{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;font-weight:700;font-size:14px}
.toggles label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:#f6f3ff;padding:7px 14px;border-radius:20px}
.toggles input{width:18px;height:18px;accent-color:#ff3d7f}
#count{margin-inline-start:auto;color:var(--txt);font-weight:800}

/* event list */
#results{padding:30px 0 40px}
.mgroup{margin-bottom:34px}
.mhead{display:flex;align-items:center;gap:12px;font:800 clamp(24px,2.6vw,32px) var(--serif);margin:0 0 16px;color:var(--ink)}
.mhead small{font:800 16px var(--sans);color:var(--mut)}
.mhead i{font-style:normal;font:800 13px var(--sans);background:#f2eefe;color:var(--violet);padding:3px 11px;border-radius:12px}
.mnum{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--hot);color:#fff;font:800 18px var(--sans);transform:rotate(-6deg);box-shadow:0 10px 20px -8px rgba(255,61,127,.6)}
.egrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.evc{--c:#ff3d7f;position:relative;display:flex;flex-direction:column;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 22px 46px -30px rgba(28,18,64,.6);border-top:7px solid var(--c);transition:transform .25s,box-shadow .25s;scroll-margin-top:calc(var(--head) + 20px)}
.evc:hover{transform:translateY(-5px);box-shadow:0 32px 60px -30px var(--c)}
.evc:target{outline:4px solid #ffd23c}
.evc-photo{position:relative;aspect-ratio:16/6.5;overflow:hidden}.evc-photo img{width:100%;height:100%;object-fit:cover}
.illus{position:absolute;bottom:8px;inset-inline-end:8px;font-size:11px;font-weight:700;background:rgba(28,18,64,.7);color:#fff;padding:3px 8px;border-radius:10px}
.evc-main{position:relative;z-index:1;display:flex;gap:16px;padding:20px 22px 6px}
.tile{flex:none;width:86px;border-radius:20px;background:linear-gradient(160deg,var(--c),color-mix(in srgb,var(--c) 60%,#1c1240));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 6px;text-align:center;box-shadow:0 12px 24px -12px var(--c);align-self:flex-start;margin-top:-2px}
.evc.has-photo .tile{margin-top:-46px;border:4px solid #fff}
.tile b{font:800 30px/1 var(--serif);display:flex;align-items:baseline;justify-content:center}.tile b span{font-size:17px}
.tile small{font-weight:800;font-size:12.5px;text-transform:uppercase;margin-top:4px}.tile i{font-style:normal;font-size:11.5px;font-weight:700;opacity:.85}
html[lang="fa"] .tile small{text-transform:none}
.tile.tba{background:repeating-linear-gradient(135deg,var(--c),var(--c) 10px,color-mix(in srgb,var(--c) 80%,#fff) 10px,color-mix(in srgb,var(--c) 80%,#fff) 20px)}.tile.tba b{font-size:20px}.tile.tba small{font-size:10.5px;text-transform:none}
.evc-body{min-width:0;flex:1}
.evc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.type{font:800 11.5px var(--sans);text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--c);padding:4px 10px;border-radius:20px}
html[lang="fa"] .type{letter-spacing:0;font-size:12px;text-transform:none}
.freeb{font:800 12px var(--sans);background:#dcfce7;color:#15803d;padding:4px 10px;border-radius:20px}
.evc h3{font:800 22px/1.2 var(--serif);margin:0;color:var(--ink)}
.fi{margin:2px 0 0;font-style:italic;color:var(--mut);font-size:13.5px}
.loc,.date-line{display:flex;gap:7px;align-items:flex-start;margin:8px 0 0;font-size:14px;color:var(--txt)}
.loc svg,.date-line svg{width:17px;height:17px;flex:none;color:var(--c);margin-top:2px}
.loc em{display:block;font-style:normal;font-size:12.5px;color:var(--mut)}
.date-line{font-weight:800;color:var(--ink)}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.facts span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;background:#f6f3ff;color:#4b3c8a;padding:4px 10px;border-radius:12px}
.facts svg{width:14px;height:14px}
.evc .hi{padding:6px 22px 0;margin:8px 0 12px;font-size:15px;line-height:1.65;color:var(--txt)}
.boxes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 22px}
.pbox,.tbox{display:flex;gap:10px;align-items:flex-start;border-radius:16px;padding:12px 14px}
.pbox{background:#ecfdf5;border:2px solid #bbf7d0}.tbox{background:#fff7d6;border:2px solid #ffe08a}
.pbox>svg,.tbox>svg{flex:none;width:34px;height:34px;padding:7px;border-radius:10px;color:#fff}
.pbox>svg{background:#16a34a}.tbox>svg{background:#f59e0b}
.pbox b,.tbox b{display:block;font-size:13px;margin-bottom:2px}
.pbox p,.tbox p{margin:0;font-size:13.5px;line-height:1.5;color:#3f3a5c}
.evc-foot{margin-top:auto;padding:12px 22px 18px;display:grid;gap:6px;font-size:13px;color:var(--txt)}
.evc-foot p{margin:0}.evc-foot b{color:var(--ink)}
.sty{display:inline-block;margin:2px 4px 2px 0;padding:2px 9px;border-radius:12px;background:color-mix(in srgb,var(--c) 12%,#fff);color:color-mix(in srgb,var(--c) 70%,#1c1240);font-weight:700;font-size:12px}
.ics{justify-self:start;display:inline-flex;align-items:center;gap:8px;border:2px solid var(--c);background:#fff;color:var(--c);font:800 13px var(--sans);padding:8px 14px;border-radius:30px;cursor:pointer;margin-top:4px;transition:all .2s}
.ics:hover{background:var(--c);color:#fff}.ics svg{width:18px;height:18px}
.addev{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:26px;border-radius:26px;border:2px dashed var(--pink);background:repeating-linear-gradient(135deg,#fff,#fff 14px,#fff6fb 14px,#fff6fb 28px);margin-top:10px}
.addev .add-ico{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--hot);color:#fff}.addev .add-ico svg{width:28px;height:28px}
.addev>span:nth-child(2){flex:1;min-width:200px}.addev b{display:block;font:800 22px var(--serif)}.addev small{color:var(--txt);font-size:15px}
.none{text-align:center;background:#fff;border-radius:24px;padding:40px 20px;box-shadow:0 20px 44px -30px rgba(28,18,64,.5)}

/* sources */
.srcs-sec{padding-bottom:40px}
.srcs{background:#fff;border-radius:22px;padding:18px 22px;box-shadow:0 16px 36px -28px rgba(28,18,64,.6)}
.srcs summary{cursor:pointer;font:800 18px var(--serif)}
.srcs p{color:var(--mut);font-size:13.5px}
.srcs ol,.srcs ul{font-size:13px;color:var(--txt);display:grid;gap:5px;padding-inline-start:20px}
.srcs a{color:var(--violet);font-weight:700;word-break:break-word}

@media(max-width:1100px){.hero-grid{grid-template-columns:1fr}.nextup{max-width:420px;transform:none}.hl{grid-template-columns:repeat(2,1fr)}.year{grid-template-columns:repeat(6,1fr)}.egrid{grid-template-columns:1fr}.events-page .searchrow{grid-template-columns:1fr 1fr}.events-page .sbox{grid-column:1/-1}}
@media(max-width:640px){.hl{grid-template-columns:1fr;grid-auto-rows:200px}.hlc:first-child{grid-column:auto;grid-row:span 1}.year{grid-template-columns:repeat(4,1fr)}.boxes{grid-template-columns:1fr}
 .evc-main{padding:16px 16px 4px;gap:12px}.tile{width:72px}.tile b{font-size:24px}.evc .hi,.boxes,.evc-foot{padding-inline:16px}.events-page .searchrow{grid-template-columns:1fr}#count{margin-inline-start:0;width:100%}}
.events-page .searchrow>*{min-width:0;max-width:100%}
.events-page .searchrow select{width:100%;min-width:0;text-overflow:ellipsis}
@media(max-width:560px){.events-page .searchrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
