:root {
  --iptv-ink: #05040a;
  --iptv-ink-2: #0d0914;
  --iptv-panel: #151020;
  --iptv-panel-2: #1b1329;
  --iptv-line: rgba(232, 121, 249, .16);
  --iptv-line-strong: rgba(232, 121, 249, .30);
  --iptv-pink: #ff3ea5;
  --iptv-purple: #c13cff;
  --iptv-violet: #7657ff;
  --iptv-text: #f5f7fb;
  --iptv-muted: #aeb9ca;
  --iptv-gradient: linear-gradient(105deg, #ff3ea5 0%, #c13cff 48%, #7657ff 100%);
  --iptv-glow: 0 14px 35px rgba(193, 60, 255, .26), 0 0 0 1px rgba(255, 255, 255, .06);
}

html,
body.primary-bg-color {
  background: var(--iptv-ink) !important;
}

body {
  color: var(--iptv-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px;
  line-height: 1.65;
}

body::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--iptv-gradient);
}

a { color: #ff8dd0; }
a:hover { color: #fff; text-decoration: none; }
p, .text-muted, small, .small { color: var(--iptv-muted) !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
  color: #fff !important;
  font-family: inherit !important;
  font-weight: 750 !important;
  letter-spacing: -.035em;
}

/* Header and navigation */
#header.header {
  position: relative;
  z-index: 30;
  background: rgba(5, 4, 10, .96) !important;
  border-bottom: 1px solid var(--iptv-line);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .24);
}

#header .navbar { background: transparent !important; }
#header .container,
#main-body > .container,
.master-breadcrumb > .container,
#footer > .container { max-width: 1180px; }

#header .navbar-light { min-height: 76px; }
#header .navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #fff !important;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

#header .navbar-brand::before {
  content: "";
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  background: url('/images/iptv-uk-subscription-logo-mark-v2.webp') center / contain no-repeat;
  filter: drop-shadow(0 8px 15px rgba(193, 60, 255, .36));
}

#header .toolbar .nav-link,
#header .toolbar .btn {
  min-width: 46px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: var(--iptv-panel) !important;
  border: 1px solid var(--iptv-line) !important;
  border-radius: 12px !important;
}

#header .badge-info { background: var(--iptv-gradient) !important; }
#header .main-navbar-wrapper {
  background: rgba(13, 9, 20, .96) !important;
  border-top: 1px solid rgba(255, 255, 255, .035);
}

#header #nav > li > a,
#header .main-navbar-wrapper .navbar-nav > li > a {
  color: #fff !important;
  font-size: .92rem;
  font-weight: 780;
  letter-spacing: -.01em;
}

#header #nav > li > a:hover,
#header #nav > li.active > a,
#header .main-navbar-wrapper .navbar-nav > li > a:hover { color: #ff7dca !important; }

#header .search .form-control,
#header .search .btn-default {
  background: var(--iptv-panel) !important;
  border-color: var(--iptv-line) !important;
  color: #fff !important;
}

.dropdown-menu {
  background: #171020 !important;
  border: 1px solid var(--iptv-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .48) !important;
}
.dropdown-item, .dropdown-menu a { color: var(--iptv-text) !important; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-menu a:hover {
  color: #fff !important;
  background: rgba(193, 60, 255, .14) !important;
}
.dropdown-divider { border-top-color: var(--iptv-line) !important; }

.master-breadcrumb {
  background: #0a0710 !important;
  border-bottom: 1px solid var(--iptv-line);
}
.breadcrumb { background: transparent !important; }
.breadcrumb-item, .breadcrumb-item a { color: var(--iptv-muted) !important; }
.breadcrumb-item.active { color: #ff85cc !important; }

/* Main area */
#main-body {
  min-height: 58vh;
  padding: 48px 0 58px;
  background:
    radial-gradient(circle at 84% 5%, rgba(118, 87, 255, .13), transparent 31%),
    radial-gradient(circle at 8% 15%, rgba(255, 62, 165, .11), transparent 27%),
    var(--iptv-ink) !important;
}

#main-body .primary-content > h2,
#main-body .logincontainer h2 {
  margin-top: 0 !important;
  font-size: clamp(1.8rem, 3.2vw, 2.55rem);
}

