/*
Theme Name: LiteBase
Theme URI: https://example.com/litebase
Author: UDC
Description: Лёгкая быстрая тема для контентных сайтов на 5–8 страниц + блог. Настройка цветов хедера/футера/тела в кастомайзере, управление индексацией, robots.txt, sitemap, коды GSC/GTM/GA, произвольный HTML на страницах. Translation-ready, совместима с Polylang/WPML.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: litebase
Tags: blog, custom-colors, custom-menu, translation-ready
*/

/* ==========================================================
   Переменные задаются в head из кастомайзера (inc/customizer.php).
   Здесь — дефолты на случай отключённого inline-CSS.
   ========================================================== */
:root{
  --lb-body-bg:#0f1420;
  --lb-body-text:#d7dce6;
  --lb-heading:#ffffff;
  --lb-accent:#f5b82e;
  --lb-accent-text:#161616;
  --lb-btn2:#22b573;
  --lb-btn2-text:#ffffff;
  --lb-header-bg:#0a0e17;
  --lb-header-text:#ffffff;
  --lb-footer-bg:#0a0e17;
  --lb-footer-text:#9aa3b2;
  --lb-card-bg:#171e2e;
  --lb-border:#242d40;
  --lb-link:#f5b82e;
  --lb-radius:12px;
  --lb-max:1160px;
}

/* --------- База --------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.65;
  background:var(--lb-body-bg);color:var(--lb-body-text);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--lb-link)}
a:hover{opacity:.85}
h1,h2,h3,h4,h5{color:var(--lb-heading);line-height:1.25;margin:1.4em 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.5vw,2.9rem);margin-top:0}
h2{font-size:clamp(1.45rem,3vw,2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.lb-container{max-width:var(--lb-max);margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--lb-accent);outline-offset:2px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* --------- Кнопки --------- */
.lb-btn,.wp-block-button__link{
  display:inline-block;padding:13px 30px;border-radius:999px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--lb-accent) 100%,white 18%),var(--lb-accent));
  color:var(--lb-accent-text);
  font-weight:800;text-decoration:none;border:0;cursor:pointer;
  transition:transform .15s,box-shadow .15s;text-align:center;
  box-shadow:0 6px 18px color-mix(in srgb,var(--lb-accent) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.4);
  letter-spacing:.01em;
}
.lb-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px color-mix(in srgb,var(--lb-accent) 65%,transparent);opacity:1}
.lb-btn--alt{background:linear-gradient(180deg,color-mix(in srgb,var(--lb-btn2) 100%,white 18%),var(--lb-btn2));color:var(--lb-btn2-text);box-shadow:0 6px 18px color-mix(in srgb,var(--lb-btn2) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.4)}
.lb-btn--ghost{background:transparent;color:var(--lb-heading);box-shadow:inset 0 0 0 2px var(--lb-border);border-radius:999px}
.lb-btn--sm{padding:9px 20px;font-size:.9rem}
.lb-btn--block{display:block;width:100%}

/* --------- Хедер --------- */
.lb-header{background:var(--lb-header-bg);color:var(--lb-header-text);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--lb-border)}
.lb-header__inner{display:flex;align-items:center;gap:24px;min-height:66px}
.lb-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--lb-header-text);font-weight:800;font-size:1.25rem}
.lb-logo img{max-height:42px;width:auto}
.lb-nav{margin-left:auto}
.lb-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.lb-nav a{display:block;padding:10px 14px;color:var(--lb-header-text);text-decoration:none;font-weight:600;border-radius:8px}
.lb-nav a:hover,.lb-nav .current-menu-item>a{background:rgba(255,255,255,.08);opacity:1}
.lb-header .lb-btn{padding:10px 22px}
.lb-header__auth{display:flex;align-items:center;gap:10px;margin-left:12px}
.lb-header__signin{color:var(--lb-header-text);text-decoration:none;font-weight:700;padding:8px 10px;opacity:.9}
.lb-header__signin:hover{opacity:1}
.lb-lang{position:relative}
.lb-lang__current{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid var(--lb-border);color:var(--lb-header-text);padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:none}
.lb-lang__menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--lb-header-bg);border:1px solid var(--lb-border);border-radius:10px;padding:6px;display:none;min-width:120px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.lb-lang.is-open .lb-lang__menu{display:block}
.lb-lang__menu a{display:block;padding:8px 10px;color:var(--lb-header-text);text-decoration:none;border-radius:6px;font-size:.85rem}
.lb-lang__menu a:hover{background:rgba(255,255,255,.08);opacity:1}
.lb-burger{display:none;margin-left:auto;background:none;border:0;color:var(--lb-header-text);cursor:pointer;padding:8px}
.lb-burger svg{display:block}
@media(max-width:900px){
  .lb-burger{display:block}
  .lb-header .lb-btn--head{display:none}
  .lb-nav{position:fixed;inset:66px 0 auto 0;background:var(--lb-header-bg);margin:0;display:none;border-bottom:1px solid var(--lb-border)}
  .lb-nav.is-open{display:block}
  .lb-nav ul{flex-direction:column;gap:0;padding:10px 20px 20px}
  .lb-nav a{padding:12px 10px}
}

