/* ============================================================
   Eldfall Chronicles — Fan Hub
   ============================================================ */
:root{
  --bg:#0b1112;
  --panel:#131a1b;
  --gold:#e8c987;
  --gold-bright:#f6e3b4;
  --gold-dim:#a9863f;
  --ink:#d6ccae;
  --ink-dim:#95917c;
  --red:#b5502a;
  --parch:#e6d5ad;
  --parch-ink:#3a2c18;
  --line:rgba(232,201,135,.4);
  --line-soft:rgba(232,201,135,.2);
  --display:'Yeseva One',serif;
  --serif-lat:'Forum',serif;
  --serif:'Cormorant',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--serif);
  font-size:17px;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ---------- шапка ---------- */
.site-header{position:relative;z-index:30}
.topbar{
  display:flex;align-items:center;gap:24px;
  max-width:1220px;margin:0 auto;padding:16px 28px;
  background:linear-gradient(180deg,#161d1e,#0f1516);
  border-bottom:1px solid var(--line-soft);
  position:relative;
}
.topbar::before,.topbar::after{
  content:"";position:absolute;top:50%;width:16px;height:70%;transform:translateY(-50%);
  background:radial-gradient(circle at 50% 50%,#2a201400,#0000 70%);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.brand__mark{width:52px;height:auto}
.brand .custom-logo{max-height:52px;width:auto}
.brand__text{font-family:var(--serif-lat);font-size:20px;letter-spacing:.06em;color:var(--gold-bright)}
.main-nav{flex:1}
.main-nav ul{list-style:none;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}
.main-nav li{display:flex;align-items:center}
.main-nav li:not(:last-child)::after{
  content:"";width:4px;height:4px;margin:0 18px;transform:rotate(45deg);
  background:var(--gold-dim);opacity:.6;
}
.main-nav a{
  font-family:var(--serif-lat);font-size:16px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;padding:6px 2px 8px;position:relative;transition:color .2s;
  white-space:nowrap;
}
.main-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transition:left .25s,right .25s}
.main-nav a:hover{color:var(--gold-bright)}
.main-nav a:hover::after{left:0;right:0}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--gold-bright)}
.main-nav .current-menu-item>a::after,.main-nav .current_page_item>a::after{left:0;right:0;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent)}
.auth{display:flex;gap:10px;flex:0 0 auto}
.btn{
  font-family:var(--serif-lat);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  padding:10px 22px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:.2s;cursor:pointer;
}
.btn--ghost{color:var(--gold);border:1px solid var(--line);background:transparent}
.btn--ghost:hover{background:rgba(232,201,135,.1)}
.btn--gold{color:#241a08;border:1px solid var(--gold-bright);background:linear-gradient(180deg,#f3ddaa,#d9b877 60%,#c6a25c);box-shadow:0 0 14px rgba(232,201,135,.25)}
.btn--gold:hover{filter:brightness(1.06)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:5px;padding:8px 10px;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--gold);margin:4px 0}

/* лента под меню */
.ribbon{text-align:center;margin-top:-1px}
.ribbon span{
  display:inline-block;font-family:var(--serif-lat);font-size:14px;letter-spacing:.14em;
  color:var(--gold);text-transform:uppercase;
  padding:6px 46px;background:linear-gradient(180deg,#1a2122,#10171700);
  position:relative;
}
.ribbon span::before,.ribbon span::after{
  content:"";position:absolute;top:50%;width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim));
}
.ribbon span::before{right:100%}
.ribbon span::after{left:100%;transform:scaleX(-1)}