.home-domain-search {
  background:
    radial-gradient(circle at 76% 10%, rgba(193, 60, 255, .18), transparent 34%),
    var(--iptv-ink-2) !important;
  border-bottom: 1px solid var(--iptv-line);
}
.home-domain-search h2 { color: #fff !important; }

.card,
.panel,
.list-group-item,
.modal-content,
.well,
.logincontainer,
.dataTables_wrapper,
.invoice-container {
  color: var(--iptv-text) !important;
  background: linear-gradient(160deg, rgba(27, 19, 41, .98), rgba(13, 9, 20, .98)) !important;
  border: 1px solid var(--iptv-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .20);
}

.card-header,
.card-footer,
.panel-heading,
.modal-header,
.modal-footer {
  color: #fff !important;
  background: rgba(255, 255, 255, .025) !important;
  border-color: var(--iptv-line) !important;
}

.card-columns.home { column-gap: 1.25rem; }
.card-columns.home .card { overflow: hidden; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.card-columns.home .card:hover {
  transform: translateY(-4px);
  border-color: var(--iptv-line-strong) !important;
  box-shadow: var(--iptv-glow);
}

.action-icon-btns > div > a {
  min-height: 150px;
  color: var(--iptv-text) !important;
  background: linear-gradient(160deg, var(--iptv-panel-2), var(--iptv-panel)) !important;
  border: 1px solid var(--iptv-line) !important;
  border-top: 1px solid var(--iptv-line-strong) !important;
  border-radius: 15px !important;
  box-shadow: 0 15px 38px rgba(0, 0, 0, .20);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.action-icon-btns > div > a:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 62, 165, .42) !important;
  box-shadow: var(--iptv-glow);
}
.action-icon-btns .ico-container,
.action-icon-btns i { color: #ff76c5 !important; }

.btn {
  border-radius: 10px !important;
  font-weight: 750 !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.btn-primary,
.btn-success,
.btn-info,
.btn-default:not(.dropdown-toggle),
button[type='submit'].btn-primary {
  color: #fff !important;
  background: var(--iptv-gradient) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 28px rgba(193, 60, 255, .24) !important;
}
.btn-primary:hover,
.btn-success:hover,
.btn-info:hover,
button[type='submit'].btn-primary:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 15px 35px rgba(255, 62, 165, .32) !important;
}
.btn-outline-primary,
.btn-outline-secondary {
  color: #ff8dd0 !important;
  background: rgba(255, 255, 255, .015) !important;
  border-color: rgba(255, 62, 165, .46) !important;
}
.btn-outline-primary:hover,
.btn-outline-secondary:hover {
  color: #fff !important;
  background: rgba(193, 60, 255, .16) !important;
  border-color: #ff64ba !important;
}

.form-control,
.custom-select,
select,
textarea,
input[type='text'],
input[type='email'],
input[type='password'],
input[type='tel'],
input[type='number'] {
  color: #fff !important;
  background: #0b0811 !important;
  border-color: var(--iptv-line) !important;
  border-radius: 10px !important;
}
.form-control::placeholder { color: #7e748a !important; }
.form-control:focus,
.custom-select:focus,
select:focus,
textarea:focus,
input:focus {
  border-color: #d354ff !important;
  box-shadow: 0 0 0 3px rgba(193, 60, 255, .16) !important;
}
.input-group-text { color: var(--iptv-muted) !important; background: var(--iptv-panel) !important; border-color: var(--iptv-line) !important; }
label { color: var(--iptv-text); font-weight: 650; }

.table { color: var(--iptv-text) !important; background: transparent !important; }
.table thead th { color: #fff !important; background: rgba(193, 60, 255, .10) !important; border-color: var(--iptv-line) !important; }
.table td, .table th { border-color: var(--iptv-line) !important; }
.table-hover tbody tr:hover { color: #fff !important; background: rgba(255, 255, 255, .025) !important; }
.pagination .page-link { color: #ff8dd0 !important; background: var(--iptv-panel) !important; border-color: var(--iptv-line) !important; }
.pagination .active .page-link { color: #fff !important; background: var(--iptv-gradient) !important; }

.list-group-item-action:hover,
.list-group-item-action:focus { color: #fff !important; background: rgba(193, 60, 255, .12) !important; }
.sidebar .list-group-item.active,
.sidebar .list-group-item.active:hover { color: #fff !important; background: var(--iptv-gradient) !important; border-color: transparent !important; }

.alert { color: var(--iptv-text) !important; border: 1px solid var(--iptv-line) !important; border-radius: 12px !important; }
.alert-info { background: rgba(118, 87, 255, .15) !important; }
.alert-success { background: rgba(45, 212, 191, .12) !important; }
.alert-warning { background: rgba(245, 158, 11, .12) !important; }
.alert-danger { background: rgba(244, 63, 94, .12) !important; }

/* Hybrid checkout: branded shell with a bright, focused purchase surface */
#order-standard_cart,
#order-premium_comparison,
#order-pure_comparison { color: var(--iptv-text) !important; }

#order-standard_cart .cart-body {
  color: #171426 !important;
  background: #f7f8fc !important;
  border: 1px solid rgba(255, 255, 255, .82) !important;
  border-radius: 20px !important;
  box-shadow: 0 28px 75px rgba(0, 0, 0, .34), 0 0 0 1px rgba(193, 60, 255, .10);
  padding: 30px !important;
}

#order-standard_cart .cart-body h1,
#order-standard_cart .cart-body h2,
#order-standard_cart .cart-body h3,
#order-standard_cart .cart-body h4,
#order-standard_cart .cart-body h5,
#order-standard_cart .cart-body h6,
#order-standard_cart .cart-body .header-lined h1,
#order-standard_cart .cart-body label,
#order-standard_cart .cart-body legend,
#order-standard_cart .cart-body .product-name,
#order-standard_cart .cart-body .item-title {
  color: #171426 !important;
}

#order-standard_cart .cart-body p,
#order-standard_cart .cart-body small,
#order-standard_cart .cart-body .small,
#order-standard_cart .cart-body .text-muted,
#order-standard_cart .cart-body .product-desc,
#order-standard_cart .cart-body .item-domain,
#order-standard_cart .cart-body .item-group {
  color: #5d6474 !important;
}

#order-standard_cart .cart-body a:not(.btn) { color: #9a28d4 !important; }
#order-standard_cart .cart-body a:not(.btn):hover { color: #d51a82 !important; }

#order-standard_cart .cart-body .card,
#order-standard_cart .cart-body .panel,
#order-standard_cart .cart-body .products .product,
#order-standard_cart .cart-body .product-info,
#order-standard_cart .cart-body .order-summary,
#order-standard_cart .cart-body .summary-container,
#order-standard_cart .cart-body .view-cart-items,
#order-standard_cart .cart-body .view-cart-tabs .tab-content {
  color: #171426 !important;
  background: #fff !important;
  border-color: #dfe3eb !important;
  box-shadow: 0 10px 28px rgba(24, 20, 38, .07) !important;
}

#order-standard_cart .cart-body .card-header,
#order-standard_cart .cart-body .card-footer,
#order-standard_cart .cart-body .panel-heading,
#order-standard_cart .cart-body .products .product header,
#order-standard_cart .cart-body .view-cart-items-header {
  color: #171426 !important;
  background: linear-gradient(105deg, #fff0f8 0%, #f5edff 55%, #eeefff 100%) !important;
  border-color: #e5d8ed !important;
}

#order-standard_cart .cart-body .form-control,
#order-standard_cart .cart-body .custom-select,
#order-standard_cart .cart-body select,
#order-standard_cart .cart-body textarea,
#order-standard_cart .cart-body input[type='text'],
#order-standard_cart .cart-body input[type='email'],
#order-standard_cart .cart-body input[type='password'],
#order-standard_cart .cart-body input[type='tel'],
#order-standard_cart .cart-body input[type='number'] {
  color: #171426 !important;
  background: #fff !important;
  border: 1px solid #cbd2de !important;
  box-shadow: 0 1px 2px rgba(24, 20, 38, .04) !important;
}

#order-standard_cart .cart-body .form-control::placeholder { color: #7b8494 !important; }
#order-standard_cart .cart-body .form-control:focus,
#order-standard_cart .cart-body .custom-select:focus,
#order-standard_cart .cart-body select:focus,
#order-standard_cart .cart-body textarea:focus,
#order-standard_cart .cart-body input:focus {
  border-color: #b739eb !important;
  box-shadow: 0 0 0 3px rgba(193, 60, 255, .14) !important;
}

#order-standard_cart .cart-body .input-group-text {
  color: #4f5665 !important;
  background: #eef0f5 !important;
  border-color: #cbd2de !important;
}

#order-standard_cart .cart-body .table { color: #171426 !important; }
#order-standard_cart .cart-body .table thead th {
  color: #171426 !important;
  background: #f1eafa !important;
  border-color: #ded7e7 !important;
}
#order-standard_cart .cart-body .table td,
#order-standard_cart .cart-body .table th { border-color: #e1e4eb !important; }

#order-standard_cart .cart-body .view-cart-tabs .nav-link {
  color: #5c3970 !important;
  background: #ece9f1 !important;
  border-color: #ddd7e4 !important;
}
#order-standard_cart .cart-body .view-cart-tabs .nav-link.active {
  color: #fff !important;
  background: var(--iptv-gradient) !important;
  border-color: transparent !important;
}

