/* ============================================================
   Шахматен клуб „Лидер" — Златоград
   Основни стилове
   ============================================================ */

:root{
  --bg:#07090e;
  --bg-2:#0b0e16;
  --panel:#10131c;
  --panel-2:#151925;
  --ink:#f3eee2;
  --ink-soft:#a9a394;
  --ink-dim:#726c5f;
  --line:rgba(222,201,146,.14);
  --line-strong:rgba(222,201,146,.30);
  --gold:#d9b45a;
  --gold-lite:#f4e4b3;
  --gold-deep:#a2782d;
  --shadow:0 24px 60px -28px rgba(0,0,0,.55);
  --r:14px;
  --serif:'Playfair Display','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --wrap:1120px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body::before{ /* фонов ефект за цялата страница */
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(1100px 650px at 82% -8%, rgba(217,180,90,.09), transparent 60%),
    linear-gradient(180deg,var(--bg) 0%, var(--bg-2) 45%, var(--bg) 100%);
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}

::selection{background:rgba(217,180,90,.28);color:#fff}

.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}

/* ---------- типографски помощници ---------- */
.kicker{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:.75rem;
}
.kicker::before{
  content:"";
  width:1.8rem;height:1px;
  background:var(--gold);opacity:.6;
}

.gold{
  background:linear-gradient(180deg,#f6e6bf 0%,#dfbe7c 55%,#b78f42 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.12;letter-spacing:-.01em}

.section-head{max-width:52ch;margin-bottom:clamp(2rem,4.5vw,3.2rem)}
.section-head h2{
  font-size:clamp(1.9rem,4vw,2.9rem);
  margin:.9rem 0 .8rem;
}
.section-head p{color:var(--ink-soft);font-size:1.02rem;line-height:1.6}

/* ---------- бутони ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.6rem;
  border-radius:999px;
  font-size:.88rem;font-weight:600;letter-spacing:.01em;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s, color .25s;
}
.btn svg{width:1.05em;height:1.05em}
.btn--gold{
  background:linear-gradient(180deg,#eed9a6,#d9b45a 60%,#c49b45);
  color:#241a08;
  box-shadow:0 8px 22px -10px rgba(217,180,90,.5);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(217,180,90,.6)}
.btn--ghost{
  border:1px solid var(--line-strong);
  color:var(--ink);
}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lite);transform:translateY(-2px)}

/* ============================================================
   Навигация
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem clamp(1.25rem,4vw,2.75rem);
  transition:background .4s, padding .4s, border-color .4s, backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(9,11,17,.82);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--line);
  padding-block:.8rem;
}
.nav__brand{display:flex;align-items:center;gap:.7rem;flex:none;position:relative;z-index:3}
.nav__brand img{width:40px;height:40px;transition:width .4s,height .4s}
.nav.scrolled .nav__brand img{width:34px;height:34px}
.nav__brand-text{display:flex;flex-direction:column;line-height:1}
.nav__brand-text b{font-family:var(--serif);font-size:1.08rem;font-weight:800;letter-spacing:.18em}
.nav__brand-text i{font-style:normal;font-size:.56rem;font-weight:600;letter-spacing:.32em;color:var(--ink-soft);margin-top:.28rem}

.nav__links{display:flex;align-items:center;gap:1.35rem;margin-left:auto}
.nav__links a{
  font-size:.86rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft);
  position:relative;padding:.3rem 0;transition:color .25s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right .3s var(--ease);
}
.nav__links a:hover{color:var(--ink)}
.nav__links a:hover::after{right:0}
.nav__cta{padding:.62rem 1.3rem;font-size:.82rem}

.nav__burger{display:none;position:relative;z-index:3;width:44px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.nav__burger span{width:22px;height:2px;background:var(--ink);transition:.3s var(--ease)}
.nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

html.menu-lock,html.menu-lock body{overflow:hidden}

@media (max-width:1120px){
  .nav.menu-open{
    background:transparent !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    border-bottom-color:transparent !important;
  }
  .nav__burger{
    display:flex;position:fixed;top:1rem;right:1rem;z-index:9999;
  }
  .nav.menu-open .nav__burger span{background:#fff}

  .nav__links{
    position:fixed;left:0;top:0;right:0;bottom:0;z-index:9000;
    width:100%;min-height:100vh;min-height:100dvh;
    flex-direction:column;align-items:center;justify-content:center;gap:1.15rem;
    padding:5rem 1.5rem 2.5rem;
    background:#0a0d14;
    opacity:0;pointer-events:none;
    transition:opacity .3s var(--ease);
  }
  .nav__links.open{opacity:1;pointer-events:auto}
  .nav__links a{font-size:1.2rem;font-weight:500;color:var(--ink);padding:.5rem 1rem}
  .nav__links a::after{display:none}
  .nav__links a.active{color:var(--gold-lite)}
  .nav__cta{margin-top:.9rem;font-size:1rem;padding:.9rem 2.2rem;color:#241a08}
}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  overflow:hidden;
  padding:7rem 0 4rem;
}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hero__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg, var(--bg) 0%, rgba(7,9,14,.9) 28%, rgba(7,9,14,.45) 46%, transparent 66%),
    linear-gradient(180deg, rgba(7,9,14,.6) 0%, transparent 22% 55%, var(--bg) 99%);
}
.hero__inner{
  position:relative;z-index:2;max-width:min(42ch,90vw);
  transition:opacity 1s var(--ease) .15s, transform 1s var(--ease) .15s;
}
.hero__inner::before{
  content:"";position:absolute;z-index:-1;inset:-8% -18% -10% -40%;
  background:radial-gradient(60% 60% at 35% 50%, rgba(6,8,13,.72), transparent 75%);
  filter:blur(8px);
}
.hero__title{
  font-size:clamp(3.1rem,10.5vw,7.6rem);
  line-height:.92;
  letter-spacing:.02em;
  margin:1.2rem 0 .3rem;
  text-shadow:0 10px 44px rgba(0,0,0,.7);
}
.hero__sub{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(1.15rem,3.2vw,1.7rem);
  color:var(--ink);
  margin-bottom:1.4rem;
}
.hero__text{color:#d9d3c5;font-size:1.08rem;margin-bottom:2.2rem;max-width:38ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem}

.hero__scroll{
  position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:.55rem;
  font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);
  transition:opacity .6s var(--ease);
}
.hero__scroll i{
  width:1px;height:46px;background:linear-gradient(var(--gold),transparent);
  animation:scrollpulse 2.2s var(--ease) infinite;
}
@keyframes scrollpulse{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}

/* Заместващ Hero, ако 3D не се зареди */
.hero__fallback{display:none}
body.no-3d .hero__canvas{display:none}
body.no-3d .hero__fallback{
  display:block;position:absolute;inset:0;z-index:0;overflow:hidden;
}
body.no-3d .hero__fallback::before{
  content:"";position:absolute;inset:-20%;
  background-image:
    linear-gradient(45deg,rgba(0,0,0,.5) 25%,transparent 25% 75%,rgba(0,0,0,.5) 75%),
    linear-gradient(45deg,rgba(0,0,0,.5) 25%,transparent 25% 75%,rgba(0,0,0,.5) 75%);
  background-size:14vmin 14vmin;
  background-position:0 0, 7vmin 7vmin;
  background-color:#171a22;
  transform:perspective(900px) rotateX(64deg) rotateZ(38deg) scale(1.3);
  transform-origin:center 65%;
  opacity:.55;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 45%,#000,transparent 78%);
          mask-image:radial-gradient(60% 60% at 50% 45%,#000,transparent 78%);
}
body.no-3d .hero__fallback::after{
  content:"";position:absolute;right:6%;top:50%;width:min(42vw,420px);aspect-ratio:1;
  transform:translateY(-50%);
  background:url("images/logo-white.png") center/contain no-repeat;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.6));
  opacity:.9;
}
@media (max-width:820px){ body.no-3d .hero__fallback::after{display:none} }

/* ============================================================
   Интро (лоудинг + „направи своя ход")
   ============================================================ */
.intro{
  position:fixed;inset:0;z-index:4000;
  display:grid;place-items:center;
  background:var(--bg);
  transition:opacity .9s var(--ease), background .8s var(--ease);
  animation:introFailsafe 1s linear 20s forwards;   /* аварийно махане, ако JS забие */
}
@keyframes introFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
.intro.transparent{background:transparent}
.intro.ask{pointer-events:none}          /* клик минава към дъската */
.intro.ask .intro__skip{pointer-events:auto}
.intro.playing{background:transparent;pointer-events:none}
.intro.gone{opacity:0;pointer-events:none}

body.intro-active .hero__inner,
body.intro-active .hero__scroll{pointer-events:none}
body.intro-active .hero__scroll{opacity:0}

.intro__stage{position:relative;display:grid;place-items:center;text-align:center;padding:2rem}
.intro__load{transition:opacity .5s var(--ease), transform .5s var(--ease)}
.intro.ask .intro__load{opacity:0;transform:translateY(-18px)}

.intro__logo{
  width:min(300px,62vw);
  filter:drop-shadow(0 26px 60px rgba(0,0,0,.6));
  animation:introGlow 2.6s var(--ease) infinite;
}
@keyframes introGlow{
  0%,100%{filter:drop-shadow(0 26px 60px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(217,180,90,.15))}
  50%{filter:drop-shadow(0 26px 60px rgba(0,0,0,.6)) drop-shadow(0 0 26px rgba(217,180,90,.5))}
}
.intro__bar{
  width:190px;height:2px;margin:2rem auto 0;
  background:rgba(240,230,210,.12);overflow:hidden;border-radius:2px;
}
.intro__bar i{display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-lite));
  transition:width .3s linear;
}

