/*
Theme Name: Codex Studio
Theme URI: https://example.com/
Author: Codex
Description: A native WordPress block theme for a modern bonus guide.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: codex-studio
*/

:root {
  --wp--preset--font-family--display: "Cormorant Garamond", serif;
  --wp--preset--font-family--body: "Inter", sans-serif;
  --site-bg: #f5f2ec;
  --site-paper: #fffdf9;
  --site-ink: #171b22;
  --site-muted: #6d7078;
  --site-line: #dedbd3;
  --site-accent: #e75d3b;
  --site-accent-dark: #a93624;
  --site-lime: #c5e86c;
  --site-gap: 16px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--site-bg);
  color: var(--site-ink);
  font-family: "Inter", sans-serif;
}

h1, h2, h3, h4, h5, h6 { font-family: "Cormorant Garamond", serif; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-group, .wp-block-columns, .wp-block-column, figure { box-sizing: border-box; }

.site-navigation { padding: 14px 24px 0; }
.site-navigation__inner { display: grid; max-width: 1132px; grid-template-columns: auto auto 1fr; gap: 12px; align-items: center; margin-inline: auto; padding: 10px 12px; border: 1px solid #343b46; border-radius: 14px; background: var(--site-ink); box-shadow: 0 10px 28px rgba(23, 27, 34, .1); }
.site-navigation__inner > * { margin: 0; }
.site-navigation__brand { padding: 0 8px; font-family: "Cormorant Garamond", serif; font-size: 1.22rem; font-weight: 700; line-height: 1; white-space: nowrap; }
.site-navigation__brand a { color: #fffdf9; text-decoration: none; }
.site-navigation__main, .site-navigation__casinos { display: flex; flex-wrap: wrap; gap: 6px; }
.site-navigation__casinos { justify-content: flex-end; }
.site-navigation .wp-block-button { margin: 0; }
.site-navigation .wp-block-button__link { padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 7px; background: rgba(255, 255, 255, .055); color: #e6e7e4; font-size: .58rem; font-weight: 800; letter-spacing: .025em; line-height: 1.15; text-transform: uppercase; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.site-navigation .wp-block-button__link:hover { border-color: var(--site-lime); color: var(--site-lime); }
.site-navigation__main .site-navigation__home .wp-block-button__link { border-color: rgba(197, 232, 108, .55); color: var(--site-lime); }
.site-navigation__main .site-navigation__catalog .wp-block-button__link { border-color: var(--site-accent); background: var(--site-accent); color: #fff; }
.site-navigation__main .site-navigation__catalog .wp-block-button__link:hover { border-color: #f17657; background: #f17657; color: #fff; }

.error-page { max-width: 1180px; min-height: calc(100vh - 94px); margin-inline: auto; padding: 42px 24px 80px; }
.error-page__panel { position: relative; display: flex; min-height: 590px; overflow: hidden; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(34px, 7vw, 88px); border: 1px solid #343b46; border-radius: 26px; background: radial-gradient(circle at 88% 18%, rgba(231, 93, 59, .28), transparent 28%), radial-gradient(circle at 78% 118%, rgba(197, 232, 108, .16), transparent 30%), var(--site-ink); box-shadow: 0 24px 60px rgba(23, 27, 34, .16); color: #fff; }
.error-page__panel::after { position: absolute; right: -105px; bottom: -185px; width: 440px; height: 440px; border: 1px solid rgba(197, 232, 108, .48); border-radius: 50%; content: ""; }
.error-page__panel > * { position: relative; z-index: 1; margin-block-start: 0; }
.error-page__code { margin: 0 0 18px; color: var(--site-lime); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.error-page__panel h1 { max-width: 780px; margin: 0 0 22px; color: #fffdf9; font-size: clamp(3.3rem, 8vw, 7.2rem); font-weight: 600; letter-spacing: -.025em; line-height: .82; }
.error-page__lead { max-width: 650px; margin: 0; color: #d5d8de; font-size: clamp(.92rem, 1.5vw, 1.05rem); line-height: 1.7; }
.error-page__actions { display: flex; gap: 9px; margin-top: 26px; }
.error-page__actions .wp-block-button__link { padding: 13px 18px; border: 1px solid var(--site-accent); border-radius: 8px; background: var(--site-accent); color: #fff; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.error-page__actions .is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .32); background: transparent; }
.error-page__quick-links { margin-top: 50px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .13); }
.error-page__quick-links > p { margin: 0 0 11px; color: #aeb3bc; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.error-page__quick-links .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 7px; }
.error-page__quick-links .wp-block-button__link { padding: 7px 10px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 7px; background: rgba(255, 255, 255, .055); color: #fff; font-size: .58rem; font-weight: 800; }
.error-page__quick-links .wp-block-button__link:hover { border-color: var(--site-lime); color: var(--site-lime); }

.site-shell {
  max-width: 1180px;
  margin-inline: auto;
  padding: 28px 24px 96px;
}

.hero-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 48px) clamp(24px, 7vw, 84px) 34px;
  border: 1px solid #343b46;
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(23, 27, 34, .18);
  background:
    radial-gradient(circle at 86% 20%, rgba(231, 93, 59, .24), transparent 29%),
    radial-gradient(circle at 76% 110%, rgba(197, 232, 108, .13), transparent 28%),
    var(--site-ink);
  color: #fffdf9;
}
.hero-panel::after {
  position: absolute;
  right: -86px;
  bottom: -154px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(197, 232, 108, .55);
  border-radius: 50%;
  content: "";
}
.hero-topline { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-bottom: 17px; border-bottom: 1px solid rgba(255, 255, 255, .11); }
.hero-topline > * { margin: 0; }
.eyebrow, .section-kicker, .card-label { color: var(--site-lime); font-size: .68rem; font-weight: 800; letter-spacing: .11em; line-height: 1.2; text-transform: uppercase; }
.telegram-link { font-size: .78rem; font-weight: 700; }
.telegram-link a { color: var(--site-lime); text-decoration-color: rgba(197, 232, 108, .45); text-underline-offset: 4px; }
.site-brand { position: relative; z-index: 1; max-width: 830px; margin: 32px 0 15px; font-size: clamp(3.3rem, 7.4vw, 6rem); font-weight: 600; letter-spacing: -.025em; line-height: .86; }
.site-brand a { color: #fffdf9; text-decoration: none; }
.hero-lead { position: relative; z-index: 1; max-width: 620px; margin: 0; color: #d8d9d5; font-size: clamp(.94rem, 1.35vw, 1.08rem); line-height: 1.55; }
.hero-actions { position: relative; z-index: 1; margin-top: 22px; }
.hero-actions .wp-block-button__link { padding: 14px 22px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 10px; box-shadow: 0 12px 24px rgba(169, 54, 36, .24); background: var(--site-accent); color: #fffdf9; font-size: .76rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease; }
.hero-actions .wp-block-button__link::after { content: "  →"; }
.hero-actions .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(169, 54, 36, .32); }
.hero-meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.hero-meta > * { margin: 0; }
.hero-meta__item { padding: 7px 11px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 999px; background: rgba(255, 255, 255, .055); color: #cfd2d8; font-size: .68rem; font-weight: 700; line-height: 1.25; }
.hero-meta__item strong { color: var(--site-lime); }

.promo-banner { margin: 22px 0 66px; border: 8px solid var(--site-accent); background: var(--site-accent); box-shadow: 0 15px 30px rgba(169, 54, 36, .12); }
.promo-banner img { display: block; width: 100%; height: auto; }

.section-heading { display: flex; align-items: center; gap: 24px; margin: 54px 0 30px; }
.section-heading::before, .section-heading::after { flex: 1; height: 1px; background: var(--site-line); content: ""; }
.section-heading > * { margin: 0; }
.section-heading .section-title { flex: 0 0 auto; text-align: center; white-space: nowrap; }
.section-title { margin: 0; color: var(--site-ink); font-size: clamp(2.3rem, 5vw, 4.2rem); font-weight: 600; line-height: .88; }

.bonus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.bonus-grid > .bonus-card { margin-block-start: 0; }
.bonus-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--site-line); background: var(--site-paper); transition: transform .2s ease, box-shadow .2s ease; }
.bonus-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(23, 27, 34, .1); }
.bonus-card--featured { border-color: var(--site-accent); }
.bonus-card .wp-block-image { margin: 0; background: #0f172a; }
.bonus-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 2.35; box-sizing: border-box; padding: 18px; object-fit: contain; }
.bonus-card__body { position: relative; display: flex; flex: 1; flex-direction: column; gap: 9px; padding: 18px 16px 12px; }
.bonus-card__body > * { margin: 0; }
.card-label { position: absolute; top: 4px; left: 16px; z-index: 1; color: var(--site-accent-dark); font-size: .58rem; }
.bonus-card__title { order: 1; color: var(--site-ink); font-family: "Inter", sans-serif; font-size: 1.35rem; font-weight: 800; line-height: 1.15; }
.bonus-card__offer { order: 2; display: flex; align-items: center; gap: 7px; color: var(--site-ink); font-size: .94rem; font-weight: 800; line-height: 1.35; }
.bonus-card__code { order: 3; display: flex; align-items: center; gap: 5px; color: var(--site-muted); font-size: .86rem; font-weight: 700; line-height: 1.4; }
.bonus-card__code strong { padding: 4px 8px; background: #ffe2da; color: var(--site-accent-dark); font-size: .88rem; letter-spacing: .03em; }
.bonus-card__note { order: 4; align-self: flex-start; padding: 7px 10px; background: var(--site-lime); color: var(--site-ink); font-size: .76rem; font-weight: 800; line-height: 1.2; }
.bonus-card__description { order: 6; color: var(--site-muted); font-size: .84rem; line-height: 1.65; }
.bonus-card__button { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: auto; padding: 0 10px 10px; }
.bonus-card__button .wp-block-button { width: 100%; }
.bonus-card__button .wp-block-button__link { display: block; padding: 10px 8px; border: 1px solid var(--site-ink); border-radius: 0; background: var(--site-ink); color: #fffdf9; font-size: .66rem; font-weight: 800; line-height: 1.2; text-align: center; text-transform: uppercase; }
.bonus-card__button .is-style-outline .wp-block-button__link { background: transparent; color: var(--site-ink); }
.bonus-card--featured .bonus-card__button .wp-block-button:not(.is-style-outline) .wp-block-button__link { border-color: var(--site-accent); background: var(--site-accent); }

.casino-review, .casino-directory {
  max-width: 1080px;
  margin-inline: auto;
  padding: 34px 24px 90px;
}
.casino-review > *, .casino-directory > * { margin-block-start: 0; }
.casino-review__breadcrumbs { margin: 0 0 18px; color: var(--site-muted); font-size: .75rem; }
.casino-review__breadcrumbs a { color: var(--site-accent-dark); font-weight: 700; }
.casino-review__breadcrumbs span { padding-inline: 6px; color: #aaa69e; }
.casino-review__hero {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 38px;
  align-items: center;
  overflow: hidden;
  padding: 36px;
  border: 1px solid #343b46;
  border-radius: 24px;
  box-shadow: 0 20px 46px rgba(23, 27, 34, .16);
  background:
    radial-gradient(circle at 92% 10%, rgba(231, 93, 59, .23), transparent 28%),
    var(--site-ink);
  color: #fffdf9;
}
.casino-review__hero .wp-block-image { margin: 0; }
.casino-review__logo { display: flex; min-height: 190px; align-items: center; justify-content: center; padding: 24px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 18px; background: #0f172a; }
.casino-review__logo img { display: block; width: 100%; max-height: 145px; object-fit: contain; }
.casino-review__hero-copy > * { margin-block: 0 14px; }
.casino-review__eyebrow { color: var(--site-lime); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.casino-review__hero h1 { max-width: 680px; margin: 0; color: #fffdf9; font-size: clamp(2.35rem, 5.5vw, 4.8rem); font-weight: 600; line-height: .92; }
.casino-review__lead { max-width: 650px; color: #d5d8de; font-size: .94rem; line-height: 1.6; }
.casino-review__actions { display: flex; gap: 10px; margin-top: 20px; }
.casino-review__actions .wp-block-button__link { padding: 12px 16px; border: 1px solid var(--site-accent); border-radius: 8px; background: var(--site-accent); color: #fff; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.casino-review__actions .is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .35); background: transparent; }
.casino-review > h2, .casino-directory > h2 { margin: 54px 0 16px; color: var(--site-ink); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .95; }
.casino-review > h3 { margin: 32px 0 12px; font-size: 1.65rem; }
.casino-review > p, .casino-directory > p { margin: 0 0 18px; color: var(--site-muted); font-size: .93rem; line-height: 1.78; }
.casino-review > ol, .casino-review > ul { margin: 0 0 24px; color: var(--site-muted); font-size: .9rem; line-height: 1.7; }
.casino-review__table, .casino-directory__table { margin: 18px 0 24px; overflow-x: auto; border: 1px solid var(--site-line); background: #fff; }
.casino-review__table table, .casino-directory__table table { width: 100%; min-width: 620px; border-collapse: collapse; }
.casino-review__table th, .casino-review__table td, .casino-directory__table th, .casino-directory__table td { padding: 13px 15px; border: 1px solid var(--site-line); text-align: left; vertical-align: top; }
.casino-review__table th, .casino-directory__table th { background: var(--site-ink); color: #fff; font-size: .72rem; text-transform: uppercase; }
.casino-review__table td, .casino-directory__table td { color: var(--site-muted); font-size: .82rem; line-height: 1.55; }
.casino-review__table td:first-child { width: 30%; color: var(--site-ink); }
.casino-review__notice, .casino-review__responsible { padding: 15px 17px; border-left: 4px solid var(--site-accent); background: #ebe6dc; color: var(--site-ink) !important; font-size: .8rem !important; }
.casino-review__pros-cons { gap: 18px; margin: 18px 0 30px; }
.casino-review__pros-cons .wp-block-column { padding: 22px; border: 1px solid var(--site-line); background: var(--site-paper); }
.casino-review__pros-cons h3 { margin: 0 0 12px; font-size: 1.35rem; }
.casino-review__pros-cons ul { margin: 0; padding-left: 20px; color: var(--site-muted); font-size: .84rem; line-height: 1.7; }
.casino-review__faq { margin: 9px 0; border: 1px solid var(--site-line); background: #fff; }
.casino-review__faq summary { cursor: pointer; padding: 15px 16px; color: var(--site-ink); font-size: .84rem; font-weight: 800; }
.casino-review__faq p { margin: 0; padding: 0 16px 16px; color: var(--site-muted); font-size: .82rem; line-height: 1.65; }
.casino-review__faq[open] { border-color: var(--site-accent); }
.casino-review__responsible { margin-top: 36px !important; }
.casino-directory > h1 { max-width: 850px; margin: 10px 0 18px; font-size: clamp(2.8rem, 6vw, 5.4rem); font-weight: 600; line-height: .88; }
.casino-directory__table a { color: var(--site-accent-dark); font-weight: 800; }

.casino-directory__hero { position: relative; overflow: hidden; margin-bottom: 54px; padding: clamp(28px, 5vw, 58px); border: 1px solid #343b46; border-radius: 26px; background: radial-gradient(circle at 88% 18%, rgba(231, 93, 59, .28), transparent 28%), radial-gradient(circle at 78% 120%, rgba(197, 232, 108, .15), transparent 30%), var(--site-ink); box-shadow: 0 22px 52px rgba(23, 27, 34, .16); color: #fff; }
.casino-directory__hero::after { position: absolute; right: -80px; bottom: -155px; width: 360px; height: 360px; border: 1px solid rgba(197, 232, 108, .45); border-radius: 50%; content: ""; }
.casino-directory .casino-directory__hero > * { position: relative; z-index: 1; margin-block-start: 0; }
.casino-directory__eyebrow { margin-bottom: 18px !important; color: var(--site-lime) !important; font-size: .68rem !important; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.casino-directory .casino-directory__hero h1 { max-width: 820px; margin: 0 0 20px; color: #fff; font-size: clamp(2.75rem, 6.8vw, 5.6rem); font-weight: 600; letter-spacing: -.025em; line-height: .86; }
.casino-directory__lead { max-width: 690px; margin-bottom: 28px !important; color: #d5d8de !important; font-size: clamp(.92rem, 1.5vw, 1.05rem) !important; line-height: 1.65 !important; }
.casino-directory__lead strong { color: var(--site-lime); }
.casino-directory__stats { display: flex; flex-wrap: wrap; gap: 10px; }
.casino-directory__stats > p { display: flex; min-width: 128px; flex-direction: column; gap: 2px; margin: 0; padding: 10px 14px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 10px; background: rgba(255, 255, 255, .055); }
.casino-directory__stats strong { color: var(--site-lime); font-size: 1.05rem; }
.casino-directory__stats span { color: #cfd2d8; font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.casino-directory > .casino-directory__section-title { margin-bottom: 10px; }
.casino-directory__section-lead { max-width: 760px; margin-bottom: 26px !important; }

.casino-banner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 64px; }
.casino-banner-grid > .casino-banner { margin-block-start: 0; }
.casino-banner { display: grid; min-height: 245px; grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr); overflow: hidden; border: 1px solid #343b46; border-radius: 18px; background: var(--site-ink); box-shadow: 0 12px 26px rgba(23, 27, 34, .09); transition: transform .2s ease, box-shadow .2s ease; }
.casino-banner:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(23, 27, 34, .14); }
.casino-banner--featured { grid-column: 1 / -1; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr); border-color: var(--site-accent); }
.casino-banner .casino-banner__logo { display: flex; height: 100%; min-height: 245px; align-items: center; justify-content: center; margin: 0; padding: 26px; background: #0f172a; }
.casino-banner .casino-banner__logo img { display: block; width: 100%; max-height: 130px; object-fit: contain; }
.casino-banner__content { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 25px 23px 20px; color: #fff; }
.casino-banner__content > * { margin-block: 0; }
.casino-banner__label { margin-bottom: 7px !important; color: var(--site-lime) !important; font-size: .62rem !important; font-weight: 800; letter-spacing: .08em; line-height: 1.35 !important; text-transform: uppercase; }
.casino-banner__content h3 { margin: 0 0 7px; color: #fff; font-family: "Inter", sans-serif; font-size: clamp(1.3rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.05; }
.casino-banner__bonus { margin-bottom: 9px !important; color: #fff !important; font-size: .9rem !important; font-weight: 800; line-height: 1.35 !important; }
.casino-banner__code { color: #bfc4cc !important; font-size: .74rem !important; line-height: 1.4 !important; }
.casino-banner__code strong { display: inline-block; margin-left: 4px; padding: 4px 7px; background: var(--site-lime); color: var(--site-ink); letter-spacing: .03em; }
.casino-banner__actions { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7px; margin-top: 16px; }
.casino-banner__actions .wp-block-button, .casino-banner__actions .wp-block-button__link { width: 100%; }
.casino-banner__actions .wp-block-button__link { padding: 10px 8px; border: 1px solid var(--site-accent); border-radius: 7px; background: var(--site-accent); color: #fff; font-size: .62rem; font-weight: 800; line-height: 1.2; text-align: center; text-transform: uppercase; }
.casino-banner__actions .is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .3); background: transparent; }

.casino-directory__guide { margin-top: 18px; padding: clamp(28px, 5vw, 54px); border: 1px solid var(--site-line); background: var(--site-paper); box-shadow: 0 18px 42px rgba(23, 27, 34, .06); }
.casino-directory__guide > * { margin-block-start: 0; }
.casino-directory__guide > .section-kicker { margin-bottom: 12px; color: var(--site-accent-dark); }
.casino-directory__guide > h2 { max-width: 820px; margin: 0 0 18px; font-size: clamp(2rem, 4.5vw, 3.45rem); line-height: .95; }
.casino-directory__guide > h2:not(:first-of-type) { margin-top: 48px; padding-top: 38px; border-top: 1px solid var(--site-line); }
.casino-directory__guide > p { max-width: 900px; margin: 0 0 22px; color: var(--site-muted); font-size: .92rem; line-height: 1.78; }
.casino-directory__guide > p strong { color: var(--site-ink); }
.casino-directory__guide-columns { gap: 16px; margin: 28px 0 8px; }
.casino-directory__guide-columns > .wp-block-column { padding: 24px; border: 1px solid var(--site-line); background: var(--site-bg); }
.casino-directory__guide-columns h3 { margin: 0 0 12px; color: var(--site-ink); font-size: 1.55rem; line-height: 1.1; }
.casino-directory__guide-columns p { margin: 0; color: var(--site-muted); font-size: .84rem; line-height: 1.72; }
.casino-directory__checklist { margin: 28px 0 8px; padding: 26px 28px; border-left: 5px solid var(--site-lime); background: #f0f4df; }
.casino-directory__checklist > * { margin-block-start: 0; }
.casino-directory__checklist h3 { margin: 0 0 16px; font-size: 1.55rem; }
.casino-directory__checklist ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; margin: 0; padding-left: 20px; }
.casino-directory__checklist li { color: var(--site-muted); font-size: .82rem; line-height: 1.65; }
.casino-directory__checklist strong { color: var(--site-ink); }

.seo-copy { max-width: 980px; margin: 108px auto 0; padding: 42px clamp(22px, 5vw, 64px) 54px; border: 1px solid var(--site-line); background: var(--site-paper); box-shadow: 0 18px 42px rgba(23, 27, 34, .06); }
.seo-copy > * { margin-block: 0 22px; }
.seo-copy .section-kicker { color: var(--site-accent-dark); }
.seo-copy .wp-block-columns { gap: 36px; margin-top: 26px; }
.seo-copy h3 { margin: 34px 0 10px; padding-top: 26px; border-top: 1px solid var(--site-line); font-size: 1.8rem; }
.seo-copy h4 { margin: 24px 0 8px; font-size: 1.3rem; }
.seo-copy p { color: var(--site-muted); font-size: .94rem; line-height: 1.78; }
.seo-copy li { color: var(--site-muted); font-size: .92rem; line-height: 1.7; }
.seo-copy a { color: var(--site-accent-dark); font-weight: 700; }
.seo-toc { margin: 30px 0 36px; padding: 18px 22px; border-left: 5px solid var(--site-lime); background: #f0f4df; }
.seo-toc > * { margin: 0; }
.seo-toc__title { color: var(--site-ink) !important; font-size: .72rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seo-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; margin: 12px 0 0; padding-left: 20px; }
.seo-copy .responsible-note { padding: 16px 18px; border-left: 4px solid var(--site-accent); background: #ebe6dc; color: var(--site-ink); font-size: .78rem; }
.seo-table { margin: 18px 0 34px; overflow-x: auto; border: 1px solid var(--site-line); background: #fff; }
.seo-table table { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; }
.seo-table th, .seo-table td { padding: 13px 14px; border: 1px solid var(--site-line); text-align: left; vertical-align: top; }
.seo-table th { background: var(--site-ink); color: #fffdf9; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.seo-table td { color: var(--site-muted); font-size: .79rem; line-height: 1.55; }
.seo-table td strong { color: var(--site-ink); }
.seo-table tbody tr:nth-child(even) { background: #f5f2ec; }
.seo-table--steps th:first-child, .seo-table--steps td:first-child { width: 24%; }

.faq-panel {
  max-width: 980px;
  margin: 42px auto 0;
  padding: 42px clamp(22px, 5vw, 64px) 54px;
  border: 1px solid var(--site-line);
  background: var(--site-paper);
  box-shadow: 0 18px 42px rgba(23, 27, 34, .06);
}
.faq-panel > * { margin-block: 0 16px; }
.faq-panel .section-kicker { color: var(--site-accent-dark); }
.faq-panel__title { margin-bottom: 28px; font-size: clamp(2.1rem, 4.8vw, 3.8rem); line-height: .92; }
.faq-item { margin: 8px 0; border: 1px solid var(--site-line); background: #fff; }
.faq-item summary { cursor: pointer; padding: 15px 16px; color: var(--site-ink); font-size: .82rem; font-weight: 800; line-height: 1.35; }
.faq-item summary::marker { color: var(--site-accent); }
.faq-item p { margin: 0; padding: 0 16px 16px; color: var(--site-muted); font-size: .8rem; line-height: 1.65; }
.faq-item[open] { border-color: var(--site-accent); }

@media (max-width: 781px) {
  .site-navigation { padding: 8px 10px 0; }
  .site-navigation__inner { grid-template-columns: 1fr auto; gap: 9px; padding: 10px; border-radius: 11px; }
  .site-navigation__main { justify-content: flex-end; }
  .site-navigation__casinos { grid-column: 1 / -1; justify-content: flex-start; }
  .site-navigation .wp-block-button__link { padding: 7px 9px; font-size: .55rem; }
  .error-page { min-height: 0; padding: 22px 10px 50px; }
  .error-page__panel { min-height: 560px; padding: 32px 20px; border-radius: 18px; }
  .error-page__panel h1 { font-size: clamp(3.1rem, 15vw, 5.6rem); }
  .error-page__actions { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
  .error-page__actions .wp-block-button, .error-page__actions .wp-block-button__link { width: 100%; }
  .site-shell { padding: 10px 10px 50px; }
  .hero-panel { border-radius: 18px; }
  .hero-topline { display: block; }
  .hero-topline .telegram-link { margin-top: 14px; }
  .site-brand { margin-top: 30px; font-size: clamp(2.75rem, 14vw, 5.2rem); }
  .hero-lead { font-size: .95rem; }
  .hero-meta { display: grid; grid-template-columns: 1fr; }
  .hero-meta__item { border-radius: 9px; }
  .section-heading { gap: 12px; margin: 38px 0 24px; }
  .section-heading .section-title { white-space: normal; }
  .bonus-grid { grid-template-columns: 1fr; }
  .bonus-card .wp-block-image img { aspect-ratio: 2.1; padding: 14px; }
  .bonus-card__button { grid-template-columns: 1fr 1.25fr; }
  .casino-review, .casino-directory { padding: 18px 10px 56px; }
  .casino-review__hero { grid-template-columns: 1fr; gap: 24px; padding: 20px; border-radius: 18px; }
  .casino-review__logo { min-height: 145px; }
  .casino-review__hero h1 { font-size: clamp(2.25rem, 11vw, 3.8rem); }
  .casino-review__actions { display: grid; grid-template-columns: 1fr; }
  .casino-review__actions .wp-block-button, .casino-review__actions .wp-block-button__link { width: 100%; }
  .casino-review__pros-cons { display: block; }
  .casino-review__pros-cons .wp-block-column + .wp-block-column { margin-top: 14px; }
  .casino-review__table, .casino-directory__table { margin-inline: 0; }
  .casino-directory__hero { margin-bottom: 42px; padding: 28px 20px; border-radius: 18px; }
  .casino-directory__stats { display: grid; grid-template-columns: repeat(3, 1fr); }
  .casino-directory__stats > p { min-width: 0; padding-inline: 9px; }
  .casino-banner-grid { grid-template-columns: 1fr; gap: 12px; }
  .casino-banner, .casino-banner--featured { grid-column: auto; grid-template-columns: minmax(115px, .74fr) minmax(0, 1.26fr); min-height: 220px; border-radius: 14px; }
  .casino-banner .casino-banner__logo { min-height: 220px; padding: 15px; }
  .casino-banner__content { padding: 20px 15px 16px; }
  .casino-banner__actions { grid-template-columns: 1fr; }
  .casino-directory__guide { padding: 28px 20px; }
  .casino-directory__guide-columns { display: block; }
  .casino-directory__guide-columns > .wp-block-column + .wp-block-column { margin-top: 12px; }
  .casino-directory__checklist { padding: 22px 20px; }
  .casino-directory__checklist ul { grid-template-columns: 1fr; }
  .seo-copy .wp-block-columns { display: block; }
  .seo-copy .wp-block-column + .wp-block-column { margin-top: 24px; }
  .seo-toc ul { grid-template-columns: 1fr; }
  .seo-table { margin-inline: -8px; }
  .seo-table table { min-width: 620px; }
  .seo-table th, .seo-table td { padding: 11px 12px; }
  .faq-panel { margin-top: 50px; padding-inline: 16px; }
}

@media (max-width: 480px) {
  .site-navigation__inner { grid-template-columns: 1fr; }
  .site-navigation__main, .site-navigation__casinos { justify-content: flex-start; }
  .site-navigation__casinos { grid-column: auto; }
  .site-navigation__brand { padding: 2px 3px 5px; }
  .casino-directory { overflow: hidden; }
  .casino-directory .casino-directory__hero h1 { font-size: clamp(2.1rem, 10.5vw, 2.65rem); overflow-wrap: anywhere; }
  .casino-directory__lead { font-size: .88rem !important; }
  .casino-directory__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .casino-directory__stats > p { padding: 9px 7px; }
  .casino-directory__stats strong { font-size: .94rem; }
  .casino-directory__stats span { font-size: .55rem; }
  .casino-directory > .casino-directory__section-title { font-size: 2.15rem; overflow-wrap: anywhere; }
  .casino-banner, .casino-banner--featured { grid-template-columns: 1fr; }
  .casino-banner .casino-banner__logo { min-height: 132px; padding: 19px 28px; }
  .casino-banner .casino-banner__logo img { max-height: 86px; }
  .casino-banner__content { padding: 20px; }
  .casino-banner__content h3 { font-size: 1.45rem; }
  .casino-banner__actions { grid-template-columns: .8fr 1.2fr; }
}