#order-standard_cart .cart-body .alert { color: #2b2536 !important; }
#order-standard_cart .cart-body .alert-danger { background: #fff0f3 !important; border-color: #f7b7c3 !important; }
#order-standard_cart .cart-body .alert-warning { background: #fff8e6 !important; border-color: #f1d596 !important; }
#order-standard_cart .cart-body .alert-info { background: #eef4ff !important; border-color: #b8cdf5 !important; }
#order-standard_cart .cart-body .alert-success { background: #eafbf4 !important; border-color: #a8dfca !important; }

#order-standard_cart .cart-body .price,
#order-standard_cart .cart-body .total-due-today,
#order-standard_cart .cart-body .amt { color: #b72fda !important; }

/* Subscription product cards */
#order-standard_cart .products {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px !important;
}

#order-standard_cart .products .product {
  float: none !important;
  width: 100% !important;
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid #ddd8e7 !important;
  border-radius: 17px !important;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

#order-standard_cart .products .product:hover {
  transform: translateY(-3px);
  border-color: rgba(193, 60, 255, .42) !important;
  box-shadow: 0 18px 42px rgba(85, 45, 105, .14) !important;
}

#order-standard_cart .products .product > header {
  padding: 18px 22px !important;
  background: linear-gradient(105deg, #fff0f8 0%, #f3eaff 54%, #eceeff 100%) !important;
  border-bottom: 1px solid #e5d8ed !important;
}