.intro__move{
  position:absolute;left:50%;top:clamp(1.8rem,6vh,3.8rem);transform:translateX(-50%);
  width:max-content;max-width:92vw;text-align:center;
  opacity:0;pointer-events:none;transition:opacity .6s var(--ease) .15s;
}
.intro.ask .intro__move{opacity:1}
.intro__move::before{
  content:"";position:absolute;z-index:-1;inset:-1.6em -3em;
  background:radial-gradient(60% 130% at 50% 45%, rgba(5,7,11,.78), rgba(5,7,11,.3) 60%, transparent);
}
.intro__cue{
  font-family:var(--serif);font-weight:800;white-space:nowrap;
  font-size:clamp(1.6rem,4.6vw,2.7rem);letter-spacing:.01em;
  background:linear-gradient(180deg,#fef3dc,#ecca87 45%,#c99a4a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 18px rgba(0,0,0,.95));
  animation:cuePulse 2.4s var(--ease) infinite;
}
@keyframes cuePulse{0%,100%{opacity:.84}50%{opacity:1}}
.intro__sub{margin-top:.55rem;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:#e0d8c6;text-shadow:0 2px 14px rgba(0,0,0,1)}

.intro__skip{
  position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);
  font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);
  background:none;border:0;padding:.5rem 1rem;cursor:pointer;
  opacity:0;transition:opacity .5s .6s;
}
.intro.ask .intro__skip{opacity:.55}
.intro__skip:hover{opacity:1;color:var(--gold-lite)}

