/* Installation: Common Issues grid */
.issues-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.issue-card { background:#fff; border:1px solid #e9ecef; border-radius: var(--border-radius); padding: 16px; box-shadow: var(--shadow); }
.issue-icon { color: var(--primary-color); font-size: 1.2rem; margin-bottom: 8px; }
@media (max-width: 992px) { .issues-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 576px) { .issues-grid { grid-template-columns: 1fr; } }
/* ---- Reseller: section-specific typography tweaks ---- */
#reseller-hero .section-title { font-size: 2.2rem; }

/* Installation page responsive tweaks */
@media (max-width: 992px) {
  .setup-features { flex-wrap: wrap; gap: 20px; }
  .quick-start-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .setup-instructions { padding: 28px; }
}
@media (max-width: 576px) {
  .setup-features { flex-direction: column; align-items: stretch; gap: 12px; }
  .quick-start-grid { grid-template-columns: 1fr; gap: 14px; }
  .quick-start-card { padding: 22px 18px; }
  .quick-start-card h3 { font-size: 1.2rem; }
  .device-tabs { gap: 10px; }
  .device-tab-link { padding: 10px 14px; font-size: .95rem; }
  .setup-instructions { padding: 20px; }
}

/* --- Global responsive helpers --- */
*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; height: auto; display: block; }
.btn { white-space: normal; }
/* Mobile/desktop copy toggles */
.desktop-only { display: inline; }
.mobile-only { display: none; }
@media (max-width: 576px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: inline !important; }
}

/* Defer heavy below-the-fold sections to speed up initial render */
.defer-visibility { content-visibility: auto; contain-intrinsic-size: 800px; }

/* Footer responsive grid (fallback if not already defined) */
.footer-content { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 24px; align-items: start; }
@media (max-width: 992px) {
  .footer-content { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 576px) {
  .footer-content { grid-template-columns: 1fr; }
}

/* Channels category grid responsiveness */
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
@media (max-width: 992px) { .category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 576px) { .category-grid { grid-template-columns: 1fr; } }

/* FAQ grid unify */
@media (max-width: 992px) { .faq-accordion-grid { grid-template-columns: 1fr !important; } }
#reseller-plans .section-title { font-size: 2rem; }

@media (max-width: 992px) {
  #reseller-hero .section-title { font-size: 2rem; }
  #reseller-plans .section-title { font-size: 1.85rem; }
}
@media (max-width: 576px) {
  #reseller-hero .section-title { font-size: 1.7rem; }
  #reseller-plans .section-title { font-size: 1.6rem; }
}

/* Reseller pricing card refinements */
.pricing-card { word-break: break-word; }
.pricing-card .btn { width: 100%; white-space: normal; }
.credit-badge { font-size: .95rem; }
@media (max-width: 576px) {
  .credit-badge { font-size: .85rem; padding: 4px 10px; }
  .pricing-card ul li { font-size: .95rem; }
}
/* 1-Year page: follow default 2-col on desktop; stack image above info on small screens */
@media (max-width: 992px) {
  body.page-1y .product-media { grid-column: 1; grid-row: 1; }
  body.page-1y .product-info { grid-column: 1; grid-row: 2; }
  body.page-1y .product-grid { grid-template-columns: 1fr; }
}
/* IPTV Website Styles */

:root {
    --primary-color: #b00707; /* Purple */
    --dark-bg: #1a1a1a;
    --light-bg: #f8f9fa;
    --text-color: #333;
    --light-text: #fff;
    --grey-text: #6c757d;
    --border-radius: 8px;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    --gradient: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%);
    /* Brand hero palette */
    --brand-grad-start: #6A11CB; /* purple */
    --brand-grad-end: #2575FC;   /* blue */
    --accent-cyan: #00E5FF;
    --hero-bg-start: #F8F9FB;
    --hero-bg-end: #FFFFFF;
}

/* --- Container (sitewide) --- */
.brand-name { color: var(--primary-color) !important; }
.container { width: 100%; max-width: 1200px; padding: 0 20px; margin: 0 auto; }
@media (max-width: 1200px) { .container { max-width: 1040px; } }
@media (max-width: 992px)  { .container { max-width: 860px; } }
@media (max-width: 768px)  { .container { max-width: 700px; padding: 0 16px; } }
@media (max-width: 576px)  { .container { max-width: 100%; padding: 0 14px; } }

/* --- Typography scaling (sitewide sections) --- */
.section-title { font-size: 2.2rem; line-height: 1.2; }
.section-subtitle { font-size: 1rem; color: var(--grey-text); }
@media (max-width: 992px) {
  .section-title { font-size: 1.8rem; }
  .section-subtitle { font-size: .95rem; }
}
@media (max-width: 576px) {
  .section-title { font-size: 1.7rem; }
  .section-subtitle { font-size: .95rem; }
}

/* --- Branded Hero (Overview) --- */
#overview.brand-hero { position: relative; background: linear-gradient(180deg, var(--hero-bg-start) 0%, var(--hero-bg-end) 100%); overflow: hidden; padding: 80px 0; }
.brand-hero-inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; position: relative; }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--light-bg);
    color: var(--text-color);
    line-height: 1.6;
}

html { scroll-behavior: smooth; }

img { max-width: 100%; height: auto; }

a:focus-visible, button:focus-visible, input:focus-visible {
    outline: 3px solid rgba(106,13,173,0.35);
    outline-offset: 2px;
    border-radius: 6px;
}

a {
    text-decoration: none;
    color: var(--primary-color);
}

ul {
    list-style: none;
}

 

/* --- Header & Navigation --- */
header {
    background: #fff;
    box-shadow: var(--shadow);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}

.logo {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-color);
}

.logo span {
    color: var(--primary-color);
    font-weight: 600;
}

.nav-menu {
    display: flex;
    gap: 30px;
}

.nav-link {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-color);
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: var(--primary-color);
}

.btn {
    padding: 10px 25px;
    border-radius: var(--border-radius);
    font-weight: 600;
    transition: all 0.25s ease;
    transform: translateZ(0);
}

.btn-trial {
    background-color: var(--dark-bg);
    color: var(--light-text);
    border: 2px solid var(--dark-bg);
}

.btn-trial:hover {
    background-color: #333;
    border-color: #333;
}

.hamburger {
    display: none;
    cursor: pointer;
}

.bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: var(--text-color);
    transition: all 0.3s ease-in-out;
}

/* --- Hero Section --- */
#hero {
    padding: 80px 0;
}

.hero-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hero-text {
    flex: 1 1 55%; /* Allow text to take more space */
    max-width: 620px;
}

.hero-image {
    flex: 1 1 45%; /* Assign less space to the image */
}


.hero-text h1 {
    font-size: clamp(2rem, 2vw + 1rem, 2.8rem); /* responsive base */
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 600;
    color: var(--text-color);
}

.hero-text h1 span {
    color: var(--primary-color);
    font-size: clamp(2.4rem, 2.5vw + 1rem, 3.5rem); /* responsive brand line */
    display: block; /* first line */
    font-weight: 700;
}

/* Subtitle under the main title */
.hero-subtitle {
    font-size: 2rem;
    line-height: 1.25;
    color: var(--text-color); /* dark gray */
    font-weight: 800;
    margin-bottom: 14px;
}

