/* ==========================================
   KTG SOLUTIONS - PREMIUM PACKAGE UI
   ========================================== */

:root {
    --bg-black: #05080a;
    --primary-blue: #007bff;
    --cyan-glow: #00d2ff;
    --glass-bg: rgba(255, 255, 255, 0.03);
    --border-color: rgba(255, 255, 255, 0.08);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body.pkg-body {
    background: var(--bg-black);
    color: #fff;
    line-height: 1.6;
    overflow-x: hidden;
}

/* --- Premium Floating Navbar (Same as Home) --- */
.header {
    position: fixed;
    top: 25px; /* උඩින් ඉඩක් තියලා පාවෙන්න */
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: 0.4s;
}

.nav-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    height: 75px;
    background: rgba(10, 15, 20, 0.8);
    backdrop-filter: blur(15px);
    border: 1px solid var(--border-color);
    border-radius: 50px; /* වටකුරු border එක */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
}

/* Logo */
.logo { text-decoration: none; font-weight: 900; font-size: 1.4rem; }
.logo-blue { color: var(--primary-blue); }
.logo-white { color: #fff; font-weight: 300; margin-left: 3px; }

/* Menu */
.nav-menu { display: flex; list-style: none; gap: 35px; }
.nav-link { 
    text-decoration: none; 
    color: #888; 
    font-weight: 700; 
    text-transform: uppercase; 
    font-size: 0.85rem; 
    position: relative; 
    transition: 0.3s; 
}

.nav-link:hover, .nav-link.active { 
    color: #fff; 
    text-shadow: 0 0 10px var(--cyan-glow); 
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--cyan-glow);
    box-shadow: 0 0 10px var(--cyan-glow);
}

/* Navbar CTA */
.btn-whatsapp {
    background: var(--primary-blue);
    color: #fff;
    padding: 12px 25px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.85rem;
    transition: 0.3s;
}

.btn-whatsapp:hover {
    background: #fff;
    color: #000;
    transform: translateY(-2px);
}

/* --- Page Content Area --- */
.pkg-main {
    padding-top: 180px; /* Navbar එකට යට නොවෙන්න */
    padding-bottom: 80px;
}