.intro__flash{
  position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 50% 54%, #fff, #f7e7be 38%, rgba(247,231,190,0) 72%);
  mix-blend-mode:screen;
}

/* докато интрото върви — крием менюто и текста на hero-а */
body.intro-active{overflow:hidden}
body.intro-active .nav{opacity:0;transform:translateY(-12px);pointer-events:none}
body.intro-active .hero__inner{opacity:0;transform:translateY(24px)}
.nav{transition:background .4s, padding .4s, border-color .4s, backdrop-filter .4s, opacity .8s var(--ease) .2s, transform .8s var(--ease) .2s}

@media (prefers-reduced-motion:reduce){
  .intro__logo{animation:none}
  .intro{animation:none}
}

/* ============================================================
   Секции — общ ритъм
   ============================================================ */
section[id]{scroll-margin-top:5rem}
.band{padding:clamp(4.5rem,11vw,8.5rem) 0;position:relative}
.band--alt{background:rgba(255,255,255,.014)}

.divider{display:flex;align-items:center;justify-content:center;gap:1.4rem;color:var(--gold);opacity:.5}
.divider::before,.divider::after{content:"";height:1px;width:min(28vw,220px);background:linear-gradient(90deg,transparent,var(--gold))}
.divider::after{background:linear-gradient(90deg,var(--gold),transparent)}

/* ---------- За клуба ---------- */
.about{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.about__body p+p{margin-top:1.1rem}
.about__body p{color:var(--ink-soft)}
.about__body strong{color:var(--ink)}
.about__card{
  border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.8rem;
  background:var(--panel);
}
.about__card h3{font-size:1.15rem;margin-bottom:1.2rem;color:var(--gold-lite)}
.about__card ul{list-style:none;display:grid;gap:1rem}
.about__card li{display:flex;gap:.9rem;font-size:.95rem;color:var(--ink-soft)}
.about__card li b{color:var(--ink);font-family:var(--serif);font-size:1.05rem}
.about__card svg{width:20px;height:20px;flex:none;color:var(--gold);margin-top:.15rem}

.stats-strip{
  margin-top:clamp(2.5rem,6vw,4rem);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.stats-strip div{background:var(--bg-2);padding:1.6rem 1.2rem;text-align:center}
.stats-strip b{display:block;font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.3rem);color:var(--gold-lite)}
.stats-strip span{font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft)}

/* ---------- Турнирът ---------- */
.tourney{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.tourney__media{
  position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:4/5;box-shadow:var(--shadow);
}
.tourney__media img{width:100%;height:100%;object-fit:cover}
.tourney__badge{
  position:absolute;left:1rem;top:1rem;z-index:2;
  padding:.5rem 1rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  background:rgba(9,11,17,.7);border:1px solid var(--line-strong);color:var(--gold-lite);backdrop-filter:blur(6px);
}
.tourney__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:1.8rem 0}
.tourney__grid div{background:var(--bg-2);padding:1.1rem 1.15rem}
.tourney__grid dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.tourney__grid dd{font-size:.98rem;margin-top:.25rem;color:var(--ink)}
.pull{
  font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2.6vw,1.5rem);
  line-height:1.4;color:var(--ink);border-left:2px solid var(--gold);padding-left:1.2rem;margin:1.6rem 0;
}

/* ---------- Фестивал 2026 ---------- */
.tourney__media--poster{aspect-ratio:3/4}
.tourney__media--poster img{object-position:top}

