/* 7k4934.casino — 7К Казино. Концепция «полночный сад»: тёмная хвоя + шалфей + шампань. prefix .cast-
   Раскладка: секции с левой колонкой-меткой (label rail), карточки без скруглений, тонкие рамки. */

:root {
  --nn: #0b1410;
  --nn2: #101d17;
  --nn3: #0e1a14;
  --br: #1e3129;
  --br2: #2e4a3d;
  --tt: #eef4ee;
  --t2: #a9bfb0;
  --t3: #718a7a;
  --sg: #8ec07c;
  --ch: #f3e6c8;
  --pl: #d98f6a;
}

* { box-sizing: border-box }
html { scroll-behavior: smooth }
body {
  margin: 0;
  font: 16px/1.7 "Mulish", ui-sans-serif, -apple-system, "Segoe UI", Arial, sans-serif;
  color: var(--tt);
  background: radial-gradient(900px 520px at 78% -10%, rgba(142, 192, 124, .13), transparent 60%), var(--nn);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: "Yeseva One", Georgia, serif; font-weight: 400; line-height: 1.24; margin: 0 0 14px }
p { margin: 0 0 14px }
a { color: var(--sg); text-decoration: none }
a:hover { text-decoration: underline }
ul { margin: 0 0 14px; padding-left: 19px }
li { margin-bottom: 8px }

.cast-skip { position: absolute; top: -44px; left: 12px; background: var(--sg); color: #0a1a10; padding: 9px 14px; z-index: 99 }
.cast-skip:focus { top: 12px }
.cast-w { max-width: 1150px; margin: 0 auto; padding: 0 22px }

/* шапка */
.cast-h { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--br); background: rgba(11, 20, 16, .93); backdrop-filter: blur(10px) }
.cast-h__in { max-width: 1150px; margin: 0 auto; padding: 13px 22px; display: flex; align-items: center; gap: 18px }
.cast-lg { display: flex; align-items: center; gap: 11px; color: var(--tt) }
.cast-lg:hover { text-decoration: none }
.cast-lg svg { width: 35px; height: 35px }
.cast-lg__n { font-family: "Yeseva One", serif; font-size: 19px; line-height: 1 }
.cast-lg__s { display: block; font-size: 10px; letter-spacing: 2.3px; text-transform: uppercase; color: var(--t3); margin-top: 5px }
.cast-nav { display: flex; gap: 19px; margin-left: auto; flex-wrap: wrap }
.cast-nav a { color: var(--t2); font-size: 14px }
.cast-nav a:hover { color: var(--ch); text-decoration: none }

/* кнопки — с нижним подчёркиванием-тенью */
.cast-b { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; font-family: "Mulish", sans-serif; font-weight: 700; font-size: 14px; border: 1px solid transparent }
.cast-b:hover { text-decoration: none }
.cast-b--go { background: var(--sg); color: #0a1a10; box-shadow: 0 4px 0 0 #5f8c50 }
.cast-b--go:hover { transform: translateY(2px); box-shadow: 0 2px 0 0 #5f8c50 }
.cast-b--gh { border-color: var(--br2); color: var(--tt) }
.cast-b--gh:hover { border-color: var(--sg); color: var(--sg) }
.cast-b--sm { padding: 9px 16px; font-size: 13px }
.cast-b--lg { padding: 15px 30px; font-size: 15px }

/* герой */
.cast-hero { padding: 50px 0 54px; border-bottom: 1px solid var(--br) }
.cast-hero h1 { font-size: clamp(26px, 3.8vw, 42px); max-width: 20ch }
.cast-hero__p { color: var(--t2); font-size: 17px; max-width: 68ch }
.cast-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0 28px }
.cast-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px }
.cast-tile { border: 1px solid var(--br2); padding: 16px; background: var(--nn2); color: var(--tt) }
.cast-tile:hover { border-color: var(--sg); text-decoration: none }
.cast-tile__t { display: block; font-family: "Yeseva One", serif; font-size: 15px; margin-bottom: 5px }
.cast-tile__d { font-size: 13px; color: var(--t3) }
.cast-num { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--br); border-bottom: 1px solid var(--br) }
.cast-num div { padding: 14px 16px; border-right: 1px solid var(--br) }
.cast-num div:last-child { border-right: 0 }
.cast-num span { display: block; font-family: "Yeseva One", serif; font-size: 19px; color: var(--ch) }
.cast-num__l { display: block; font-size: 12.5px; color: var(--t3) }

