/* ==========================================
   KTG SOLUTIONS - PREMIUM ADD-ONS STYLES
   ========================================== */

:root {
    --bg-dark: #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.addons-body {
    background: var(--bg-dark);
    color: #fff;
    line-height: 1.6;
    overflow-x: hidden;
}

/* --- Premium Floating Navbar --- */
.header {
    position: fixed;
    top: 25px;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: 0.4s ease-in-out;
}

.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;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
}

.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; }

.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; 
    transition: 0.3s; 
    position: relative;
}

.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);
}

.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);
}

/* --- Hero Section --- */
.addons-hero {
    padding: 200px 0 60px;
    text-align: center;
    position: relative;
}

.hero-glow {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(circle, rgba(0, 123, 255, 0.15) 0%, transparent 70%);
    filter: blur(60px);
    z-index: -1;
}

.hero-title { font-size: 4rem; font-weight: 900; margin-bottom: 15px; letter-spacing: -2px; }
.gradient-blue { 
    background: linear-gradient(90deg, #007bff, #00d2ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-subtitle { color: #666; font-size: 1.2rem; max-width: 700px; margin: 0 auto; }

/* --- Add-ons Grid Layout --- */
.addons-grid-section { padding: 40px 0 100px; }
.wrapper { width: 90%; max-width: 1200px; margin: 0 auto; }

.addons-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

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

.addon-card:hover {
    transform: translateY(-12px);
    border-color: rgba(0, 210, 255, 0.3);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

/* Featured Service Highlight */
.featured-addon {
    border: 2px solid var(--primary-blue);
    background: rgba(0, 123, 255, 0.05);
}

.addon-icon { 
    font-size: 3.5rem; 
    margin-bottom: 25px; 
    display: inline-block;
    filter: drop-shadow(0 0 15px rgba(0, 210, 255, 0.3));
}

.addon-card h3 { 
    font-size: 1.6rem; 
    font-weight: 800; 
    margin-bottom: 15px; 
    color: #fff;
}

.addon-card p { 
    color: #888; 
    font-size: 1rem; 
    margin-bottom: 30px; 
    flex-grow: 1; 
    line-height: 1.6;
}

.addon-price {
    font-size: 2rem;
    font-weight: 900;
    color: var(--cyan-glow);
    margin-bottom: 5px;
    text-shadow: 0 0 15px rgba(0, 210, 255, 0.2);
}

.price-note { 
    color: #444; 
    font-size: 0.85rem; 
    font-weight: 800; 
    text-transform: uppercase; 
    margin-bottom: 30px; 
    letter-spacing: 1px;
}

.addon-btn {
    display: block;
    padding: 16px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 800;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: 0.4s;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.addon-btn:hover { 
    background: #fff; 
    color: #000; 
    transform: scale(1.02);
}

.btn-blue { 
    background: var(--primary-blue); 
    border: none; 
    box-shadow: 0 10px 20px rgba(0, 123, 255, 0.3); 
}

.btn-blue:hover {
    background: var(--cyan-glow);
    box-shadow: 0 15px 30px rgba(0, 210, 255, 0.4);
}

/* --- Sub Footer Styling --- */
.sub-footer {
    padding: 40px 0;
    border-top: 1px solid var(--border-color);
    background: #030507;
}

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

.sub-footer-content p {
    color: #444;
    font-size: 0.9rem;
    font-weight: 500;
}

.dev-glow { 
    color: #fff; 
    text-shadow: 0 0 10px var(--cyan-glow); 
    font-weight: 800; 
    margin-left: 5px;
}

/* --- Responsive Adjustments --- */
@media (max-width: 1024px) {
    .addons-grid { grid-template-columns: repeat(2, 1fr); gap: 25px; }
    .hero-title { font-size: 3rem; }
}

@media (max-width: 768px) {
    
    .hero-title { font-size: 2.8rem; }
    .hero-subtitle { font-size: 1rem; }
    .sub-footer-content { flex-direction: column; gap: 15px; text-align: center; }
}

@media (max-width: 600px) {
    .addons-grid { grid-template-columns: 1fr; width: 85%; margin: 0 auto; }
    .hero-title { font-size: 2.5rem; }
}

/* --- Selection & Payment Section Styling --- */
.selection-footer {
    padding: 60px 0 100px;
    text-align: center;
}

.selection-box {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(0, 210, 255, 0.1);
    padding: 60px 40px;
    border-radius: 50px;
    backdrop-filter: blur(10px);
}

.selection-text h2 {
    font-size: 2.5rem;
    font-weight: 900;
    margin-bottom: 15px;
}

.selection-text p {
    color: #888;
    font-size: 1.1rem;
    max-width: 800px;
    margin: 0 auto 40px;
}

/* Payment Methods Grid */
.payment-methods {
    margin-bottom: 50px;
}

.payment-methods h3 {
    font-size: 1.2rem;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

.payment-icons {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.pay-method {
    background: rgba(255, 255, 255, 0.05);
    padding: 15px 25px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: 0.3s;
}

.pay-method:hover {
    border-color: var(--cyan-glow);
    background: rgba(0, 210, 255, 0.05);
}

.pay-icon {
    font-size: 1.5rem;
}

.pay-method span {
    font-weight: 700;
    font-size: 0.9rem;
    color: #ccc;
}

/* Final Button */
.btn-main {
    display: inline-block;
    background: linear-gradient(90deg, #007bff, #00d2ff);
    color: #fff;
    padding: 18px 45px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 800;
    font-size: 1.1rem;
    box-shadow: 0 10px 30px rgba(0, 123, 255, 0.3);
    transition: 0.4s;
}

.btn-main:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 40px rgba(0, 210, 255, 0.4);
}

/* Responsive */
@media (max-width: 600px) {
    .selection-text h2 { font-size: 2rem; }
    .payment-icons { gap: 15px; }
    .pay-method { width: 100%; justify-content: center; }
}

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

.addons-quote-cta{margin-top:28px;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){.addons-quote-cta{flex-direction:column;align-items:flex-start}.quote-review-btn{width:100%}}


/* === Final add-ons page polish === */
.addons-hero{padding:178px 0 50px;}
.hero-title{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.05em;}
.hero-subtitle{color:#97a8b7;max-width:760px;}
.addons-grid-section{padding:26px 0 90px;}
.addons-grid{gap:22px;}
.addon-card{padding:36px 24px;border-radius:30px;background:rgba(255,255,255,.03);box-shadow:0 22px 40px rgba(0,0,0,.18);}
.addon-icon{width:60px;height:60px;margin:0 auto 20px;border-radius:18px;background:rgba(13,110,253,.1);color:#7fe5ff;font-size:1.6rem;}
.addon-card h3{font-size:1.28rem;margin-bottom:10px;}
.addon-card p{color:#98a9b8;margin-bottom:22px;}
.addon-price{font-size:1.8rem;}
.price-note{color:#678; margin-bottom:22px;}
.addon-btn{border-radius:18px;padding:14px 16px;}
@media (max-width:600px){.addons-grid{width:100%;}}


/* === Mobile responsive hotfix for Add-ons page === */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.addons-grid-section,
.wrapper,
.addons-grid,
.addon-card {
  min-width: 0;
}

.addon-card h3,
.addon-card p,
.addon-price,
.price-note,
.addon-btn {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 768px) {
  .addons-hero {
    padding: 138px 0 34px;
  }

  .wrapper {
    width: min(100% - 24px, 720px);
  }

  .addons-grid-section {
    padding: 18px 0 72px;
  }

  .addons-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
    margin: 0;
  }

  .addon-card {
    width: 100%;
    padding: 24px 18px;
    border-radius: 24px;
    transform: none !important;
  }

  .addon-card:hover {
    transform: none;
  }

  .addon-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
  }

  .addon-card h3 {
    font-size: 1.12rem;
    line-height: 1.35;
    margin-bottom: 8px;
  }

  .addon-card p {
    font-size: 0.95rem;
    line-height: 1.55;
    margin-bottom: 16px;
  }

  .addon-price {
    font-size: 1.45rem;
    line-height: 1.2;
  }

  .price-note {
    font-size: 0.78rem;
    margin-bottom: 16px;
    letter-spacing: 0.06em;
  }

  .addon-btn {
    width: 100%;
    padding: 13px 14px;
    font-size: 0.84rem;
    letter-spacing: 0.03em;
    border-radius: 16px;
  }
}

@media (max-width: 480px) {
  .addons-hero {
    padding-top: 126px;
  }

  .hero-title {
    font-size: 2rem;
    line-height: 1.08;
  }

  .hero-subtitle {
    font-size: 0.95rem;
    line-height: 1.6;
    padding-inline: 4px;
  }

  .wrapper {
    width: calc(100% - 18px);
  }

  .addons-grid {
    gap: 14px;
  }

  .addon-card {
    padding: 20px 15px;
    border-radius: 22px;
  }

  .addon-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    font-size: 1.25rem;
  }

  .addon-card h3 {
    font-size: 1.02rem;
  }

  .addon-card p {
    font-size: 0.92rem;
  }

  .addon-price {
    font-size: 1.28rem;
  }
}


/* === Add-ons mobile fixes v1.2 === */
@media (max-width:768px){
  .wrapper{width:92%!important;}
  .addons-hero{padding:148px 0 38px!important;}
  .hero-glow{width:320px!important;height:220px!important;filter:blur(45px)!important;top:-20px!important;}
  .hero-title{font-size:2.45rem!important;line-height:1.02!important;letter-spacing:-.04em!important;}
  .hero-subtitle{font-size:1rem!important;line-height:1.65!important;max-width:100%!important;padding:0 4px!important;}
  .addons-grid-section{padding:18px 0 72px!important;}
  .addons-grid{grid-template-columns:1fr!important;gap:16px!important;width:100%!important;margin:0!important;}
  .addon-card{padding:26px 20px!important;border-radius:24px!important;}
  .addon-icon{width:60px!important;height:60px!important;margin:0 auto 18px!important;padding:14px!important;border-radius:18px!important;background:rgba(13,110,253,.1)!important;}
  .addon-card h3{font-size:1.45rem!important;line-height:1.2!important;margin-bottom:10px!important;}
  .addon-card p{font-size:1rem!important;line-height:1.6!important;margin-bottom:18px!important;}
  .addon-price{font-size:2rem!important;line-height:1.1!important;}
  .price-note{margin-bottom:18px!important;}
  .addon-btn{padding:15px 16px!important;font-size:.95rem!important;}
}


/* === Add-ons mobile fix v1.3 === */
@media (max-width: 768px){
  .addons-hero{
    padding:126px 0 32px!important;
  }

  .wrapper{
    width:min(100%,92%)!important;
  }

  .addons-grid-section{
    padding:18px 0 72px!important;
  }

  .addons-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:18px!important;
    margin:0!important;
  }

  .addon-card{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    padding:28px 18px!important;
    border-radius:24px!important;
    transform:none!important;
  }

  .addon-card:hover{
    transform:none!important;
  }

  .addon-icon{
    width:54px!important;
    height:54px!important;
    margin:0 auto 16px!important;
  }

  .addon-card h3{
    font-size:1.25rem!important;
    line-height:1.3!important;
  }

  .addon-card p{
    font-size:.98rem!important;
    line-height:1.65!important;
    margin-bottom:18px!important;
  }

  .addon-price{
    font-size:1.7rem!important;
  }

  .addon-btn{
    width:100%!important;
    padding:15px 16px!important;
    border-radius:16px!important;
  }
}


/* === Add-ons mobile visibility fix v1.7 === */
.addons-grid,.addon-card{visibility:visible;}
@media (max-width:768px){
  .addons-grid{display:grid!important;opacity:1!important;visibility:visible!important;}
  .addon-card{opacity:1!important;visibility:visible!important;transform:none!important;will-change:auto!important;}
}


/* === Filled icon polish v1.8 === */
.addon-icon{width:72px!important;height:72px!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){
  .addon-icon{width:62px!important;height:62px!important;border-radius:20px!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;}
}

/* === Premium Add-ons icon sizing sync v2.6 === */
.addon-icon{
  width:70px!important;
  height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 22px!important;
}

.addon-icon svg{
  width:43px!important;
  height:43px!important;
}

@media (max-width:768px){
  .addon-icon{
    width:70px!important;
    height:70px!important;
  }

  .addon-icon svg{
    width:43px!important;
    height:43px!important;
  }
}


/* === Premium Add-ons card UI polish v2.7 === */
.addons-grid{
  gap:24px!important;
}

.addon-card{
  background:#0c1117!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:28px!important;
  padding:34px 28px!important;
  text-align:center!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease!important;
}

.addon-card:hover{
  transform:translateY(-6px)!important;
  background:#101722!important;
  border-color:rgba(0,123,255,.28)!important;
  box-shadow:0 22px 44px rgba(0,0,0,.28)!important;
}

.featured-addon{
  background:#0e1520!important;
  border:1px solid rgba(0,123,255,.26)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24)!important;
}

.addon-icon{
  background:#121b27!important;
  border:1px solid rgba(0,123,255,.16)!important;
  border-radius:22px!important;
  box-shadow:none!important;
  color:#8cecff!important;
}

.addon-card h3{
  font-size:1.34rem!important;
  line-height:1.28!important;
  margin-bottom:12px!important;
  color:#f4f8ff!important;
}

.addon-card p{
  color:#a8b5c4!important;
  font-size:.98rem!important;
  line-height:1.65!important;
  margin-bottom:22px!important;
}

.addon-price{
  font-size:1.86rem!important;
  line-height:1.1!important;
  margin-bottom:6px!important;
  text-shadow:none!important;
}

.price-note{
  color:#7f8ea0!important;
  font-size:.78rem!important;
  letter-spacing:.08em!important;
  margin-bottom:22px!important;
}

.addon-btn{
  width:100%!important;
  padding:14px 18px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:#131c29!important;
  color:#eef5ff!important;
  font-size:.88rem!important;
  letter-spacing:.03em!important;
}

.addon-btn:hover{
  background:#1877f2!important;
  border-color:#1877f2!important;
  color:#fff!important;
  transform:none!important;
}

.btn-blue{
  background:#1877f2!important;
  border-color:#1877f2!important;
  box-shadow:none!important;
}

.btn-blue:hover{
  background:#0f68dd!important;
  border-color:#0f68dd!important;
  box-shadow:none!important;
}

@media (max-width:768px){
  .addons-grid{gap:18px!important;}
  .addon-card{
    padding:28px 20px!important;
    border-radius:24px!important;
  }

  .addon-card:hover{
    transform:none!important;
  }

  .addon-icon{
    margin:0 auto 18px!important;
    border-radius:20px!important;
  }

  .addon-card h3{
    font-size:1.2rem!important;
  }

  .addon-card p{
    font-size:.96rem!important;
    margin-bottom:18px!important;
  }

  .addon-price{
    font-size:1.62rem!important;
  }

  .price-note{
    margin-bottom:18px!important;
  }

  .addon-btn{
    padding:13px 16px!important;
    border-radius:15px!important;
  }
}

/* === Add-ons price/button spacing fix v2.9 === */
.addon-price{
  margin-bottom:0!important;
}

.addon-price + .addon-btn{
  margin-top:22px!important;
}

.addon-price + .price-note{
  margin-top:7px!important;
  margin-bottom:20px!important;
}

.price-note + .addon-btn{
  margin-top:0!important;
}

@media (max-width:768px){
  .addon-price + .addon-btn{
    margin-top:18px!important;
  }

  .addon-price + .price-note{
    margin-top:6px!important;
    margin-bottom:16px!important;
  }
}
