/* layout.css - каркас сайта bohocasino-denmark.com
   Палитра снята с живого CSS референса bohocasino7.com:
   #4C4C68 (текст), #F0EDFF / #E1E9F7 (поверхности), #DBD5FE (границы),
   #7055B9 (акцент), #FD8B0F (--primary-color бренда, наш CTA).
   Раскладка и компоненты - свои. */

/* ===================== Design tokens ===================== */
:root{
  --bc-bg:#F7F5FF;
  --bc-surface:#FFFFFF;
  --bc-surface-2:#F0EDFF;
  --bc-surface-3:#E1E9F7;
  --bc-text:#28283C;
  --bc-muted:#565672;
  --bc-accent:#6244A8;
  --bc-accent-soft:#DBD5FE;
  --bc-cta:#E07A00;
  --bc-cta-hi:#FD8B0F;
  --bc-ok:#1F7A4D;
  --bc-alert:#B03A2B;
  --bc-border:#E3DEFA;
  --bc-border-strong:#CFC7F2;
  --bc-font-body:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --bc-font-heading:var(--bc-font-body);
  --bc-radius:14px;
  --bc-radius-sm:8px;
  --bc-header-h:64px;
  --bc-gutter:16px;
  --bc-maxw:1140px;
  --bc-shadow:0 2px 10px rgba(40,40,60,.07);
  --bc-shadow-lg:0 10px 30px rgba(40,40,60,.11);
}

/* ===================== Reset ===================== */
*, *::before, *::after{ box-sizing:border-box; }
html, body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bc-bg);
  color:var(--bc-text);
  font-family:var(--bc-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
}
img{ max-width:100%; height:auto; display:block; }
ul, ol{ margin:0; padding:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; }
:focus-visible{ outline:3px solid var(--bc-accent); outline-offset:2px; border-radius:4px; }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
}

/* ===================== Container ===================== */
.bc-container{
  width:100%;
  max-width:var(--bc-maxw);
  margin:0 auto;
  padding-inline:var(--bc-gutter);
}

/* ===================== Skip link ===================== */
.bc-skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--bc-accent); color:#fff; padding:10px 16px; border-radius:0 0 var(--bc-radius-sm) 0;
}
.bc-skip:focus{ left:0; }

/* ===================== Header ===================== */
.bc-site-header{
  position:sticky; top:0; z-index:40;
  background:var(--bc-surface);
  border-bottom:1px solid var(--bc-border);
}
.bc-header-inner{
  display:flex; align-items:center; gap:10px;
  min-height:var(--bc-header-h);
}
.bc-logo{ display:flex; align-items:center; gap:9px; margin-right:auto; }
.bc-logo__img{ flex:none; display:block; width:auto; height:34px; }
.bc-logo__geo{
  font-size:11px; font-weight:600; color:var(--bc-muted);
  letter-spacing:.08em; text-transform:uppercase;
  padding-left:10px; border-left:1px solid var(--bc-border);
}
@media (min-width:640px){ .bc-logo__img{ height:38px; } }

.bc-header-actions{ display:flex; align-items:center; gap:8px; }

