/*
Theme Name: LazyBar Casino PL Child
Theme URI: https://lazybar-casinos.pl/
Author: LazyBar Editorial
Description: Микро-тема для гэмблинг-аффилейт-сайта lazybar-casinos.pl. 5 файлов, без хлама, под Rank Math.
Version: 20260702001
License: GPL-2.0+
Text Domain: lazybar-theme
*/

/* ── CSS Custom Properties (LazyBar Deep Navy Lounge — макет D) ─────────────────── */
:root {
    --c-bg: #0B1E3A;
    --c-surface: #12305a;
    --c-text: #ffffff;
    --c-muted: #8A9AB5;
    --c-brand: #1FB86B;
    --c-brand-2: #22C55E;
    --c-cta: #1FB86B;
    --c-cta-h: #22C55E;
    --c-line: #1e3f6b;
    --c-gold: #e0b03a;
    --c-gold-2: #f5d074;
    --c-header-bg: #0f0d2f; /* точный цвет фона логотипа — чтобы img сливался с шапкой */
    --c-cta-text: #0B1E3A;

    --r-sm: 6px;
    --r-md: 12px;
    --r-lg: 18px;

    --s-xs: .5rem;
    --s-sm: .85rem;
    --s-md: 1.2rem;
    --s-lg: 2rem;
    --s-xl: 3rem;

    --maxw: 1200px;
    --font: 'Inter', 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
}

/* ── Reset + anti-overflow ────────────────────────────── */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: clip; max-width: 100vw; scroll-behavior: smooth; }
body {
    font-family: var(--font);
    background: var(--c-bg);
    color: var(--c-text);
    line-height: 1.7;
    font-size: 17px;
}
img, video, iframe, svg, table { max-width: 100%; height: auto; display: block; }
a { color: var(--c-brand-2); text-decoration: none; }
a:hover { text-decoration: underline; }

.container {
    width: 100%;
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 var(--s-md);
}

/* ── Header ───────────────────────────────────────────── */
.site-header {
    background: var(--c-header-bg);
    /* border-bottom убран — тонкая линия выдавала границу шапки на тёмном фоне */
    position: sticky;
    top: 0;
    z-index: 1000;
}
.nav {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: var(--maxw);
    margin: 0 auto;
    padding: .5rem var(--s-md);
}
.logo { display: inline-flex; align-items: center; line-height: 0; }
.logo img { display: block; height: 52px; width: auto; max-width: 240px; }
@media (max-width: 900px) {
    .logo img { height: 40px; max-width: 160px; }
}
.nav-menu { display: flex; gap: .2rem; margin-left: 20px; flex-wrap: wrap; }
.nav-menu a {
    color: #dbe4f2;
    padding: .5rem .7rem;
    border-radius: var(--r-sm);
    font-size: .95rem;
    font-weight: 600;
}
.nav-menu a:hover { background: var(--c-surface); color: var(--c-brand-2); text-decoration: none; }

/* header-always-2-ctas: два CTA в шапке, никогда не скрываются */
.hdr-cta-row { display: flex; gap: 10px; margin-left: auto; align-items: center; flex-shrink: 0; }
.hdr-cta-row .btn-app {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,.28);
    padding: .55rem 1rem;
    border-radius: var(--r-sm);
    font-weight: 700;
    font-size: .88rem;
}
.hdr-cta-row .btn-app:hover { border-color: var(--c-brand); color: var(--c-brand-2); text-decoration: none; }
.hdr-cta-row .btn-signup {
    background: var(--c-cta);
    color: var(--c-cta-text);
    padding: .55rem 1.1rem;
    border-radius: var(--r-sm);
    font-weight: 800;
    font-size: .88rem;
}
.hdr-cta-row .btn-signup:hover { background: var(--c-cta-h); text-decoration: none; color: var(--c-cta-text); }

.burger {
    display: none;
    background: none;
    border: none;
    color: var(--c-text);
    font-size: 1.8rem;
    cursor: pointer;
    padding: .2rem .5rem;
    line-height: 1;
}

/* ── Buttons (content CTA + skeleton fallback) ──────────────────────────────────────── */
.cta-button, .btn, .btn-cta {
    display: inline-block;
    background: var(--c-cta);
    color: var(--c-cta-text);
    font-weight: 800;
    padding: .85rem 1.6rem;
    border-radius: var(--r-md);
    border: none;
    cursor: pointer;
    font-size: 1.05rem;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
    transition: transform .15s, box-shadow .15s, background .15s;
}
.cta-button:hover, .btn:hover, .btn-cta:hover {
    background: var(--c-cta-h);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.4);
    text-decoration: none;
    color: var(--c-cta-text);
}
.btn-sm { padding: .5rem 1rem; font-size: .9rem; }
.btn-cta-hero, .btn-cta-mid, .btn-cta-end, .btn-cta-final { margin: 1rem 0; }

