/* vavada-official7.buzz — архетип «ticket»: блоки-билеты с полукруглыми вырезами,
   перфорация пунктиром, ведущий акцент --gold, namespace .vo7- */

:root{
  --bg:#191929;        /* основной тёмно-синий фон */
  --surface:#1c2240;   /* панели, карточки */
  --surface-2:#212132; /* вложенные блоки, строки таблиц */
  --raise:#302e40;     /* приподнятые элементы, hover */
  --line:#40445a;      /* границы */
  --line-2:#4d5a85;    /* светлая граница, разделители */
  --crimson:#871628;   /* фирменный тёмно-красный */
  --red:#fe284a;       /* яркий акцент, CTA */
  --gold:#ffde26;      /* золото, цифры, выделения */
  --gold-2:#e8ce3a;    /* приглушённое золото */
  --blue:#30a2d9;      /* холодный акцент */
  --text:#ffffff;
  --muted:#b99e7c;     /* приглушённый текст */
  --muted-2:#646a87;   /* подписи, мелочь */
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.68;
  letter-spacing:.005em;
}

h1,h2,h3,.vo7-num,.vo7-kpi__val{
  font-family:"Prata",Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:.01em;
}

p{margin:0 0 16px}
a{color:var(--gold);text-decoration:none;border-bottom:1px dotted var(--gold-2)}
a:hover{color:var(--gold-2)}
img{max-width:100%;height:auto;display:block}

.vo7-wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* ---------- каркас билета ---------- */
/* Каждая секция — отрывной талон: пунктирная рамка и два полукруглых выреза
   цвета фона на боковых кромках. */
.vo7-ticket{
  position:relative;
  background:var(--surface);
  border:1px dashed var(--line-2);
  border-radius:4px;
  padding:34px 40px 30px;
  margin:0 0 26px;
}
.vo7-ticket::before,
.vo7-ticket::after{
  content:"";
  position:absolute;
  top:64px;
  width:26px;
  height:26px;
  background:var(--bg);
  border:1px dashed var(--line-2);
  border-radius:50%;
}
.vo7-ticket::before{left:-14px;clip-path:inset(0 0 0 50%)}
.vo7-ticket::after{right:-14px;clip-path:inset(0 50% 0 0)}

/* перфорация — горизонтальная линия отрыва */
.vo7-perf{
  height:1px;
  margin:26px 0;
  background-image:linear-gradient(90deg,var(--line-2) 0 8px,transparent 8px 18px);
  background-size:18px 1px;
  opacity:.75;
}

/* корешок билета — вертикальная золотая полоса слева */
.vo7-stub{
  border-left:3px solid var(--gold);
  padding-left:18px;
  margin:0 0 22px;
}

.vo7-sec{padding:34px 0 8px}
.vo7-sec--tint{background:var(--surface-2)}

