
/* =========================
   BIGO IPTV — Test Request CSS
   Premium Light / Blue Theme
   ========================= */

/* Smooth system fonts to avoid “phat” rendering */
html, body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Noto Sans", "Helvetica Neue", sans-serif; }

:root{
  --giptv-primary:#1f7cff;
  --giptv-primary-2:#00c2ff;
  --giptv-accent:#16a34a;
  --giptv-text:#0b1730;
  --giptv-muted:#6c7b90;
  --panel-grad: linear-gradient(135deg,#3b82f6,#06b6d4);
  --card-shadow: 0 18px 50px rgba(31,124,255,.12);
  --ring: 0 0 0 3px rgba(22,163,74,.25);
}

body{
  background:
    radial-gradient(1200px 600px at 110% -10%, rgba(31,124,255,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 0%, rgba(0,194,255,.09), transparent 50%),
    #f6f9ff;
  color:var(--giptv-text);
}

.giptv-hero{
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.06)
}

.left-panel{background:var(--panel-grad);color:#fff;padding:36px 28px;min-height:100%}
.left-title{font-size:30px;font-weight:900;line-height:1.15}
.left-line{opacity:.95}
.icon-rocket{width:64px;height:64px;display:inline-block;margin-bottom:16px}
.soft-card{background:#ffffff1a;border:1px solid #ffffff33;border-radius:18px;padding:16px}

.right-panel{padding:36px 28px;background:#fff}
.heading{font-weight:900;font-size:26px;color:#0b1730}
.form-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:22px;box-shadow:var(--card-shadow)}

/* Inputs */
.form-select,.form-control{
  background:#f8fbff;color:#0b1730;border:1px solid #dbe3ee;font-weight:600;border-radius:12px;padding:.75rem .95rem;
  line-height:1.25;
}
.form-select:focus,.form-control:focus{box-shadow:0 0 0 .2rem rgba(31,124,255,.18);border-color:var(--giptv-primary)}

/* ===== Package cards (Enhanced) ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:991.98px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){.pkg-grid{grid-template-columns:1fr}}
.pkg-card{
  position:relative;border:1px solid #dfe8f5;border-radius:16px;padding:16px;background:#ffffff;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  display:flex; gap:12px; align-items:flex-start; min-height:94px;
}
.pkg-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.pkg-card.active{border-color:#16a34a;box-shadow:var(--ring), 0 18px 44px rgba(22,163,74,.15)}
.pkg-radio{position:absolute;opacity:0;pointer-events:none}

.pkg-icon{
  width:44px;height:44px;flex:0 0 44px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#e0f2fe,#e6ffe9);border:1px solid #e4eefb;
}
.pkg-icon svg{width:24px;height:24px}
.pkg-title{font-weight:800;line-height:1.15;margin:0 0 2px 0;word-break:break-word}
.pkg-desc{font-size:.92rem;color:var(--giptv-muted);line-height:1.25}
.pkg-badge{
  position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;
  font-weight:800;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;opacity:0;transition:opacity .15s
}
.pkg-card.active .pkg-badge{opacity:1}

/* ====== Content Toggle Pills (Pure CSS, Accessible) ====== */
.giptv-toggle{display:flex;flex-wrap:wrap;gap:10px}
.giptv-pill{
  position:relative; display:inline-block; border-radius:14px; overflow:hidden;
  cursor:pointer; user-select:none;
}
.giptv-pill input{
  position:absolute; inset:0; opacity:0; pointer-events:auto; /* keeps it keyboard-focusable */
}
.giptv-pill .ui{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.6rem 1rem; font-weight:800; border-radius:12px; border:1px solid transparent;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
  line-height:1.1; white-space:nowrap;
}

/* OFF state */
.giptv-pill .ui{
  background:#e8eef7; color:#0b1730; border-color:#d8e2f1;
}
.giptv-pill .tick{
  width:22px; height:22px; border-radius:8px; display:grid; place-items:center;
  background:#cfd9ea; box-shadow:inset 0 0 0 2px #b5c4de;
  font-size:.9rem; font-weight:900; color:#ffffff;
}
.giptv-pill:hover .ui{ transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.06) }

/* ON state */
.giptv-pill input:checked + .ui{
  background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; border-color:#16a34a;
  box-shadow:0 10px 28px rgba(22,163,74,.22);
}
.giptv-pill input:checked + .ui .tick{
  background:rgba(255,255,255,.22); box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);
}
.giptv-pill input:focus-visible + .ui{
  outline:0; box-shadow:0 0 0 3px rgba(31,124,255,.25);
}

/* Red style (Adult) when ON */
.giptv-pill.adult input:checked + .ui{
  background:linear-gradient(135deg,#ef4444,#dc2626); border-color:#dc2626; box-shadow:0 10px 28px rgba(239,68,68,.22);
}
.giptv-pill.adult input:checked + .ui .tick{
  background:rgba(255,255,255,.22); box-shadow:inset 0 0 0 2px rgba(255,255,255,.55);
}

/* Captcha */
.captcha-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.captcha-badge{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e1b04;font-weight:900;font-size:18px;
  padding:.35rem .7rem;border-radius:10px;border:1px solid rgba(0,0,0,.12);letter-spacing:.5px
}
.captcha-reload{border-color:#f59e0b;color:#8a5b00}
.captcha-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.field-error{color:#ef4444;font-weight:700;margin-top:.35rem;display:none}
.is-invalid{border-color:#ef4444!important}

/* CTA Button */
.giptv-action{
  background:linear-gradient(135deg,var(--giptv-primary),var(--giptv-primary-2));color:#fff;font-weight:900;border:0;border-radius:14px;
  padding:12px 18px;box-shadow:0 12px 26px rgba(31,124,255,.25)
}