/* секция с левой меткой */
.cast-s { padding: 56px 0; border-bottom: 1px solid var(--br) }
.cast-s__g { display: grid; grid-template-columns: 190px 1fr; gap: 34px; align-items: start }
.cast-s__lab { font-size: 11.5px; letter-spacing: 2.4px; text-transform: uppercase; color: var(--pl); padding-top: 6px; border-top: 2px solid var(--pl) }
.cast-s h2 { font-size: clamp(22px, 2.8vw, 30px); max-width: 24ch }
.cast-p { color: var(--t2); font-size: 16.5px; max-width: 78ch }
.cast-note { color: var(--t3); font-size: 14px; max-width: 76ch }

/* зеркало */
.cast-mir { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14.5px }
.cast-mir th { text-align: left; font-size: 11.5px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--t3); padding: 11px 12px; border-bottom: 1px solid var(--br2) }
.cast-mir td { padding: 12px; border-bottom: 1px solid var(--br); color: var(--t2) }
.cast-mir td:first-child { color: var(--tt) }
.cast-src { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px }
.cast-src div { border-left: 2px solid var(--sg); padding: 4px 0 4px 14px; font-size: 14px; color: var(--t2) }
.cast-src__t { display: block; font-weight: 700; color: var(--tt) }

/* шаги входа */
.cast-step { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px }
.cast-step__c { border: 1px solid var(--br); padding: 18px; background: var(--nn3) }
.cast-step__c h3 { font-size: 15.5px }
.cast-step__c p { font-size: 14px; color: var(--t2); margin: 0 }
.cast-step__k { display: block; font-size: 12px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--sg); margin-bottom: 7px }

/* автоматы */
.cast-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px }
.cast-slot { border: 1px solid var(--br); background: var(--nn3); padding: 15px }
.cast-slot h3 { font-size: 15px; margin-bottom: 3px }
.cast-slot__pr { font-size: 12.5px; color: var(--t3); margin: 0 0 8px }
.cast-slot__m { display: flex; gap: 14px; font-size: 12.5px; color: var(--sg); margin-bottom: 8px }
.cast-slot p { font-size: 13.5px; color: var(--t2); margin: 0 }

/* депозиты */
.cast-dep { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px }
.cast-dep__c { border: 1px solid var(--br); background: var(--nn3); padding: 18px; border-top: 3px solid var(--sg) }
.cast-dep__c:nth-child(2) { border-top-color: var(--ch) }
.cast-dep__c:nth-child(3) { border-top-color: var(--pl) }
.cast-dep__c h3 { font-size: 14px; color: var(--t2) }
.cast-dep__v { font-family: "Yeseva One", serif; font-size: 24px; color: var(--ch); margin-bottom: 4px }
.cast-dep__f { font-size: 13.5px; color: var(--sg); margin-bottom: 9px }
.cast-dep__c p { font-size: 13.5px; color: var(--t2); margin: 0 }
.cast-cond { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--br) }
.cast-cond div { font-size: 13px; color: var(--t3) }
.cast-cond span { display: block; font-family: "Yeseva One", serif; font-size: 17px; color: var(--tt); margin-top: 3px }

/* уровни списком */
.cast-lv { margin-top: 20px }
.cast-lv__r { display: grid; grid-template-columns: 130px 160px 90px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--br); font-size: 14px; color: var(--t2) }
.cast-lv__n { font-family: "Yeseva One", serif; color: var(--ch) }
.cast-lv__c { color: var(--pl) }

/* касса */
.cast-pay { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14.5px }
.cast-pay th { text-align: left; font-size: 11.5px; letter-spacing: 1.3px; text-transform: uppercase; color: var(--t3); padding: 11px 12px; border-bottom: 1px solid var(--br2) }
.cast-pay td { padding: 12px; border-bottom: 1px solid var(--br); color: var(--t2) }
.cast-pay td:first-child { color: var(--tt) }