/* --------- Контент --------- */
.lb-main{padding:44px 0 64px}
.lb-content{max-width:820px}
.lb-content--wide{max-width:none}
.entry-content h2{margin-top:1.8em}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content table,.wp-block-table table{width:100%;border-collapse:collapse;background:var(--lb-card-bg);border-radius:var(--lb-radius);overflow:hidden}
.entry-content th,.entry-content td,.wp-block-table th,.wp-block-table td{padding:12px 14px;border:1px solid var(--lb-border);text-align:left}
.entry-content th,.wp-block-table th{background:rgba(255,255,255,.04);color:var(--lb-heading)}
blockquote{margin:1.5em 0;padding:14px 20px;border-left:4px solid var(--lb-accent);background:var(--lb-card-bg);border-radius:0 var(--lb-radius) var(--lb-radius) 0}
code,pre{background:var(--lb-card-bg);border:1px solid var(--lb-border);border-radius:6px}
code{padding:2px 6px}
pre{padding:14px;overflow:auto}

/* --------- Хиро --------- */
.lb-hero{padding:56px 0 48px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.lb-hero p{font-size:1.1rem;max-width:640px}
.lb-hero .lb-btn{margin:8px 12px 0 0}

/* --------- Слайдер (замена картинок из reference-сайтов, работает без JS: CSS scroll-snap) --------- */
.lb-slider{position:relative;margin-bottom:8px}
.lb-slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none;border-radius:0}
.lb-slider__track::-webkit-scrollbar{display:none}
.lb-slide{flex:0 0 100%;scroll-snap-align:start;position:relative;min-height:260px;display:flex;align-items:center;
  background:linear-gradient(120deg,var(--lb-card-bg),var(--lb-header-bg));border-bottom:1px solid var(--lb-border)}
.lb-slide__inner{padding:0 20px;max-width:var(--lb-max);margin:0 auto;width:100%}
.lb-slide h2{font-size:clamp(1.6rem,4vw,2.6rem);margin:0 0 .3em;color:var(--lb-heading)}
.lb-slide p{max-width:480px;opacity:.9}
.lb-slider__dots{display:flex;gap:8px;justify-content:center;padding:14px 0;background:var(--lb-header-bg)}
.lb-slider__dots a{width:8px;height:8px;border-radius:50%;background:var(--lb-border);display:block;text-indent:-999px;overflow:hidden}
@media(min-width:641px){.lb-slide{min-height:340px}}

/* --------- Лента победителей (marquee) --------- */
.lb-winners{background:var(--lb-card-bg);border-top:1px solid var(--lb-border);border-bottom:1px solid var(--lb-border);padding:12px 0;overflow:hidden}
.lb-winners__track{display:flex;gap:28px;width:max-content;animation:lb-marquee 28s linear infinite}
@media(prefers-reduced-motion:reduce){.lb-winners__track{animation:none;overflow-x:auto}}
.lb-winners__item{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:.9rem;color:var(--lb-body-text)}
.lb-winners__item strong{color:var(--lb-heading)}
.lb-winners__amount{color:var(--lb-btn2);font-weight:800}
@keyframes lb-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --------- Промо-баннер с акцентом --------- */
.lb-promo{position:relative;border-radius:var(--lb-radius);padding:32px;margin:28px 0;
  background:linear-gradient(135deg,color-mix(in srgb,var(--lb-accent) 22%,var(--lb-card-bg)),var(--lb-card-bg));
  border:1px solid var(--lb-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.lb-promo h3{margin:0 0 6px;font-size:1.5rem}
.lb-promo p{margin:0;opacity:.9}
.lb-promo__timer{display:flex;gap:8px}
.lb-promo__timer span{background:rgba(0,0,0,.25);border-radius:8px;padding:8px 10px;font-weight:800;min-width:48px;text-align:center;color:var(--lb-heading)}

/* --------- Сетка игр / офферов с изображением --------- */
.lb-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.lb-game{border-radius:var(--lb-radius);overflow:hidden;background:var(--lb-card-bg);border:1px solid var(--lb-border);position:relative}
.lb-game img{aspect-ratio:3/4;object-fit:cover;width:100%}
.lb-game__name{padding:10px;font-size:.85rem;font-weight:700;color:var(--lb-heading)}
.lb-game__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);opacity:0;transition:opacity .15s}
.lb-game:hover .lb-game__play{opacity:1}