#order-standard_cart .products .product > header span {
  color: #171426 !important;
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  letter-spacing: -.025em;
}

#order-standard_cart .products .product-desc {
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 22px !important;
  font-size: .78rem !important;
}

#order-standard_cart .products .iptv-product-intro {
  display: block;
  margin: 0 0 16px;
  color: #171426 !important;
  font-size: .82rem;
  font-weight: 850;
  line-height: 1.45;
}

#order-standard_cart .products .iptv-feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#order-standard_cart .products .iptv-feature-list li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 25px !important;
  color: #363345 !important;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.45;
}

#order-standard_cart .products .iptv-feature-list li::before {
  content: "✓";
  position: absolute;
  top: .05em;
  left: 0;
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  color: #fff;
  background: var(--iptv-gradient);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(193, 60, 255, .22);
  font-size: .61rem;
  font-weight: 900;
  line-height: 1;
}

#order-standard_cart .products .product > footer {
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px !important;
  background: #faf8fd !important;
  border-top: 1px solid #e7e1ec !important;
}

#order-standard_cart .products .product-pricing {
  color: #5d6474 !important;
  font-weight: 700;
  line-height: 1.1;
}

#order-standard_cart .products .product-pricing .price {
  display: inline-block;
  color: #a82fd3 !important;
  font-size: clamp(2rem, 4vw, 2.65rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.05em;
  line-height: 1 !important;
}

