/* ---------- Base ---------- */
:root{
  --bg:#0D0D0D; --panel:#121212; --brand:#007BFF; --brand-2:#39FF14; --text:#ffffff; --muted:#cfcfcf;
}
*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{font-family:Roboto,system-ui,Segoe UI,Arial,sans-serif; background:var(--bg); color:var(--text); -webkit-text-size-adjust:100%}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }

/* ---------- Layout ---------- */
.container{max-width:1200px; margin:auto; padding:56px 18px}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif; margin:0 0 10px}
.muted{color:var(--muted)}
.btn{
  display:inline-block; padding:12px 22px; border-radius:10px; background:var(--brand);
  font-weight:700; border:0; letter-spacing:.2px; transition:.2s; cursor:pointer
}
.btn:hover{background:#045bd6}

/* ---------- WhatsApp button ---------- */
.wa-btn{
  display:inline-flex; align-items:center; gap:10px; padding:12px 22px;
  border-radius:999px; background:#25D366; color:#fff; font-weight:800; letter-spacing:.2px;
  border:0; box-shadow:0 2px 10px rgba(37,211,102,.35)
}
.wa-btn:hover{background:#1ebe5d}
.wa-btn svg{width:20px; height:20px; display:block; fill:currentColor}

/* ---------- Header / Nav ---------- */
.nav{position:sticky; top:0; z-index:999; background:rgba(0,0,0,.75); backdrop-filter:blur(6px); border-bottom:1px solid #1f1f1f}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; max-width:1200px; margin:auto; padding:12px 18px; gap:12px}
.brand{font-weight:800; letter-spacing:.4px; color:var(--brand-2); white-space:nowrap}

/* Desktop menu */
.menu{display:flex; gap:22px; align-items:center}
.menu a{opacity:.9; padding:10px 8px; border-radius:8px}
.menu a:hover{opacity:1; background:#0f0f0f}

/* Hamburger (mobile only) */
.hamburger{display:none; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid #2a2a2a; border-radius:10px; background:#111; cursor:pointer}
.hamburger span,.hamburger span::before,.hamburger span::after{
  content:""; display:block; width:20px; height:2px; background:#fff; position:relative; transition:.25s
}
.hamburger span::before{position:absolute; top:-6px; left:0}
.hamburger span::after{position:absolute; top:6px; left:0}
.hamburger.open span{background:transparent}
.hamburger.open span::before{transform:rotate(45deg) translate(3px,3px)}
.hamburger.open span::after{transform:rotate(-45deg) translate(3px,-3px)}

/* Mobile drawer menu */
.menu-drawer{
  display:none; position:fixed; inset:60px 0 auto 0; background:rgba(0,0,0,.96);
  border-top:1px solid #1f1f1f; padding:14px 18px; z-index:998
}
.menu-drawer.open{display:block}
.menu-drawer a{display:block; padding:14px 10px; border-radius:10px; margin:4px 0; background:#0f0f0f}
.menu-drawer a:active{background:#101727}

/* ---------- Hero ---------- */
.hero{
  min-height:70vh; display:grid; place-items:center; text-align:center;
  background: linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)), url("iptvservice.png") center/cover;
  padding:40px 18px
}
.hero h1{font-size:clamp(1.9rem, 6vw, 3rem); color:var(--brand-2)}
.hero p{color:var(--muted); margin:8px 0 16px}
.hero .cta{display:flex; flex-direction:column; align-items:center; gap:12px}

/* ---------- Sections ---------- */
.section-img{width:100%; border-radius:14px; margin:16px 0}
.img-fit{max-width:640px; margin:0 auto}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.card{background:var(--panel); border:1px solid var(--brand); border-radius:14px; padding:22px}
.card h3{color:var(--brand); margin-bottom:6px}

/* Bulleted list helper for cards */
.bulleted{list-style:disc; padding-left:18px; margin:8px 0 0; color:var(--muted); line-height:1.6}

/* ---- Compact spacing helpers ---- */
.gap-compact        { padding-top:20px; padding-bottom:20px; }
.gap-compact-top    { padding-top:20px; }
.gap-compact-bottom { padding-bottom:20px; }

/* ---------- Pricing ---------- */
.plan .price{font-size:1.9rem; font-weight:800; margin:6px 0}

/* Stronger blue outline for pricing plan cards */
.grid-3 .card.plan{
  border:2px solid var(--brand);
  border-radius:16px;
  outline:1px solid rgba(0,123,255,.25);
  outline-offset:0;
  box-shadow:0 0 0 2px rgba(0,123,255,.18), 0 12px 28px rgba(0,0,0,.45);
  transition:transform .2s ease, box-shadow .2s ease;
}
.grid-3 .card.plan:hover{
  transform:translateY(-2px);
  box-shadow:0 0 0 2px rgba(0,123,255,.28), 0 16px 34px rgba(0,0,0,.5);
}

.badge{display:inline-block; background:#0b2a57; border:1px solid var(--brand);
  color:#cfe6ff; padding:4px 10px; border-radius:999px; font-size:.8rem; margin-bottom:10px}
.ribbon{position:absolute; right:12px; top:12px; background:var(--brand-2); color:#000;
  padding:4px 10px; border-radius:999px; font-weight:800}

/* ---------- Footer ---------- */
footer{background:#111; border-top:1px solid #1f1f1f; text-align:center; padding:22px; color:#aaa}
footer a{color:#cfe6ff}

/* ===== Reviews (BOXED) ===== */
.reviews-intro{ text-align:center; margin-bottom:18px }
.reviews-intro h2{ margin-bottom:8px }
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px }
.review-card{
  background:var(--panel);
  border:2px solid var(--brand);
  border-radius:16px;
  padding:22px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  box-shadow:0 0 0 1px rgba(0,123,255,.15), 0 8px 24px rgba(0,0,0,.35);
}
.stars{ color:#FFD166; font-size:1.1rem; letter-spacing:2px; margin-bottom:10px }
.review-text{ color:var(--muted); line-height:1.6; margin:0 0 16px }
.review-footer{ display:flex; align-items:center; gap:10px }
.avatar{
  width:42px; height:42px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, #0ea5e9, #6366f1); color:#fff; font-weight:800
}
.reviewer{ font-weight:700 }
@media (max-width:900px){ .review-grid{ grid-template-columns:1fr } }

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .hamburger{display:flex}
  .menu{display:none}
  .grid-3{grid-template-columns:1fr}
  .container{padding:40px 16px}
  .hero{min-height:62vh; padding:46px 16px}
}

/* Utility hero variants */
.hero.about{background: linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)), url("firetv4k.jpg") center/cover}
.hero.packages{background: linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)), url("8ktv.jpg") center/cover}
.hero.contact{background: linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)), url("firetv4k.jpg") center/cover}

/* Tighten vertical spacing where needed */
.section-tight-top{padding-top:20px}
.section-tight-bottom{padding-bottom:20px}

/* Compact hero on the Subscriptions page to reduce gap to the next section */
.hero.packages{ min-height:44vh; padding-bottom:16px }
@media (max-width:900px){
  .hero.packages{ min-height:38vh; padding-bottom:12px }
}

/* Center the Premium+ card under the middle (6 Months) card */
@media (min-width: 901px){
  .grid-3 .center-under { grid-column: 2; }
}
@media (max-width: 900px){
  .grid-3 .center-under { grid-column: auto; }
}

/* Accented text inside buttons */
.btn .accent-8k { 
  color: var(--brand-2);
  text-shadow: 0 0 8px rgba(57,255,20,.55);
  font-weight: 800;
}
.btn .accent-4k { 
  color: #FFD166;
  text-shadow: 0 0 8px rgba(255,209,102,.55);
  font-weight: 800;
}

/* Anchor jump offsets (sticky header) */
#choose-8k, #choose-4k { scroll-margin-top: 90px; }

/* Beautiful gold separator (matches review stars) */
.section-sep{
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin:34px 0 16px;
}
.section-sep .sep-line{
  flex:1; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(255,209,102,0), rgba(255,209,102,.88), rgba(255,209,102,0));
  box-shadow:0 0 12px rgba(255,209,102,.28);
}
.section-sep .sep-badge{
  padding:6px 14px; border-radius:999px;
  font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:#111;
  background:linear-gradient(135deg,#FFD166,#F7C948);
  border:1px solid rgba(255,209,102,.65);
  box-shadow:0 4px 20px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.08);
}

/* CTA separator line under WhatsApp button */
.cta .cta-sep{
  width: 240px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(0,123,255,0), rgba(0,123,255,.9), rgba(0,123,255,0));
  box-shadow: 0 0 12px rgba(0,123,255,.35);
  margin: 10px 0;
}

/* Row for subscription buttons */
.cta-row{
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  justify-content: center;
}
.cta-row .btn{ white-space: nowrap; }
@media (max-width: 420px){
  .cta-row{ flex-wrap: wrap; }
}

/* ===== Responsive video (bulletproof 16:9) ===== */
.video-wrap{
  position: relative;
  width: min(960px, 100vw - 32px);
  margin: 16px auto;
  border-radius: 14px;
  overflow: hidden;
  background:#000;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.video-wrap::before{
  content:"";
  display:block;
  padding-top:56.25%; /* 16:9 */
}
.video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  background: #000;
}
@media (max-width: 600px){
  .video-wrap{ width: calc(100vw - 24px); margin: 12px auto; border-radius: 12px; }
}