.hero-text p {
    font-size: 1.1rem;
    color: var(--grey-text);
    margin-bottom: 30px;
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--light-text);
    font-size: 1.1rem;
    padding: 15px 30px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-primary:hover {
    opacity: 0.95;
    transform: translateY(-2px) scale(1.01);
}

/* Paint hero image as a CSS background so text becomes the LCP */
.hero-image {
    background-image: url('image/Hero%20image.webp');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 12 / 7; /* 1200x700 */
    width: 100%;
}

/* Removed float animation for a static, professional hero image */


/* Modern hero enhancements */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f3eaff;
    border: 1px solid #e9d8ff;
    color: var(--primary-color);
    padding: 6px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 12px;
}
.hero-badge i { color: var(--primary-color); }

.hero-cta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.btn-outline {
    background: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
    padding: 13px 28px;
    display: inline-flex; align-items: center; gap: 8px;
    border-radius: 10px; font-weight: 700;
}
.btn-outline:hover { background: rgba(106,13,173,0.08); transform: translateY(-2px) scale(1.01); }

.hero-stats { display:flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; color: var(--grey-text); font-weight: 600; }
.hero-stats li { list-style: none; display:flex; align-items:center; gap: 8px; background: #fff; border: 1px solid #e9ecef; padding: 8px 12px; border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,0.04); }
.hero-stats i { color: var(--primary-color); }

@media (max-width: 992px) {
    #hero { padding: 80px 0; }
    .hero-text h1 { font-size: 2.4rem; }
    .hero-text h1 span { font-size: 3rem; }
}
@media (min-width: 992px) {
    .hero-text h1 { 
        white-space: normal; /* two-line title */
    }
    /* enforce 50/50 split on desktop */
    .hero-text { flex: 0 0 50%; max-width: 50%; }
    .hero-image { flex: 0 0 50%; max-width: 50%; }
}
/* Desktop refinements to keep the H1 on a single line */
@media (min-width: 992px) and (max-width: 1199px) {
    .hero-text h1 { font-size: 2.6rem; }
    .hero-text h1 span { font-size: 2.8rem; }
}
@media (min-width: 1200px) {
    .hero-text { flex: 0 0 50%; max-width: 50%; }
    .hero-image { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 768px) {
    .hero-content { flex-direction: column; text-align: center; }
    .hero-image { order: -1; }
    .hero-cta-row { justify-content: center; }
    .hero-stats { justify-content: center; }
}


/* --- General Section Styling --- */
section {
    padding: 80px 0;
}

.section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 20px; /* Adjusted margin */
    font-weight: 700;
}

.section-subtitle {
    text-align: center;
    font-size: 1.1rem;
    color: var(--grey-text);
    max-width: 600px;
    margin: 0 auto 60px;
}

/* --- Features Section --- */
#features, #plan-features {
    background-color: #fff;
}


.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}


.feature-card {
    position: relative;
    text-align: center;
    padding: 36px 28px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e9ecef;
    box-shadow: 0 4px 22px rgba(0,0,0,0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    overflow: hidden;
}

.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 34px rgba(0,0,0,0.12);
    border-color: #d9cff5;
}

.feature-card::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--primary-color));
}

.feature-icon {
    margin-bottom: 20px;
}

.feature-icon i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--primary-color), var(--primary-color));
    color: #fff;
    font-size: 2rem;
    padding: 18px;
    border-radius: 50%;
    width: 72px;
    height: 72px;
    box-shadow: 0 6px 18px rgba(94,35,168,0.28), inset 0 0 0 6px rgba(255,255,255,0.08);
    transition: transform .25s ease;
}

.feature-card:hover .feature-icon i { transform: translateY(-2px) scale(1.04); }

.feature-card h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.feature-card p {
    color: var(--grey-text);
}

/* --- Pricing Section --- */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns on desktop */
    gap: 28px;
    align-items: center;
}

/* Responsive columns for pricing grid */
@media (max-width: 1200px) {
  .pricing-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 992px) {
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  .pricing-grid { grid-template-columns: 1fr; }
}


.pricing-card {
    position: relative;
    background: #fff;
    border-radius: 14px; /* More rounded corners */
    padding: 28px;
    text-align: center;
    box-shadow: 0 6px 22px rgba(0,0,0,0.07);
    border: 1px solid #e9d8ff; /* Light purple border */
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    min-width: 0; /* avoid overflow in grid */
}

.pricing-card:hover { transform: translateY(-6px); border-color: #d1b7ff; box-shadow: 0 14px 34px rgba(65,25,121,0.15); }

.pricing-card::after {
    content: "";
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--primary-color));
}

.pricing-card ul {
    flex-grow: 1; /* Pushes button to the bottom */
}

.pricing-card.popular {
    background: linear-gradient(145deg, var(--primary-color), var(--primary-color));
    color: var(--light-text);
    border-color: transparent;
    transform: scale(1.05);
    position: relative;
    padding-top: 32px; /* standard spacing; pill sits above card */
    overflow: visible; /* allow badge to sit above the top edge */
}

.popular-badge {
    position: absolute;
    top: -14px; /* centered above card */
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(145deg, var(--primary-color), var(--primary-color));
    color: #fff;
    border: 2px solid #fff; /* crisp separation from background */
    padding: 6px 20px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: .2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap; /* keep text on one line */
    line-height: 1; /* avoid multi-line height expansion */
    word-break: keep-all;
    box-shadow: 0 8px 18px rgba(65,25,121,0.25);
    z-index: 3;
}

.popular-badge::before,
.popular-badge::after { display: none; }

/* Remove top accent line so it doesn't conflict with the pill */
.pricing-card.popular::after { background: transparent; }

/* Red credit count badge used on reseller pricing cards */
.credit-badge {
    display: inline-block;
    background: #d32f2f; /* modern red */
    color: #fff;
    font-weight: 800;
    padding: 6px 14px;
    border-radius: 8px;
    margin: 2px auto 12px;
}

.pricing-card h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    word-break: normal;
    overflow-wrap: normal;
}

.subscription-subtitle {
    color: var(--grey-text);
    margin-bottom: 5px;
}