#order-standard_cart .products .btn-order-now {
  min-width: 160px;
  min-height: 50px;
  padding: 12px 22px !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
}

#order-standard_cart .cart-body .btn-primary,
#order-standard_cart .cart-body .btn-success,
#order-standard_cart .cart-body button[type='submit'] {
  min-height: 48px;
  color: #fff !important;
  background: var(--iptv-gradient) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 26px rgba(193, 60, 255, .25) !important;
}

#order-standard_cart .cart-body .btn-default,
#order-standard_cart .cart-body .btn-secondary {
  color: #5b296d !important;
  background: #fff !important;
  border-color: #d6c5de !important;
  box-shadow: none !important;
}

#order-standard_cart .cart-body hr,
#order-standard_cart .cart-body .sub-heading { border-color: #dfe3eb !important; }

/* Footer */
#footer.footer {
  color: var(--iptv-muted) !important;
  background: #08050d !important;
  border-top: 1px solid var(--iptv-line);
}
#footer .nav-link, #footer .btn { color: var(--iptv-muted) !important; }
#footer .nav-link:hover, #footer .btn:hover { color: #fff !important; }
#footer .copyright { color: #81768d !important; }

/* Modals and browser autofill */
.modal-backdrop.show { opacity: .72; }
.close { color: #fff !important; text-shadow: none !important; }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px #0b0811 inset;
}

@media (max-width: 1199.98px) {
  #header .main-navbar-wrapper { padding: 0; }
  #header #mainNavbar {
    margin: 0 -15px;
    padding: 18px 15px 22px;
    background: #0d0914;
    border-top: 1px solid var(--iptv-line);
  }
  #header #nav > li > a,
  #header .main-navbar-wrapper .navbar-nav > li > a {
    display: block;
    padding: 10px 12px !important;
    border-radius: 9px;
  }
}

@media (max-width: 767.98px) {
  body::before { height: 3px; }
  #header .navbar-light { min-height: 68px; }
  #header .navbar-brand { max-width: calc(100vw - 145px); font-size: .92rem; }
  #header .navbar-brand::before { width: 38px; height: 38px; flex-basis: 38px; }
  #main-body { padding: 34px 0 44px; }
  #main-body .primary-content > h2 { font-size: 1.65rem; margin: 0 0 22px !important; }
  .home-domain-search .p-5 { padding: 2.25rem 0 !important; }
  .home-domain-search h2 { font-size: 1.75rem; }
  .card, .panel, .logincontainer { border-radius: 13px !important; }
  .action-icon-btns { margin-top: 1.7rem !important; margin-bottom: 2.5rem !important; }
  .action-icon-btns > div > a { min-height: 132px; margin-bottom: 12px; padding: 1.3rem .65rem; }
  #order-standard_cart .cart-body { padding: 18px 14px !important; border-radius: 15px !important; }
  #order-standard_cart .products .product > header,
  #order-standard_cart .products .product-desc,
  #order-standard_cart .products .product > footer { padding: 17px !important; }
  #order-standard_cart .products .iptv-feature-list { grid-template-columns: 1fr; gap: 10px; }
  #order-standard_cart .products .product > footer { align-items: stretch; flex-direction: column; }
  #order-standard_cart .products .btn-order-now { width: 100%; }
  #footer.footer { text-align: center; }
}