/* ---------- герой ---------- */
.eldhub-hero{
  background:linear-gradient(rgba(8,12,13,.35),rgba(8,12,13,.72)),url("../img/hero-bg.jpg") center 30% / cover no-repeat;
  text-align:center;padding:90px 20px 70px;position:relative;
  border-bottom:1px solid var(--line-soft);
}
.hero-logo{font-family:var(--display);color:var(--gold-bright);line-height:.94;text-shadow:0 0 34px rgba(246,227,180,.4),0 0 90px rgba(181,80,42,.4)}
.hero-logo__l1{font-size:clamp(48px,8vw,104px);display:flex;align-items:center;justify-content:center;gap:8px}
.hero-logo__l2{font-size:clamp(42px,7vw,94px);letter-spacing:.02em}
.hero-logo__flame{width:.6em;height:.82em;flex:0 0 auto;filter:drop-shadow(0 0 12px rgba(246,180,90,.8))}
.hero-logo__img{display:block;max-width:min(680px,88%);height:auto;margin:0 auto;filter:drop-shadow(0 0 30px rgba(246,227,180,.35)) drop-shadow(0 0 70px rgba(181,80,42,.35))}
.hero-sub{
  margin-top:22px;font-family:var(--serif-lat);font-size:clamp(16px,2vw,22px);
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink);
  position:relative;display:inline-block;padding:0 60px;
}
.hero-sub::before,.hero-sub::after{content:"";position:absolute;top:50%;width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.hero-sub::before{right:100%}
.hero-sub::after{left:100%;transform:scaleX(-1)}

/* ---------- контейнер ---------- */
.wrap{max-width:1220px;margin:0 auto;padding:0 28px}
.row{display:grid;gap:28px;margin-top:36px}
.row--top{grid-template-columns:1.7fr 1fr;align-items:stretch}
.row--main{grid-template-columns:0.95fr 1.6fr;margin-top:34px;margin-bottom:60px;align-items:start}

/* панели */
.panel{
  background:linear-gradient(180deg,rgba(20,28,29,.86),rgba(11,17,18,.92));
  border:1px solid var(--line);border-radius:6px;padding:24px 26px;position:relative;
  box-shadow:0 16px 44px rgba(0,0,0,.5);
}
.panel--lg{padding:34px 34px 30px}
.panel__title{
  font-family:var(--serif-lat);font-size:20px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-bright);padding-bottom:12px;margin-bottom:16px;
  border-bottom:1px solid var(--line-soft);
}
.panel__title--center{text-align:center;font-size:clamp(20px,2.6vw,30px);border-bottom:none;margin-bottom:24px;position:relative}
.panel__title--center::after{content:"";display:block;width:120px;height:1px;margin:12px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* уголки-филигрань */
.corner{position:absolute;width:34px;height:34px;background:url("../img/corner.svg") center/contain no-repeat;opacity:.8}
.corner--tl{top:8px;left:8px}
.corner--tr{top:8px;right:8px;transform:scaleX(-1)}
.corner--bl{bottom:8px;left:8px;transform:scaleY(-1)}
.corner--br{bottom:8px;right:8px;transform:scale(-1)}

/* ---------- свиток события ---------- */
.scroll{
  position:relative;
  background:url("../img/scroll.jpg") center/cover;
  border-radius:8px;
  padding:14px 60px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 40px rgba(0,0,0,.55),inset 0 0 60px rgba(60,40,18,.4);
}
.scroll::before,.scroll::after{
  content:"";position:absolute;top:-6px;bottom:-6px;width:34px;
  background:linear-gradient(90deg,#2a1d0e,#5a4326 45%,#3a2a14);
  border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.5);
}
.scroll::before{left:-10px}
.scroll::after{right:-10px}
.scroll__inner{text-align:center;color:var(--parch-ink);padding:20px 0}
.scroll__title{font-family:var(--serif);font-weight:700;font-style:italic;font-size:clamp(26px,3.4vw,40px);color:#4a3410;margin-bottom:12px}
.scroll__count{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap}
.scroll__lbl{font-family:var(--serif);font-size:20px;color:#5a4520}
.countdown{font-family:var(--serif-lat);font-size:clamp(24px,3vw,36px);color:#3a2a12;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.countdown span{font-size:.55em;color:#6a5228;margin-left:1px}
.scroll__btn{margin-top:16px}

/* мини-календарь недели на свитке */
.scroll__inner--cal{width:100%;padding:18px 8px 20px}
.scroll__title--sm{font-size:clamp(20px,2.4vw,28px);margin-bottom:2px}
.weekcal{width:100%;text-align:center}
.weekcal__range{display:block;font-family:var(--serif);font-style:normal;font-size:16px;color:#6a5024;margin-top:2px;letter-spacing:.02em}
.weekcal__note{color:#5a4520;font-size:16px;margin-top:8px}
.weekcal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px}
.weekcal__day{
  min-height:64px;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:5px 3px;border-radius:5px;
  background:rgba(247,238,214,.42);border:1px solid rgba(106,80,36,.35);
}
.weekcal__wd{font-family:var(--serif-lat);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8a6a34}
.weekcal__num{font-family:var(--serif-lat);font-size:16px;line-height:1;color:#4a3410}
.weekcal__day.has{background:rgba(240,217,166,.6);border-color:rgba(138,106,44,.55)}
.weekcal__day.today{outline:2px solid var(--red);outline-offset:-2px}
.weekcal__day.today .weekcal__num{color:#8a2f16}
.weekcal__ev{
  display:block;width:100%;font-family:var(--serif);font-size:11px;line-height:1.15;
  color:#241a08;background:linear-gradient(180deg,#f0d9a6,#d9b877);
  border-radius:3px;padding:2px 4px;text-decoration:none;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.weekcal__ev:hover{filter:brightness(1.05)}
.weekcal__more{
  display:inline-block;margin-top:14px;font-family:var(--serif-lat);font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;color:#5a4320;text-decoration:none;
  border-bottom:1px solid rgba(90,66,32,.5);padding-bottom:2px;transition:.2s;
}
.weekcal__more:hover{color:#3a2a12;border-color:#3a2a12}
@media (max-width:560px){
  .weekcal__grid{gap:3px}
  .weekcal__day{min-height:54px;padding:4px 2px}
  .weekcal__ev{font-size:0;padding:4px}
  .weekcal__ev::before{content:"•";font-size:14px}
}

/* ---------- новости ---------- */
.news__list{display:flex;flex-direction:column}
.news__item{
  display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line-soft);
  transition:.2s;
}
.news__item:last-child{border-bottom:none}
.news__date{display:block;font-family:var(--serif-lat);font-size:12px;letter-spacing:.06em;color:var(--gold-dim);margin-bottom:3px}
.news__head{display:block;font-size:17px;color:var(--ink);line-height:1.35}
a.news__item:hover .news__head{color:var(--gold-bright)}

/* ---------- галерея примеров покраса ---------- */
.gallery--full{margin:40px 0 60px}
.section-title{
  font-family:var(--serif-lat);font-size:clamp(22px,3vw,32px);letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-bright);text-align:center;margin-bottom:28px;position:relative;
}
.section-title::after{content:"";display:block;width:130px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery__grid--wide{grid-template-columns:repeat(4,1fr);gap:20px}
.gallery--full .gallery__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.gallery__empty{text-align:center;padding:50px 20px;border:1px dashed var(--line-soft);border-radius:8px;background:rgba(19,26,27,.5);margin-bottom:8px}
.gallery__empty p{color:var(--ink-dim);margin-bottom:16px;font-size:17px}
.mini__img--empty{width:100%;aspect-ratio:5/6;background:repeating-linear-gradient(45deg,#0f1516,#0f1516 8px,#121a1b 8px,#121a1b 16px)}
.mini{margin:0}
.mini__frame{
  border:2px solid var(--gold-dim);border-radius:4px;overflow:hidden;
  background:#0d1213;box-shadow:0 8px 20px rgba(0,0,0,.5);
  transform:rotate(-1deg);transition:transform .25s,box-shadow .25s;
}
.mini:nth-child(even) .mini__frame{transform:rotate(1.4deg)}
.mini:nth-child(3n) .mini__frame{transform:rotate(-.6deg)}
.mini:nth-child(4n) .mini__frame{transform:rotate(1deg)}
.mini:hover .mini__frame{transform:rotate(0) scale(1.03);box-shadow:0 12px 28px rgba(0,0,0,.6),0 0 16px rgba(232,201,135,.25)}
.mini__img{width:100%;aspect-ratio:5/6;object-fit:cover}
.mini__empty{
  aspect-ratio:5/6;display:flex;align-items:center;justify-content:center;
  color:var(--ink-dim);font-family:var(--serif-lat);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;background:repeating-linear-gradient(45deg,#0f1516,#0f1516 8px,#121a1b 8px,#121a1b 16px);
}
.mini__cap{text-align:center;margin-top:8px;font-size:15px;color:var(--ink)}
.mini__author{display:block;font-family:var(--serif-lat);font-size:11px;letter-spacing:.05em;color:var(--gold-dim);margin-top:1px}
.gallery__foot{text-align:center;margin-top:30px}
.btn--frame{
  display:inline-block;font-family:var(--serif-lat);font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-bright);text-decoration:none;padding:13px 34px;
  border:1px solid var(--gold);border-radius:3px;
  box-shadow:inset 0 0 0 3px rgba(11,17,18,.9),0 0 16px rgba(232,201,135,.15);
  transition:.2s;
}
.btn--frame:hover{background:rgba(232,201,135,.1)}

/* ---------- футер ---------- */
.site-footer{border-top:1px solid var(--line-soft);background:linear-gradient(180deg,#0f1516,#0a0f10);margin-top:40px}
.footer-inner{max-width:1220px;margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.copyright{font-size:13px;letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;font-family:var(--serif-lat)}
.socials{display:flex;gap:14px}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.2s}
.socials a:hover{background:rgba(232,201,135,.12)}
.socials svg{width:17px;height:17px;fill:var(--gold)}

/* ---------- внутренние страницы ---------- */
.site-main.single-col{max-width:820px;margin:40px auto;padding:0 4px}
.page-title{font-family:var(--display);font-size:clamp(28px,4vw,44px);color:var(--gold-bright);margin-bottom:20px}
.post-meta{font-family:var(--serif-lat);font-size:13px;letter-spacing:.06em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px}
.entry-content{line-height:1.7;color:var(--ink)}
.entry-content p{margin-bottom:1em}
.entry-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.post-card{border:1px solid var(--line-soft);border-radius:6px;background:rgba(19,26,27,.6);padding:22px 24px;margin-bottom:20px}
.post-card h2 a{color:#e6dcc0;text-decoration:none}
.post-card h2 a:hover{color:var(--gold-bright)}

/* ---------- доступность ---------- */
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1000px){
  .row--top{grid-template-columns:1fr}
  .row--main{grid-template-columns:1fr}
  .factions__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .topbar{flex-wrap:wrap;gap:14px;position:relative}
  .burger{display:block;order:3;margin-left:auto}
  .auth{order:2}
  .main-nav{order:4;flex-basis:100%;display:none}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:0;align-items:stretch}
  .main-nav li:not(:last-child)::after{display:none}
  .main-nav li{border-bottom:1px solid var(--line-soft)}
  .main-nav a{display:block;text-align:center;padding:14px}
  .factions__grid{grid-template-columns:repeat(2,1fr)}
  .gallery__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .eldhub-hero{padding:60px 16px 44px}
  .scroll{padding:10px 30px}
  .scroll::before,.scroll::after{width:20px}
  .factions__grid{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{flex-direction:column;text-align:center}
  .topbar{padding:12px 16px}
}