.prizefund{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.prizefund b{
  font-family:var(--serif);font-weight:900;font-size:clamp(2.6rem,7vw,3.8rem);line-height:1;
}
.prizefund span{font-size:.9rem;color:var(--ink-soft);line-height:1.4}

.festival-events{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.6rem}
.fev{
  border:1px solid var(--line);border-radius:14px;padding:1.3rem;
  background:var(--panel);
}
.fev h4{font-family:var(--serif);font-size:1.1rem;color:var(--gold-lite);margin-bottom:.5rem}
.fev p{font-size:.86rem;color:var(--ink-soft)}

/* обратно броене */
.countdown{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  max-width:460px;margin:0 0 clamp(2.5rem,6vw,3.5rem);
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.countdown div{background:var(--bg-2);padding:1.1rem .6rem;text-align:center}
.countdown b{
  display:block;font-family:var(--serif);font-weight:800;
  font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1;color:var(--gold-lite);
  font-variant-numeric:tabular-nums;
}
.countdown span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}

.track-record{
  margin-top:clamp(2.5rem,6vw,4rem);padding-top:clamp(2rem,5vw,3rem);
  border-top:1px solid var(--line);
  display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:clamp(1.5rem,4vw,2.5rem);align-items:center;
}
.track-record img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}

/* ---------- Събития ---------- */
.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(1.2rem,3vw,1.8rem)}
.event-card{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r);background:var(--panel);
  transition:transform .4s var(--ease),border-color .4s;
}
.event-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.event-card--featured{grid-column:1/-1;flex-direction:row}
.event-card__img{background:var(--panel-2);overflow:hidden}
.event-card__img img{width:100%;height:100%;object-fit:cover;display:block;min-height:180px}
.event-card--featured .event-card__img{flex:0 0 42%}
.event-card__body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.5rem}
.event-card__tag{
  align-self:flex-start;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.35rem .8rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-soft);
}
.event-card__tag--up{color:var(--gold-lite);border-color:var(--gold-deep);background:rgba(217,180,90,.08)}
.event-card__body h3{font-size:1.3rem}
.event-card__meta{font-size:.82rem;letter-spacing:.04em;color:var(--gold)}
.event-card__desc{font-size:.92rem;color:var(--ink-soft)}
@media (max-width:720px){ .event-card--featured{flex-direction:column} .event-card--featured .event-card__img{flex:none} }

/* ---------- Тренировки ---------- */
.groups{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2.4rem}
.groups span{
  padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--line-strong);
  font-size:.85rem;color:var(--ink-soft);
}
.groups span b{color:var(--gold-lite);font-weight:600}
.schedule{width:100%;border-collapse:collapse;font-size:.95rem}
.schedule caption{text-align:left;color:var(--ink-dim);font-size:.8rem;margin-bottom:.8rem}
.schedule th,.schedule td{padding:1rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.schedule th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.schedule tr:hover td{background:rgba(217,180,90,.05)}
.schedule td:first-child{font-family:var(--serif);font-size:1.05rem;color:var(--ink)}
.schedule td b{color:var(--gold-lite)}

/* ---------- Постижения (броячи) ---------- */
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2rem);text-align:center}
.counters div{border:1px solid var(--line);border-radius:var(--r);padding:2.2rem 1rem;background:linear-gradient(180deg,var(--panel-2),transparent)}
.counters b{display:block;font-family:var(--serif);font-size:clamp(2.4rem,6vw,3.6rem);color:transparent;
  background:linear-gradient(180deg,#f8ead0,#d9b45a 60%,#a97f30);-webkit-background-clip:text;background-clip:text}
.counters span{font-size:.82rem;letter-spacing:.06em;color:var(--ink-soft)}

/* ---------- Треньори ---------- */
.coaches{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2rem)}
.coach{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);transition:transform .3s var(--ease),border-color .3s}
.coach:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.coach__img{aspect-ratio:4/5;overflow:hidden;background:var(--panel-2)}
.coach__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.coach:hover .coach__img img{transform:scale(1.05)}
.coach__body{padding:1.4rem 1.4rem 1.7rem}
.coach__body h3{font-size:1.2rem}
.coach__body em{display:block;font-style:normal;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:.35rem 0 .8rem}
.coach__body p{font-size:.9rem;color:var(--ink-soft)}

/* ---------- Галерия ---------- */
.gallery{columns:3;column-gap:1rem}
.gallery figure{break-inside:avoid;margin-bottom:1rem;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);cursor:pointer}
.gallery img{width:100%;transition:transform .6s var(--ease),filter .4s}
.gallery figure:hover img{transform:scale(1.06)}
.gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1rem .9rem;
  font-size:.82rem;color:var(--ink);
  background:linear-gradient(transparent,rgba(7,9,14,.85));
  transform:translateY(101%);transition:transform .4s var(--ease);
}
.gallery figure:hover figcaption{transform:translateY(0)}

.lightbox{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:5vw;
  background:rgba(5,6,10,.92);backdrop-filter:blur(6px);
}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.lightbox button{position:absolute;top:1.5rem;right:1.7rem;font-size:2rem;color:var(--ink-soft)}
.lightbox button:hover{color:var(--gold)}

