/*
 * RadioStreamServer WHMCS Theme v2
 * Child of WHMCS Twenty-One
 */
:root {
  --rss-navy-950: #06182d;
  --rss-navy-900: #071d36;
  --rss-navy-850: #0a2545;
  --rss-navy-800: #0d2d50;
  --rss-navy-700: #173e65;
  --rss-blue: #2d8cff;
  --rss-blue-2: #5967ff;
  --rss-cyan: #25b9ff;
  --rss-success: #2ee59d;
  --rss-warning: #ffbd4a;
  --rss-danger: #ff6078;
  --rss-white: #ffffff;
  --rss-ink: #07152b;
  --rss-text: #eef5ff;
  --rss-muted: #adc1d9;
  --rss-line: rgba(174, 204, 235, .18);
  --rss-card: rgba(30, 65, 101, .72);
  --rss-card-solid: #173b60;
  --rss-radius: 16px;
  --rss-shadow: 0 22px 60px rgba(0, 13, 34, .24);
}

html { background: var(--rss-navy-900); }
body {
  background:
    radial-gradient(circle at 82% 10%, rgba(45, 140, 255, .11), transparent 32rem),
    linear-gradient(115deg, #06192f 0%, #0a2848 55%, #153f68 100%) fixed !important;
  color: var(--rss-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
}
body, button, input, select, textarea { -webkit-font-smoothing: antialiased; }
a { color: #55b8ff; }
a:hover { color: #8bd2ff; text-decoration: none; }

/* Exact website-style white header */
section#header,
header.header,
.header,
.top-nav,
.navbar,
.navbar-default,
.navbar-light,
.main-navbar-wrapper,
#nav,
.primary-navbar {
  background: #fff !important;
  border: 0 !important;
  color: var(--rss-ink) !important;
  box-shadow: 0 1px 0 rgba(7, 21, 43, .08) !important;
}
section#header,
header.header,
.main-navbar-wrapper { min-height: 72px; }
.navbar { min-height: 72px; padding-top: 0; padding-bottom: 0; }
.navbar-brand { display: flex !important; align-items: center; padding: 8px 0 !important; margin-right: 2.25rem; }
.navbar-brand img,
.logo-img,
header .logo img,
.header-logo img,
#header .logo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 300px !important;
  max-height: 52px !important;
  object-fit: contain;
}
.navbar-light .navbar-nav .nav-link,
.navbar-nav > li > a,
.top-nav a,
#nav a,
.primary-navbar a {
  color: #07152b !important;
  font-size: 14px;
  font-weight: 750;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-nav > li > a:hover,
.navbar-nav > li.active > a,
.top-nav a:hover,
#nav a:hover { color: var(--rss-blue) !important; }
.navbar-toggler { border: 1px solid rgba(7, 21, 43, .15) !important; }
.navbar-toggler-icon { filter: none; }

/* Header action treatment */
.rss-start-free,
#Secondary_Navbar-Account,
.navbar-nav .btn,
.top-nav .btn {
  border-radius: 12px !important;
}
.rss-start-free {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--rss-blue), var(--rss-blue-2)) !important;
  box-shadow: 0 10px 24px rgba(45, 140, 255, .25);
}

/* Dropdowns remain light in the white header */
.dropdown-menu {
  background: #fff !important;
  border: 1px solid rgba(7, 21, 43, .10) !important;
  border-radius: 13px !important;
  box-shadow: 0 16px 40px rgba(7, 21, 43, .15) !important;
  padding: 8px !important;
}
.dropdown-item, .dropdown-menu > li > a { color: #10223b !important; border-radius: 8px; }
.dropdown-item:hover, .dropdown-menu > li > a:hover { background: #edf6ff !important; color: #086edb !important; }

/* Main page */
.main-content, #main-body, section#main-body, .container-fluid { background: transparent !important; }
section#main-body { padding-top: 32px; padding-bottom: 56px; min-height: calc(100vh - 170px); }
.container { max-width: 1240px; }
.master-breadcrumb, .breadcrumb { background: transparent !important; color: var(--rss-muted) !important; }
.breadcrumb a { color: #73c9ff; }
.page-header, .header-lined { border-bottom: 0 !important; margin-bottom: 24px; }
.page-header h1, .header-lined h1 {
  color: #fff !important;
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  font-weight: 850;
  letter-spacing: -.045em;
}
.header-lined small { color: var(--rss-muted) !important; }

/* Dashboard brand banner */
.client-home-panels:before {
  content: "Your station. Your sound. Always online.";
  display: block;
  margin: 0 0 24px;
  padding: 26px 28px;
  color: #fff;
  font-size: clamp(1.3rem, 2.5vw, 2rem);
  font-weight: 850;
  letter-spacing: -.035em;
  border: 1px solid rgba(130, 189, 238, .25);
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 50%, rgba(74, 103, 255, .28), transparent 25%),
    linear-gradient(115deg, rgba(18, 58, 94, .98), rgba(25, 73, 112, .88));
  box-shadow: var(--rss-shadow);
}

/* Cards, panels and widgets */
.card, .panel, .list-group, .client-home-panels .panel, .tiles .tile,
.domain-checker-container, .product-details, .invoice-container, .ticket-reply,
.knowledgebase-cat-list, .featured-tld, .modal-content {
  color: var(--rss-text) !important;
  background: linear-gradient(145deg, rgba(30, 69, 108, .90), rgba(16, 45, 76, .96)) !important;
  border: 1px solid var(--rss-line) !important;
  border-radius: var(--rss-radius) !important;
  box-shadow: var(--rss-shadow);
}
.card-header, .panel-heading, .modal-header {
  color: #fff !important;
  background: rgba(255, 255, 255, .035) !important;
  border-bottom: 1px solid var(--rss-line) !important;
  border-radius: 16px 16px 0 0 !important;
  font-weight: 780;
}
.card-footer, .panel-footer, .modal-footer {
  background: rgba(0, 0, 0, .07) !important;
  border-top: 1px solid var(--rss-line) !important;
}
.list-group-item { background: transparent !important; color: #eaf2ff !important; border-color: var(--rss-line) !important; }
.tiles .tile { min-height: 140px; transition: transform .2s ease, border-color .2s ease; }
.tiles .tile:hover { transform: translateY(-3px); border-color: rgba(72, 173, 255, .55) !important; }
.tiles .tile .stat { color: #fff !important; font-weight: 850; }
.tiles .tile .title { color: var(--rss-muted) !important; }

/* Buttons — same blue-to-violet gradient as homepage */
.btn { border-radius: 12px !important; font-weight: 780; padding: .72rem 1.05rem; transition: .18s ease; }
.btn-primary, .btn-success, input[type=submit].btn-primary, button[type=submit].btn-primary {
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--rss-blue), var(--rss-blue-2)) !important;
  box-shadow: 0 10px 25px rgba(45, 140, 255, .27);
}
.btn-primary:hover, .btn-success:hover { transform: translateY(-1px); filter: brightness(1.06); }
.btn-default, .btn-secondary, .btn-outline-primary {
  color: #10223b !important;
  background: #fff !important;
  border: 1px solid rgba(7, 21, 43, .12) !important;
  box-shadow: 0 8px 20px rgba(0, 12, 31, .12);
}
.card .btn-default, .card .btn-secondary, .panel .btn-default, .panel .btn-secondary {
  color: #eaf3ff !important;
  background: rgba(255,255,255,.07) !important;
  border-color: var(--rss-line) !important;
  box-shadow: none;
}
.btn-danger { background: var(--rss-danger) !important; border-color: var(--rss-danger) !important; }

/* Forms */
.form-control, .custom-select, select, textarea,
input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel] {
  color: #f6f9ff !important;
  background: rgba(4, 25, 48, .58) !important;
  border: 1px solid rgba(174, 204, 235, .24) !important;
  border-radius: 11px !important;
  min-height: 46px;
  box-shadow: none !important;
}
.form-control:focus, select:focus, textarea:focus, input:focus {
  border-color: #45a7ff !important;
  box-shadow: 0 0 0 3px rgba(45, 140, 255, .17) !important;
}
.form-control::placeholder { color: #8199b6; }
.input-group-text { background: #15395e !important; border-color: var(--rss-line) !important; color: #c9d8e9 !important; }
label, .control-label { color: #e6effa; font-weight: 680; }

/* Tables */
.table, table { color: #eaf1fc !important; }
.table thead th, table thead th { background: rgba(255,255,255,.05) !important; color: #fff; border-color: var(--rss-line) !important; }
.table td, .table th, table td, table th { border-color: var(--rss-line) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.025) !important; }
.table-hover tbody tr:hover { background: rgba(45,140,255,.08) !important; }
.dataTables_wrapper .dataTables_info, .dataTables_length, .dataTables_filter { color: var(--rss-muted) !important; }

/* Status, alerts and sidebar */
.badge, .label, .status { border-radius: 999px !important; padding: .44em .75em; font-weight: 780; }
.label-success, .badge-success, .status-active { background: rgba(46,229,157,.16) !important; color: #73f6bf !important; }
.label-warning, .badge-warning, .status-pending { background: rgba(255,189,74,.15) !important; color: #ffd47b !important; }
.label-danger, .badge-danger, .status-suspended, .status-terminated { background: rgba(255,96,120,.15) !important; color: #ff9aad !important; }
.alert { border: 1px solid var(--rss-line); border-radius: 14px; color: #eef6ff; }
.alert-info { background: rgba(45,140,255,.14); }
.alert-success { background: rgba(46,229,157,.13); }
.alert-warning { background: rgba(255,189,74,.13); }
.alert-danger { background: rgba(255,96,120,.13); }
.sidebar .card, .sidebar .panel { box-shadow: none; }
.sidebar .list-group-item.active, .sidebar .list-group-item:hover { background: rgba(45,140,255,.15) !important; color: #fff !important; }

/* Login, tickets, invoices */
.logincontainer, .login-container, .auth-container { max-width: 540px; margin: 48px auto; }
.logincontainer .card, .login-container .card { padding: 12px; }
.ticket-reply.staff { border-left: 4px solid var(--rss-blue) !important; }
.ticket-reply.client { border-left: 4px solid var(--rss-success) !important; }
.invoice-container { padding: 34px !important; }
.invoice-container, .invoice-container * { color: #eaf2ff; }
.invoice-container .invoice-status { border-radius: 999px; }

/* Footer */
section#footer, .footer, footer {
  background: #fff !important;
  color: #61738a !important;
  border-top: 1px solid rgba(7, 21, 43, .08) !important;
}
footer a, .footer a { color: #1e5d9d !important; }

/* Responsive */
@media (max-width: 991px) {
  .navbar-collapse { background: #fff !important; padding: 12px 0 18px; }
  .navbar-brand img, .logo-img, header .logo img, .header-logo img, #header .logo img { max-width: 250px !important; max-height: 46px !important; }
}
@media (max-width: 767px) {
  section#header, header.header, .main-navbar-wrapper, .navbar { min-height: 66px; }
  .navbar-brand img, .logo-img, header .logo img, .header-logo img, #header .logo img { max-width: 215px !important; max-height: 42px !important; }
  section#main-body { padding-top: 22px; }
  .invoice-container { padding: 18px !important; }
  .card, .panel { border-radius: 14px !important; }
  .table-responsive { border: 0; }
}

/* v3 logo-path and header-logo compatibility fixes */
section#header .logo,
header.header .logo,
.navbar-brand,
.header-logo {
  min-width: 270px;
}
section#header .logo img,
header.header .logo img,
.navbar-brand img,
.header-logo img,
img.logo-img {
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  max-height: 58px !important;
}
@media (max-width: 767px) {
  section#header .logo,
  header.header .logo,
  .navbar-brand,
  .header-logo {
    min-width: 0;
  }
  section#header .logo img,
  header.header .logo img,
  .navbar-brand img,
  .header-logo img,
  img.logo-img {
    max-width: 230px !important;
    max-height: 48px !important;
  }
}

/* =========================================================
   v4 — Pixel-matched RadioStreamServer marketing-site header
   ========================================================= */
[data-rss-hidden="true"] { display: none !important; }

/* Hide WHMCS header/search/cart immediately, before JS finishes. */
body > section#header,
body > header.header,
body > .header,
body > .top-nav,
body > .main-navbar-wrapper,
body > section#main-menu,
body > #main-menu,
body > .master-breadcrumb {
  display: none !important;
}

#rss-site-header {
  position: relative;
  z-index: 1050;
  width: 100%;
  height: 76px;
  min-height: 76px;
  background: #fff;
  border-top: 1px solid #101010;
  border-bottom: 1px solid #e8edf4;
  color: #07152b;
}

.rss-site-header-inner {
  width: min(1060px, calc(100% - 40px));
  height: 75px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
}

.rss-site-logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 75px;
}

.rss-site-logo img {
  display: block;
  width: 286px;
  max-width: 100%;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

.rss-site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 27px;
  margin-left: auto;
}

.rss-site-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0;
  color: #07152b !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none !important;
  transition: color .18s ease;
}

.rss-site-link:hover { color: #2186ff !important; }

#rss-site-header .rss-start-free {
  min-width: 88px;
  min-height: 42px;
  padding: 0 17px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #238dff 0%, #6062ff 100%) !important;
  border: 0;
  border-radius: 11px !important;
  box-shadow: 0 9px 22px rgba(58, 105, 255, .24);
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
}

#rss-site-header .rss-start-free:hover {
  color: #fff !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.rss-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid #dce4ed;
  border-radius: 10px;
  background: #fff;
}

.rss-menu-toggle span {
  display: block;
  width: 21px;
  height: 2px;
  margin: 4px auto;
  background: #07152b;
  border-radius: 2px;
}

/* Main content starts directly under the 76px header. */
section#main-body,
#main-body {
  padding-top: 32px !important;
}

@media (max-width: 1050px) {
  .rss-site-header-inner { width: min(100% - 32px, 960px); }
  .rss-site-logo img { width: 250px; }
  .rss-site-nav { gap: 20px; }
}

@media (max-width: 860px) {
  #rss-site-header,
  .rss-site-header-inner,
  .rss-site-logo { height: 70px; min-height: 70px; }
  .rss-site-logo img { width: 235px; max-height: 49px; }
  .rss-menu-toggle { display: block; margin-left: auto; }
  .rss-site-nav {
    display: none;
    position: absolute;
    top: 69px;
    left: 0;
    right: 0;
    width: 100%;
    padding: 14px 20px 20px;
    background: #fff;
    border-top: 1px solid #edf1f6;
    border-bottom: 1px solid #dce4ed;
    box-shadow: 0 18px 36px rgba(7, 21, 43, .12);
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
  }
  .rss-menu-open .rss-site-nav { display: flex; }
  .rss-site-link { min-height: 44px; padding: 0 10px; border-radius: 8px; }
  .rss-site-link:hover { background: #f3f8ff; }
  #rss-site-header .rss-start-free { margin-top: 6px; width: 100%; }
}

@media (max-width: 520px) {
  .rss-site-header-inner { width: calc(100% - 24px); }
  .rss-site-logo img { width: 205px; }
}


/* RadioStreamServer does not sell domains from the billing homepage. */
body.rss-homepage-no-domain-search #home-banner,
body.rss-homepage-no-domain-search .home-domain-search,
body.rss-homepage-no-domain-search .domain-search-container,
body.rss-homepage-no-domain-search .domain-checker-homepage,
[data-rss-domain-search-hidden="true"] {
  display: none !important;
}

body.rss-homepage-no-domain-search section#main-body {
  padding-top: 0 !important;
}

/* v6: purpose-built logged-out billing homepage */
body.rss-public-homepage section#main-body,
body.rss-public-homepage #main-body {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
}
body.rss-public-homepage section#main-body > .container,
body.rss-public-homepage #main-body > .container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#rss-public-home { width: 100%; color: #fff; }
.rss-home-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.rss-home-hero {
  padding: 78px 0 86px;
  background: radial-gradient(circle at 76% 22%, rgba(45,140,255,.18), transparent 28rem), linear-gradient(112deg,#06192f 0%,#0a2949 58%,#173f67 100%);
}
.rss-home-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.86fr); gap: 86px; align-items: center; }
.rss-eyebrow { margin: 0 0 22px; color: #28c1ff; font-size: 13px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.rss-home-copy h1 { margin: 0; color: #fff; font-size: clamp(3rem,5vw,4.7rem); line-height: .99; letter-spacing: -.055em; font-weight: 900; }
.rss-home-lead { max-width: 620px; margin: 24px 0 0; color: #d9e7f7; font-size: 18px; line-height: 1.65; }
.rss-home-actions { display: flex; gap: 14px; margin-top: 30px; }
.rss-home-primary,.rss-home-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:12px; font-weight:850; text-decoration:none!important; }
.rss-home-primary { color:#fff!important; background:linear-gradient(135deg,#238dff,#635fff); box-shadow:0 14px 34px rgba(45,140,255,.27); }
.rss-home-secondary { color:#07152b!important; background:#fff; border:1px solid rgba(7,21,43,.1); }
.rss-home-checks { display:flex; flex-wrap:wrap; gap:20px; margin-top:28px; color:#c7d8eb; font-size:13px; }
.rss-home-checks span::first-letter { color:#2ee59d; }
.rss-player-card { padding:18px; border:1px solid rgba(183,216,246,.25); border-radius:22px; background:rgba(34,74,112,.72); box-shadow:0 28px 70px rgba(0,10,30,.28); }
.rss-player-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; font-size:12px; }
.rss-live-dot { color:#39efaa; font-weight:900; }
.rss-player-art { min-height:220px; display:grid; place-items:center; border-radius:17px; background:linear-gradient(135deg,#2398ff,#6759fb); }
.rss-player-art span { font-size:64px; }
.rss-player-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:18px; }
.rss-player-bottom small { color:#dce9f6; font-weight:700; }
.rss-player-bottom h3 { margin:4px 0 0; color:#fff; font-size:24px; font-weight:850; }
.rss-player-bottom p { margin:2px 0 0; color:#b8c9dc; font-size:17px; }
.rss-player-bottom button { width:56px; height:56px; border:0; border-radius:50%; color:#168bff; background:#fff; font-size:20px; }
.rss-wave { display:flex; align-items:end; gap:4px; height:44px; margin-top:12px; }
.rss-wave i { width:4px; height:28px; border-radius:4px; background:linear-gradient(#36c7ff,#745cff); }
.rss-wave i:nth-child(3n) { height:39px; } .rss-wave i:nth-child(4n) { height:22px; }
.rss-powered { display:block; margin-top:10px; color:#fff; }
.rss-plans-section { padding:76px 0 84px; background:#fff; color:#07152b; }
.rss-center { text-align:center; }
.rss-plans-section h2,.rss-benefits-section h2 { margin:0 0 40px; text-align:center; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.04em; font-weight:900; }
.rss-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.rss-plan-card { position:relative; display:flex; flex-direction:column; padding:30px; border:1px solid #dce7f2; border-radius:20px; background:#fff; box-shadow:0 18px 46px rgba(10,39,72,.08); }
.rss-plan-featured { border-color:#3c91ff; transform:translateY(-8px); box-shadow:0 24px 56px rgba(45,140,255,.16); }
.rss-popular { position:absolute; top:-14px; right:22px; padding:7px 12px; color:#fff; background:linear-gradient(135deg,#238dff,#635fff); border-radius:999px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.rss-plan-label { color:#287fd6; font-weight:850; }
.rss-plan-card h3 { margin:10px 0 8px; color:#07152b; font-size:34px; font-weight:900; }
.rss-plan-card p { color:#60748d; min-height:50px; }
.rss-plan-card ul { flex:1; list-style:none; margin:22px 0 28px; padding:0; }
.rss-plan-card li { margin:12px 0; color:#263d57; }
.rss-plan-card li::before { content:'✓'; margin-right:9px; color:#16b977; font-weight:900; }
.rss-plan-card a { display:flex; min-height:48px; align-items:center; justify-content:center; color:#fff!important; background:linear-gradient(135deg,#238dff,#635fff); border-radius:11px; font-weight:850; text-decoration:none!important; }
.rss-benefits-section { padding:78px 0; background:#f4f8fc; color:#07152b; }
.rss-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rss-benefit-grid article { padding:28px; border:1px solid #dce7f2; border-radius:18px; background:#fff; }
.rss-benefit-grid b { font-size:30px; }
.rss-benefit-grid h3 { margin:15px 0 8px; font-size:20px; font-weight:850; }
.rss-benefit-grid p { margin:0; color:#60748d; line-height:1.65; }
.rss-login-prompt { margin-top:36px; padding:22px; text-align:center; color:#486079; background:#fff; border:1px solid #dce7f2; border-radius:16px; }
.rss-login-prompt a { color:#147ae0!important; font-weight:850; }
@media(max-width:900px){.rss-home-hero-grid{grid-template-columns:1fr;gap:44px}.rss-player-card{max-width:560px}.rss-plan-grid,.rss-benefit-grid{grid-template-columns:1fr}.rss-plan-featured{transform:none}.rss-home-hero{padding:58px 0}.rss-home-shell{width:min(100% - 32px,1180px)}}
@media(max-width:560px){.rss-home-actions{flex-direction:column}.rss-home-primary,.rss-home-secondary{width:100%}.rss-home-copy h1{font-size:3.15rem}.rss-player-art{min-height:180px}.rss-home-checks{display:grid;gap:10px}}

/* v9 — single streaming-plan configuration page */
body.rss-product-config-page section#main-body,
body.rss-product-config-page #main-body {
  min-height: calc(100vh - 152px) !important;
  padding: 32px 0 72px !important;
  background: linear-gradient(112deg, #06192f 0%, #0a2949 58%, #173f67 100%) !important;
}
body.rss-product-config-page section#main-body > .container,
body.rss-product-config-page #main-body > .container {
  width: min(1120px, calc(100% - 40px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.rss-product-config-page [data-rss-config-sidebar="true"] {
  display: none !important;
}
body.rss-product-config-page .rss-config-main-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.rss-product-config-page .rss-config-title {
  margin: 0 0 24px !important;
  color: #fff !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.04em !important;
  font-weight: 900 !important;
}
body.rss-product-config-page .rss-config-surface,
body.rss-product-config-page #order-standard_cart,
body.rss-product-config-page #order-premium_comparison {
  color: #10243d;
}
body.rss-product-config-page #order-standard_cart .field-container,
body.rss-product-config-page #order-standard_cart .product-info,
body.rss-product-config-page #order-standard_cart .sub-heading,
body.rss-product-config-page #order-standard_cart .panel,
body.rss-product-config-page #order-standard_cart .card,
body.rss-product-config-page #order-premium_comparison .panel,
body.rss-product-config-page #order-premium_comparison .card {
  border-color: rgba(188, 215, 240, .28) !important;
  border-radius: 16px !important;
}
body.rss-product-config-page #order-standard_cart .form-control,
body.rss-product-config-page #order-standard_cart select,
body.rss-product-config-page #order-standard_cart input[type="text"],
body.rss-product-config-page #order-premium_comparison .form-control {
  min-height: 48px;
  border: 1px solid #d9e4ef !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #10243d !important;
}
body.rss-product-config-page #order-standard_cart .btn-primary,
body.rss-product-config-page #order-standard_cart .btn-success,
body.rss-product-config-page #order-premium_comparison .btn-primary,
body.rss-product-config-page #order-premium_comparison .btn-success {
  min-height: 48px;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #238dff, #635fff) !important;
  box-shadow: 0 12px 28px rgba(45, 140, 255, .24) !important;
  color: #fff !important;
  font-weight: 850 !important;
}
#rss-domain-setting-notice {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  max-width: 760px;
  margin: 28px 0 0;
  padding: 24px 26px;
  border: 1px solid rgba(91, 169, 255, .32);
  border-radius: 16px;
  background: rgba(27, 64, 101, .88);
  box-shadow: 0 20px 50px rgba(0, 12, 31, .22);
  color: #dceafb;
}
#rss-domain-setting-notice .rss-config-notice-icon {
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 13px;
  background: linear-gradient(135deg, #238dff, #635fff);
  font-size: 27px;
}
#rss-domain-setting-notice h3 {
  margin: 0 0 7px !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 850 !important;
}
#rss-domain-setting-notice p {
  margin: 0 !important;
  color: #cbdced !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
@media (max-width: 640px) {
  body.rss-product-config-page section#main-body > .container,
  body.rss-product-config-page #main-body > .container { width: calc(100% - 24px) !important; }
  #rss-domain-setting-notice { padding: 20px; }
}

/* =========================================================
   v10 — Shopping cart mirrors the RadioStreamServer main site
   ========================================================= */

/* White marketing-site footer across WHMCS and all order pages. */
section#footer,
footer.footer,
footer,
.footer,
#footer {
  background: #ffffff !important;
  color: #52647a !important;
  border-top: 1px solid #e5eaf1 !important;
  box-shadow: none !important;
}
section#footer .container,
footer .container,
.footer .container,
#footer .container {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
section#footer a,
footer a,
.footer a,
#footer a {
  color: #17304f !important;
  font-weight: 650;
}
section#footer a:hover,
footer a:hover,
.footer a:hover,
#footer a:hover { color: #238dff !important; }
section#footer .btn,
footer .btn,
.footer .btn,
#footer .btn,
section#footer .dropdown-toggle,
footer .dropdown-toggle,
.footer .dropdown-toggle {
  color: #17304f !important;
  background: #f7f9fc !important;
  border: 1px solid #dce4ee !important;
  box-shadow: none !important;
}

/* Keep the dark page area ending cleanly above the white footer. */
body,
section#main-body,
#main-body { min-height: 0; }
section#main-body,
#main-body { padding-bottom: 70px !important; }

/* Cart pages: same spacing and content width as the marketing site. */
body.rss-cart-page section#main-body > .container,
body.rss-cart-page #main-body > .container,
body.rss-order-page section#main-body > .container,
body.rss-order-page #main-body > .container {
  width: min(1120px, calc(100% - 40px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* White commerce surfaces like the main site's plan cards. */
#order-standard_cart .view-cart-items,
#order-standard_cart .products .product,
#order-standard_cart .product-info,
#order-standard_cart .domain-selection-options,
#order-standard_cart .summary-container,
#order-standard_cart .promo-code-form,
#order-standard_cart .checkout-security-msg,
#order-standard_cart .form-control-static,
#order-standard_cart .panel,
#order-standard_cart .card {
  background: #ffffff !important;
  color: #13233a !important;
  border: 1px solid #e1e7ef !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 38px rgba(0, 18, 48, .14) !important;
}
#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-items .item:nth-child(even),
#order-standard_cart .view-cart-items .item:nth-child(odd),
#order-standard_cart .product-info,
#order-standard_cart .products .product .product-desc,
#order-standard_cart .products .product .product-pricing,
#order-standard_cart .products .product header,
#order-standard_cart .panel-heading,
#order-standard_cart .card-header {
  color: #13233a !important;
  background: #ffffff !important;
  border-color: #e5eaf1 !important;
}
#order-standard_cart .view-cart-items .item-title,
#order-standard_cart .view-cart-items .item-domain,
#order-standard_cart .view-cart-items .item-price,
#order-standard_cart .products .product .product-name,
#order-standard_cart .products .product .price,
#order-standard_cart label,
#order-standard_cart .control-label,
#order-standard_cart p,
#order-standard_cart span:not(.fa):not(.fas):not(.far):not(.fab) {
  color: #13233a;
}
#order-standard_cart .view-cart-items .item:nth-child(even) {
  background: #f7f9fc !important;
}
#order-standard_cart .view-cart-items .item:last-child {
  border-radius: 0 0 16px 16px;
}
#order-standard_cart .view-cart-items .item-header,
#order-standard_cart .view-cart-items .item > div:first-child.header,
#order-standard_cart .view-cart-items > .item:first-child {
  border-color: #e5eaf1 !important;
}

/* Inputs use the light commerce treatment inside the cart. */
#order-standard_cart .form-control,
#order-standard_cart select,
#order-standard_cart textarea,
#order-standard_cart input[type="text"],
#order-standard_cart input[type="email"],
#order-standard_cart input[type="password"],
#order-standard_cart input[type="number"],
#order-standard_cart .input-group-text {
  color: #13233a !important;
  background: #f7f9fc !important;
  border-color: #d9e2ec !important;
}
#order-standard_cart .form-control::placeholder,
#order-standard_cart input::placeholder { color: #7d8da1 !important; }
#order-standard_cart .form-control:focus,
#order-standard_cart select:focus,
#order-standard_cart textarea:focus,
#order-standard_cart input:focus {
  background: #fff !important;
  border-color: #2d8cff !important;
  box-shadow: 0 0 0 3px rgba(45, 140, 255, .14) !important;
}

/* Order summary remains a dark branded card, matching the player card. */
#order-standard_cart .order-summary,
#order-standard_cart .order-summary .summary-container {
  color: #ffffff !important;
  background: linear-gradient(145deg, #183e65, #102d4e) !important;
  border: 1px solid rgba(174, 204, 235, .22) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 45px rgba(0, 14, 38, .24) !important;
}
#order-standard_cart .order-summary h2 {
  color: #fff !important;
  background: linear-gradient(135deg, #238dff, #25b9ff) !important;
  border-radius: 17px 17px 0 0 !important;
}
#order-standard_cart .order-summary,
#order-standard_cart .order-summary p,
#order-standard_cart .order-summary span,
#order-standard_cart .order-summary div,
#order-standard_cart .order-summary strong,
#order-standard_cart .order-summary small {
  color: #ffffff !important;
}
#order-standard_cart .order-summary .btn-primary,
#order-standard_cart .checkout-btn,
#order-standard_cart #checkout {
  min-height: 52px;
  color: #fff !important;
  background: linear-gradient(135deg, #238dff, #6062ff) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 28px rgba(45, 140, 255, .28) !important;
}

/* Cart sidebar matches the radio plan navigation rather than generic WHMCS. */
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .sidebar .panel,
#order-standard_cart .cart-sidebar .card,
#order-standard_cart .sidebar .card {
  background: linear-gradient(145deg, #214c75, #17395e) !important;
  color: #fff !important;
  border: 1px solid rgba(174, 204, 235, .20) !important;
  box-shadow: none !important;
}
#order-standard_cart .cart-sidebar a,
#order-standard_cart .sidebar a,
#order-standard_cart .cart-sidebar .panel-title,
#order-standard_cart .sidebar .panel-title {
  color: #fff !important;
}

/* Promo code area: white card with compact tab. */
#order-standard_cart .promo-code-form,
#order-standard_cart .apply-credit-container {
  background: #fff !important;
  color: #13233a !important;
}
#order-standard_cart .promo-code-form .btn,
#order-standard_cart .apply-credit-container .btn {
  color: #fff !important;
  background: linear-gradient(135deg, #238dff, #6062ff) !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  section#footer .container,
  footer .container,
  .footer .container,
  #footer .container {
    min-height: 112px;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  body.rss-cart-page section#main-body > .container,
  body.rss-cart-page #main-body > .container,
  body.rss-order-page section#main-body > .container,
  body.rss-order-page #main-body > .container {
    width: calc(100% - 24px) !important;
  }
}

/* v11 contrast correction: dark page copy, white cards, dark sidebar cards. */
#order-standard_cart > h1,
#order-standard_cart > h2,
#order-standard_cart > h3,
#order-standard_cart .header-lined h1,
#order-standard_cart .header-lined h2,
#order-standard_cart .header-lined p,
#order-standard_cart .header-lined small,
#order-standard_cart .products > p,
#order-standard_cart .products > .lead,
#order-standard_cart .product-group > p,
#order-standard_cart .product-group > .lead,
#order-standard_cart .row > .col-md-9 > p,
#order-standard_cart .row > .col-lg-9 > p {
  color: #f3f7ff !important;
}

/* Do not make every paragraph/span in the order form dark. Only white surfaces. */
#order-standard_cart .products .product,
#order-standard_cart .products .product p,
#order-standard_cart .products .product span:not(.fa):not(.fas):not(.far):not(.fab),
#order-standard_cart .products .product strong,
#order-standard_cart .products .product small,
#order-standard_cart .product-info,
#order-standard_cart .product-info p,
#order-standard_cart .product-info span:not(.fa):not(.fas):not(.far):not(.fab),
#order-standard_cart .view-cart-items,
#order-standard_cart .view-cart-items p,
#order-standard_cart .view-cart-items span:not(.fa):not(.fas):not(.far):not(.fab),
#order-standard_cart .promo-code-form,
#order-standard_cart .promo-code-form p,
#order-standard_cart .promo-code-form span:not(.fa):not(.fas):not(.far):not(.fab) {
  color: #13233a !important;
}

/* Restore the sidebar panels; the earlier broad .panel rule made these white. */
#order-standard_cart .panel-sidebar,
#order-standard_cart .panel-sidebar .panel-heading,
#order-standard_cart .panel-sidebar .panel-body,
#order-standard_cart .panel-sidebar .list-group,
#order-standard_cart .panel-sidebar .list-group-item,
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .sidebar .panel {
  background: linear-gradient(145deg, #214c75, #17395e) !important;
  color: #ffffff !important;
  border-color: rgba(174, 204, 235, .22) !important;
}
#order-standard_cart .panel-sidebar *,
#order-standard_cart .cart-sidebar .panel *,
#order-standard_cart .sidebar .panel * {
  color: #ffffff !important;
}
#order-standard_cart .panel-sidebar .list-group-item:hover,
#order-standard_cart .panel-sidebar .list-group-item.active {
  background: rgba(45, 140, 255, .20) !important;
}

/* Ensure plan buttons retain the branded treatment. */
#order-standard_cart .products .product .btn,
#order-standard_cart .products .product .btn-primary,
#order-standard_cart .products .product a.btn {
  color: #ffffff !important;
  background: linear-gradient(135deg, #238dff, #6062ff) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(45, 140, 255, .24) !important;
}

/* v12 — consistent corner geometry across the shopping cart. */
#order-standard_cart { --rss-cart-radius: 16px; }
#order-standard_cart .panel-sidebar,
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .sidebar .panel,
#order-standard_cart .products .product,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
#order-standard_cart .order-summary .summary-container,
#order-standard_cart .promo-code-form {
  border-radius: var(--rss-cart-radius) !important;
  overflow: hidden !important;
}
#order-standard_cart .panel-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .sidebar .panel-heading,
#order-standard_cart .products .product header,
#order-standard_cart .order-summary h2,
#order-standard_cart .promo-code-form .panel-heading,
#order-standard_cart .promo-code-form .card-header {
  border-radius: var(--rss-cart-radius) var(--rss-cart-radius) 0 0 !important;
}
#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-items .item:nth-child(odd),
#order-standard_cart .view-cart-items .item:nth-child(even) { border-radius: 0 !important; }
#order-standard_cart .view-cart-items .item:first-child { border-radius: var(--rss-cart-radius) var(--rss-cart-radius) 0 0 !important; }
#order-standard_cart .view-cart-items .item:last-child { border-radius: 0 0 var(--rss-cart-radius) var(--rss-cart-radius) !important; }
#order-standard_cart .view-cart-items .item:only-child { border-radius: var(--rss-cart-radius) !important; }
#order-standard_cart .btn,
#order-standard_cart .form-control,
#order-standard_cart select,
#order-standard_cart textarea,
#order-standard_cart input { border-radius: 11px !important; }

/* v13 — readable disabled promo-code and checkout actions. */
#order-standard_cart .promo-code-form .btn:disabled,
#order-standard_cart .promo-code-form .btn.disabled,
#order-standard_cart .promo-code-form button[disabled],
#order-standard_cart .apply-credit-container .btn:disabled,
#order-standard_cart .apply-credit-container .btn.disabled,
#order-standard_cart .apply-credit-container button[disabled],
#order-standard_cart .btn-primary:disabled,
#order-standard_cart .btn-primary.disabled {
  background: #e7ecf3 !important;
  border: 1px solid #d5dee9 !important;
  color: #5f7188 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}
#order-standard_cart .promo-code-form .btn:not(:disabled):not(.disabled),
#order-standard_cart .apply-credit-container .btn:not(:disabled):not(.disabled) {
  color: #fff !important;
  background: linear-gradient(135deg, #238dff, #6062ff) !important;
}

/* v14 — simplified cart section headings. */
#order-standard_cart .view-cart-items {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
#order-standard_cart .view-cart-items-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  padding: 0 2px 12px !important;
  margin: 0 !important;
}
#order-standard_cart .view-cart-items-header,
#order-standard_cart .view-cart-items-header * {
  color: #fff !important;
}
#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-items .item:nth-child(odd),
#order-standard_cart .view-cart-items .item:nth-child(even) {
  background: #fff !important;
  border: 1px solid #e1e7ef !important;
  color: #13233a !important;
}
#order-standard_cart .view-cart-items .item + .item {
  border-top: 0 !important;
}

#order-standard_cart .order-summary h2 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  padding: 20px 22px 10px !important;
  margin: 0 !important;
}
#order-standard_cart .order-summary h2,
#order-standard_cart .order-summary h2 * {
  color: #fff !important;
}

/* v15 — clean Order Summary heading and matching promo-code action. */
#order-standard_cart .order-summary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

#order-standard_cart .order-summary > h2,
#order-standard_cart .order-summary h2 {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  padding: 0 2px 12px !important;
  margin: 0 !important;
}

#order-standard_cart .order-summary > h2 *,
#order-standard_cart .order-summary h2 * {
  background: transparent !important;
  color: #ffffff !important;
}

#order-standard_cart .order-summary .summary-container {
  background: #102642 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--rss-cart-radius, 16px) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.18) !important;
  overflow: hidden !important;
}

/* Validate Code now uses the exact branded checkout-button treatment. */
#order-standard_cart .promo-code-form .btn,
#order-standard_cart .promo-code-form button,
#order-standard_cart .promo-code-form input[type="submit"],
#order-standard_cart .promo-code-form .btn:disabled,
#order-standard_cart .promo-code-form .btn.disabled,
#order-standard_cart .promo-code-form button[disabled],
#order-standard_cart .promo-code-form input[type="submit"]:disabled {
  background: linear-gradient(135deg, #238dff, #6062ff) !important;
  background-image: linear-gradient(135deg, #238dff, #6062ff) !important;
  border: 0 !important;
  color: #ffffff !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 11px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 24px rgba(45,140,255,.24) !important;
  opacity: 1 !important;
}

#order-standard_cart .promo-code-form .btn:hover:not(:disabled),
#order-standard_cart .promo-code-form button:hover:not(:disabled),
#order-standard_cart .promo-code-form input[type="submit"]:hover:not(:disabled) {
  filter: brightness(1.06) !important;
  transform: translateY(-1px);
  box-shadow: 0 13px 28px rgba(45,140,255,.32) !important;
}

#order-standard_cart .promo-code-form .btn:disabled,
#order-standard_cart .promo-code-form .btn.disabled,
#order-standard_cart .promo-code-form button[disabled],
#order-standard_cart .promo-code-form input[type="submit"]:disabled {
  cursor: not-allowed !important;
  filter: saturate(.72) brightness(.92) !important;
}

/* v16 — cart action controls */
#order-standard_cart #btnPromoApply,
#order-standard_cart #btnPromoApply:disabled,
#order-standard_cart #btnPromoApply.disabled,
#order-standard_cart button[name="validatepromo"],
#order-standard_cart input[name="validatepromo"],
#order-standard_cart .promo-code .btn,
#order-standard_cart .promo-code-form + .btn,
#order-standard_cart .promo-code-form button[type="button"],
#order-standard_cart .promo-code-form button[type="submit"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #4f6fff !important;
  background-image: linear-gradient(135deg, #4f8cff 0%, #6b4fff 100%) !important;
  border: 0 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  min-height: 46px !important;
  border-radius: 11px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(71, 104, 255, .28) !important;
}
#order-standard_cart #btnEmptyCart,
#order-standard_cart .btn-empty-cart,
#order-standard_cart button[onclick*="emptyCart"],
#order-standard_cart a[onclick*="emptyCart"] {
  background: rgba(255,255,255,.08) !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-radius: 10px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
#order-standard_cart .btn-remove-from-cart,
#order-standard_cart button[onclick*="removeItem"],
#order-standard_cart a[onclick*="removeItem"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  margin: 0 8px 0 6px !important;
  border: 1px solid #d9e1ec !important;
  border-radius: 999px !important;
  background: #f7f9fc !important;
  background-image: none !important;
  color: #53657d !important;
  -webkit-text-fill-color: #53657d !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  opacity: 1 !important;
}
#order-standard_cart .btn-remove-from-cart::before,
#order-standard_cart button[onclick*="removeItem"]::before,
#order-standard_cart a[onclick*="removeItem"]::before {
  content: "×" !important;
  display: block !important;
  color: #53657d !important;
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}
#order-standard_cart .btn-remove-from-cart i,
#order-standard_cart button[onclick*="removeItem"] i,
#order-standard_cart a[onclick*="removeItem"] i { display: none !important; }
#order-standard_cart .btn-remove-from-cart:hover,
#order-standard_cart button[onclick*="removeItem"]:hover,
#order-standard_cart a[onclick*="removeItem"]:hover {
  background: #fff1f3 !important;
  border-color: #ffc7ce !important;
}
#order-standard_cart .btn-remove-from-cart:hover::before,
#order-standard_cart button[onclick*="removeItem"]:hover::before,
#order-standard_cart a[onclick*="removeItem"]:hover::before { color: #d9364f !important; }