/* --------- Полоса провайдеров/платёжных систем --------- */
.lb-strip{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:20px 0;opacity:.75}
.lb-strip img{max-height:26px;width:auto;filter:grayscale(1);opacity:.8}

/* --------- Значки 18+ / ответственная игра в футере --------- */
.lb-responsible{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.lb-responsible span{font-size:.78rem;padding:4px 10px;border:1px solid var(--lb-border);border-radius:999px;opacity:.8}

/* --------- Карточки / рейтинг --------- */
.lb-card{background:var(--lb-card-bg);border:1px solid var(--lb-border);border-radius:var(--lb-radius);padding:22px;margin:0 0 20px}
.lb-card--offer{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.lb-card--offer .lb-offer-name{font-size:1.15rem;font-weight:800;color:var(--lb-heading)}
.lb-card--offer .lb-offer-bonus{flex:1;min-width:180px}
.lb-rating{color:var(--lb-accent);font-size:1.05rem;letter-spacing:2px}
.lb-badge{display:inline-block;background:var(--lb-accent);color:var(--lb-accent-text);font-size:.75rem;font-weight:800;padding:3px 10px;border-radius:999px;text-transform:uppercase}

/* --------- Плюсы/минусы --------- */
.lb-proscons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:1.5em 0}
@media(max-width:640px){.lb-proscons{grid-template-columns:1fr}}
.lb-proscons .lb-card{margin:0}
.lb-proscons ul{list-style:none;padding:0;margin:0}
.lb-proscons li{padding:6px 0 6px 28px;position:relative}
.lb-pros li::before{content:"✓";position:absolute;left:0;color:var(--lb-btn2);font-weight:800}
.lb-cons li::before{content:"✕";position:absolute;left:0;color:#e0564f;font-weight:800}

/* --------- FAQ --------- */
.lb-faq details{background:var(--lb-card-bg);border:1px solid var(--lb-border);border-radius:var(--lb-radius);margin:0 0 12px;padding:0 20px}
.lb-faq summary{cursor:pointer;font-weight:700;color:var(--lb-heading);padding:16px 0;list-style:none;position:relative;padding-right:30px}
.lb-faq summary::-webkit-details-marker{display:none}
.lb-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.4rem;color:var(--lb-accent)}
.lb-faq details[open] summary::after{content:"–"}
.lb-faq details>div{padding:0 0 16px}

/* --------- Блог --------- */
.lb-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.lb-post-card{background:var(--lb-card-bg);border:1px solid var(--lb-border);border-radius:var(--lb-radius);overflow:hidden;display:flex;flex-direction:column}
.lb-post-card__body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.lb-post-card h2{font-size:1.15rem;margin:0}
.lb-post-card a{color:var(--lb-heading);text-decoration:none}
.lb-post-card .lb-meta{font-size:.85rem;opacity:.7}
.lb-post-card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.navigation.pagination{margin-top:36px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap}
.nav-links .page-numbers{padding:8px 14px;background:var(--lb-card-bg);border:1px solid var(--lb-border);border-radius:8px;text-decoration:none;color:var(--lb-body-text)}
.nav-links .current{background:var(--lb-accent);color:var(--lb-accent-text);border-color:var(--lb-accent)}

/* --------- Футер --------- */
.lb-footer{background:var(--lb-footer-bg);color:var(--lb-footer-text);margin-top:60px;border-top:1px solid var(--lb-border);font-size:.95rem}
.lb-footer a{color:var(--lb-footer-text)}
.lb-footer__cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:44px 0}
@media(max-width:800px){.lb-footer__cols{grid-template-columns:1fr}}
.lb-footer h4{color:inherit;margin:0 0 12px;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85}
.lb-footer ul{list-style:none;margin:0;padding:0}
.lb-footer li{padding:4px 0}
.lb-footer__disclaimer{opacity:.8;line-height:1.55}
.lb-footer__bottom{border-top:1px solid var(--lb-border);padding:18px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.lb-18{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid currentColor;border-radius:50%;font-weight:800;font-size:.85rem;flex:none}

/* --------- Разное --------- */
.aligncenter{margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 20px 12px 0}
.alignright{float:right;margin:0 0 12px 20px}
.wp-block-buttons{gap:12px}