/* ---------- Контакти ---------- */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem)}
.contact__info{display:grid;gap:1.4rem;align-content:start}
.contact__row{display:flex;gap:1rem;align-items:flex-start}
.contact__row svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:.2rem}
.contact__row b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.contact__row span,.contact__row a{color:var(--ink-soft)}
.contact__row a:hover{color:var(--gold-lite)}
.contact__map{margin-top:.7rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;line-height:0}
.contact__map iframe{
  width:100%;height:230px;border:0;display:block;
  filter:grayscale(.35) contrast(.95) brightness(.9);
}

form{display:grid;gap:1.1rem;border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.6rem,4vw,2.4rem);background:var(--panel)}
form p{font-size:.88rem;color:var(--ink-soft);margin-bottom:.4rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.field input,.field textarea{
  width:100%;padding:.85rem 1rem;border-radius:10px;
  background:var(--bg);border:1px solid var(--line);color:var(--ink);
  font:inherit;transition:border-color .25s,box-shadow .25s;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,180,90,.15)}
.field textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
form .btn{justify-content:center;margin-top:.4rem}
.form-note{font-size:.78rem;color:var(--ink-dim)}

/* ============================================================
   Footer
   ============================================================ */
.footer{border-top:1px solid var(--line);padding:clamp(3rem,7vw,4.5rem) 0 2.2rem;background:var(--bg-2)}
.footer__top{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,6vw,4rem);align-items:start}
.footer__brand{display:flex;align-items:center;gap:.9rem}
.footer__brand img{width:46px;height:46px}
.footer__brand span{font-family:var(--serif);font-weight:800;letter-spacing:.14em;line-height:1.1;font-size:1.05rem}
.footer__brand i{display:block;font-style:normal;font-family:var(--sans);font-weight:500;font-size:.66rem;letter-spacing:.3em;color:var(--ink-soft);margin-top:.3rem}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.footer__col{display:flex;flex-direction:column;gap:.55rem}
.footer__col h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.footer__col a,.footer__col span{font-size:.86rem;color:var(--ink-soft);line-height:1.5}
.footer__col a:hover{color:var(--gold-lite)}
.footer__legal{margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;font-size:.78rem;color:var(--ink-dim)}
.footer__legal a:hover{color:var(--gold-lite)}
@media (max-width:820px){
  .footer__top{grid-template-columns:1fr;gap:2rem}
  .footer__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){ .footer__cols{grid-template-columns:1fr} }

/* ============================================================
   Reveal при скрол
   ============================================================ */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.06s}
.reveal.d2{transition-delay:.12s}
.reveal.d3{transition-delay:.18s}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero__scroll i{animation:none}
  .puzzle-board.pz-wrong{animation:none}
}

/* ============================================================
   Пъзел на деня
   ============================================================ */
.btn--sm{padding:.55rem 1rem;font-size:.8rem}