/* ---------- шапка ---------- */
.vo7-top{
  border-bottom:1px dashed var(--line);
  background:linear-gradient(180deg,#4d5a85,rgba(70,82,121,0));
  padding:16px 0;
}
.vo7-top__in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.vo7-logo{
  font-family:"Prata",Georgia,serif;
  font-size:24px;
  color:var(--gold);
  letter-spacing:.04em;
}
.vo7-logo span{color:var(--text);font-size:14px;letter-spacing:.14em;display:block}
.vo7-top__meta{color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* ---------- hero ---------- */
.vo7-hero{padding:40px 0 10px}
.vo7-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:start}
.vo7-hero h1{
  font-size:40px;
  line-height:1.2;
  margin:0 0 18px;
}
.vo7-hero h1 em{font-style:normal;color:var(--gold)}
.vo7-lead{font-size:18px;color:#e8e9f2;margin-bottom:20px}
.vo7-lead .vo7-hl{color:var(--gold);font-style:normal}

.vo7-hl{color:var(--gold);font-style:normal}
.vo7-hl--red{color:var(--red);font-style:normal}
.vo7-hl--blue{color:var(--blue);font-style:normal}
.vo7-hl--soft{color:var(--muted);font-style:normal}

.vo7-shot{
  position:relative;
  border:1px dashed var(--line-2);
  border-radius:4px;
  padding:10px;
  background:var(--surface-2);
}
.vo7-shot img{border-radius:2px}
.vo7-shot figcaption{
  font-size:13px;
  color:var(--muted-2);
  padding:10px 4px 2px;
  border-top:1px dashed var(--line);
  margin-top:10px;
}

/* ---------- KPI-полоса ---------- */
.vo7-kpi{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  margin:28px 0 24px;
  border:1px dashed var(--line-2);
  border-radius:4px;
  background:var(--surface);
  overflow:hidden;
}
.vo7-kpi__cell{
  position:relative;
  padding:20px 16px;
  border-right:1px dashed var(--line);
  text-align:center;
}
.vo7-kpi__cell:last-child{border-right:0}
.vo7-kpi__cell::before,
.vo7-kpi__cell::after{
  content:"";
  position:absolute;
  right:-7px;
  width:14px;height:14px;
  background:var(--bg);
  border-radius:50%;
}
.vo7-kpi__cell::before{top:-7px}
.vo7-kpi__cell::after{bottom:-7px}
.vo7-kpi__cell:last-child::before,
.vo7-kpi__cell:last-child::after{display:none}
.vo7-kpi__val{display:block;font-size:26px;color:var(--gold);line-height:1.15}
.vo7-kpi__key{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-top:8px}

/* ---------- CTA ---------- */
.vo7-cta{
  display:inline-block;
  background:var(--red);
  color:var(--text);
  border:0;
  border-bottom:0;
  border-radius:3px;
  padding:15px 34px;
  font-size:16px;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 0 0 1px var(--crimson) inset;
}
.vo7-cta:hover{background:var(--crimson);color:var(--text)}
.vo7-cta--wide{display:block;text-align:center;margin:8px auto 0;max-width:420px}
.vo7-cta__note{font-size:13px;color:var(--muted-2);margin-top:12px}

/* ---------- заголовки секций ---------- */
.vo7-h2{
  font-size:29px;
  line-height:1.26;
  margin:0 0 6px;
}
.vo7-h2 .vo7-tag{
  display:block;
  font-family:"Inter",sans-serif;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-2);
  margin-bottom:9px;
}
h3{font-size:20px;margin:26px 0 10px;color:#f2eddc}

/* ---------- списки-талоны ---------- */
.vo7-list{list-style:none;margin:0 0 16px;padding:0}
.vo7-list li{
  position:relative;
  padding:9px 0 9px 26px;
  border-bottom:1px dashed var(--line);
}
.vo7-list li:last-child{border-bottom:0}
.vo7-list li::before{
  content:"";
  position:absolute;
  left:2px;top:19px;
  width:8px;height:8px;
  border-radius:50%;
  background:var(--gold);
}

/* ---------- сетка карточек-корешков ---------- */
.vo7-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}
.vo7-card{
  position:relative;
  background:var(--surface-2);
  border:1px dashed var(--line);
  border-radius:4px;
  padding:20px 18px 18px;
}
.vo7-card::after{
  content:"";
  position:absolute;
  left:50%;bottom:-9px;
  transform:translateX(-50%);
  width:18px;height:18px;
  background:var(--bg);
  border:1px dashed var(--line);
  border-radius:50%;
  clip-path:inset(0 0 50% 0);
}
.vo7-card__t{
  font-family:"Prata",Georgia,serif;
  font-size:18px;
  line-height:1.3;
  color:#f2eddc;
  margin:0 0 8px;
}
.vo7-card p{margin:0;font-size:15px;color:#d8d9e6}
.vo7-card__no{
  font-family:"Prata",serif;
  font-size:13px;
  color:var(--gold-2);
  letter-spacing:.14em;
  display:block;
  margin-bottom:6px;
}

/* ---------- клуб ---------- */
.vo7-club{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:22px 0}
.vo7-club__st{
  background:var(--surface-2);
  border:1px dashed var(--line-2);
  border-radius:4px;
  padding:16px 12px;
  text-align:center;
}
.vo7-club__name{display:block;font-family:"Prata",serif;font-size:17px;color:var(--gold);margin-bottom:6px}
.vo7-club__cb{display:block;font-size:13px;color:var(--muted)}
.vo7-club__req{display:block;font-size:12px;color:var(--muted-2);margin-top:6px}

/* ---------- таблицы ---------- */
.vo7-tablebox{overflow-x:auto;margin:20px 0;border:1px dashed var(--line-2);border-radius:4px}
table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
caption{
  caption-side:top;
  text-align:left;
  padding:14px 16px;
  color:var(--muted);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px dashed var(--line);
}
th,td{padding:12px 16px;text-align:left;border-bottom:1px dashed var(--line)}
thead th{
  background:var(--raise);
  color:var(--gold);
  font-weight:400;
  font-size:13px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
tbody tr:nth-child(even){background:var(--surface-2)}
tbody tr:last-child td{border-bottom:0}
td .vo7-hl{color:var(--gold)}

/* ---------- галерея слотов: сетка 4 в ряд ---------- */
.vo7-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 8px}
.vo7-gal figure{
  position:relative;
  margin:0;
  background:var(--surface-2);
  border:1px dashed var(--line);
  border-radius:4px;
  padding:8px 8px 0;
  overflow:hidden;
}
.vo7-gal figure::before,
.vo7-gal figure::after{
  content:"";
  position:absolute;
  bottom:44px;
  width:16px;height:16px;
  background:var(--bg);
  border-radius:50%;
}
.vo7-gal figure::before{left:-8px}
.vo7-gal figure::after{right:-8px}
.vo7-gal img{border-radius:2px;width:100%}
.vo7-gal figcaption{
  padding:12px 4px 12px;
  margin-top:8px;
  border-top:1px dashed var(--line);
  font-size:13px;
  line-height:1.45;
  color:var(--muted-2);
}
.vo7-gal .vo7-gal__rtp{display:block;color:var(--gold-2);font-size:12px;letter-spacing:.06em;margin-top:4px}

/* ---------- FAQ ---------- */
.vo7-faq details{
  background:var(--surface-2);
  border:1px dashed var(--line-2);
  border-radius:4px;
  margin:0 0 10px;
  padding:0 20px;
}
.vo7-faq summary{
  cursor:pointer;
  padding:16px 0;
  font-size:17px;
  color:#f5efe0;
  list-style:none;
  position:relative;
  padding-right:34px;
}
.vo7-faq summary::-webkit-details-marker{display:none}
.vo7-faq summary::after{
  content:"+";
  position:absolute;
  right:4px;top:14px;
  color:var(--gold);
  font-size:22px;
  line-height:1;
}
.vo7-faq details[open] summary::after{content:"–"}
.vo7-faq details[open] summary{border-bottom:1px dashed var(--line)}
.vo7-faq p{margin:14px 0 18px;color:#d8d9e6;font-size:15px}

/* ---------- отзыв ---------- */
.vo7-quote{
  background:var(--surface);
  border:1px dashed var(--gold-2);
  border-radius:4px;
  padding:22px 26px;
  margin:24px 0;
}
.vo7-quote p{margin:0 0 10px;font-size:17px;color:#f2eddc}
.vo7-quote cite{font-style:normal;font-size:13px;color:var(--muted-2);letter-spacing:.06em}

/* ---------- источники ---------- */
.vo7-src{font-size:14px;color:var(--muted-2)}
.vo7-src dt{color:var(--muted);margin-top:12px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.vo7-src dd{margin:4px 0 0}

/* ---------- подвал ---------- */
.vo7-foot{
  border-top:1px dashed var(--line-2);
  margin-top:34px;
  padding:30px 0 46px;
  background:var(--surface-2);
  font-size:14px;
  color:var(--muted-2);
}
.vo7-foot__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}
.vo7-foot p{margin:0 0 10px}
.vo7-foot__age{
  margin-top:18px;
  padding:12px 16px;
  border:1px dashed var(--red);
  border-radius:3px;
  color:#f0d9dd;
}

/* ---------- мобильный ---------- */
@media (max-width:980px){
  .vo7-hero__grid{grid-template-columns:1fr}
  .vo7-cards{grid-template-columns:repeat(2,1fr)}
  .vo7-gal{grid-template-columns:repeat(2,1fr)}
  .vo7-club{grid-template-columns:repeat(3,1fr)}
  .vo7-kpi{grid-template-columns:repeat(3,1fr)}
  .vo7-foot__grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  body{font-size:15.5px}
  .vo7-wrap{padding:0 16px}
  .vo7-ticket{padding:24px 18px 20px}
  .vo7-ticket::before,.vo7-ticket::after{display:none}
  .vo7-hero h1{font-size:28px}
  .vo7-lead{font-size:16.5px}
  .vo7-h2{font-size:23px}
  h3{font-size:18px}
  .vo7-kpi{grid-template-columns:repeat(2,1fr)}
  .vo7-kpi__cell{border-right:0;border-bottom:1px dashed var(--line)}
  .vo7-kpi__cell::before,.vo7-kpi__cell::after{display:none}
  .vo7-kpi__val{font-size:22px}
  .vo7-cards{grid-template-columns:1fr}
  .vo7-gal{grid-template-columns:1fr}
  .vo7-gal figure::before,.vo7-gal figure::after{display:none}
  .vo7-club{grid-template-columns:1fr}
  .vo7-cta{display:block;text-align:center;padding:14px 18px}
  table{min-width:520px}
}
