/* ---------- THEME ---------- */
:root{
  --primary:#01a0e2;         /* brand */
  --navy:#0e2647;             /* deep contrast */
  --soft:#f4f9ff;             /* soft section bg */
  --alt:#f8fafc;              /* alt bg */
  --accent:#ffb703;           /* warm accent */
  --teal:#00c6a7;             /* secondary accent */
  --ink:#1b1f24;
}

html,body{scroll-behavior:smooth;color:var(--ink);}
body{background:#fff;}

/* Header */
.header-blur{ backdrop-filter: saturate(1.2) blur(6px); }
.header-divider{ height:1px; background:linear-gradient(90deg, transparent, rgba(0,0,0,.06), transparent); }

/* Navbar links + indicator */
.nav-wrap{ position:relative; }
#mainNav{ position:relative; }
.nav-link{ font-weight:600; color:#1e2a35 !important; position:relative; padding-bottom:12px; }
.link-underline::after{
  content:""; position:absolute; left:0; bottom:4px; width:0; height:2px;
  background:linear-gradient(90deg,var(--primary),var(--teal));
  transition:width .25s ease;
}
.link-underline:hover::after, .nav-link.active.link-underline::after{ width:100%; }
.nav-indicator{
  position:absolute; bottom:0; height:3px; left:0; width:0;
  border-radius:999px; /*background: linear-gradient(90deg, var(--primary), var(--accent));*/
  transition: transform .25s ease, width .25s ease, left .25s ease;
}
@media (max-width: 991.98px){ .nav-indicator{ display:none; } }

/* Mobile navbar – hamburger color + no outline */
.navbar-toggler{ border:none; }
.navbar-toggler:focus, .navbar-toggler:active{ outline:none !important; box-shadow:none !important; }
.navbar-toggler .navbar-toggler-icon{
  /* Custom colored icon (Bootstrap default recolored to primary) */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2301a0e2' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Buttons */
.btn-elevate{ transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; box-shadow: 0 6px 18px rgba(1,160,226,.16); }
.btn-elevate:hover{ transform: translateY(-2px); box-shadow:0 10px 24px rgba(1,160,226,.22); }
.btn-gradient{ background: linear-gradient(135deg, var(--primary), var(--teal)); border: none; color:#fff; }
.btn-gradient:hover{ opacity:.95; }

/* ---------- AD SLIDER (image + title + caption only) ---------- */
.ad-slider .carousel-item{ position:relative; }
.ad-img{
  height: 70vh; width:100%; object-fit:cover; object-position:center;
}
@media (max-width: 767.98px){ .ad-img{ height: 56vh; } }

/* Caption as bottom-left card */
.ad-caption{
  position:absolute; left: 6%; bottom: 7%;
  max-width: 680px; color:#0d1b2a;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.65);
  backdrop-filter: blur(6px);
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}
.ad-title{ margin:0; font-weight:800; font-size: clamp(1.25rem, 1.2rem + 1.2vw, 2rem); }
.ad-text{ margin:6px 0 0; font-size: clamp(.95rem, .9rem + .4vw, 1.125rem); color:#2b3a49; }

/* Indicators & controls legibility */
.carousel-indicators [data-bs-target]{ background-color:#fff; }
.carousel-control-prev-icon, .carousel-control-next-icon{
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.4));
}

/* Sections */
.section-pad{ padding: 80px 0; }
.bg-soft{ background: var(--soft); }
.bg-alt{ background: var(--alt); }

.section-head{ text-align: center; margin-bottom: 36px; }
.section-title{ font-weight:800; letter-spacing:.2px; position:relative; display:inline-block; padding-bottom:12px; }
.section-title::after{
  content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:88px; height:4px; border-radius:999px;
  background: linear-gradient(90deg, var(--primary), var(--teal));
}
.section-subtitle{ color:#6b7a90; margin-top:10px; }

/* Parallax */
.parallax{ background: url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80') fixed center/cover; position:relative; isolation:isolate; }
.parallax::before{ content:""; position:absolute; inset:0; z-index:0; background: linear-gradient(180deg, rgb(0 0 0 / 58%), rgb(0 0 0 / 69%)); }
.parallax > .container{ position:relative; z-index:1; }

/* Cards / Icon boxes */
.card-glass{
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 20px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18); backdrop-filter: blur(6px);
}
.hover-lift{ transition: transform .25s ease, box-shadow .25s ease; }
.hover-lift:hover{ transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }

/* Images */
.img-zoom img{ transition: transform .5s ease; }
.img-zoom:hover img{ transform: scale(1.06); }

/* FAQ – remove outline and style */
.fancy-accordion .accordion-item{
  margin-bottom: 14px; border-radius: 14px; overflow:hidden; box-shadow: 0 10px 24px rgba(14,38,71,.06); border:1px solid rgba(14,38,71,.06); background:#fff;
}
.accordion-button{ padding: 16px 20px; font-weight:600; }
.accordion-button:focus{ box-shadow: none !important; outline: none !important; }
.accordion-button:not(.collapsed){ color: var(--ink); background: linear-gradient(180deg, #fff, #f7fbff); border-bottom: 1px solid rgba(14,38,71,.06); }

/* Forms */
.form-elevate .form-control{
  border-radius: 12px; padding: 10px 14px; transition: box-shadow .2s ease, border-color .2s ease, transform .06s ease;
}
.form-elevate .form-control:focus{ border-color: var(--primary); box-shadow: 0 0 0 0.2rem rgba(1,160,226,.15); }

/* Footer */
.footer-dark{
  background: radial-gradient(1200px 600px at 10% -20%, #143058, var(--navy));
  border-top: 1px solid rgba(255,255,255,.08);
}

/* To Top – perfectly centered */
.btn-to-top{
  position: fixed; bottom: 24px; right: 24px; z-index: 1050;
  width: 48px; height: 48px; display:none;
  box-shadow: 0 10px 24px rgba(1,160,226,.35);
  align-items: center; justify-content: center; padding:0;
}
.btn-to-top i{ display:block; line-height:1; }

/* Helpers */
.text-white-75{ color: rgba(255,255,255,.8); }
.text-white-25{ color: rgba(255,255,255,.35); }
.text-accent{ color: var(--accent)!important; }
.text-teal{ color: var(--teal)!important; }

/* Accessibility focus (subtle, no ugly outlines) */
a:focus-visible, button:focus-visible, [data-bs-toggle="collapse"]:focus-visible{
  outline:none; box-shadow: 0 0 0 0.18rem rgba(1,160,226,.28); border-radius: 10px;
}