.price {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.save-text {
    display: inline-block;
    color: var(--primary-color);
    background: #f3eaff;
    border: 1px solid #e9d8ff;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: .85rem;
    font-weight: 700;
    margin-bottom: 18px;
}


.pricing-card ul {
    margin-bottom: 30px;
}
.pricing-card .btn { width: 100%; }

/* --- Reseller page layouts --- */
.program-grid { display:grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.program-grid .info-card { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 20px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.program-grid .info-card.gradient { background: linear-gradient(180deg, #fff, #f8f9ff); }

.credit-table { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 10px; }
.credit-col { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 16px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.credit-col h4 { margin-bottom: 10px; font-size: 1.15rem; }
.credit-col ul { line-height: 1.8; color: var(--text-color); }

/* Fine-tune spacing on smaller screens */
@media (max-width: 1200px) {
  .pricing-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
}
@media (max-width: 992px) {
  .program-grid { grid-template-columns: 1fr; }
  .credit-table { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .pricing-card { padding: 22px; }
  .pricing-card h3 { font-size: 1.6rem; }
  .price { font-size: 2.2rem; }
}
@media (max-width: 768px) {
  .pricing-grid { grid-template-columns: 1fr; gap: 18px; }
  .credit-table { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .credit-table { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; gap: 16px; }
  .pricing-card { padding: 18px; }
  .pricing-card h3 { font-size: 1.35rem; }
  .price { font-size: 2rem; }
  /* Reseller: normalize popular card/badge on phones */
  #reseller-plans .pricing-card.popular { transform: none; }
  #reseller-plans .pricing-card.popular::after { background: linear-gradient(90deg, var(--primary-color), var(--primary-color)); }
  #reseller-plans .popular-badge { position: static; left:auto; top:auto; transform:none; margin: 0 0 8px; padding: 4px 10px; border-width: 1px; font-size: .85rem; }
  /* Avoid hover jump on touch */
  .pricing-card:hover { transform: none; }
  /* Force key titles to stay on one line with ellipsis on small screens */
  .pricing-card h3,
  .quick-start-card h3,
  .issue-card h5,
  .credit-col h4,
  .category-card h3 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: keep-all;
    hyphens: none;
  }
}

/* Extra safety: force single column for credit table on narrow phones */
@media (max-width: 480px) {
  #credit-cost .credit-table { grid-template-columns: 1fr !important; }
}

/* Extra-small phones: tighten reseller blocks further */
@media (max-width: 420px) {
  #reseller-hero .section-title { font-size: 1.5rem; }
  #reseller-hero .section-subtitle { font-size: .95rem; }

  #reseller-plans .pricing-grid { grid-template-columns: 1fr; gap: 14px; }
  #reseller-plans .pricing-card { padding: 16px; }
  #reseller-plans .pricing-card h3 { font-size: 1.2rem; }
  #reseller-plans .price { font-size: 1.7rem; }
  #reseller-plans .credit-badge { font-size: .78rem; padding: 3px 8px; }
  #reseller-plans .pricing-card ul li { font-size: .9rem; line-height: 1.5; }
  #reseller-plans .pricing-card .btn { padding: 12px; font-size: .95rem; }
}

.pricing-card ul li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    color: var(--grey-text);
    text-align: left;
}

.pricing-card ul li i {
    color: var(--primary-color);
    margin-right: 10px;
}

.pricing-card ul li:last-child {
    border-bottom: none;
}

.btn-secondary {
    background: var(--primary-color);
    color: var(--light-text);
    border: 2px solid var(--primary-color);
}

/* Emphasized CTA button inside pricing cards */
.pricing-card .btn-buy,
.pricing-card .btn-primary {
    display: inline-block;
    width: 100%;
    padding: 12px 18px;
    border-radius: 10px;
    font-weight: 700;
    letter-spacing: .2px;
    background: linear-gradient(145deg, var(--primary-color), var(--primary-color));
    border: none;
    color: #fff;
    box-shadow: 0 10px 24px rgba(65,25,121,0.25);
}
.pricing-card .btn-primary:hover { opacity: .95; transform: translateY(-2px); }

.btn-secondary:hover {
    opacity: 0.9;
}

.pricing-card.popular h3,
.pricing-card.popular .subscription-subtitle,
.pricing-card.popular .save-text,
.pricing-card.popular ul li,
.pricing-card.popular .price {
    color: var(--light-text);
}

.pricing-card.popular ul li i {
    color: var(--light-text);
}

.pricing-card.popular .btn-primary,
.pricing-card.popular .btn-buy {
    background: #ffffff; /* strong contrast */
    color: var(--primary-color);
    border: 2px solid #e9d8ff;
    box-shadow: 0 10px 28px rgba(65,25,121,0.25);
    z-index: 1;
}

.pricing-card.popular .btn-primary:hover {
    background: #f3f0ff;
}

.pricing-card.popular .save-text {
    background: rgba(255,255,255,0.18);
    border-color: rgba(255,255,255,0.25);
    color: #fff;
}

/* --- Detailed Features Section --- */
#detailed-features {
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%);
}

.features-split-layout {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.features-split-column {
    width: 45%;
}

.feature-split-item {
    display: flex;
    gap: 18px;
    margin-bottom: 28px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 18px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.feature-split-item:hover {
    transform: translateY(-4px);
    border-color: #d9cff5;
    box-shadow: 0 14px 28px rgba(65,25,121,0.10);
}


.feature-split-icon i {
    background: linear-gradient(145deg, var(--primary-color), var(--primary-color));
    color: #fff;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 18px rgba(94,35,168,0.22), inset 0 0 0 5px rgba(255,255,255,0.08);
}

.feature-split-text h4 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    font-weight: 700;
}

.feature-split-text p {
    color: var(--grey-text);
}

/* Responsive refinements for features sections */
@media (max-width: 1200px) {
    .features-split-layout { gap: 30px; }
}


/* --- Testimonials Section --- */
#testimonials,
#product-testimonials {
    background: #fff;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.testimonial-card {
    background: #fff;
    padding: 30px;
    border-radius: var(--border-radius);
    border: 1px solid #e9ecef;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05);
}


.testimonial-author {
    margin-bottom: 20px;
}

.testimonial-author h4 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    font-weight: 700;
}

.stars i {
    color: #f39c12;
}

.testimonial-card p {
    color: var(--grey-text);
    font-size: 0.95rem;
    line-height: 1.7;
}

/* --- Testimonials (Modern Reviews) --- */
.review-summary { display:flex; justify-content: space-between; align-items:center; gap: 24px; background: #fff; border: 1px solid #e9ecef; border-radius: 12px; padding: 24px 28px; box-shadow: var(--shadow); margin: 20px 0 30px; flex-wrap: wrap; }
.rating { display:flex; align-items: center; gap: 16px; }
.rating-stars i { color: #f5a524; font-size: 1.2rem; }
.navbar .logo { font-weight: 800; font-size: 1.4rem; text-decoration:none; color: var(--text-color); }
.logo img.logo-img { height: 48px; width: auto; display: block; image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; }
.navbar .logo .logo-text { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.sr-only { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rating-caption { color: var(--grey-text); font-weight: 600; }

.platform-logos { display:flex; gap: 10px; flex-wrap: wrap; }
.platform-badge { display:inline-flex; align-items:center; gap:8px; background:#f8f9fa; border:1px solid #e9ecef; border-radius: 999px; padding: 8px 12px; font-weight: 600; color: var(--grey-text); }

.reviews-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.review-card { background:#fff; border: 1px solid #e9ecef; border-radius: 12px; padding: 22px; box-shadow: 0 6px 18px rgba(0,0,0,0.05); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.review-card:hover { transform: translateY(-6px); border-color: #d1b7ff; box-shadow: 0 12px 30px rgba(65,25,121,0.12); }

.review-header { display:flex; align-items:center; gap: 12px; margin-bottom: 10px; }
.review-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--primary-color); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.review-name { font-weight: 700; }
.review-meta { color: var(--grey-text); font-size: .9rem; }
.verified-badge { color: #2e7d32; font-weight: 700; }
.verified-badge i { color: #2e7d32; }

.review-stars i { color: #f5a524; }
.review-text { color: var(--text-color); margin: 10px 0 6px; }
.review-footer { color: var(--grey-text); font-size: .9rem; }

.review-cta { text-align:center; margin-top: 26px; }
.review-cta .btn-row { display:flex; justify-content:center; gap: 12px; margin: 10px 0 6px; flex-wrap: wrap; }
.review-cta small { color: var(--grey-text); font-weight: 600; }

@media (max-width: 992px) {
    .reviews-grid { grid-template-columns: 1fr 1fr; }
    .review-summary { justify-content: center; text-align: center; }
    .rating { flex-direction: column; align-items: center; }
}
@media (max-width: 576px) { .reviews-grid { grid-template-columns: 1fr; } }

/* --- FAQ Section --- */
#product { background: var(--light-bg); }
.product-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; align-items: start; }
.product-media { grid-column: 1; grid-row: 1; }
.product-info { grid-column: 2; grid-row: 1; }
.product-media .media-wrap { position: relative; border: 1px solid #e9ecef; border-radius: 16px; overflow: hidden; background: linear-gradient(180deg,#f6f7fb 0%, #f3f4f8 100%); aspect-ratio: 1 / 1; box-shadow: 0 6px 24px rgba(0,0,0,.06), 0 0 0 6px rgba(108,24,226,.04); }
.product-media .media-wrap { background-repeat: no-repeat; background-position: center; background-size: contain; }
.product-media img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 0; transform: scale(1.22); transform-origin: center; }
.product-media .zoom-badge { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; display:flex; align-items:center; justify-content:center; background:#fff; color: var(--primary-color); border:1px solid #eae6f7; border-radius:50%; box-shadow: 0 6px 14px rgba(0,0,0,.08); }
.product-media .zoom-badge { display: none; }
.product-media .media-wrap:hover img { transform: scale(1.22); }
.product-media img { cursor: default; }

/* Lightbox */
.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.8); display: none; align-items: center; justify-content: center; z-index: 9999; padding: 20px; }
.lightbox.open { display: flex; }
.lightbox img { max-width: 92vw; max-height: 92vh; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.45); background:#fff; transition: transform .2s ease; transform-origin: center center; cursor: zoom-in; }
.lightbox img.zoomed { cursor: grab; }
.lightbox img.dragging { cursor: grabbing; }
.lightbox-close { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; border-radius: 50%; border: none; background:#ffffff; color:#111; display:flex; align-items:center; justify-content:center; box-shadow: 0 8px 22px rgba(0,0,0,.3); cursor: pointer; }
.lightbox[aria-hidden="false"] { display:flex; }
body.modal-open { overflow: hidden; }
.product-info { background:#fff; border:1px solid #e9ecef; border-radius: 16px; padding: 24px; box-shadow: 0 6px 24px rgba(0,0,0,.04); position: relative; overflow: visible; padding-top: 32px; }
.product-info .product-title { font-size: 2.25rem; line-height: 1.2; margin-bottom: 10px; }
.product-price { display:flex; align-items: baseline; gap: 12px; margin: 8px 0 16px; }
.product-price .price-old { color: var(--grey-text); text-decoration: line-through; font-weight: 600; }
.product-price .price-new { color: var(--primary-color); font-weight: 800; font-size: 2rem; }
.product-cta { display:flex; align-items: center; gap: 12px; flex-wrap: wrap; width: 100%; }
.product-cta .btn-primary { background: var(--primary-color); color:#fff; border:none; border-radius: 999px; padding: 14px 20px; font-weight: 800; display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; box-shadow: 0 8px 22px rgba(106,13,173,.25); }
.product-cta .btn-primary:hover { filter: brightness(1.05); box-shadow: 0 10px 28px rgba(106,13,173,.32); transform: translateY(-1px); }
.product-cta .btn-primary i { transition: transform .2s ease; }
.product-cta .btn-primary:hover i { transform: translateX(3px); }
.product-cta .cta-note { color: var(--grey-text); font-weight: 600; }
.product-rating { display:flex; align-items:center; gap: 8px; }

/* --- Product Description (modern tiles) --- */
.lead { font-weight: 600; color: var(--text-color); }

.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 10px 0 16px; }
.feature-tile { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.tile-head { display:flex; align-items:center; gap:10px; margin-bottom: 6px; }
.tile-icon { width: 36px; height: 36px; border-radius: 10px; display:flex; align-items:center; justify-content:center; background: #f2e9ff; color: var(--primary-color); }
.tile-icon i { font-size: 18px; }
.feature-tile p { color: var(--grey-text); margin: 0; }

/* List presented in responsive columns */
.icon-list.list-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin-top: 8px; }
.icon-list.list-grid li { display:flex; align-items: flex-start; gap: 8px; }
.icon-list.list-grid i { color: #2e7d32; margin-top: 3px; }

/* Compact benefit badges under description */
.benefit-badges { display:flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.benefit-badges .badge { display:inline-flex; align-items:center; gap:8px; background:#f8f9fa; border:1px solid #e9ecef; color: var(--grey-text); padding: 8px 12px; border-radius: 999px; font-weight: 600; }
.benefit-badges .badge i { color: var(--primary-color); }

/* In page jump links */
.jump-links { display:flex; flex-wrap: wrap; gap:10px; margin: 8px 0 12px; }
.jump-links a { background:#f8f9fa; border:1px solid #e9ecef; color: var(--text-color); border-radius: 999px; padding: 6px 12px; font-weight: 600; text-decoration: none; }
.jump-links a:hover { background:#f2e9ff; border-color:#e0d1ff; }

/* Devices grid */
.devices-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 8px 0 14px; }
.device-card { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.device-card i { color: var(--primary-color); font-size: 20px; width: 28px; text-align:center; }
.device-card span { font-weight: 600; color: var(--text-color); }

/* Channels chips */
.chip-list { display:flex; flex-wrap: wrap; gap:8px; margin: 6px 0 12px; }
.chip { display:inline-flex; align-items:center; gap:8px; background:#f8f9fa; border:1px solid #e9ecef; padding:8px 12px; border-radius:999px; font-weight:600; color: var(--text-color); }
.chip i { color: var(--primary-color); }

/* Annual vs Monthly comparison */
.compare-list { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px 16px; margin-top: 6px; }
.compare-list li { display:flex; align-items:flex-start; gap:8px; }
.compare-list i { color:#2e7d32; margin-top:3px; }

@media (max-width: 992px) {
  .product-grid { grid-template-columns: 1fr; gap: 24px; }
  .product-info .product-title { font-size: 1.75rem; }
  .product-media { grid-column: 1; grid-row: 1; }
  .product-info { grid-column: 1; grid-row: 2; }
  .feature-grid { grid-template-columns: 1fr; }
  .devices-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .compare-list { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
  .product-info .product-title { font-size: 1.5rem; }
  .product-price .price-new { font-size: 1.5rem; }
  .product-media img { padding: 0; transform: scale(1.15); }
  .product-media .media-wrap:hover img { transform: scale(1.15); }
  .product-info { padding: 18px; padding-top: 28px; }
  .product-cta .btn-primary { padding: 12px 16px; }
  .product-price .price-old { font-size: .95rem; }
  .product-media .media-wrap .popular-badge { top: 8px; right: 8px; padding: 4px 10px; font-size: .78rem; }
  .tile-icon { width: 32px; height: 32px; }
  .tile-icon i { font-size: 16px; }
  .icon-list.list-grid { grid-template-columns: 1fr; }
  .devices-grid { grid-template-columns: 1fr; }
  .logo img.logo-img { height: 40px; }
}

@media (max-width: 360px) {
  .product-info .product-title { font-size: 1.35rem; }
  .product-price .price-new { font-size: 1.35rem; }
  .product-cta .btn-primary { padding: 10px 14px; }
}

/* Popular badge when placed over the product image card */
.product-media .media-wrap .popular-badge {
  top: 12px;
  left: auto;
  right: 12px;
  transform: none;
  padding: 6px 14px;
  font-size: .85rem;
  border-width: 1px;
  z-index: 3;
}

#faq, #faq-pricing {
    background: var(--light-bg);
}

.faq-accordion-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start; /* Prevents items from stretching */
}


.faq-item { border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .25s ease, transform .25s ease; border: 1px solid #e9ecef; }
.faq-item + .faq-item { margin-top: 4px; }

.faq-question {
    width: 100%;
    background: transparent;
    border: 0;
    border-radius: 12px 12px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    color: var(--text-color);
    transition: background-color .25s ease, box-shadow .25s ease, transform .2s ease;
}

.faq-icon {
    font-size: 1rem;
    color: var(--primary-color);
}
.faq-question .faq-icon i { transition: transform .25s ease, color .25s ease; }

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background: transparent;
    border: 0;
    will-change: max-height;
}

.faq-answer p {
    padding: 18px 18px;
    color: var(--grey-text);
}

.faq-item .faq-question:hover { background: #f9f6ff; box-shadow: 0 6px 18px rgba(65,25,121,0.10); }
.faq-item .faq-question:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(106,13,173,0.18) inset; }
.faq-item.active { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(65,25,121,0.12); border-radius: 12px; border-color: #d9cff5; }
.faq-item.active .faq-question { border-bottom-left-radius: 0; border-bottom-right-radius: 0; background: #fdfbff; box-shadow: none; }
.faq-item.active .faq-question .faq-icon i { transform: none; color: var(--primary-color); }

/* Modern FAQ layout */
.faq-modern .faq-header { text-align: center; margin-bottom: 16px; }
.faq-modern .faq-search { position: relative; max-width: 640px; margin: 16px auto 0; }
.faq-modern .faq-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--grey-text); }
.faq-modern .faq-search .input { padding-left: 40px; background: #fff; border: 1px solid #e9ecef; }
.faq-modern .faq-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
@media (max-width: 768px) { .faq-modern .faq-list { grid-template-columns: 1fr; } }

/* --- Trust Badges --- */
#trust-badges {
    background: var(--light-bg);
    text-align: center;
}

#trust-badges .payment-icons {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 20px;
}

#trust-badges .payment-icons i {
    font-size: 3rem;
    color: var(--grey-text);
}

#trust-badges p {
    color: var(--grey-text);
    font-weight: 600;
}

/* --- Footer --- */
footer {
    background-color: #fff;
    color: var(--text-color);
    padding: 60px 0 20px;
    border-top: 1px solid #e9ecef; /* Add border for separation */
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.footer-about .logo {
    color: var(--text-color);
}

.footer-about p {
    margin-top: 15px;
    color: var(--grey-text);
}

.footer-links h4, .footer-legal h4, .footer-social h4 {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.footer-links ul li, .footer-legal ul li {
    margin-bottom: 10px;
}

.footer-links a, .footer-legal a {
    color: var(--grey-text);
    transition: color 0.3s ease;
}

.footer-links a:hover, .footer-legal a:hover {
    color: var(--primary-color);
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-icons a {
    color: var(--grey-text);
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.social-icons a:hover {
    color: var(--primary-color);
}

.footer-bottom {
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
    color: var(--grey-text);
}

/* --- Channels Page --- */

/* --- Channels Hero --- */
#channels-hero {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://images.unsplash.com/photo-159378499134-21394607153c?q=80&w=2070&auto=format&fit=crop') no-repeat center center/cover;
    color: var(--light-text);
    text-align: center;
    padding: 100px 0;
}

#channels-hero h1 {
    font-size: 3.5rem;
    margin-bottom: 20px;
}

#channels-hero p {
    font-size: 1.2rem;
    margin-bottom: 30px;
}

/* --- Channel Filters --- */
#channel-filters {
    background: var(--light-bg);
    padding: 40px 0;
    border-bottom: 1px solid #e9ecef;
}

.filter-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.search-box {
    position: relative;
    flex-grow: 1;
    min-width: 250px;
}

.search-box input {
    width: 100%;
    padding: 12px 15px 12px 40px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
}

.search-box i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--grey-text);
}

.filter-dropdowns {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.filter-dropdowns select {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #fff;
    font-size: 1rem;
    cursor: pointer;
}

/* --- Channels List --- */
.channel-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.tab-link {
    padding: 10px 25px;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-color);
    background: var(--light-bg);
    border: 1px solid #ddd;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab-link:hover {
    background: #e9ecef;
}

.tab-link.active {
    background: var(--primary-color);
    color: var(--light-text);
    border-color: var(--primary-color);
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 20px;
}

.channel-card {
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    cursor: pointer;
}

.channel-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.channel-card img {
    max-width: 100px;
    height: 50px;
    object-fit: contain;
    margin-bottom: 10px;
}

.channel-card span {
    font-weight: 600;
    color: var(--text-color);
}

/* --- Why Choose (Channels Page) --- */
#why-choose-channels {
    background: var(--light-bg);
}

/* --- CTA (Channels Page) --- */
#cta-channels {
    background: var(--primary-color);
    color: var(--light-text);
    text-align: center;
}

#cta-channels h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}


/* --- Transactional Banner --- */
#transactional-banner {
    background: var(--dark-bg);
    padding: 30px 0;
}

#transactional-banner .container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
}

.banner-icon i {
    font-size: 2.5rem;
    color: var(--primary-color);
}

.banner-text h3 {
    font-size: 1.5rem;
    color: var(--light-text);
    font-weight: 600;
    margin: 0;
}

/* --- Redesigned Channels Page --- */

#channels-hero-2 {
    background: var(--dark-bg);
    color: var(--light-text);
    text-align: center;
    padding: 80px 0;
}

#channels-hero-2 h1 {
    font-size: 3rem;
    margin-bottom: 15px;
}

#channels-hero-2 p {
    font-size: 1.2rem;
    color: var(--grey-text);
}

#channel-categories {
    background: var(--light-bg);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.category-card {
    background: #fff;
    border-radius: var(--border-radius);
    padding: 40px 30px;
    text-align: center;
    box-shadow: var(--shadow);
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
    cursor: pointer;
}

.category-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
    border-color: var(--primary-color);
}

.category-icon {
    margin-bottom: 25px;
}

.category-icon i {
    font-size: 3.5rem;
    color: var(--primary-color);
    transition: transform 0.3s ease;
}

.category-card:hover .category-icon i {
    transform: scale(1.1);
}

.category-card h3 {
    font-size: 1.5rem;
    font-weight: 600;
}

#why-choose-us-channels-2 {
    background: #fff;
}

#cta-channels-2 {
    background: var(--primary-color);
    color: var(--light-text);
    text-align: center;
    padding: 80px 0;
}

#cta-channels-2 h2 {
    font-size: 2.8rem;
    margin-bottom: 15px;
}

#cta-channels-2 p {
    font-size: 1.2rem;
    margin-bottom: 30px;
    opacity: 0.9;
}


/* --- Installation Page --- */

#installation-hero {
    text-align: center;
    background: var(--light-bg);
}

