/* =========================================================
   Luckmore Casino — обзорный сайт (multi-page)
   Bootstrap 5 · mobile-first · Montserrat
   ========================================================= */

:root{
  --lm-bg:#0d0f13;
  --lm-bg-2:#12151c;
  --lm-card:#171b24;
  --lm-card-2:#1c212b;
  --lm-line:#252b37;
  --lm-line-2:#2f3547;
  --lm-txt:#e9ecf2;
  --lm-mut:#96a0b2;
  --lm-mut-2:#6f7889;
  --lm-acc:#7a5fc9;
  --lm-acc-soft:rgba(122,95,201,.14);
  --lm-em:#2ea36d;
  --lm-em-d:#26895b;
  --lm-em-l:#4ec08a;
  --lm-em-soft:rgba(46,163,109,.11);
  --lm-em-line:rgba(46,163,109,.30);
  --lm-on-em:#04140d;
  --lm-radius:.5rem;

  --bs-border-radius:var(--lm-radius);
  --bs-border-radius-sm:var(--lm-radius);
  --bs-border-radius-lg:var(--lm-radius);
  --bs-border-radius-xl:var(--lm-radius);
  --bs-border-radius-2xl:var(--lm-radius);
  --bs-border-radius-pill:999px;
}

html{scroll-behavior:smooth}
body{
  background:var(--lm-bg);
  color:var(--lm-txt);
  font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  padding-bottom:92px;
}
@media (min-width:992px){ body{font-size:16px; padding-bottom:84px} }