/* пары карточек */
.cast-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px }
.cast-box { border: 1px solid var(--br); background: var(--nn3); padding: 20px }
.cast-box h3 { font-size: 16px }
.cast-box p { font-size: 14.5px; color: var(--t2) }
.cast-fig { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 12px }
.cast-fig div { font-size: 12.5px; color: var(--t3) }
.cast-fig span { display: block; font-family: "Yeseva One", serif; font-size: 20px; color: var(--sg); margin-top: 3px }

/* отзывы */
.cast-rev { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px }
.cast-rev__c { border: 1px solid var(--br); padding: 17px; background: var(--nn3) }
.cast-rev__c p { font-size: 14.5px; color: var(--t2) }
.cast-rev__m { font-size: 12.5px; color: var(--t3); border-top: 1px solid var(--br); padding-top: 8px }
.cast-rev__st { color: var(--ch); letter-spacing: 2px; font-size: 13px }

/* полоса */
.cast-band { padding: 44px 0; border-bottom: 1px solid var(--br); background: linear-gradient(95deg, rgba(142, 192, 124, .14), transparent) }
.cast-band__in { display: flex; justify-content: space-between; align-items: center; gap: 22px; flex-wrap: wrap }
.cast-band p { font-family: "Yeseva One", serif; font-size: clamp(18px, 2.3vw, 25px); margin: 0; max-width: 31ch }

/* FAQ */
.cast-faq { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px }
.cast-faq details { border: 1px solid var(--br); background: var(--nn3); padding: 14px 16px }
.cast-faq summary { cursor: pointer; font-family: "Yeseva One", serif; font-size: 14.5px; list-style: none; color: var(--tt) }
.cast-faq summary::-webkit-details-marker { display: none }
.cast-faq summary::before { content: "› "; color: var(--sg) }
.cast-faq details[open] summary::before { content: "⌄ "; color: var(--pl) }
.cast-faq p { margin: 10px 0 0; font-size: 14.5px; color: var(--t2) }

/* автор + подвал */
.cast-auth { padding: 44px 0; border-bottom: 1px solid var(--br) }
.cast-auth p { color: var(--t2); font-size: 14.5px; max-width: 90ch }
.cast-f { padding: 36px 0 54px; font-size: 13.5px; color: var(--t3) }
.cast-f__g { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 28px; margin-bottom: 22px }
.cast-f h4 { font-family: "Yeseva One", serif; font-size: 14px; color: var(--ch); margin-bottom: 10px }
.cast-f ul { list-style: none; padding: 0 }
.cast-f a { color: var(--t2) }
.cast-18 { display: inline-block; border: 1px solid var(--pl); color: var(--pl); padding: 6px 11px; font-family: "Yeseva One", serif; margin-bottom: 10px }
.cast-f__law { border-top: 1px solid var(--br); padding-top: 18px; line-height: 1.75 }

@media (max-width: 1000px) {
  .cast-s__g { grid-template-columns: 1fr; gap: 16px }
  .cast-s__lab { border-top: 0; padding-top: 0 }
  .cast-slots { grid-template-columns: repeat(2, 1fr) }
  .cast-tiles, .cast-dep, .cast-rev, .cast-duo, .cast-src, .cast-faq, .cast-step { grid-template-columns: 1fr }
  .cast-num { grid-template-columns: repeat(2, 1fr) }
  .cast-num div { border-bottom: 1px solid var(--br) }
  .cast-f__g { grid-template-columns: 1fr }
  .cast-lv__r { grid-template-columns: 1fr 1fr; row-gap: 4px }
}
@media (max-width: 600px) {
  .cast-h__in { flex-wrap: wrap; padding: 11px 15px }
  .cast-nav { width: 100%; order: 3; margin-left: 0; gap: 14px }
  .cast-w, .cast-h__in { padding-left: 15px; padding-right: 15px }
  .cast-slots { grid-template-columns: 1fr }
  .cast-num { grid-template-columns: 1fr }
  .cast-s { padding: 42px 0 }
  .cast-pay, .cast-mir { font-size: 13.5px }
  .cast-pay th, .cast-pay td, .cast-mir th, .cast-mir td { padding: 10px 7px }
  .cast-b--sm { padding: 11px 18px }
}

/* мобильный скролл широких таблиц вместо горизонтального скролла страницы */
@media (max-width: 600px) {
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch }
}
