/* DANZO — dance-school directory: bright, colourful, easy to scan. Loads after country.css. */
.schools-page,.events-page{--ink:#1c1240;--txt:#4b4566;--mut:#7c7598;--pink:#ff3d7f;--violet:#7b3dff;
 --rainbow:linear-gradient(90deg,#ff3d7f,#ff8a3d,#ffc93c,#14c8b4,#3aa8ff,#7b3dff);--hot:linear-gradient(110deg,#ff8a3d,#ff3d7f 55%,#b23dff);
 background:#fffaf4;color:var(--ink)}
.schools-page [hidden],.events-page [hidden]{display:none!important}
.schools-page .foot,.events-page .foot{margin-top:0}
.mini{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin:18px 0 10px}
html[lang="fa"] .mini{letter-spacing:0;font-size:14px}
.btn-hot,.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;padding:13px 24px;border-radius:40px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-hot{background:var(--hot);color:#fff;box-shadow:0 12px 26px -8px rgba(255,61,127,.6)}
.btn-hot:hover{transform:translateY(-2px);box-shadow:0 16px 32px -8px rgba(178,61,255,.6)}
.btn-ghost{background:rgba(255,255,255,.16);color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:#fff;color:var(--violet)}
.arl::after{content:"←"}html[dir="rtl"] .arl::after{content:"→"}

/* hero */
.shero{position:relative;min-height:clamp(420px,38vw,540px);display:flex;align-items:flex-end;overflow:hidden;background:#2a0b5e;color:#fff}
.shero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08)}}
.shero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,11,94,.94),rgba(150,20,110,.6) 50%,rgba(255,61,127,.15)),linear-gradient(0deg,rgba(28,18,64,.85),transparent 50%)}
html[dir="rtl"] .shero::after{background:linear-gradient(270deg,rgba(42,11,94,.94),rgba(150,20,110,.6) 50%,rgba(255,61,127,.15)),linear-gradient(0deg,rgba(28,18,64,.85),transparent 50%)}
.shero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--rainbow);z-index:3}
.aurora{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen}
.aurora i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:float 14s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:420px;height:420px;background:#ff3d7f;left:-120px;bottom:-160px}
.aurora i:nth-child(2){width:360px;height:360px;background:#7b3dff;left:35%;top:-180px;animation-delay:-5s}
.aurora i:nth-child(3){width:300px;height:300px;background:#ffc93c;right:6%;bottom:-200px;opacity:.35;animation-delay:-9s}
@keyframes float{to{transform:translate(60px,-30px) scale(1.15)}}
.shero-in{position:relative;z-index:2;padding:16px 0 40px}
.schools-page .crumbs,.events-page .crumbs{color:#efe6ff;margin-bottom:clamp(26px,5vw,70px)}.schools-page .crumbs [aria-current]{color:#ffd76a}.schools-page .crumbs li+li::before{color:#c9b6ff}
.scountry{display:inline-flex;align-items:center;gap:12px;font:800 15px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:6px 18px 6px 6px;border-radius:40px}
html[dir="rtl"] .scountry{padding:6px 6px 6px 18px}html[lang="fa"] .scountry{letter-spacing:0}
.scountry .flag{width:34px;height:34px;border-radius:50%;margin:0;box-shadow:0 0 0 2px #fff}.scountry .flag.svg svg{transform:scale(1.3)}
.shero h1{font:800 clamp(40px,6vw,82px)/1.02 var(--serif);margin:16px 0 12px;background:linear-gradient(180deg,#fff 40%,#ffe0ef);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 24px rgba(0,0,0,.35))}
.sub{font-size:clamp(17px,1.8vw,21px);max-width:720px;margin:0 0 22px;color:#fbf3ff}
.stats{display:flex;flex-wrap:wrap;gap:12px}
.stats div{background:rgba(255,255,255,.95);color:var(--ink);border-radius:18px;padding:12px 20px;display:flex;align-items:baseline;gap:8px;box-shadow:0 12px 26px -10px rgba(0,0,0,.4)}
.stats b{font:800 30px/1 var(--serif);background:var(--hot);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{font-weight:700;font-size:14px;color:var(--txt)}

/* spotlight (paid) */
.spot-wrap{margin-top:-10px;position:relative;z-index:4;padding-top:40px}
.spot{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:30px;align-items:center;padding:clamp(24px,3.5vw,42px);border-radius:30px;overflow:hidden;color:#fff;
 background:radial-gradient(500px 300px at 10% 0%,rgba(255,201,60,.55),transparent 70%),radial-gradient(500px 360px at 100% 100%,rgba(58,168,255,.5),transparent 70%),linear-gradient(120deg,#ff3d7f,#b23dff 55%,#7b3dff);box-shadow:0 34px 70px -34px rgba(123,61,255,.85)}
.spot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px);pointer-events:none}
.spot-text{position:relative}
.badge{display:inline-flex;align-items:center;gap:8px;background:#ffd23c;color:#3b1d00;font:800 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:30px}
html[lang="fa"] .badge{letter-spacing:0;font-size:13px}
.badge svg{width:15px;height:15px}
.spot h2{font:800 clamp(26px,3vw,40px)/1.12 var(--serif);margin:14px 0 10px;color:#fff}
.spot p{color:#fdeefe;font-size:16px;margin:0 0 16px;max-width:560px}
.spot ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.spot li{display:flex;gap:10px;align-items:center;font-weight:700;font-size:15px}
.spot li svg{width:22px;height:22px;flex:none;background:#fff;color:#c13dff;border-radius:50%;padding:4px}
.spot-btns{display:flex;flex-wrap:wrap;gap:12px}
.spot .btn-hot{background:#fff;color:#c13dff}.spot .btn-hot:hover{background:#ffd23c;color:#3b1d00}
.spot-mock{position:relative;display:block;background:#fff;color:var(--ink);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);transform:rotate(2deg);transition:transform .3s}
html[dir="rtl"] .spot-mock{transform:rotate(-2deg)}
.spot-mock:hover{transform:rotate(0) scale(1.02)}
.mock-photo{position:relative;display:block;aspect-ratio:16/8;overflow:hidden}
.mock-photo img{width:100%;height:100%;object-fit:cover}
.mock-star{position:absolute;top:12px;inset-inline-end:12px;width:40px;height:40px;border-radius:50%;background:#ffd23c;color:#3b1d00;display:grid;place-items:center}
.mock-star svg{width:22px;height:22px}
.mock-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.mock-body b{font:800 21px var(--serif)}
.mock-body small{display:flex;align-items:center;gap:5px;color:var(--mut);font-weight:700}
.mock-body small svg{width:14px;height:14px}
.mock-tags{display:flex;flex-wrap:wrap;gap:6px}.mock-tags i{font-style:normal;font-size:12px;font-weight:800;padding:4px 10px;border-radius:20px;background:#f2eefe;color:#5b2bd6}
.mock-tags i:nth-child(2){background:#fff1e6;color:#c25a00}.mock-tags i:nth-child(3){background:#e6faf7;color:#0f8a7c}
.mock-btns{display:flex;gap:8px;margin-top:4px}.mock-btns i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:#1c1240}
.mock-btns i:nth-child(2){background:#25d366}.mock-btns i:nth-child(3){background:var(--violet)}
.mock-btns svg{width:19px;height:19px}

/* finder */
.finder{margin-top:34px;background:#fff;border-radius:26px;padding:22px 24px 20px;box-shadow:0 22px 50px -30px rgba(28,18,64,.55);position:sticky;top:calc(var(--head) + 8px);z-index:30}
.searchrow{display:grid;grid-template-columns:1fr 260px;gap:12px}
.sbox{display:flex;align-items:center;gap:10px;border:2px solid #ece6fb;border-radius:40px;padding:0 18px;background:#fbf9ff;transition:border-color .2s,box-shadow .2s}
.sbox:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px rgba(123,61,255,.12)}
.sbox svg{width:20px;height:20px;color:var(--violet);flex:none}
.sbox input{flex:1;border:0;background:transparent;outline:0;padding:14px 0;font-size:16px;color:var(--ink);min-width:0}
#city{border:2px solid #ece6fb;border-radius:40px;padding:0 18px;font:700 15px var(--sans);color:var(--ink);background:#fbf9ff;cursor:pointer;height:52px}
html[lang="fa"] #city{font-family:var(--sans)}
.chips{display:flex;flex-wrap:wrap;gap:8px;max-height:132px;overflow:auto;scrollbar-width:thin}
.chips button{--c:#ff3d7f;display:inline-flex;align-items:center;gap:7px;border:2px solid color-mix(in srgb,var(--c) 35%,#fff);background:#fff;color:var(--ink);padding:7px 14px;border-radius:30px;font:700 13.5px var(--sans);cursor:pointer;transition:all .18s}
.chips button i{font-style:normal;font-size:11.5px;font-weight:800;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);border-radius:10px;padding:1px 7px}
.chips button:hover{border-color:var(--c);transform:translateY(-1px)}
.chips button.on{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 8px 18px -8px var(--c)}
.chips button.on i{background:rgba(255,255,255,.25);color:#fff}

/* results */
#results{padding:26px 0 50px}
.res-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
#count{font-weight:800;color:var(--txt);margin:0}
.clear{border:0;background:#f2eefe;color:var(--violet);font-weight:800;padding:8px 16px;border-radius:30px;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sc{--c:#ff3d7f;--c2:#7b3dff;position:relative;display:flex;flex-direction:column;background:#fff;border-radius:24px;padding:0 20px 18px;overflow:hidden;box-shadow:0 20px 44px -30px rgba(28,18,64,.6);transition:transform .25s,box-shadow .25s}
.sc:hover{transform:translateY(-6px);box-shadow:0 30px 56px -30px var(--c)}
.sc::before{content:"";position:absolute;top:0;left:0;right:0;height:92px;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.35),transparent 45%),linear-gradient(120deg,var(--c),var(--c2));z-index:0}
.sc-top{position:relative;z-index:1;display:flex;gap:14px;align-items:flex-end;padding-top:22px;margin-bottom:14px;min-height:118px}
.mono{flex:none;width:72px;height:72px;border-radius:22px;background:#fff;color:var(--c);display:grid;place-items:center;font:800 24px var(--serif);box-shadow:0 10px 22px -8px rgba(0,0,0,.35);transform:rotate(-5deg)}
.sc-top h3{font:800 19px/1.2 var(--serif);margin:0 0 4px;color:var(--ink);text-shadow:none;background:#fff;border-radius:10px;padding:4px 10px;display:inline-block;box-shadow:0 6px 14px -10px rgba(0,0,0,.4)}
.sc-city{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-weight:800;font-size:13.5px;color:var(--c)}
.sc-city svg{width:15px;height:15px}
.since{font-size:11.5px;font-weight:800;color:#fff;background:var(--ink);padding:3px 9px;border-radius:20px}
.sc-about{font-size:14.5px;line-height:1.6;color:var(--txt);margin:0 0 12px}
.sc-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cat{--c:#ff3d7f;border:0;cursor:pointer;font:800 12px var(--sans);color:#fff;background:var(--c);padding:5px 11px;border-radius:20px;transition:transform .15s}
.cat:hover{transform:translateY(-2px)}
.sc-styles{font-size:12.5px;color:var(--mut);margin:0 0 10px;line-height:1.5}.sc-styles b{color:var(--ink)}
.sc-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.fl{font-size:12px;font-weight:700;padding:4px 10px;border-radius:12px;background:#f6f3ff;color:#4b3c8a}
.fl-kids,.fl-teens{background:#fff4e0;color:#a35a00}.fl-beginners{background:#e6faf7;color:#0f8a7c}.fl-english,.fl-swedish{background:#e8f3ff;color:#1d6fc2}.fl-seniors{background:#fde8f1;color:#b0245e}
.sc-contact{margin-top:auto;border-top:2px dashed #f0ecfa;padding-top:12px}
.addr{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;font-weight:600;color:var(--ink);margin:0 0 10px}
.addr svg{width:17px;height:17px;flex:none;color:var(--c);margin-top:1px}
.sc-btns{display:grid;gap:8px}
.cb{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;transition:transform .15s,filter .15s;min-width:0}
.cb:hover{transform:translateX(3px);filter:brightness(1.05)}html[dir="rtl"] .cb:hover{transform:translateX(-3px)}
.cb svg{flex:none;width:34px;height:34px;padding:8px;border-radius:10px;color:#fff}
.cb span{display:flex;flex-direction:column;min-width:0}.cb small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.75}
html[lang="fa"] .cb small{letter-spacing:0;text-transform:none;font-size:12px}
.cb b{font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[dir="rtl"] .cb b{text-align:right}
.cb.call{background:#f2eefe;color:#3b1d8a}.cb.call svg{background:var(--violet)}
.cb.wa{background:#e6faee;color:#0b6b33}.cb.wa svg{background:#25d366}
.cb.mail{background:#fff1f6;color:#a01a52}.cb.mail svg{background:var(--pink)}
.sc.add{align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px 24px;background:repeating-linear-gradient(135deg,#fff,#fff 14px,#fff6fb 14px,#fff6fb 28px);border:2px dashed var(--pink);box-shadow:none}
.sc.add::before{display:none}
.add-ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--hot);color:#fff}.add-ico svg{width:30px;height:30px}
.sc.add h3{font:800 22px var(--serif);margin:6px 0 0}.sc.add p{color:var(--txt);margin:0 0 8px}
.none{grid-column:1/-1;text-align:center;background:#fff;border-radius:24px;padding:40px 20px;box-shadow:0 20px 44px -30px rgba(28,18,64,.5)}
.none p{font-weight:700;color:var(--txt)}

/* pager */
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:30px}
.pager button{min-width:46px;height:46px;border-radius:14px;border:2px solid #ece6fb;background:#fff;color:var(--ink);font:800 15px var(--sans);cursor:pointer;padding:0 14px;transition:all .18s}
.pager button:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}
.pager button.on{background:var(--hot);border-color:transparent;color:#fff;box-shadow:0 10px 22px -8px rgba(255,61,127,.6)}
.pager button:disabled{opacity:.4;cursor:default}
.note{text-align:center;color:var(--mut);font-size:13px;margin:22px auto 0;max-width:640px}

/* explore */
.band{padding:clamp(44px,6vw,70px) 0}
.b-explore{background:linear-gradient(180deg,#fffaf4,#f3edff)}
.b-explore h2{font:800 clamp(26px,3vw,36px) var(--serif);margin:0 0 22px}
.explore{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ex{position:relative;display:block;min-height:200px;border-radius:24px;overflow:hidden;background:var(--hot);box-shadow:0 20px 40px -24px rgba(28,18,64,.6);transition:transform .3s}
.ex.e1{background:linear-gradient(135deg,#14c8b4,#3aa8ff)}.ex.e2{background:linear-gradient(135deg,#ff8a3d,#ffc93c)}.ex.e3{background:linear-gradient(135deg,#7b3dff,#ff3d7f)}
.ex:hover{transform:translateY(-6px)}
.ex img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;mix-blend-mode:luminosity}
.ex>span{position:absolute;inset:auto 18px 18px;color:#fff}
.ex b{display:block;font:800 22px/1.2 var(--serif);margin-bottom:6px}.ex small{display:flex;gap:6px;font-weight:700;font-size:13px}

@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.spot{grid-template-columns:1fr}.spot-mock{max-width:420px}.explore{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.grid{grid-template-columns:1fr}.searchrow{grid-template-columns:1fr}.finder{position:static;padding:18px 16px}.chips{max-height:none}
 .shero{min-height:0}.stats div{padding:10px 14px}.stats b{font-size:24px}.explore{grid-template-columns:1fr}.spot-mock{transform:none}}
@media(prefers-reduced-motion:reduce){.shero>img,.aurora i{animation:none}}
