/* ==================================================================
   Lincoln — everything after the reel: house-rules strip, branches
   (each one a pool table seen from above), members club with the
   gold card, reviews, finale, footer.
   ================================================================== */

.branches, .club, .reviews, .finale { padding: clamp(72px, 10vw, 140px) var(--pad); }

.section-head { max-width: 820px; margin-bottom: 44px; }
.section-head--row {
  max-width: none; display: flex; flex-wrap: wrap; gap: 12px;
  align-items: baseline; justify-content: space-between;
}

/* ---- house rules ---------------------------------------------------- */

.strip { border-block: 1px solid var(--line); background: var(--ink-2); }
.strip ul {
  list-style: none; margin: 0; padding: 18px var(--pad);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 32px;
  font-size: 15px; color: var(--dim);
}
.strip strong { color: var(--chalk); font-weight: 700; }

/* ---- branches: a table per branch ----------------------------------- */

.branches__grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
}
.branches__plain { color: var(--dim); }

.tcard {
  position: relative;
  padding: 16px;                                 /* the wooden rail */
  border-radius: 26px;
  background: linear-gradient(145deg, #3d2414, #1d1008);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .09);
}
.tcard::before {                                 /* six pockets */
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  background:
    radial-gradient(circle at 19px 19px, #040404 0 10px, transparent 11px),
    radial-gradient(circle at calc(100% - 19px) 19px, #040404 0 10px, transparent 11px),
    radial-gradient(circle at 19px calc(100% - 19px), #040404 0 10px, transparent 11px),
    radial-gradient(circle at calc(100% - 19px) calc(100% - 19px), #040404 0 10px, transparent 11px),
    radial-gradient(circle at 11px 50%, #040404 0 9px, transparent 10px),
    radial-gradient(circle at calc(100% - 11px) 50%, #040404 0 9px, transparent 10px);
}
.tcard__felt {
  position: relative; height: 100%;
  display: flex; flex-direction: column; gap: 12px;
  padding: 26px 26px 22px;
  border-radius: 12px;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 28%), rgba(255, 225, 160, .1), transparent 55%),
    var(--grain),
    radial-gradient(ellipse at 50% 35%, var(--felt-lit) 0%, #0b5a32 55%, var(--felt-deep) 100%);
  background-size: auto, 160px 160px, auto;
  background-blend-mode: normal, soft-light, normal;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35), inset 0 12px 30px rgba(0, 0, 0, .35);
  color: var(--chalk);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.tcard__head { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; justify-content: space-between; }
.tcard__city { margin: 0; font-family: var(--display); font-size: 58px; line-height: .85; }
.tcard__status {
  display: inline-flex; align-items: center; gap: 7px; margin: 0;
  padding: 5px 11px; border-radius: 999px; background: rgba(0, 0, 0, .3);
  font-size: 13px; font-weight: 500; color: #e3ebe5; text-shadow: none;
}
.dot { width: 8px; height: 8px; border-radius: 50%; background: #9aa39d; flex: none; }
.dot--open { background: #5be391; box-shadow: 0 0 10px #5be391; }
.tcard__tag { margin: 0; font-weight: 700; font-size: 17px; }
.tcard__facts {
  display: flex; flex-wrap: wrap; gap: 4px 18px; list-style: none; margin: 0; padding: 0;
  font-size: 14px; color: #e3ebe5;
}
.tcard__facts strong { margin-inline-end: 4px; font-size: 22px; color: var(--chalk); }
.tcard__extras { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.tcard__extras li {
  padding: 4px 10px; border-radius: 6px; background: rgba(0, 0, 0, .26);
  font-size: 13px; color: #e8efe9; text-shadow: none;
}
.tcard__addr { margin: 2px 0 0; font-size: 14px; color: #e3ebe5; }
.tcard__hours summary {
  cursor: pointer; width: fit-content; list-style: none;
  font-size: 14px; font-weight: 700; color: var(--chalk);
}
.tcard__hours summary::-webkit-details-marker { display: none; }
.tcard__hours summary::after { content: ' ▾'; }
.tcard__hours[open] summary::after { content: ' ▴'; }
.tcard__hours dl { display: grid; gap: 4px; margin: 8px 0 0; font-size: 14px; }
.tcard__hours dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed rgba(245, 242, 234, .2); padding-bottom: 4px; }
.tcard__hours dt { color: #e3ebe5; }
.tcard__hours dd { margin: 0; }
.tcard__actions { margin-top: auto; padding-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tcard .chip { border-color: rgba(245, 242, 234, .45); background: rgba(0, 0, 0, .2); text-shadow: none; }

/* ---- members club ---------------------------------------------------- */

.club {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center;
  border-top: 1px solid var(--line);
  background: radial-gradient(ellipse at 22% 50%, rgba(255, 204, 26, .08), transparent 60%);
}
.club__gold {
  max-width: 46ch; margin: 0 0 26px; padding-inline-start: 14px;
  border-inline-start: 3px solid var(--yellow);
  font-size: 16px; color: var(--dim);
}
.club__gold strong { color: var(--chalk); }
.club__stage { display: grid; place-items: center; perspective: 1200px; }

.gold-card {
  position: relative; width: min(440px, 100%); aspect-ratio: 1.586;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 26px 28px; border-radius: 22px; color: #2a1d05;
  background: linear-gradient(135deg, #f6d77a 0%, #caa13e 35%, #f3d27a 55%, #a9801f 80%, #e9c465 100%);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .85), inset 0 0 0 1px rgba(255, 236, 170, .45);
  transform: rotateX(var(--rx, 8deg)) rotateY(var(--ry, -14deg));
  transition: transform .5s cubic-bezier(.2, .8, .2, 1);
}
.gold-card:hover { transition-duration: .08s; }
.gold-card__sheen {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .6) var(--gx, 45%), transparent 62%);
  mix-blend-mode: soft-light;
}
.gold-card__top { display: flex; align-items: center; justify-content: space-between; }
.gold-card__word { font-family: var(--display); font-size: 50px; font-weight: 700; line-height: .8; }
.gold-card__tier { font-size: 14px; font-weight: 800; letter-spacing: .3em; }
.gold-card__ball { width: 54px; height: 54px; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .35)); }
.gold-card__bottom { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; letter-spacing: .05em; }

/* ---- reviews ------------------------------------------------------------ */

.reviews { border-top: 1px solid var(--line); }
.reviews__meta { margin: 0; color: var(--dim); }
.reviews__list {
  display: grid; gap: 16px; list-style: none; margin: 0; padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.reviews blockquote {
  height: 100%; margin: 0; padding: 26px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-2);
}
.reviews blockquote p { margin: 0; font-family: var(--display); font-size: 42px; font-weight: 700; line-height: .95; }
.reviews blockquote[lang="ru"] p { font-family: system-ui, 'Segoe UI', Arial, sans-serif; font-size: 23px; font-weight: 800; line-height: 1.2; }
.reviews blockquote footer { font-size: 14px; color: var(--dim); }

/* ---- finale + footer ----------------------------------------------------- */

.finale {
  text-align: center; border-top: 1px solid var(--line);
  background: radial-gradient(ellipse at 50% 125%, rgba(12, 101, 56, .6), transparent 62%), var(--ink);
}
.finale .cta-row { justify-content: center; }

.footer {
  display: grid; grid-template-columns: 1fr 2fr auto; gap: 32px; align-items: start;
  padding: 56px var(--pad) 40px;
  border-top: 1px solid var(--line); background: #050606;
}
.footer__brand p { margin: 10px 0 0; color: var(--dim); }
.footer__links ul { columns: 3; column-gap: 28px; list-style: none; margin: 0; padding: 0; }
.footer__links li { margin: 0 0 8px; }
.footer__links a, .footer__social a { color: #d7dbd6; text-decoration: none; font-size: 15px; }
.footer__links a:hover, .footer__social a:hover { color: var(--yellow); }
.footer__social { display: flex; gap: 16px; }
.footer__legal {
  grid-column: 1 / -1; margin: 12px 0 0; padding-top: 20px;
  border-top: 1px solid var(--line); font-size: 13px; color: #8e968f;
}

@media (max-width: 860px) {
  .club { grid-template-columns: 1fr; }
  .club__stage { order: -1; }
  .footer { grid-template-columns: 1fr; }
  .footer__links ul { columns: 2; }
}
@media (max-width: 420px) {
  .tcard__felt { padding: 22px 20px 20px; }
  .tcard__city { font-size: 50px; }
}

/* ---- reduced motion: no grain, no drip, no tilt, no smooth anything ---- */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .gold-card { transform: none; }
}