/* CTA */
.bc-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:10px 18px;
  border-radius:999px; font-weight:700; font-size:15px; text-align:center;
  transition:transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.bc-cta--primary{ background:var(--bc-cta); color:#fff; box-shadow:0 4px 12px rgba(224,122,0,.28); }
.bc-cta--primary:hover{ background:var(--bc-cta-hi); transform:translateY(-1px); }
.bc-cta--secondary{ background:var(--bc-surface-2); color:var(--bc-accent); border:1px solid var(--bc-border-strong); }
.bc-cta--secondary:hover{ background:var(--bc-accent-soft); }
.bc-cta--wide{ width:100%; }
.bc-cta__hint{ font-weight:500; font-size:13px; opacity:.9; }

/* Burger (CSS only) */
.bc-nav__checkbox{ position:absolute; opacity:0; pointer-events:none; }
.bc-nav__toggle{
  display:grid; place-content:center; gap:5px;
  width:44px; height:44px; border-radius:10px;
  border:1px solid var(--bc-border-strong); background:var(--bc-surface-2);
  cursor:pointer;
}
.bc-nav__toggle-bar{ display:block; width:20px; height:2px; background:var(--bc-accent); border-radius:2px; }
.bc-nav__list{
  display:none;
  position:absolute; left:0; right:0; top:100%;
  background:var(--bc-surface);
  border-bottom:1px solid var(--bc-border);
  box-shadow:var(--bc-shadow-lg);
  padding:8px var(--bc-gutter) 16px;
}
.bc-nav__checkbox:checked ~ .bc-nav__list{ display:block; }
.bc-nav__item{ list-style:none; border-bottom:1px solid var(--bc-border); }
.bc-nav__item:last-child{ border-bottom:0; }
.bc-nav__link{
  display:block; padding:13px 4px; font-weight:600; color:var(--bc-text);
}
.bc-nav__link--active{ color:var(--bc-accent); }

@media (min-width:1000px){
  :root{ --bc-header-h:72px; --bc-gutter:24px; }
  .bc-nav__toggle{ display:none; }
  .bc-nav{ margin-left:24px; margin-right:4px; }
  .bc-nav__list{
    display:flex; flex-wrap:wrap; gap:2px;
    position:static; background:none; border:0; box-shadow:none; padding:0;
  }
  .bc-nav__item{ border:0; }
  .bc-nav__link{ padding:8px 11px; border-radius:999px; font-size:14.5px; }
  .bc-nav__link:hover{ background:var(--bc-surface-2); }
  .bc-nav__link--active{ background:var(--bc-accent-soft); color:var(--bc-accent); }
}

/* ===================== Breadcrumbs ===================== */
.bc-crumbs{ padding:12px 0 0; font-size:13.5px; color:var(--bc-muted); }
.bc-crumbs ol{ display:flex; flex-wrap:wrap; gap:6px; }
.bc-crumbs li{ list-style:none; display:flex; gap:6px; align-items:center; }
.bc-crumbs li + li::before{ content:"/"; color:var(--bc-border-strong); }
.bc-crumbs a:hover{ color:var(--bc-accent); text-decoration:underline; }

/* ===================== Main layout ===================== */
.bc-main{ padding-bottom:48px; }
.bc-layout{ display:block; }
@media (min-width:1080px){
  .bc-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:32px;
    align-items:start;
  }
}

/* ===================== Sections ===================== */
.bc-section{ margin-top:34px; }
.bc-section > h2{
  position:relative;
  margin:0 0 14px;
  padding-left:14px;
  font-family:var(--bc-font-heading);
  font-size:23px; line-height:1.25; font-weight:700; letter-spacing:-.01em;
}
.bc-section > h2::before{
  content:""; position:absolute; left:0; top:.18em; bottom:.18em;
  width:4px; border-radius:4px; background:linear-gradient(180deg,var(--bc-accent),var(--bc-cta-hi));
}
.bc-section h3{ margin:22px 0 8px; font-size:18px; font-weight:700; }
.bc-section h4{ margin:18px 0 6px; font-size:16px; font-weight:700; }
.bc-section p{ margin:0 0 14px; }
.bc-section p:last-child{ margin-bottom:0; }
@media (min-width:760px){
  .bc-section{ margin-top:44px; }
  .bc-section > h2{ font-size:27px; }
  .bc-section h3{ font-size:19.5px; }
}

/* ===================== Footer ===================== */
.bc-site-footer{
  background:#211F33; color:#D9D5EC;
  padding:36px 0 26px; margin-top:30px;
  font-size:14.5px;
}
.bc-footer-grid{ display:grid; gap:26px; }
@media (min-width:760px){ .bc-footer-grid{ grid-template-columns:1.3fr 1fr 1fr; gap:32px; } }
.bc-footer-col h2{ font-size:15px; margin:0 0 12px; color:#fff; letter-spacing:.04em; text-transform:uppercase; }
.bc-footer-nav li{ list-style:none; margin-bottom:9px; }
.bc-footer-nav a:hover{ color:#fff; text-decoration:underline; }
.bc-footer-ctas{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.bc-footer-about p{ margin:0 0 12px; color:#B9B4D2; }
.bc-footer-warning{
  margin-top:26px; padding:16px; border-radius:var(--bc-radius);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  display:flex; gap:14px; align-items:flex-start;
}
.bc-age{
  flex:none; width:44px; height:44px; border-radius:50%;
  border:2px solid #FF8A66; color:#FF8A66;
  display:grid; place-items:center; font-weight:700; font-size:14px;
}
.bc-footer-bottom{
  margin-top:22px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12);
  color:#A9A4C4; font-size:13px;
}
.bc-site-footer a{ color:#D9D5EC; }
/* цвет ссылок футера не должен перебивать кнопки - специфичность выше, чем у .bc-cta */
.bc-site-footer .bc-cta--primary{ color:#fff; }
.bc-site-footer .bc-cta--secondary{ color:var(--bc-accent); }