.puzzle-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:clamp(1.5rem,4vw,2.5rem);align-items:start}
.puzzle-board{
  display:grid;grid-template-columns:repeat(8,1fr);
  width:100%;max-width:390px;aspect-ratio:1;
  border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;
}
.pz-sq{
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(1.2rem,6vw,2rem);line-height:1;padding:0;border:0;cursor:pointer;
  aspect-ratio:1;transition:filter .15s;
}
.pz-l{background:#e6d0a6}
.pz-d{background:#a97c53}
.pz-sq:hover{filter:brightness(1.07)}
.pz-sel{box-shadow:inset 0 0 0 3px var(--gold)}
.pz-pc{pointer-events:none;font-family:'Segoe UI Symbol','Apple Symbols','Noto Sans Symbols2',sans-serif}
.pz-w{color:#f6ead0;text-shadow:0 0 1px #3a2a12,0 1px 2px rgba(0,0,0,.4)}
.pz-b{color:#22160d}
.puzzle-board.pz-wrong{animation:pzShake .42s}
@keyframes pzShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.puzzle-board.pz-win{outline:2px solid var(--gold);outline-offset:2px}

.puzzle-side{display:flex;flex-direction:column;gap:.9rem}
.puzzle-status{font-size:1rem;color:var(--ink)}
.puzzle-status b{color:var(--gold-lite)}
.puzzle-hint{font-size:.9rem;color:var(--ink-soft);border-left:2px solid var(--gold);padding-left:.8rem}
.puzzle-actions{display:flex;flex-wrap:wrap;gap:.5rem}

.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.pcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:1.5rem 1.5rem 1.6rem}
.pcard h3{font-size:1.12rem;color:var(--gold-lite);margin-bottom:.55rem}
.pcard p{font-size:.9rem;color:var(--ink-soft)}
.pcard a{color:var(--gold-lite);text-decoration:underline;text-underline-offset:2px}

@media (max-width:720px){
  .puzzle-wrap{grid-template-columns:1fr;justify-items:center;text-align:center}
  .puzzle-hint{text-align:left}
  .puzzle-actions{justify-content:center}
}

/* ============================================================
   Отзивчивост
   ============================================================ */
@media (max-width:1000px){
  .tourney,.about,.contact{grid-template-columns:1fr}
  .tourney__media{aspect-ratio:16/10;max-height:65vh}
  .tourney__media--poster{aspect-ratio:3/4;max-height:none}
  .counters{grid-template-columns:repeat(2,1fr)}
  .coaches{grid-template-columns:1fr 1fr}
  .gallery{columns:2}
  .track-record{grid-template-columns:1fr}
  .track-record img{max-width:360px}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 2rem)}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .tourney__grid{grid-template-columns:1fr}
  .festival-events{grid-template-columns:1fr}
  .sched3{grid-template-columns:1fr}
  .coaches{grid-template-columns:1fr}
  .gallery{columns:1}
  .form-row{grid-template-columns:1fr}
  .schedule thead{display:none}
  .schedule tr{display:grid;grid-template-columns:1fr;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .schedule td{border:none;padding:.25rem 0}
  .schedule td:first-child{font-size:1.15rem;margin-bottom:.2rem}
  .footer__legal{justify-content:flex-start}
}

/* ============================================================
   Многостраничен сайт — общи елементи
   ============================================================ */
.skip-link{
  position:fixed;left:1rem;top:.6rem;z-index:9999;
  padding:.6rem 1rem;border-radius:8px;background:var(--gold);color:#241a08;
  font-size:.82rem;font-weight:600;transform:translateY(-160%);transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* --- заглавен блок на подстраница --- */
.page-hero{
  position:relative;overflow:hidden;
  padding:clamp(8rem,17vw,11rem) 0 clamp(3rem,7vw,4.5rem);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(1000px 460px at 78% -30%, rgba(217,180,90,.12), transparent 62%),
    linear-gradient(180deg,var(--bg-2),var(--bg));
}
.page-hero::before{ /* фонова шахматна решетка */
  content:"";position:absolute;inset:0;z-index:0;opacity:.45;
  background-image:
    linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25% 75%,rgba(255,255,255,.03) 75%),
    linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25% 75%,rgba(255,255,255,.03) 75%);
  background-size:8vmin 8vmin;background-position:0 0,4vmin 4vmin;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);
          mask-image:linear-gradient(90deg,transparent,#000 60%);
}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{
  font-size:clamp(2.4rem,6.2vw,4.2rem);line-height:1.02;margin:1rem 0 .9rem;letter-spacing:.01em;
}
.page-hero p{max-width:56ch;color:var(--ink-soft);font-size:1.05rem}
.page-hero__meta{
  margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem;
}
.page-hero__meta span{
  font-size:.76rem;letter-spacing:.08em;color:var(--ink-soft);
  padding:.4rem .85rem;border:1px solid var(--line-strong);border-radius:999px;
}

/* --- начало: тийзъри и призив --- */
.teaser{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.teaser__lead p{color:var(--ink-soft)}
.teaser__lead p+p{margin-top:1rem}
.teaser__lead .btn{margin-top:1.6rem}

.home-banner{
  display:grid;grid-template-columns:minmax(0,230px) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;
  border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.4rem);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
}
.home-banner img{width:100%;border-radius:10px;border:1px solid var(--line);object-fit:cover}
.home-banner h2{font-size:clamp(1.6rem,3.6vw,2.3rem);margin:.5rem 0 .7rem}
.home-banner p{color:var(--ink-soft);margin-bottom:1.3rem}
.home-banner .hero__actions{margin-top:0}
@media (max-width:720px){ .home-banner{grid-template-columns:1fr} .home-banner img{max-width:260px} }

.home-cta{text-align:center;max-width:44ch;margin-inline:auto}
.home-cta h2{font-size:clamp(1.9rem,4.6vw,3rem);margin:.9rem 0 1rem}
.home-cta p{color:var(--ink-soft);margin-bottom:1.8rem}
.home-cta .hero__actions{justify-content:center}

/* ============================================================
   Времева линия на клуба
   ============================================================ */
.timeline{position:relative;margin-top:1rem;padding-left:1.6rem}
.timeline::before{
  content:"";position:absolute;left:.28rem;top:.4rem;bottom:.4rem;width:2px;
  background:linear-gradient(180deg,var(--gold),transparent);
}
.tl-item{position:relative;padding:0 0 2.2rem .4rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-1.6rem;top:.35rem;width:12px;height:12px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px rgba(217,180,90,.16);
}
.tl-item time{
  display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.4rem;
}
.tl-item h3{font-size:1.15rem;margin-bottom:.35rem}
.tl-item p{color:var(--ink-soft);font-size:.94rem;max-width:60ch}

/* ============================================================
   Мини-класиране на клуба
   ============================================================ */
.ranking{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ranking thead th{
  font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);
  text-align:left;padding:1rem 1.1rem;background:var(--bg-2);
}
.ranking td{padding:.95rem 1.1rem;border-top:1px solid var(--line)}
.ranking tbody tr:hover td{background:rgba(217,180,90,.05)}
.ranking .rk-no{font-family:var(--serif);color:var(--gold-lite);width:3rem}
.ranking .rk-name{font-weight:600;color:var(--ink)}
.ranking .rk-name a{color:inherit;border-bottom:1px solid var(--line-strong);transition:color .2s,border-color .2s}
.ranking .rk-name a:hover{color:var(--gold-lite);border-color:var(--gold)}
.ranking .rk-name small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-dim);border:0}
.ranking .rk-elo{font-variant-numeric:tabular-nums;color:var(--ink)}
.ranking .rk-elo span{color:var(--ink-dim)}
.ranking-note{margin-top:.9rem;font-size:.8rem;color:var(--ink-dim)}
@media (max-width:560px){
  .ranking thead{display:none}
  .ranking tr{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.2rem .6rem;padding:.8rem 1rem;border-top:1px solid var(--line);align-items:center}
  .ranking td{border:0;padding:0}
  .ranking .rk-title{grid-column:1/-1;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}
}