h1,h2,h3,h4,h5{font-weight:700; line-height:1.24; letter-spacing:-.01em; color:var(--lm-txt)}
h1{font-size:1.72rem; font-weight:800}
h2{font-size:1.42rem}
h3{font-size:1.1rem}
h4{font-size:1rem}
@media (min-width:768px){ h1{font-size:2.6rem} h2{font-size:1.9rem} h3{font-size:1.2rem} }
p{color:#cdd3de}
a{color:var(--lm-em-l); text-decoration:none}
a:hover{color:#72d3a5}

.section{padding:42px 0; scroll-margin-top:66px}
@media (min-width:992px){ .section{padding:66px 0; scroll-margin-top:78px} }
.section--alt{background:var(--lm-bg-2); border-top:1px solid var(--lm-line); border-bottom:1px solid var(--lm-line)}

.container{max-width:1200px}

.eyebrow{
  display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--lm-em-l); margin-bottom:10px;
}
.lead-txt{color:var(--lm-mut); max-width:62ch}

/* ---------- Navbar ---------- */
.lm-nav{
  background:rgba(13,15,19,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--lm-line);
}
.lm-logo{font-weight:800; font-size:1.05rem; letter-spacing:.04em; color:var(--lm-txt)}
.lm-logo span{color:var(--lm-em-l)}
.lm-logo-img{height:24px; width:auto; display:block}
@media (min-width:992px){ .lm-logo-img{height:30px} }
.lm-logo-img--footer{height:38px}
.lm-logo-img--hero{height:48px; margin-bottom:14px}
@media (min-width:768px){ .lm-logo-img--hero{height:72px; margin-bottom:18px} }
.lm-nav .nav-link{color:var(--lm-mut); font-size:.9rem; font-weight:500; padding:.5rem .7rem; white-space:nowrap}
.lm-nav .nav-link:hover,.lm-nav .nav-link:focus{color:var(--lm-txt)}
.lm-nav .nav-link.active{color:var(--lm-em-l)}
.navbar-toggler{border-color:var(--lm-line); padding:.3rem .5rem}
.navbar-toggler:focus{box-shadow:none}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2396a0b2' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}

/* ---------- Buttons ---------- */
.btn{font-weight:600; border-radius:var(--lm-radius)}
.btn-play{
  background:var(--lm-em); border:1px solid var(--lm-em); color:var(--lm-on-em);
  font-weight:700; letter-spacing:.01em;
}
.btn-play:hover,.btn-play:focus{background:var(--lm-em-d); border-color:var(--lm-em-d); color:var(--lm-on-em)}
.btn-ghost{border:1px solid var(--lm-line); color:var(--lm-txt); background:transparent}
.btn-ghost:hover{border-color:#3a4354; color:var(--lm-txt); background:var(--lm-card)}
.btn-violet{background:var(--lm-acc); border:1px solid var(--lm-acc); color:#fff}
.btn-violet:hover{background:#6a51b3; border-color:#6a51b3; color:#fff}
.btn-tg{background:#3d8ec0; border:1px solid #3d8ec0; color:#fff}
.btn-tg:hover{background:#3480b0; border-color:#3480b0; color:#fff}

/* ---------- Hero (index) ---------- */
.hero{
  position:relative; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(10,12,16,.90) 0%, rgba(10,12,16,.60) 45%, rgba(10,12,16,.86) 100%),
    url("../images/luckm1.webp") center/cover no-repeat;
  border-bottom:1px solid var(--lm-line);
  padding:56px 0 64px;
}
@media (min-width:992px){ .hero{padding:96px 0 108px} }
.hero-badges .badge{
  background:rgba(23,27,36,.85); border:1px solid var(--lm-line); color:var(--lm-mut);
  font-weight:600; font-size:.72rem; padding:.5rem .75rem; border-radius:var(--lm-radius);
  backdrop-filter:blur(4px);
}
.hero .lead-txt{color:#cdd3de}

/* Framed media (screenshots / banners) */
.media-frame{
  border:1px solid var(--lm-line-2); border-radius:14px; overflow:hidden;
  background:var(--lm-card);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.media-frame img{width:100%; height:auto; display:block}
@media (min-width:768px){ .media-frame{border-radius:18px} }

/* ---------- Page header (inner pages) ---------- */
.page-hero{
  position:relative; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(13,15,19,.90), rgba(13,15,19,.80)),
    url("../images/bg.webp") center/cover no-repeat;
  border-bottom:1px solid var(--lm-line);
  padding:46px 0;
}
@media (min-width:992px){ .page-hero{padding:66px 0} }
@media (max-width:991.98px){
  .page-hero{
    background:
      linear-gradient(180deg, rgba(13,15,19,.90), rgba(13,15,19,.82)),
      url("../images/mobile-bg.webp") center/cover no-repeat;
  }
}
.page-hero .lead-txt{color:#cdd3de}
.breadcrumb{--bs-breadcrumb-divider-color:#4a5162; --bs-breadcrumb-item-active-color:var(--lm-mut); font-size:.78rem; margin-bottom:.35rem}
.breadcrumb a{color:var(--lm-mut)}
.breadcrumb a:hover{color:var(--lm-em-l)}

/* ---------- Rating ---------- */
.rating-big{
  display:inline-flex; align-items:baseline; gap:10px;
  background:var(--lm-card); border:1px solid var(--lm-line-2);
  border-radius:var(--lm-radius); padding:14px 18px;
}
.rating-big .score{font-size:2rem; font-weight:800; color:var(--lm-em-l); line-height:1}
.rating-big .den{font-size:.9rem; color:var(--lm-mut)}
.rating-big .label{font-size:.72rem; color:var(--lm-mut); text-transform:uppercase; letter-spacing:.06em}
.stars{color:var(--lm-em-l); font-size:.82rem; letter-spacing:.08em}

/* ---------- Cards / stats ---------- */
.lm-card{
  background:var(--lm-card); border:1px solid var(--lm-line);
  border-radius:var(--lm-radius); padding:20px; height:100%;
}
.lm-card--accent{border-color:#3a3358; background:linear-gradient(180deg,rgba(122,95,201,.10),var(--lm-card))}
.lm-card--em{border-color:#23513b; background:linear-gradient(180deg,rgba(46,163,109,.10),var(--lm-card))}

.stat{
  background:var(--lm-card); border:1px solid var(--lm-line);
  border-radius:var(--lm-radius); padding:14px 12px; height:100%; text-align:center;
}
.stat b{display:block; font-size:1.15rem; font-weight:800; color:var(--lm-txt); line-height:1.3}
.stat small{color:var(--lm-mut); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em}

.cc-card{
  background:var(--lm-card-2);
  border:1px solid #2f3547;
  border-radius:var(--lm-radius);
  padding:20px;
  height:100%;
}
.cc-card--flat{box-shadow:0 4px 12px rgba(0,0,0,.2)}
.cc-card h4{
  color:var(--lm-txt); font-size:.95rem; letter-spacing:.02em;
  text-transform:uppercase; border-bottom:1px solid var(--lm-line);
  padding-bottom:.5rem; margin-bottom:1rem;
}
.cc-card--em h4{color:var(--lm-em-l)}
.cc-card--neg h4{color:#e05b5b}

.check-list,.cross-list{list-style:none; padding-left:0; margin-bottom:0}
.check-list li,.cross-list li{
  position:relative; padding-left:1.7rem; margin-bottom:.55rem;
  color:#cdd3de; font-size:.9rem;
}
.check-list li:last-child,.cross-list li:last-child{margin-bottom:0}
.check-list li::before{
  content:"✓"; position:absolute; left:0; top:.1rem; color:var(--lm-em-l); font-weight:700; font-size:1rem;
}
.cross-list li::before{
  content:"✕"; position:absolute; left:0; top:.1rem; color:#e05b5b; font-weight:700; font-size:1rem;
}

.icon-box{
  width:38px; height:38px; border-radius:var(--lm-radius); display:flex; align-items:center; justify-content:center;
  background:var(--lm-em-soft); border:1px solid #2a4438; color:var(--lm-em-l);
  font-weight:800; font-size:.85rem; flex:0 0 auto;
}
.icon-box--violet{background:var(--lm-acc-soft); border-color:#3a3358; color:#a58ce0}
.tag{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--lm-em-l); background:var(--lm-em-soft); border:1px solid var(--lm-em-line);
  padding:.2rem .5rem; border-radius:var(--lm-radius);
}

/* ---------- Tables ---------- */
.lm-table-wrap{border:1px solid var(--lm-line); border-radius:var(--lm-radius); overflow:hidden}
.table.lm-table{margin:0; color:var(--lm-txt); font-size:.86rem; --bs-table-bg:transparent}
.table.lm-table thead th{
  background:var(--lm-card-2); color:var(--lm-mut); font-weight:700; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.07em; border-bottom:1px solid var(--lm-line);
  white-space:nowrap; padding:.75rem .9rem;
}
.table.lm-table td,.table.lm-table th{border-color:var(--lm-line); padding:.7rem .9rem; vertical-align:middle}
.table.lm-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.014)}
.table.lm-table td.k{color:var(--lm-mut); font-weight:600; white-space:nowrap}
.table.lm-table td.v{font-weight:600}
.table.lm-table td.pos{color:var(--lm-em-l); font-weight:600}
.table.lm-table td.neg{color:#e08c8c}
@media (min-width:768px){ .table.lm-table{font-size:.92rem} }

/* ---------- Providers ---------- */
.prov{
  border:1px solid var(--lm-line); background:var(--lm-card); border-radius:var(--lm-radius);
  padding:16px 10px; text-align:center; font-weight:700; font-size:.82rem;
  color:#c8cedb; height:100%; display:flex; align-items:center; justify-content:center;
}
.prov:hover{border-color:#394153; color:var(--lm-txt)}

/* ---------- Reviews ---------- */
.review{background:var(--lm-card); border:1px solid var(--lm-line); border-radius:var(--lm-radius); padding:18px; height:100%}
.avatar{
  width:40px; height:40px; border-radius:var(--lm-radius); background:var(--lm-em-soft); border:1px solid #2a4438;
  display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--lm-em-l); flex:0 0 auto;
}
.review small{color:#6f7889}

/* Author / first-person review */
.author-card{
  background:linear-gradient(180deg,var(--lm-card-2),var(--lm-card));
  border:1px solid var(--lm-line-2); border-radius:14px; padding:22px;
}
.author-card .author-avatar{
  width:52px; height:52px; border-radius:50%; background:var(--lm-acc-soft); border:1px solid #3a3358;
  display:flex; align-items:center; justify-content:center; font-weight:800; color:#a58ce0; font-size:1.2rem; flex:0 0 auto;
}
.author-verdict{
  border-left:3px solid var(--lm-em); background:var(--lm-em-soft);
  border-radius:var(--lm-radius); padding:16px 18px;
}
.author-verdict .q{font-size:1.02rem; font-weight:700; color:var(--lm-txt); line-height:1.5}

/* ---------- Telegram ---------- */
.tg-banner{
  background:linear-gradient(135deg,#1a2230 0%,#171b24 55%,#1d1a2c 100%);
  border:1px solid #2c3444; border-radius:var(--lm-radius); padding:24px;
}
@media (min-width:768px){ .tg-banner{padding:34px} }
.tg-ico{
  width:52px; height:52px; border-radius:var(--lm-radius); background:rgba(56,150,205,.14); border:1px solid #2f4d63;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}

/* ---------- Steps ---------- */
.step{display:flex; gap:14px; align-items:flex-start}
.step-num{
  width:32px; height:32px; border-radius:var(--lm-radius); background:var(--lm-em-soft); border:1px solid #2a4438;
  color:var(--lm-em-l); font-weight:800; font-size:.85rem; display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}

/* ---------- FAQ ---------- */
.accordion{--bs-accordion-bg:transparent; --bs-accordion-border-color:var(--lm-line); --bs-accordion-border-radius:var(--lm-radius); --bs-accordion-inner-border-radius:var(--lm-radius); --bs-accordion-btn-color:var(--lm-txt); --bs-accordion-active-bg:var(--lm-card-2); --bs-accordion-active-color:var(--lm-em-l)}
.accordion-item{background:var(--lm-card); margin-bottom:10px; border-radius:var(--lm-radius)!important; overflow:hidden}
.accordion-button{
  background:var(--lm-card); color:var(--lm-txt); font-weight:600; font-size:.95rem; padding:1rem 1.1rem;
}
.accordion-button:not(.collapsed){background:var(--lm-card-2); color:var(--lm-em-l); box-shadow:none}
.accordion-button:focus{box-shadow:none; border-color:var(--lm-line)}
.accordion-body{color:var(--lm-mut); font-size:.9rem; padding-top:0}

/* ---------- Footer ---------- */
.lm-footer{background:#0a0c10; border-top:1px solid var(--lm-line); padding:38px 0 26px; font-size:.85rem}
.lm-footer a{color:var(--lm-mut)}
.lm-footer a:hover{color:var(--lm-txt)}
.age{
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  border:2px solid #4a5162; color:#8b93a4; font-weight:800; font-size:.7rem; flex:0 0 auto;
}

/* ---------- Sticky CTA ---------- */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:1040;
  background:rgba(16,19,25,.96); backdrop-filter:blur(12px);
  border-top:1px solid #2b3140; padding:10px 0 calc(10px + env(safe-area-inset-bottom));
  transform:translateY(115%); opacity:0; visibility:hidden;
  transition:transform .28s ease, opacity .28s ease, visibility .28s;
  box-shadow:0 -10px 30px rgba(0,0,0,.45);
}
.sticky-cta.is-visible{transform:translateY(0); opacity:1; visibility:visible}
.sticky-cta .bns{font-size:.78rem; line-height:1.35; color:var(--lm-mut)}
.sticky-cta .bns b{display:block; color:var(--lm-txt); font-size:.88rem; font-weight:700}
@media (min-width:576px){ .sticky-cta .bns{font-size:.85rem} .sticky-cta .bns b{font-size:1rem} }

/* ---------- Promo code ---------- */
.promo-block{
  background:
    radial-gradient(600px 220px at 50% -20%, rgba(122,95,201,.22), transparent 60%),
    linear-gradient(135deg, rgba(122,95,201,.12), rgba(46,163,109,.10)), var(--lm-card-2);
  border:1px solid var(--lm-line-2); border-radius:16px; padding:28px 22px;
  text-align:center;
}
@media (min-width:768px){ .promo-block{padding:38px 34px} }
.promo-code{
  display:inline-flex; align-items:center; gap:12px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size:1.35rem; font-weight:800; letter-spacing:.10em; text-transform:uppercase;
  color:var(--lm-em-l);
  background:var(--lm-em-soft);
  border:1.5px dashed var(--lm-em);
  border-radius:var(--lm-radius);
  padding:14px 24px;
  cursor:pointer;
  user-select:all;
  transition:background .15s, border-color .15s;
  line-height:1;
}
.promo-code:hover{background:rgba(46,163,109,.20); border-color:var(--lm-em-l)}
.promo-code .pc-ic{flex:0 0 auto; display:inline-flex; color:var(--lm-em-l)}
.promo-code.copied{border-style:solid; color:#fff; background:var(--lm-em)}
.promo-code.copied .pc-ic{color:#fff}
.promo-hint{color:var(--lm-mut); font-size:.78rem; margin-top:10px}

/* ---------- Utilities ---------- */
.text-mut{color:var(--lm-mut)!important}
.hr-soft{border-color:var(--lm-line); opacity:1}
.divider{border-top:1px solid var(--lm-line); margin:28px 0}

/* CTA band */
.cta-band{
  background:linear-gradient(135deg, rgba(46,163,109,.14), rgba(122,95,201,.12)), var(--lm-card-2);
  border:1px solid var(--lm-line-2); border-radius:14px; padding:26px;
}
@media (min-width:768px){ .cta-band{padding:36px} }