.wrapper {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Header Area & Toggle */
.pkg-header-area {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.bg-glow {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 400px;
    height: 200px;
    background: radial-gradient(circle, rgba(0, 123, 255, 0.15) 0%, transparent 70%);
    filter: blur(50px);
}

.pkg-title { font-size: 3.5rem; font-weight: 900; margin-bottom: 15px; }
.gradient-blue { 
    background: linear-gradient(90deg, #007bff, #00d2ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.pkg-subtitle { color: #666; font-size: 1.1rem; }

/* Delivery Toggle Switch */
.toggle-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.toggle-label {
    font-weight: 800;
    font-size: 0.9rem;
    color: #444;
    transition: 0.3s;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.toggle-label.active-label {
    color: var(--cyan-glow);
    text-shadow: 0 0 15px rgba(0, 210, 255, 0.4);
}

.switch-box {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 32px;
}

.switch-box input { opacity: 0; width: 0; height: 0; }

.slider-round {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #1a1a1a;
    transition: .4s;
    border-radius: 34px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.slider-round:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 4px;
    bottom: 3px;
    background-color: #fff;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider-round { background-color: var(--primary-blue); }
input:checked + .slider-round:before { transform: translateX(26px); }

/* --- Pricing Grid --- */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: stretch;
}

.card {
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    padding: 50px 30px;
    border-radius: 35px;
    text-align: center;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    display: flex;
    flex-direction: column;
}

.card:hover {
    transform: translateY(-10px);
    border-color: rgba(0, 210, 255, 0.3);
    background: rgba(255, 255, 255, 0.05);
}

.card.featured {
    border: 2px solid var(--primary-blue);
    background: rgba(0, 123, 255, 0.04);
    transform: scale(1.05);
    z-index: 5;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.hot-badge {
    position: absolute;
    top: 20px;
    right: 25px;
    background: var(--cyan-glow);
    color: #000;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 900;
}

.type { color: #555; font-weight: 800; text-transform: uppercase; letter-spacing: 2px; font-size: 0.8rem; }
.price-val { font-size: 2.5rem; font-weight: 900; margin: 20px 0 35px; color: #fff; }

.features {
    list-style: none;
    text-align: center;
    margin: 0 auto 40px;
    flex-grow: 1;
    width: 100%;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.features li {
    width: 100%;
    margin-bottom: 0;
    color: #d7e4ef;
    font-size: 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
    line-height: 1.5;
    padding: 0 0 12px;
    position: relative;
}

.features li::after {
    content: '';
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 0;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(0,210,255,0), rgba(0,210,255,.85), rgba(0,210,255,0));
    opacity: .75;
}

.features li:last-child::after {
    display: none;
}

.features .tick {
    display: none;
}

.btn-order-outline, .btn-order-solid {
    display: block;
    padding: 15px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.3s;
}

.btn-order-outline { border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; }
.btn-order-outline:hover { background: #fff; color: #000; }

.btn-order-solid { background: var(--primary-blue); color: #fff; box-shadow: 0 10px 20px rgba(0, 123, 255, 0.3); }

/* Footer */
.p-footer {
    text-align: center;
    padding: 40px 0;
    border-top: 1px solid var(--border-color);
    margin-top: 60px;
    color: #444;
}

.dev-name { color: #fff; text-shadow: 0 0 10px var(--cyan-glow); font-weight: 700; }

/* Responsive */
@media (max-width: 950px) {
    .pricing-grid { grid-template-columns: 1fr; width: 80%; margin: 0 auto; }
    .card.featured { transform: scale(1); }
    .features { max-width: 100%; gap: 12px; }
    .features li { font-size: 0.96rem; }
    
}

/* --- Comparison Table Styles --- */
.pkg-details-section {
    padding: 100px 0;
    position: relative;
}

.details-header {
    text-align: center;
    margin-bottom: 50px;
}

.details-title {
    font-size: 2.8rem;
    font-weight: 900;
}

.details-table-wrapper {
    overflow-x: auto; /* Mobile වලදී ලේසියෙන් බලන්න */
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 30px;
    padding: 20px;
}

.details-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

.details-table th, .details-table td {
    padding: 25px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    font-size: 0.95rem;
    color: #aaa;
}

.details-table th {
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
    text-transform: uppercase;
}

.feature-label {
    text-align: left;
    color: #fff !important;
    font-weight: 700;
    width: 30%;
}

/* Highlight Business Column */
.active-col {
    background: rgba(0, 123, 255, 0.05);
    color: #fff !important;
    font-weight: 700;
}

.details-table tr:hover {
    background: rgba(255, 255, 255, 0.01);
}

.details-footer {
    text-align: center;
    margin-top: 40px;
    color: #555;
}

.details-footer a {
    color: var(--cyan-glow);
    text-decoration: none;
    font-weight: 700;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .details-table th, .details-table td {
        padding: 15px 10px;
        font-size: 0.8rem;
    }
}

/* --- How It Works Styling --- */
.how-it-works {
    padding: 100px 0;
    background: linear-gradient(to bottom, transparent, rgba(0, 123, 255, 0.02));
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-title {
    font-size: 2.8rem;
    font-weight: 900;
    margin-bottom: 10px;
}

/* Steps Grid */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.step-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 40px 30px;
    border-radius: 30px;
    position: relative;
    transition: 0.4s;
    overflow: hidden;
}

.step-card:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--primary-blue);
    transform: translateY(-10px);
}

.step-number {
    font-size: 4rem;
    font-weight: 900;
    color: rgba(0, 123, 255, 0.1); /* පස්සෙන් පේන ලොකු අංකය */
    position: absolute;
    top: 10px;
    right: 20px;
    line-height: 1;
}

.step-card h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 15px;
    position: relative;
    z-index: 2;
}

.step-card p {
    font-size: 0.95rem;
    color: #888;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}

/* Step Connector Dot */
.step-dot {
    width: 8px;
    height: 8px;
    background: var(--cyan-glow);
    border-radius: 50%;
    margin-top: 25px;
    box-shadow: 0 0 10px var(--cyan-glow);
}

/* Responsive for Mobile */
@media (max-width: 1024px) {
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .steps-grid { grid-template-columns: 1fr; }
    .section-title { font-size: 2.2rem; }
}

/* --- Features Info Styling --- */
.features-info {
    padding: 100px 0;
    position: relative;
}

.info-header {
    text-align: center;
    margin-bottom: 70px;
}

.info-title {
    font-size: 2.8rem;
    font-weight: 900;
}

.info-list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    background: rgba(255, 255, 255, 0.02);
    padding: 35px;
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: 0.3s;
}

.info-item:hover {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--primary-blue);
    transform: translateX(10px); /* පසෙකට ලාවට චලනය වීම */
}

.info-icon {
    font-size: 2.5rem;
    background: rgba(0, 123, 255, 0.1);
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    flex-shrink: 0;
}

.info-text h3 {
    font-size: 1.4rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
}

.info-text p {
    font-size: 1rem;
    color: #aaa;
    line-height: 1.7;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .info-item {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    .info-item:hover {
        transform: translateY(-5px);
    }
}

/* --- Technologies Section Styling --- */
.tech-section {
    padding: 100px 0;
    text-align: center;
    position: relative;
}

.tech-header {
    margin-bottom: 60px;
}

.tech-title {
    font-size: 2.8rem;
    font-weight: 900;
}

.tech-subtitle {
    color: #666;
    margin-top: 10px;
    font-size: 1.1rem;
}

/* Grid Layout */
.tech-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.tech-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 30px;
    border-radius: 25px;
    transition: 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.tech-item:hover {
    background: rgba(0, 123, 255, 0.05);
    border-color: var(--primary-blue);
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

.tech-icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tech-icon-box img {
    width: 100%;
    height: 100%;
    filter: grayscale(100%); /* මුලින් gray වෙලා තියෙන්නේ */
    transition: 0.4s;
    opacity: 0.6;
}

.tech-item:hover img {
    filter: grayscale(0%); /* Hover කරද්දී පාට වෙනවා */
    opacity: 1;
    transform: scale(1.1);
}

.tech-item span {
    font-size: 0.9rem;
    font-weight: 700;
    color: #555;
    transition: 0.3s;
    letter-spacing: 1px;
}

.tech-item:hover span {
    color: #fff;
}

/* Responsive */
@media (max-width: 900px) {
    .tech-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    .tech-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .tech-title { font-size: 2.2rem; }
}

/* --- Why Choose Us Styling --- */
.why-us {
    padding: 100px 0;
    background: rgba(255, 255, 255, 0.01);
}

.why-header {
    text-align: center;
    margin-bottom: 60px;
}

.why-title {
    font-size: 2.8rem;
    font-weight: 900;
}

.why-subtitle {
    color: #666;
    margin-top: 10px;
    font-size: 1.1rem;
}

/* Badge Grid */
.badge-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.badge-card {
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    padding: 40px 25px;
    border-radius: 35px;
    text-align: center;
    transition: 0.4s ease;
}

.badge-card:hover {
    background: rgba(0, 123, 255, 0.08);
    border-color: var(--cyan-glow);
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.badge-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
    display: inline-block;
    filter: drop-shadow(0 0 10px rgba(0, 210, 255, 0.5)); /* අයිකන් එක දිලිසෙනවා */
}

.badge-card h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
}

.badge-card p {
    font-size: 0.9rem;
    color: #888;
    line-height: 1.6;
}

/* Mobile Responsive */
@media (max-width: 1024px) {
    .badge-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .badge-grid { grid-template-columns: 1fr; }
    .why-title { font-size: 2.2rem; }
}

/* --- Minimal Sub Footer Styling --- */
.sub-footer {
    padding: 30px 0;
    background: #030507; /* තද කළු පාට */
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.sub-footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.copyright {
    color: #555;
    font-size: 0.85rem;
    font-weight: 500;
}

.developer {
    color: #555;
    font-size: 0.85rem;
    font-weight: 500;
}

.dev-glow {
    color: #fff;
    font-weight: 800;
    letter-spacing: 1px;
    text-shadow: 0 0 10px rgba(0, 210, 255, 0.6); /* ලස්සනට දිලිසෙන නම */
    margin-left: 5px;
    transition: 0.3s;
}

.dev-glow:hover {
    color: var(--cyan-glow);
    text-shadow: 0 0 20px var(--cyan-glow);
    cursor: pointer;
}

/* Mobile Responsive */
@media (max-width: 600px) {
    .sub-footer-content {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}

/* Shared navbar compatibility */
.header{display:none;}

.quote-cta-bar{margin:30px auto 10px;max-width:980px;padding:18px 22px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:18px}
.quote-review-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#0d6efd,#00d2ff);font-weight:800;white-space:nowrap}
@media (max-width:768px){.quote-cta-bar{flex-direction:column;align-items:flex-start}.quote-review-btn{width:100%}}


/* === Final package page polish === */
.pkg-main{padding-top:170px;padding-bottom:90px;}
.pkg-header-area{margin-bottom:46px;}
.pkg-title{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.05em;}
.pkg-subtitle{color:#98a7b5;max-width:760px;margin:0 auto;}
.toggle-container{margin-top:28px;}
.pricing-grid{gap:22px;}
.card{padding:38px 26px;border-radius:30px;background:rgba(255,255,255,.03);box-shadow:0 22px 40px rgba(0,0,0,.18);}
.card.featured{transform:translateY(-6px) scale(1.02);}
.type{color:#7fcfff;}
.price-val{font-size:2.2rem;margin:18px 0 28px;}
.features li{color:#9cafbf;}
.btn-order-outline,.btn-order-solid{border-radius:18px;padding:15px 18px;font-weight:800;}
.btn-order-solid{background:linear-gradient(135deg,#0d6efd,#00d2ff);}
.details-table-wrapper{border-radius:28px;background:rgba(255,255,255,.03);}
@media (max-width:950px){.pricing-grid{width:100%;}.card.featured{transform:none;}}


/* === Packages mobile fixes v1.2 === */
@media (max-width:768px){
  .pkg-main{padding-top:138px!important;padding-bottom:68px!important;}
  .wrapper{width:92%!important;}
  .pkg-header-area{margin-bottom:34px!important;}
  .pkg-title{font-size:2.35rem!important;line-height:1.05!important;letter-spacing:-.04em!important;}
  .pkg-subtitle{font-size:1rem!important;line-height:1.65!important;padding:0 4px!important;}
  .toggle-container{gap:12px!important;flex-wrap:wrap!important;margin-top:26px!important;}
  .pricing-grid{grid-template-columns:1fr!important;width:100%!important;margin:0!important;gap:16px!important;}
  .card,.card.featured{transform:none!important;}
  .card{padding:28px 20px!important;border-radius:24px!important;}
  .hot-badge{top:16px!important;right:16px!important;}
  .price-val{font-size:2.1rem!important;margin:16px 0 24px!important;}
  .features{margin-bottom:24px!important;}
  .features li{font-size:.96rem!important;line-height:1.55!important;}
  .btn-order-outline,.btn-order-solid{padding:15px 16px!important;font-size:.95rem!important;}
}


/* === Mobile spacing refinement v1.5 === */
@media (max-width:768px){
  .pkg-main{padding-top:126px!important;padding-bottom:52px!important;}
  .pkg-header-area{margin-bottom:26px!important;}
  .pkg-title{font-size:2.1rem!important;line-height:1.02!important;margin-bottom:10px!important;}
  .pkg-subtitle{font-size:.98rem!important;line-height:1.55!important;max-width:330px!important;}
  .toggle-container{margin-top:20px!important;margin-bottom:4px!important;gap:10px!important;}
  .pricing-grid{gap:14px!important;}
  .card{padding:22px 16px!important;border-radius:22px!important;}
  .card-head{margin-bottom:10px!important;}
  .type{font-size:.9rem!important;}
  .price-val{font-size:1.82rem!important;margin:12px 0 18px!important;}
  .features{gap:10px!important;margin-bottom:18px!important;}
  .features li{font-size:.93rem!important;line-height:1.45!important;}
  .btn-order-outline,.btn-order-solid{padding:13px 14px!important;font-size:.92rem!important;border-radius:16px!important;}
  .quote-cta-bar{margin:18px auto 0!important;padding:16px 16px!important;border-radius:22px!important;gap:14px!important;}
  .quote-cta-bar p{font-size:1rem!important;line-height:1.55!important;}
  .quote-review-btn{padding:14px 18px!important;font-size:.95rem!important;}

  .pkg-details-section,
  .how-it-works,
  .features-info,
  .tech-section,
  .why-section,
  .selection-section{padding:58px 0!important;}

  .details-header,
  .section-header,
  .info-header,
  .tech-header,
  .why-header{margin-bottom:30px!important;}

  .details-title,
  .section-title,
  .info-title,
  .tech-title,
  .why-title{font-size:2rem!important;line-height:1.08!important;}

  .details-header p,
  .section-header p,
  .info-header p,
  .tech-subtitle,
  .why-header p{font-size:.96rem!important;line-height:1.55!important;max-width:320px!important;margin-left:auto!important;margin-right:auto!important;}

  .details-table-wrapper{border-radius:22px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .details-table{min-width:620px!important;}
  .details-table th,.details-table td{padding:13px 10px!important;font-size:.82rem!important;}

  .steps-grid{gap:14px!important;}
  .step-card{padding:24px 18px!important;border-radius:22px!important;}
  .step-number{font-size:2.6rem!important;top:12px!important;right:14px!important;}
  .step-card h3{font-size:1.08rem!important;margin-bottom:10px!important;}
  .step-card p{font-size:.92rem!important;line-height:1.55!important;}
  .step-dot{margin-top:16px!important;}

  .info-list{gap:16px!important;}
  .info-item{padding:22px 18px!important;border-radius:22px!important;gap:14px!important;}
  .info-icon{width:56px!important;height:56px!important;font-size:1.5rem!important;border-radius:16px!important;}
  .info-text h3{font-size:1.05rem!important;line-height:1.35!important;margin-bottom:8px!important;}
  .info-text p{font-size:.93rem!important;line-height:1.6!important;}

  .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .tech-item{padding:20px 14px!important;border-radius:20px!important;gap:12px!important;}
  .tech-icon-box{width:48px!important;height:48px!important;}
  .tech-item span{font-size:.82rem!important;line-height:1.3!important;text-align:center!important;}
}

@media (max-width:480px){
  .wrapper{width:calc(100% - 16px)!important;}
  .pkg-main{padding-top:120px!important;}
  .pkg-title{font-size:1.95rem!important;}
  .pkg-subtitle{max-width:300px!important;}
  .quote-cta-bar p{font-size:.96rem!important;}
  .details-title,.section-title,.info-title,.tech-title,.why-title{font-size:1.84rem!important;}
  .details-table{min-width:580px!important;}
}


/* === Filled icon polish v1.8 === */
.info-icon{width:76px!important;height:76px!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(13,110,253,.18),rgba(0,210,255,.08))!important;border:1px solid rgba(0,210,255,.16)!important;color:#98edff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 28px rgba(0,0,0,.2)!important;}
.badge-icon{width:76px!important;height:76px!important;margin:0 auto 22px!important;border-radius:24px!important;background:linear-gradient(180deg,rgba(13,110,253,.18),rgba(0,210,255,.08))!important;border:1px solid rgba(0,210,255,.16)!important;color:#98edff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 28px rgba(0,0,0,.2)!important;}
@media (max-width:768px){
  .info-icon,.badge-icon{width:64px!important;height:64px!important;border-radius:20px!important;}
}


/* v2.0 Match feature/why-choose icon size to service icon style */
.info-icon,.badge-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:78px!important;
  height:78px!important;
  margin:0 auto 22px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(13,110,253,.20),rgba(0,210,255,.10))!important;
  border:1px solid rgba(0,210,255,.18)!important;
  color:#98edff!important;
  box-shadow:0 12px 30px rgba(0, 180, 255, 0.12), inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.info-icon svg,.badge-icon svg{
  width:60%!important;
  height:60%!important;
  stroke:currentColor;
}
.feature-info-card:hover .info-icon,
.why-card:hover .badge-icon{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 0 0 1px rgba(0,210,255,.18),0 18px 38px rgba(0,180,255,.18)!important;
}
@media (max-width:768px){
  .info-icon,.badge-icon{width:68px!important;height:68px!important;border-radius:22px!important;margin-bottom:18px!important;}
}


/* === Package feature list + mobile overflow fix v2.2 === */
.pkg-body, .pkg-main, .pkg-details-section, .details-table-wrapper {
  max-width: 100%;
}
.pkg-body {
  overflow-x: clip;
}
.pricing-grid, .card, .quote-cta-bar, .wrapper {
  min-width: 0;
}
.features li:hover {
  color: #ffffff;
}

@media (max-width: 768px) {
  .toggle-container {
    width: 100%;
  }
  .toggle-label {
    font-size: .82rem !important;
    letter-spacing: .6px !important;
  }
  .features {
    max-width: 100% !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
  }
  .features li {
    font-size: .98rem !important;
    line-height: 1.45 !important;
    padding: 0 0 11px !important;
  }
  .features li::after {
    left: 14% !important;
    right: 14% !important;
  }
  .details-table-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

@media (max-width: 480px) {
  .wrapper {
    width: calc(100% - 18px) !important;
  }
  .toggle-container {
    gap: 8px !important;
  }
  .toggle-label {
    font-size: .78rem !important;
  }
  .features li {
    font-size: .94rem !important;
  }
}


/* === Packages horizontal lock fix v2.3 === */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.pkg-body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  position: relative;
}

.pkg-main,
.pkg-details-section,
.how-it-works,
.features-info,
.tech-section,
.why-us,
.sub-footer {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.wrapper {
  width: min(92%, 1200px);
  max-width: 1200px;
  overflow-x: clip;
}

.details-table-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.details-table {
  min-width: 0;
}

@media (max-width: 768px) {
  .header, .nav-container {
    max-width: 100%;
  }

  .wrapper {
    width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .pkg-header-area {
    overflow-x: clip;
  }

  .toggle-container {
    padding-inline: 6px;
  }

  .details-table-wrapper {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  .details-table {
    min-width: 540px !important;
  }
}

@media (max-width: 480px) {
  .wrapper {
    width: calc(100% - 20px) !important;
  }

  .details-table {
    min-width: 520px !important;
  }
}


/* === SVG icon refinement v2.4 === */
.s-icon-wrapper svg,.addon-icon svg,.info-icon svg,.badge-icon svg,.f-icon svg{display:block;overflow:visible;filter:drop-shadow(0 0 10px rgba(0,210,255,.14));}
.s-icon-wrapper,.addon-icon,.info-icon,.badge-icon{padding:16px;}
.service-box .s-icon-wrapper svg{width:58%!important;height:58%!important;stroke-width:1.9;}
.addon-icon svg{width:56%!important;height:56%!important;stroke-width:1.9;}
.info-icon svg,.badge-icon svg{width:58%!important;height:58%!important;stroke-width:1.95;}
@media (max-width: 768px){
  .s-icon-wrapper,.addon-icon,.info-icon,.badge-icon{padding:14px;}
}


/* === Targeted icon size update v2.5 (Features Mean + Why Choose KTG only) === */
.features-info .info-icon,
.why-us .badge-icon{
  width:70px!important;
  height:70px!important;
  padding:0!important;
}
.features-info .info-icon svg,
.why-us .badge-icon svg{
  width:43px!important;
  height:43px!important;
}
@media (max-width:768px){
  .features-info .info-icon,
  .why-us .badge-icon{
    width:70px!important;
    height:70px!important;
    padding:0!important;
  }
  .features-info .info-icon svg,
  .why-us .badge-icon svg{
    width:43px!important;
    height:43px!important;
  }
}