/* ── Hero ─────────────────────────────────────────────── */
.hero {
    background: radial-gradient(circle at 30% 20%, rgba(31,184,107,.08), transparent 60%), var(--c-surface);
    border-radius: var(--r-lg);
    padding: var(--s-xl) var(--s-lg);
    margin: var(--s-lg) 0;
    text-align: center;
    border: 1px solid var(--c-line);
}
.hero h1 { font-size: 2.2rem; line-height: 1.2; margin-bottom: var(--s-md); }
.hero p { color: var(--c-muted); font-size: 1.15rem; max-width: 680px; margin: 0 auto var(--s-md); }

/* ── Content ──────────────────────────────────────────── */
main { padding: var(--s-lg) 0 var(--s-xl); }
article h1 { font-size: 2rem; line-height: 1.25; margin: var(--s-md) 0; color: #fff; }
article h2 {
    font-size: 1.5rem;
    margin: var(--s-lg) 0 var(--s-sm);
    color: var(--c-brand-2);
    border-left: 4px solid var(--c-brand);
    padding-left: .7rem;
}
article h3 { font-size: 1.2rem; margin: var(--s-md) 0 var(--s-xs); color: var(--c-text); }
article p { margin: 0 0 var(--s-md); color: #dbe4f2; }
article p.lead { font-size: 1.15rem; color: #fff; }
article ul, article ol { margin: 0 0 var(--s-md) 1.4rem; color: #dbe4f2; }
article li { margin-bottom: .4rem; }

.content-img { display:block; max-width:800px; width:100%; height:auto; margin:1.5rem auto; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-md); }
.shot { display:block; max-width:320px; width:100%; height:auto; margin:1.5rem auto; border-radius:var(--r-md); }

/* ── Tables (anti-overflow на мобиле) ─────────────────── */
table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--s-md) 0;
    background: var(--c-surface);
    border-radius: var(--r-md);
    overflow: hidden;
}
th, td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--c-line); color: #dbe4f2; }
th { background: rgba(0,0,0,.2); color: var(--c-brand-2); font-weight: 700; }