.setup-features {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 30px;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .setup-features {
        flex-direction: column;
        gap: 20px;
    }
    .setup-feature-item {
        font-size: 0.9rem;
    }
}

.setup-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--grey-text);
}

.setup-feature-item i {
    color: var(--primary-color);
    font-size: 1.2rem;
}

#quick-start {
    background: #fff;
}

.quick-start-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
@media (max-width: 992px) { .quick-start-grid { grid-template-columns: 1fr 1fr; gap: 20px; } }
@media (max-width: 576px) { .quick-start-grid { grid-template-columns: 1fr; gap: 14px; } }

.quick-start-card {
    background: var(--light-bg);
    padding: 40px 30px;
    border-radius: var(--border-radius);
    text-align: center;
    border: 1px solid #e9ecef;
}

.quick-start-icon i {
    font-size: 2.5rem;
    color: var(--primary-color);
    margin-bottom: 20px;
}

.quick-start-card h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}
@media (max-width: 576px) { .quick-start-card h3 { font-size: 1.25rem; } }

#device-setup {
    background: var(--light-bg);
}

.device-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.device-tab-link {
    padding: 12px 25px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-color);
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.device-tab-link:hover {
    background: #e9ecef;
}

.device-tab-link.active {
    background: var(--primary-color);
    color: var(--light-text);
    border-color: var(--primary-color);
}