/* ============================================================
   Награден фонд — таблица
   ============================================================ */
.prize-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.98rem}
.prize-table th{
  text-align:left;padding:1rem 1.2rem;background:var(--bg-2);
  font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);
}
.prize-table td{padding:1rem 1.2rem;border-top:1px solid var(--line);color:var(--ink-soft)}
.prize-table td:first-child{font-family:var(--serif);color:var(--gold-lite);width:6rem}
.prize-table td b{color:var(--ink);font-variant-numeric:tabular-nums}
.prize-table tr.total td{background:rgba(217,180,90,.07);color:var(--ink)}
.prize-foot{margin-top:1rem;font-size:.86rem;color:var(--ink-soft)}

/* ============================================================
   Как се движат фигурите
   ============================================================ */
.movedemo{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:clamp(1.5rem,4vw,2.5rem);align-items:start}
.movedemo__board{
  display:grid;grid-template-columns:repeat(8,1fr);
  width:100%;max-width:400px;aspect-ratio:1;
  border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;
}
.md-sq{
  position:relative;display:flex;align-items:center;justify-content:center;
  font-size:clamp(1.2rem,6vw,2rem);line-height:1;border:0;cursor:pointer;aspect-ratio:1;
}
.md-l{background:#e6d0a6}
.md-d{background:#a97c53}
.md-sq:hover{filter:brightness(1.06)}
.md-pc{pointer-events:none;color:#f6ead0;text-shadow:0 0 1px #3a2a12,0 1px 2px rgba(0,0,0,.45)}
.md-pc.md-enemy{color:#241611;text-shadow:0 1px 1px rgba(255,255,255,.25)}
.md-from{box-shadow:inset 0 0 0 3px var(--gold)}
.md-move::after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;background:rgba(246,226,172,.6)}
.md-cap::after{content:"";position:absolute;inset:8%;border-radius:50%;border:3px solid rgba(246,226,172,.7);background:transparent;width:auto;height:auto}
.movedemo__side{display:flex;flex-direction:column;gap:1rem}
.movedemo__pieces{display:flex;flex-wrap:wrap;gap:.5rem}
.md-pick{
  display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:999px;
  border:1px solid var(--line-strong);color:var(--ink-soft);font:inherit;font-size:.86rem;cursor:pointer;transition:.2s;
}
.md-pick .md-ico{font-size:1.1rem;color:var(--gold-lite)}
.md-pick:hover{border-color:var(--gold)}
.md-pick.active{background:var(--gold);border-color:var(--gold);color:#241a08}
.md-pick.active .md-ico{color:#241a08}
.movedemo__desc{font-size:.92rem;color:var(--ink-soft);border-left:2px solid var(--gold);padding-left:.9rem;min-height:3rem}
.movedemo__hint{font-size:.8rem;color:var(--ink-dim)}
@media (max-width:720px){
  .movedemo{grid-template-columns:1fr;justify-items:center}
  .movedemo__side{width:100%;max-width:400px}
}

/* ============================================================
   Витрина „Златоград и Родопите"
   ============================================================ */
.showcase{max-width:70ch;margin-bottom:clamp(1.6rem,4vw,2.4rem)}
.showcase p+p{margin-top:1rem}
.showcase p{color:var(--ink-soft)}
.showcase strong{color:var(--ink);font-weight:600}

.zg-hero{margin:0 0 1rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.zg-hero img{width:100%;aspect-ratio:20/9;object-fit:cover;display:block}
.zg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.8rem}
.zg-row figure{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.zg-row img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.zg-row figcaption{padding:.6rem .85rem;font-size:.8rem;color:var(--ink-soft)}
.zg-credit{font-size:.72rem;color:var(--ink-dim);margin-bottom:clamp(2rem,5vw,3rem)}
.zg-credit a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}
.zg-credit a:hover{color:var(--gold-lite)}
@media (max-width:560px){ .zg-row{grid-template-columns:1fr} }

/* --- пъзел: точки за възможни ходове --- */
.pz-sq{position:relative}
.pz-mv::after{content:"";position:absolute;width:26%;height:26%;border-radius:50%;background:rgba(217,180,90,.55)}
.pz-last{box-shadow:inset 0 0 0 3px rgba(116,224,255,.45)}

/* ============================================================
   Начало — „Играй онлайн" призив
   ============================================================ */
.play-cta{
  display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;
  border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  padding:clamp(1.6rem,4vw,2.6rem);
}
.play-cta__body h2{font-size:clamp(1.7rem,3.8vw,2.4rem);margin:.7rem 0 .8rem}
.play-cta__body p{color:var(--ink-soft);margin-bottom:1.2rem;max-width:46ch}
.play-cta__opps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.play-cta__opps span{
  font-size:.78rem;letter-spacing:.04em;color:var(--ink-soft);
  padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);
}
.play-cta__art{
  position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  display:grid;place-items:center;background:#0c0f17;
}
.play-cta__grid{
  position:absolute;inset:0;opacity:.5;
  background-image:
    linear-gradient(45deg,rgba(217,180,90,.10) 25%,transparent 25% 75%,rgba(217,180,90,.10) 75%),
    linear-gradient(45deg,rgba(217,180,90,.10) 25%,transparent 25% 75%,rgba(217,180,90,.10) 75%);
  background-size:25% 25%;background-position:0 0,12.5% 12.5%;
}
.play-cta__pc{
  position:relative;font-size:clamp(4rem,12vw,7rem);line-height:1;
  color:var(--gold-lite);filter:drop-shadow(0 12px 30px rgba(0,0,0,.5));
}
@media (max-width:820px){
  .play-cta{grid-template-columns:1fr}
  .play-cta__art{width:200px;max-width:60%;justify-self:start;order:-1}
}

/* ============================================================
   Играй срещу клуба
   ============================================================ */
.pvc{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,270px);gap:clamp(1.5rem,4vw,2.5rem);align-items:start}
.pvc__main{min-width:0}
.pvc__color{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-bottom:1.2rem;font-size:.9rem;color:var(--ink-soft)}
.pvc__color span{color:var(--gold);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.pvc__color label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}
.pvc__opps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.pvc-opp{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;
  padding:1.1rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);
  cursor:pointer;transition:transform .2s var(--ease),border-color .2s;
}
.pvc-opp:hover{transform:translateY(-3px);border-color:var(--gold)}
.pvc-opp__ph{width:60px;height:60px;border-radius:50%;overflow:hidden;background:var(--panel-2);display:grid;place-items:center;margin-bottom:.3rem}
.pvc-opp__ph img{width:100%;height:100%;object-fit:cover}
.pvc-opp__ph--g{font-size:2rem;color:var(--gold-lite)}
.pvc-opp__name{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.pvc-opp__tag{font-size:.74rem;color:var(--ink-dim)}
.pvc-opp__diff{font-size:.72rem;color:var(--gold);letter-spacing:.03em}

#pvc-board{max-width:440px}
.pvc__panel{display:flex;flex-direction:column;gap:.9rem}
.pvc__moves{
  font-size:.82rem;line-height:1.7;color:var(--ink-soft);
  max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;background:var(--bg-2);
}
.pvc-mv{display:block;white-space:nowrap}
.pvc-mv i{display:inline-block;min-width:1.6rem;color:var(--ink-dim);font-style:normal;font-size:.76rem}
@media (max-width:820px){
  .pvc{grid-template-columns:1fr}
  #pvc-board{margin-inline:auto}
}

/* ============================================================
   Elo калкулатор
   ============================================================ */
.elo-wrap{display:grid;grid-template-columns:minmax(0,280px) 1fr;gap:clamp(1.5rem,4vw,2.5rem);align-items:start}
.elo-inputs{display:grid;gap:1rem}
.elo-out{border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem;background:var(--panel)}
.elo-exp{color:var(--ink-soft);margin-bottom:1rem}
.elo-exp b{color:var(--gold-lite);font-size:1.15rem}
.elo-table{width:100%;border-collapse:collapse;font-size:.95rem}
.elo-table th{
  text-align:left;padding:.6rem .7rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  border-bottom:1px solid var(--line);
}
.elo-table td{padding:.7rem .7rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.elo-table td:first-child{font-family:var(--serif);color:var(--ink)}
.elo-table tr:last-child td{border-bottom:0}
.elo-table .elo-win td:nth-child(2){color:#7ddc9a}
.elo-table .elo-loss td:nth-child(2){color:#e88a7f}
.elo-hint{margin-top:.9rem;font-size:.78rem;color:var(--ink-dim)}
@media (max-width:720px){ .elo-wrap{grid-template-columns:1fr} }

/* --- начало: секции без излишно голям отстъп на подстраниците --- */
.page-hero + .band{padding-top:clamp(3.5rem,8vw,6rem)}
#zapishi{scroll-margin-top:6.5rem}

/* --- програма на фестивала: дните като заглавия --- */
#programa .schedule{margin-bottom:0}
#programa .schedule caption{
  font-family:var(--serif);font-size:1.15rem;color:var(--gold-lite);
  letter-spacing:0;text-transform:none;margin-bottom:.6rem;
}
#programa .schedule td:first-child{white-space:nowrap;color:var(--gold);font-family:var(--sans);font-size:.92rem}
#programa .schedule td b{color:var(--ink)}