/* ── Review block (видимый, должен совпадать с JSON-LD Schema) ── */
.review-block, .rating-summary {
    background: var(--c-surface);
    border-left: 4px solid var(--c-brand);
    padding: 1.2rem;
    border-radius: var(--r-md);
    margin: var(--s-md) 0;
}
.review-block .byline, .byline { font-size: .9rem; color: var(--c-muted); }
.review-block .rating, .rating-overall { font-size: 1.2rem; margin: .5rem 0; color: #fff; }
.review-block .stars, .stars { color: var(--c-gold); letter-spacing: 2px; }
.review-block blockquote {
    margin: .5rem 0 0;
    padding-left: 1rem;
    border-left: 2px solid var(--c-brand-2);
    font-style: italic;
}
.rating-breakdown { margin-top: .8rem; }

/* ── LazyBar content-specific components (из drafts) ──── */
.cta-block { margin: 1.5rem 0; text-align: center; }

.payment-table, .rtp-table {
    background: var(--c-surface);
    border-radius: var(--r-md);
    overflow: hidden;
}
.rtp-table td:nth-child(2), .rtp-table th:nth-child(2) { color: var(--c-brand-2); font-weight: 700; }

.rg-disclaimer {
    display: block;
    background: rgba(224,176,58,.08);
    border-left: 3px solid var(--c-gold);
    padding: .8rem 1rem;
    border-radius: var(--r-sm);
    color: #dbe4f2;
    font-size: .92rem;
    margin: 1rem 0;
}

.rating-widget-visual { display:flex; align-items:center; gap:.5rem; color:#dbe4f2; font-size:1.02rem; margin: .8rem 0 1.4rem; }
.rating-widget-visual .stars { font-size: 1.1rem; }

.author-bio-compact, .author-bio-full {
    background: var(--c-surface);
    border: 1px solid var(--c-line);
    border-radius: var(--r-md);
    padding: 1rem 1.2rem;
    margin: 1rem 0 1.5rem;
    color: #dbe4f2;
}

.bonus-amount { font-size: 1.3rem; font-weight: 800; color: var(--c-brand-2); margin: 0 0 .3rem; }
.bonus-disclaimer, .disclaimer-inline, .legal-disclaimer, .rtp-disclaimer, .kyc-disclaimer, .table-note {
    display: block;
    font-size: .82rem;
    color: var(--c-muted);
    font-weight: 400;
    margin-top: .2rem;
}
.bonus-details { margin: .8rem 0; }

.pros-cons th:first-child, .pros-cons td:first-child { border-right: 1px solid var(--c-line); }

.faq-block, .faq-section { margin: 1.5rem 0; }
.faq-item { border-bottom: 1px solid var(--c-line); padding: 1rem 0; }
.faq-item:last-child { border-bottom: none; }
.faq-item h3 { margin: 0 0 .4rem; color: #fff; }

.legal-license-info, .kyc-block, .kyc-aml-full, .responsible-gaming, .rg-warning, .rg-help {
    background: var(--c-surface);
    border: 1px solid var(--c-line);
    border-radius: var(--r-md);
    padding: 1.1rem 1.3rem;
    margin: 1.2rem 0;
}
.legal-operator-note { color: var(--c-muted); font-size: .9rem; }

.mirror-domains-disclaimer {
    background: rgba(224,176,58,.08);
    border: 1px solid rgba(224,176,58,.35);
    border-radius: var(--r-md);
    padding: 1rem 1.2rem;
    margin: 1.2rem 0;
}
.mirror-domains-disclaimer h3 { color: var(--c-gold-2); margin-bottom: .4rem; }

.footer-responsible-gaming, .page-footer-compliance {
    font-size: .88rem;
    color: var(--c-muted);
    border-top: 1px solid var(--c-line);
    padding-top: 1rem;
    margin-top: 1.5rem;
}

.test-proof-block { margin: 1rem 0; }
.proof-caption {
    font-size: .85rem;
    color: var(--c-muted);
    font-style: italic;
    background: rgba(0,0,0,.15);
    border: 1px dashed var(--c-line);
    border-radius: var(--r-sm);
    padding: .8rem 1rem;
}

.blik-visual-placeholder {
    background: var(--c-surface);
    border: 1px dashed var(--c-line);
    border-radius: var(--r-md);
    padding: 1.5rem;
    text-align: center;
    color: var(--c-muted);
    margin: 1rem 0;
}

.legal-page article h2 { color: #fff; border-left-color: var(--c-line); }
.legal-page article p { color: #c7cfdc; }

/* ── Footer ───────────────────────────────────────────── */
.site-footer {
    background: #06122a;
    border-top: 1px solid var(--c-line);
    margin-top: var(--s-xl);
    padding: var(--s-lg) 0;
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--s-lg);
}
.footer-col .footer-title {
    color: #fff;
    margin: 0 0 var(--s-sm);
    font-size: 1rem;
    font-weight: 700;
}
.footer-col a { display: block; color: var(--c-muted); padding: .25rem 0; font-size: .92rem; }
.footer-col a:hover { color: var(--c-brand-2); }
.footer-bottom {
    border-top: 1px solid var(--c-line);
    margin-top: var(--s-lg);
    padding-top: var(--s-md);
    text-align: center;
    color: var(--c-muted);
    font-size: .85rem;
}
.footer-bottom strong { color: var(--c-gold); }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
    .burger { display: block; order: 3; }
    .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #06122a;
        flex-direction: column;
        padding: var(--s-sm);
        border-bottom: 1px solid var(--c-line);
        z-index: 999;
    }
    .nav-menu.open { display: flex; }
    .nav-menu a { padding: .8rem; border-bottom: 1px solid var(--c-line); }
    .nav { flex-wrap: wrap; position: relative; }
    .hdr-cta-row { order: 2; margin-left: auto; }
    .hdr-cta-row .btn-app { padding: .45rem .7rem; font-size: .8rem; }
    .hdr-cta-row .btn-signup { padding: .45rem .8rem; font-size: .8rem; }
    .hero h1 { font-size: 1.7rem; }
    article h1 { font-size: 1.6rem; }
    article h2 { font-size: 1.3rem; }

    /* Таблицы скроллятся внутри обёртки */
    table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
    th, td { white-space: nowrap; padding: .6rem .7rem; font-size: .9rem; }
}

@media (max-width: 480px) {
    .container { padding: 0 12px; }
}