.device-tab-content {
    display: none;
}

.device-tab-content.active {
    display: block;
}

.setup-instructions {
    background: #fff;
    border-radius: var(--border-radius);
    padding: 40px;
    border: 1px solid #e9ecef;
    max-width: 900px;
    margin: 0 auto;
    box-shadow: var(--shadow);
}

@media (max-width: 992px) { .setup-instructions { padding: 28px; } }
@media (max-width: 576px) { .setup-instructions { padding: 20px; } }

.setup-instructions h4 {
    font-size: 1.5rem;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.setup-step {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
}

.setup-step:last-child {
    margin-bottom: 0;
}

.step-number {
    background: var(--primary-color);
    color: var(--light-text);
    font-size: 1.2rem;
    font-weight: 700;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.step-details h5 {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.info-box {
    background: #e9d8ff;
    border-left: 4px solid var(--primary-color);
    padding: 15px;
    margin-top: 15px;
    border-radius: 4px;
}

.info-box p {
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: 10px;
}

.url-box {
    background: var(--light-bg);
    padding: 15px;
    border-radius: 4px;
    font-family: monospace;
    margin-top: 15px;
    word-break: break-all;
}

.url-box span {
    font-weight: 600;
    color: var(--primary-color);
}

#common-issues {
    background: #fff;
}

.issues-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.issue-card {
    background: var(--light-bg);
    padding: 30px;
    border-radius: var(--border-radius);
    border: 1px solid #e9ecef;
}

.issue-card h5 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.issue-icon i {
    color: var(--primary-color);
    font-size: 1.5rem;
}

.issue-card ul li {
    color: var(--grey-text);
    margin-bottom: 8px;
    list-style-type: disc;
    list-style-position: inside;
}


/* --- Responsive Design --- */
@media (max-width: 1200px) {
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .pricing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    .btn-contact-desktop {
        display: none;
    }
    .hero-text h1 {
        font-size: 2.2rem;
    }
    .hero-text h1 span {
        font-size: 2.8rem;
    }
    .features-split-layout {
        flex-direction: column;
        gap: 0;
    }
    .features-split-column {
        width: 100%;
    }

    .pricing-card.popular {
        transform: scale(1);
    }
}

@media (max-width: 768px) {
    .hero-text h1 {
        font-size: 2rem;
    }
    .hero-text h1 span {
        font-size: 2.5rem;
    }
    .hero-content, .detailed-features-content {
        flex-direction: column;
        text-align: center;
    }

    .hero-text {
        max-width: 100%;
    }

    .hero-image {
        margin-top: 40px;
    }

    .features-grid, .pricing-grid, .testimonials-grid, .faq-accordion-grid, .footer-content {
        grid-template-columns: 1fr;
    }


    .nav-menu {
        position: fixed;
        left: -100%;
        top: 80px;
        flex-direction: column;
        background-color: #fff;
        width: 100%;
        text-align: center;
        transition: 0.3s;
        box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
    }

    .nav-menu.active {
        left: 0;
    }

    .nav-item {
        margin: 1.5rem 0;
    }

    .hamburger {
        display: block;
    }

    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .hero-content, .detailed-features-content {
        flex-direction: column;
        text-align: center;
    }

    .hero-text {
        max-width: 100%;
    }

    .hero-image {
        margin-top: 40px;
    }

    .detailed-features-text .section-title {
        text-align: center;
    }

    .detailed-features-image {
        order: -1; /* Move image to top on mobile */
    }
}

/* === Global Utilities (Legal pages, info sections) === */
/* Icon list with check/feature icons */
.icon-list { list-style: none; padding-left: 0; }
.icon-list li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.icon-list i { color: var(--primary-color); margin-top: 4px; }

/* Badge chips for small labels */
.badge { display: inline-block; background: #e9d8ff; color: var(--primary-color); padding: 3px 10px; border-radius: 999px; font-size: 0.82rem; font-weight: 600; margin-left: 6px; }

/* Timeline list for process steps */
.timeline { list-style: none; padding-left: 20px; position: relative; }
.timeline::before { content: ""; position: absolute; left: 10px; top: 0; bottom: 0; width: 2px; background: #e9ecef; }
.timeline li { position: relative; padding-left: 30px; margin-bottom: 16px; }
.timeline li::before { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--primary-color); box-shadow: 0 0 0 3px #f3eaff; }

/* Informational callout box */
.callout { background: #fff; border: 1px solid #e9ecef; border-left: 4px solid var(--primary-color); padding: 16px; border-radius: 6px; }

/* --- Modern Channels Page (2025) --- */
/* Gradient hero with stat counters */
#channels-hero-modern {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%);
    color: var(--light-text);
    text-align: center;
    padding: 90px 0 60px;
}

#channels-hero-modern .section-subtitle {
    color: rgba(255,255,255,0.85);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.stat-card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 12px;
    padding: 20px;
}

.stat-card h3 { font-size: 2rem; color: #fff; margin-bottom: 6px; }
.stat-card p { color: rgba(255,255,255,0.85); font-weight: 600; }

/* Filters: search + chips */
#channel-filters .filter-bar { justify-content: center; }
.chips { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 14px; }
.chip { padding: 8px 14px; border: 1px solid #ddd; border-radius: 999px; background: #fff; color: var(--text-color); font-weight: 600; cursor: pointer; transition: all .2s ease; }
.chip:hover { background: #f3f4f6; }
.chip.active { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }

/* Category cards with details */
.category-card .mini-list { list-style: none; padding-left: 0; margin-top: 12px; }
.category-card .mini-list li { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--grey-text); }
.category-card .mini-list i { color: var(--primary-color); }

/* Global coverage */
#global-coverage { background: var(--light-bg); }
.coverage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.coverage-card { background: #fff; border: 1px solid #e9ecef; border-radius: 10px; padding: 20px; box-shadow: var(--shadow); }
.coverage-card h3 { margin-bottom: 6px; }
.coverage-card p { color: var(--grey-text); }

/* Split section for Quality */
.split-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items: center; }
.split-media { background: linear-gradient(135deg, #ffffff 0%, #f3eaff 100%); border: 1px solid #e9ecef; border-radius: 10px; padding: 40px; text-align: center; box-shadow: var(--shadow); }
.split-media i { font-size: 3rem; color: var(--primary-color); }

/* Gradient CTA */
#cta-channels-modern { background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%); color: #fff; text-align: center; padding: 70px 0; }
#cta-channels-modern p { color: rgba(255,255,255,0.9); }

/* Responsive adjustments for new sections */
@media (max-width: 992px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .split-layout { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
    .stats-grid { grid-template-columns: 1fr; }
}

 /* === Animations / Reveal Utilities === */
 [data-animate] { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
 [data-animate].in-view { opacity: 1; transform: translateY(0); }

 /* Buttons: subtle glow on focus/hover */
  .btn:hover, .btn:focus-visible { box-shadow: 0 6px 24px rgba(106,13,173,0.25); }
 /* Visually hidden utility for accessibility */
 .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
 /* Forms */
 .form-row { display: flex; gap: 12px; flex-wrap: wrap; }
 .input, input[type="email"], input[type="text"], select { padding: 12px 14px; border:1px solid #ddd; border-radius: 6px; font-size: 1rem; width: 100%; }
 .input:focus, input[type="email"]:focus, input[type="text"]:focus, select:focus { border-color: #c2a5ff; box-shadow: 0 0 0 3px #efe7ff; }

 /* --- Contact Page --- */
 #contact-hero { background: #fff; }
 .contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
 .contact-card { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 28px; text-align: left; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
 .contact-card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,0.12); border-color: #d9cff5; }
 .contact-icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius: 14px; background: linear-gradient(145deg, #b00707, #411979); color:#fff; box-shadow: 0 8px 20px rgba(65,25,121,0.22); margin-bottom: 12px; font-size: 1.25rem; }
 .contact-card h3 { margin: 6px 0 6px; font-size: 1.25rem; }
 .contact-text { color: var(--grey-text); margin-bottom: 12px; }
 
 /* Contact forms */
 #contact-forms { background: var(--light-bg); }
 .forms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
 .form-card { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 28px; box-shadow: var(--shadow); }
 .form .input { width: 100%; }
 .form textarea.input { resize: vertical; min-height: 140px; }
 .form-actions { display:flex; align-items:center; gap: 12px; margin-top: 10px; }
 .form-note { color: var(--grey-text); }
 
 /* Form header (icon + title) */
 .form-header { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
 .form-header i { width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background: linear-gradient(145deg, #b00707, #411979); color:#fff; box-shadow: 0 8px 18px rgba(65,25,121,0.22); }
 .form-header h3 { margin:0; }
 .form-header .sub { color: var(--grey-text); margin: 2px 0 0; }
 
 /* Response band */
 #response-band { background: linear-gradient(135deg, #b00707 0%, #411979 100%); color: #fff; padding: 60px 0; }
 .response-wrap { display:flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
 .response-text h3 { font-size: 1.6rem; margin-bottom: 8px; }
 .response-chips { display:flex; gap: 10px; flex-wrap: wrap; }
 .response-chips li { display:inline-flex; align-items:center; gap: 8px; background: rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.22); color:#fff; padding: 8px 12px; border-radius: 999px; font-weight: 700; }
 .response-cta { display:flex; gap: 10px; }
 .response-cta .btn-outline { color:#fff; border-color:#fff; }
 .response-cta .btn-outline:hover { background: rgba(255,255,255,0.12); }
 
 @media (max-width: 1200px) {
   .contact-grid { grid-template-columns: 1fr 1fr; }
 }
 
 @media (max-width: 992px) {
   .contact-grid { grid-template-columns: 1fr; }
   .forms-grid { grid-template-columns: 1fr; }
   .response-wrap { justify-content: center; text-align:center; }
 }

 /* --- Reseller Page --- */
#reseller-hero { background: linear-gradient(135deg, #b00707 0%, #411979 100%); padding: 90px 0 70px; text-align: center; color: #fff; }
 
 #reseller-summary { background: #fff; }
 .program-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
 .info-card { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 28px; box-shadow: var(--shadow); }
 .info-card.gradient { background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%); }
 
 #credit-cost { background: var(--light-bg); }
 .credit-table { display:grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
 .credit-col { background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 22px; box-shadow: var(--shadow); }
 .credit-col h4 { margin-bottom: 10px; }
 .credit-col ul li { color: var(--grey-text); margin-bottom: 6px; }
 
 #reseller-plans { background: #fff; }
/* Reseller plans grid: responsive columns */
@media (min-width: 1200px) {
  #reseller-plans .pricing-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1199.98px) and (min-width: 992px) {
  #reseller-plans .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991.98px) and (min-width: 769px) {
  #reseller-plans .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  #reseller-plans .pricing-grid { grid-template-columns: 1fr; }
}
#reseller-plans .btn-primary:hover { filter: brightness(1.07); transform: translateY(-2px); }

 /* Reseller CTA band */
 #reseller-cta { background: #fff; }
 .cta-wrap { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; align-items: center; background:#fff; border:1px solid #e9ecef; border-radius: 12px; padding: 22px; box-shadow: var(--shadow); }
 .cta-text h3 { margin: 0 0 6px; }
 .cta-buttons { display:flex; gap:12px; justify-content:flex-end; flex-wrap: wrap; }

/* Reseller responsive refinements */
@media (max-width: 992px) {
  #reseller-hero { padding: 60px 0 46px; }
  #reseller-hero .section-subtitle { max-width: 680px; margin: 8px auto 0; line-height: 1.6; }
  #reseller-hero .btn-row { gap: 10px; }
  #reseller-summary .program-grid { grid-template-columns: 1fr; }
  #reseller-cta .cta-wrap { grid-template-columns: 1fr; text-align: center; }
  #reseller-cta .cta-buttons { justify-content: center; }
}
@media (max-width: 768px) {
  #reseller-hero .btn-row .btn { width: 100%; max-width: 360px; }
  #reseller-summary .info-card { padding: 16px; }
  #reseller-summary .info-card h3 { font-size: 1.15rem; }
}
/* (Reverted) allow 2 columns on tablets and 1 on phones via existing breakpoints */
@media (max-width: 576px) {
  #reseller-hero { padding: 46px 0 34px; }
  #reseller-hero .section-title { font-size: 1.6rem; }
  #reseller-hero .section-subtitle { font-size: .95rem; }
  #credit-cost .credit-col h4 { font-size: 1.05rem; }
  #credit-cost .credit-col ul { line-height: 1.7; }
  #reseller-cta .cta-buttons .btn { width: 100%; }
}
 
 /* --- Product Page (12 Months) --- */
 #product { background: #fff; }
 .product-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 34px; align-items: start; }
 
 /* Media */
 .product-media .media-wrap { position: relative; background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%); border: 1px solid #e9ecef; border-radius: 14px; padding: 18px; box-shadow: var(--shadow); }
 .product-media img { width: 100%; height: auto; border-radius: 10px; display: block; }
 .zoom-badge { position: absolute; right: 14px; top: 14px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1px solid #e9ecef; color: var(--text-color); box-shadow: 0 6px 18px rgba(0,0,0,0.08); }
 
 /* Info */
 .product-info { background: #fff; border: 1px solid #e9ecef; border-radius: 14px; padding: 26px; box-shadow: var(--shadow); }
 .product-title { font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.6rem); line-height: 1.2; margin-bottom: 8px; font-weight: 800; }
 
 .product-rating { display: flex; align-items: center; gap: 10px; margin: 8px 0 14px; flex-wrap: wrap; }
 .product-rating .rating-stars i { color: #f5a524; }
 .product-rating .rating-caption { color: var(--grey-text); font-weight: 600; }
 
 .product-price { display: flex; align-items: baseline; gap: 12px; margin: 6px 0 16px; }
 .price-old { color: #9aa0a6; text-decoration: line-through; font-weight: 700; }
 .price-new { color: var(--primary-color); font-weight: 800; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); }
 
 .product-cta { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 18px; }
 .product-cta .btn { padding: 14px 22px; font-size: 1.05rem; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
 .product-cta .cta-note { color: var(--grey-text); font-weight: 600; }
 
 .product-desc { color: var(--text-color); }
 .product-desc p { color: var(--grey-text); margin-bottom: 12px; }
 .product-desc .subheading { font-size: 1.15rem; margin: 16px 0 8px; font-weight: 800; color: var(--text-color); }
 
 /* Feature bullets with nested text */
 .feature-bullets { list-style: none; padding-left: 0; margin: 6px 0 10px; }
 .feature-bullets li { position: relative; padding-left: 0; margin: 10px 0; }
 .feature-bullets li strong { display: inline-block; font-weight: 800; margin-bottom: 4px; }
 .feature-bullets li p { margin: 0; color: var(--grey-text); }

 /* Feature bullets: icon + heading */
 .feature-bullets .bullet-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
 .feature-bullets .fb-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 12px; background: linear-gradient(145deg, #b00707, #411979); color: #fff; box-shadow: 0 8px 18px rgba(65,25,121,0.22); }
 .feature-bullets .fb-icon i { font-size: 1rem; line-height: 1; }
 .feature-bullets li strong { margin: 0; }
 .feature-bullets li + li { margin-top: 14px; }

 /* Subheading accent */
 .product-desc .subheading { position: relative; padding-left: 10px; }
 .product-desc .subheading::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; border-radius: 2px; background: linear-gradient(180deg, #b00707, #411979); }
  
  /* Responsive adjustments for product */
  @media (max-width: 1100px) {
    .product-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 768px) {
    .product-info { padding: 20px; }
    .product-cta .btn { width: 100%; }
    .product-title { text-align: left; }
    .feature-bullets .fb-icon { width: 34px; height: 34px; flex-basis: 34px; }
}

/* =====================
   Footer (Global)
   ===================== */
footer { padding: 48px 0 22px; }
footer a { text-decoration: none; }

.footer-content { display: grid; grid-template-columns: 1.4fr .9fr .9fr .9fr; gap: 26px; align-items: start; }
.footer-about .logo-img { display: block; margin-bottom: 10px; }

.footer-links h4, .footer-legal h4 { margin-bottom: 10px; font-size: 1.05rem; }
.footer-links ul, .footer-legal ul { list-style: none; padding: 0; margin: 0; }
.footer-links li, .footer-legal li { margin: 8px 0; }
/* link colors inherit from global theme */

.footer-about .icon-list { list-style: none; padding: 0; margin: 10px 0 0; }
.footer-about .icon-list li { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
/* icon color inherits from global theme */

.footer-bottom { margin-top: 28px; padding-top: 16px; text-align: center; }

/* Footer responsiveness */
@media (max-width: 992px) {
  .footer-content { grid-template-columns: 1.2fr 1fr 1fr; }
}
@media (max-width: 768px) {
  .footer-content { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 576px) {
  .footer-content { grid-template-columns: 1fr; }
  .footer-about, .footer-links, .footer-legal { text-align: left; }
}

/* Channels hero: ensure links are readable on purple background */
#channels-hero-modern .section-subtitle { color: #fff; }
#channels-hero-modern .section-subtitle a { color: #fff; text-decoration: underline; }
#channels-hero-modern .section-subtitle a:hover { text-decoration: none; }
#channels-hero-modern .section-subtitle a .brand-name { color: #fff !important; }

/* --- Pricing Page: Responsive & Custom Tweaks --- */
body.page-pricing section { padding: 72px 0; }
body.page-pricing .section-title { font-size: clamp(1.8rem, 1.2rem + 1.6vw, 2.4rem); }
body.page-pricing .section-subtitle { max-width: 760px; margin-left: auto; margin-right: auto; line-height: 1.7; }

/* Grid gaps scale per breakpoint for tighter layout */
@media (max-width: 992px) {
  body.page-pricing section { padding: 60px 0; }
  body.page-pricing .pricing-grid { gap: 22px; }
  body.page-pricing .features-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 576px) {
  body.page-pricing section { padding: 46px 0; }
  body.page-pricing .pricing-grid { gap: 16px; }
  body.page-pricing .features-grid { grid-template-columns: 1fr; }
}

/* Card density and readable typography */
body.page-pricing .pricing-card { padding: 26px; }
@media (max-width: 768px) {
  body.page-pricing .pricing-card { padding: 20px; }
}
body.page-pricing .pricing-card h3 { font-size: clamp(1.25rem, 0.9rem + 0.9vw, 1.6rem); }
body.page-pricing .price { font-size: clamp(1.9rem, 1.2rem + 1.6vw, 2.4rem); }
body.page-pricing .pricing-card ul li { font-size: 0.98rem; }
@media (max-width: 576px) {
  body.page-pricing .pricing-card ul li { font-size: 0.95rem; }
}

/* Ensure tap-friendly Buy buttons on mobile */
body.page-pricing .pricing-card .btn { min-height: 48px; font-size: 1.02rem; }

/* FAQ on pricing: modern compact accordion */
body.page-pricing .faq-modern .faq-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
body.page-pricing .faq-modern .faq-item { background:#fff; border:1px solid #e9ecef; border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.04); overflow: hidden; }
body.page-pricing .faq-modern .faq-question { width:100%; display:flex; justify-content: space-between; align-items:center; padding: 14px 16px; background:#fff; border: none; font-weight: 700; text-align:left; cursor:pointer; }
body.page-pricing .faq-modern .faq-answer { padding: 0 16px 14px; transition: max-height .3s ease; }
