/* plinko-bonuses99.vip — шаблон plumbline: отвес, нить, груз, пузырьковый уровень */

:root {
  --plb-graphite: #1c1f24;
  --plb-graphite-2: #23272e;
  --plb-graphite-3: #2b3038;
  --plb-brass: #c08a30;
  --plb-brass-soft: #e0b064;
  --plb-bubble: #59a56b;
  --plb-ink: #e8e4db;
  --plb-ink-dim: #a7a396;
  --plb-line: #3a404a;
  --plb-rail: 34px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  padding: 0;
  background: var(--plb-graphite);
  background-image:
    repeating-linear-gradient(180deg, rgba(192,138,48,.055) 0 1px, transparent 1px 96px);
  color: var(--plb-ink);
  font-family: "Fira Sans Extra Condensed", "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.62;
  letter-spacing: .012em;
  -webkit-text-size-adjust: 100%;
}

.plb-shell {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px 0 calc(24px + var(--plb-rail));
}

/* --- вертикальная нить отвеса через всю страницу --- */
.plb-shell::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 24px;
  width: 2px;
  background: linear-gradient(180deg, var(--plb-brass) 0%, #6d5426 55%, #4a3a1c 100%);
  opacity: .8;
}

/* груз на конце нити */
.plb-shell::after {
  content: "";
  position: absolute;
  left: 15px;
  bottom: -20px;
  width: 20px;
  height: 46px;
  background: linear-gradient(90deg, #7d5b1f 0%, var(--plb-brass-soft) 42%, #7d5b1f 100%);
  clip-path: polygon(0 0, 100% 0, 100% 62%, 50% 100%, 0 62%);
}

a { color: var(--plb-brass-soft); text-decoration: none; border-bottom: 1px dotted rgba(224,176,100,.5); }
a:hover { color: #fff; border-bottom-color: #fff; }

p { margin: 0 0 14px; }

/* ================= шапка ================= */
.plb-top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 20px;
  padding: 26px 0 18px;
  border-bottom: 1px solid var(--plb-line);
}
.plb-mark {
  font-family: "Rubik Maps", "Fira Sans Extra Condensed", sans-serif;
  font-size: 15px;
  letter-spacing: .06em;
  color: var(--plb-brass-soft);
  text-transform: lowercase;
}
.plb-top-note { font-size: 15px; color: var(--plb-ink-dim); }
.plb-top-note em { font-style: normal; color: var(--plb-bubble); }

/* ================= hero ================= */
.plb-hero { padding: 34px 0 30px; }

h1 {
  margin: 0 0 16px;
  font-family: "Fira Sans Extra Condensed", sans-serif;
  font-weight: 700;
  font-size: 45px;
  line-height: 1.08;
  letter-spacing: -.005em;
  color: #fff;
}
h1 .plb-h1-accent { color: var(--plb-brass-soft); }

.plb-lead {
  font-size: 20px;
  line-height: 1.55;
  color: #d8d4c9;
  max-width: 44em;
}

/* --- KPI: пузырьковые уровни --- */
.plb-levels {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin: 26px 0 24px;
}
.plb-vial {
  position: relative;
  background: linear-gradient(180deg, var(--plb-graphite-3) 0%, var(--plb-graphite-2) 100%);
  border: 1px solid var(--plb-line);
  border-radius: 22px;
  padding: 16px 14px 30px;
  overflow: hidden;
}
.plb-vial::before {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 12px;
  height: 10px;
  border-radius: 6px;
  background: rgba(0,0,0,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
/* пузырёк */
.plb-vial::after {
  content: "";
  position: absolute;
  bottom: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--plb-bubble);
  box-shadow: 0 0 6px rgba(89,165,107,.8);
}
.plb-vial:nth-child(1)::after { left: 22%; }
.plb-vial:nth-child(2)::after { left: 48%; }
.plb-vial:nth-child(3)::after { left: 50%; }
.plb-vial:nth-child(4)::after { left: 36%; }
.plb-vial:nth-child(5)::after { left: 62%; }

.plb-vial-num {
  display: block;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--plb-brass-soft);
}
.plb-vial-cap {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.32;
  color: var(--plb-ink-dim);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ================= CTA ================= */
.plb-act { margin: 22px 0 6px; }
.plb-act a {
  display: inline-block;
  padding: 14px 30px;
  background: linear-gradient(180deg, var(--plb-brass-soft) 0%, var(--plb-brass) 100%);
  color: #1a1509;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .02em;
  border: 0;
  border-radius: 4px 4px 14px 14px;
  box-shadow: 0 6px 0 #6d5426;
}
.plb-act a:hover { color: #1a1509; background: var(--plb-brass-soft); }
.plb-act-sub { display: block; margin-top: 10px; font-size: 15px; color: var(--plb-ink-dim); }

/* ================= секции по отвесу с засечками ================= */
.plb-plate {
  position: relative;
  padding: 30px 0 6px;
  border-top: 1px solid var(--plb-line);
  margin-top: 26px;
}
.plb-plate::before {
  content: "";
  position: absolute;
  top: -1px;
  left: calc(-1 * var(--plb-rail));
  width: 22px;
  height: 3px;
  background: var(--plb-brass);
}
.plb-notch {
  position: absolute;
  top: 18px;
  left: calc(-1 * var(--plb-rail) - 2px);
  font-family: "Rubik Maps", "Fira Sans Extra Condensed", sans-serif;
  font-size: 12px;
  color: var(--plb-brass);
  opacity: .85;
}

h2 {
  margin: 0 0 14px;
  font-weight: 600;
  font-size: 31px;
  line-height: 1.16;
  color: #fff;
  letter-spacing: -.004em;
}
h3 {
  margin: 24px 0 10px;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.24;
  color: var(--plb-brass-soft);
}

.plb-hl { color: var(--plb-bubble); }
.plb-num { color: var(--plb-brass-soft); font-weight: 600; }

/* ================= таблицы ================= */
.plb-scroll { overflow-x: auto; margin: 18px 0 20px; -webkit-overflow-scrolling: touch; }
table {
  border-collapse: collapse;
  width: 100%;
  min-width: 540px;
  font-size: 16px;
}
caption {
  caption-side: top;
  text-align: left;
  padding: 0 0 8px;
  font-size: 15px;
  color: var(--plb-ink-dim);
  letter-spacing: .03em;
}
th, td {
  padding: 9px 12px;
  text-align: left;
  border-bottom: 1px solid var(--plb-line);
  vertical-align: top;
}
thead th {
  background: var(--plb-graphite-3);
  color: var(--plb-brass-soft);
  font-weight: 600;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .045em;
  border-bottom: 2px solid var(--plb-brass);
}
tbody tr:nth-child(even) { background: rgba(255,255,255,.022); }
td:first-child { color: #fff; }

/* ================= карточки-грузы ================= */
.plb-weights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 20px 0;
}
.plb-weight {
  background: var(--plb-graphite-2);
  border: 1px solid var(--plb-line);
  border-top: 3px solid var(--plb-brass);
  padding: 16px 16px 18px;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
}
.plb-weight h4 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: var(--plb-bubble);
  letter-spacing: .01em;
}
.plb-weight p { margin: 0; font-size: 16px; color: #cfcbc0; }

/* ================= ступени клуба ================= */
.plb-steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 18px 0 20px; }
.plb-step {
  background: var(--plb-graphite-2);
  border-left: 3px solid var(--plb-brass);
  padding: 12px 10px;
}
.plb-step span { display: block; }
.plb-step-name { font-size: 16px; color: #fff; }
.plb-step-val { font-size: 22px; font-weight: 700; color: var(--plb-bubble); }
.plb-step-sub { font-size: 14px; color: var(--plb-ink-dim); }

/* ================= отзыв ================= */
.plb-voice {
  margin: 22px 0;
  padding: 16px 18px;
  background: var(--plb-graphite-2);
  border-left: 2px solid var(--plb-bubble);
  font-size: 17px;
  color: #d5d1c6;
}
.plb-voice-sig { display: block; margin-top: 8px; font-size: 15px; color: var(--plb-ink-dim); }

/* ================= FAQ ================= */
details {
  border-bottom: 1px solid var(--plb-line);
  padding: 12px 0 12px 22px;
  position: relative;
}
details summary {
  cursor: pointer;
  list-style: none;
  font-size: 19px;
  font-weight: 600;
  color: #fff;
}
details summary::-webkit-details-marker { display: none; }
details::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 21px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--plb-brass);
}
details[open]::before { background: var(--plb-bubble); }
details p { margin: 10px 0 2px; font-size: 17px; color: #cbc7bc; }

/* ================= сводка источников ================= */
.plb-ledger {
  margin: 26px 0 0;
  padding: 18px 20px;
  background: var(--plb-graphite-2);
  border: 1px dashed var(--plb-line);
}
.plb-ledger-cap {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--plb-brass-soft);
}
.plb-ledger ul { margin: 0; padding-left: 18px; }
.plb-ledger li { font-size: 16px; color: #c6c2b7; margin-bottom: 5px; }

/* ================= подвал ================= */
.plb-base {
  margin-top: 34px;
  padding: 22px 0 54px;
  border-top: 2px solid var(--plb-brass);
  font-size: 15px;
  color: var(--plb-ink-dim);
  line-height: 1.55;
}
.plb-base p { margin: 0 0 8px; }
.plb-age {
  display: inline-block;
  margin-top: 6px;
  padding: 7px 12px;
  border: 1px solid var(--plb-bubble);
  color: var(--plb-bubble);
  font-size: 15px;
  letter-spacing: .02em;
}

/* ================= мобильный ================= */
@media (max-width: 640px) {
  :root { --plb-rail: 18px; }
  body { font-size: 17px; }
  .plb-shell { padding: 0 14px 0 calc(14px + var(--plb-rail)); }
  .plb-shell::before { left: 14px; }
  .plb-shell::after { left: 6px; }
  h1 { font-size: 30px; }
  h2 { font-size: 24px; }
  h3 { font-size: 19px; }
  .plb-lead { font-size: 18px; }
  .plb-levels { grid-template-columns: repeat(2, 1fr); }
  .plb-levels .plb-vial:nth-child(5) { grid-column: span 2; }
  .plb-weights { grid-template-columns: 1fr; }
  .plb-steps { grid-template-columns: repeat(2, 1fr); }
  .plb-act a { display: block; text-align: center; padding: 14px 16px; }
  .plb-notch { top: 10px; font-size: 11px; }
  table { font-size: 15px; }
  th, td { padding: 8px 9px; }
}
