/* =========================================================
   B-TRUE Custom (Production)
   Works with: Bootstrap + Mexant theme
   ========================================================= */

:root{
  --btrue-primary:#0b3c5d;
  --btrue-accent:#0d6efd;
  --btrue-dark:#071f2f;
  --btrue-text:#0b3c5d;
  --btrue-muted:#6b7280;
}

/* ---------- Topbar ---------- */
.btrue-topbar{
  background: rgba(11,60,93,.96);
  color:#fff;
  font-size:13px;
  padding:7px 0;
}
.btrue-topbar a{
  color:#fff;
  text-decoration:none;
}
.btrue-topbar a:hover{ text-decoration:underline; }

/* =========================================================
   HEADER (Corporate Grade)
   ========================================================= */
.btrue-header{
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: all .25s ease;
  z-index: 999;
}
.btrue-header .navbar-brand img{ height:44px; }

.btrue-header .nav-link{
  font-weight:800;
  color: var(--btrue-text);
  padding: .6rem .35rem;
  position: relative;
}
.btrue-header .nav-link:hover{ color: var(--btrue-accent); }

.btrue-header .nav-link.active{
  color: var(--btrue-accent);
}
.btrue-header .nav-link.active::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-7px;
  height:3px;
  border-radius:999px;
  background: var(--btrue-accent);
}

.btrue-cta{
  border-radius: 10px;
  font-weight: 900;
  padding: .55rem 1.15rem;
}

/* Navbar mobile polish */
.navbar-toggler{ border:0; }
.navbar-collapse{ padding-top:10px; }

/* ---------- Mega Menu ---------- */
.btrue-mega .mega-menu{
  width: 760px;
  padding: 22px;
  border: 0;
  border-radius: 16px;
}
.btrue-mega .mega-head,
.btrue-mega h6{
  font-weight: 900;
  color: var(--btrue-text);
  margin-bottom: 10px;
}
.btrue-mega .dropdown-item{
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 700;
}
.btrue-mega .dropdown-item:hover{
  background: rgba(13,110,253,.08);
}
@media (min-width: 992px){
  .btrue-mega:hover .dropdown-menu{ display:block; }
}

/* ---------- Dark header on scroll ---------- */
.btrue-header.is-scrolled{
  background: var(--btrue-dark);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.btrue-header.is-scrolled .nav-link{ color:#eaf3ff; }
.btrue-header.is-scrolled .nav-link:hover{ color:#ffffff; }
.btrue-header.is-scrolled .nav-link.active{ color:#7ab7ff; }
.btrue-header.is-scrolled .navbar-toggler{ filter: invert(1); }

/* =========================================================
   HERO / SLIDER overlay (readable text)
   ========================================================= */
.swiper-slide .slide-inner{ position:relative; }
.btrue-hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(7,31,47,.80), rgba(7,31,47,.35));
  z-index:0;
}
.swiper-slide .header-text{
  position:relative;
  z-index:2;
}

/* =========================================================
   METRICS / COUNTERS
   ========================================================= */
.btrue-metrics{
  margin-top:-46px;
  position:relative;
  z-index:20;
  padding-bottom: 10px;
}
.metric-card{
  background:#fff;
  border-radius:16px;
  padding:18px 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}
.metric-num{
  font-size:34px;
  font-weight:900;
  color: var(--btrue-text);
  line-height:1;
}
.metric-label{
  font-weight:800;
  color: var(--btrue-muted);
  font-size:13px;
  margin-top:6px;
}

/* =========================================================
   SECTION TITLES
   ========================================================= */
.btrue-section-title{
  font-weight: 900;
  color: var(--btrue-text);
  margin-bottom: 6px;
}
.btrue-section-sub{
  color: var(--btrue-muted);
  font-weight: 700;
}

/* =========================================================
   SERVICES (Clickable cards)
   ========================================================= */
.btrue-services{ padding-top:40px; }

.btrue-service-card{
  display:block;
  background:#fff;
  border-radius:18px;
  padding:22px;
  box-shadow:0 12px 28px rgba(0,0,0,.07);
  text-decoration:none;
  transition: transform .15s ease, box-shadow .15s ease;
  height:100%;
}
.btrue-service-card:hover{
  transform: translateY(-3px);
  box-shadow:0 16px 36px rgba(0,0,0,.10);
}
.btrue-service-card .icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(13,110,253,.10);
  color: var(--btrue-accent);
  font-size:22px;
  margin-bottom:12px;
}
.btrue-service-card h4{
  color: var(--btrue-text);
  font-weight:900;
  margin-bottom:8px;
}
.btrue-service-card p{
  color: var(--btrue-muted);
  font-weight:700;
  margin:0;
}

/* Optional card helper */
.btrue-card{
  border-radius:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* =========================================================
   TRUST BADGES
   ========================================================= */
.btrue-trust{ padding: 20px 0 10px; }

.trust-wrap{
  display:grid;
  gap:14px;
  grid-template-columns: repeat(4, 1fr);
}
.trust-item{
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  display:flex;
  gap:12px;
  align-items:center;
}
.trust-badge{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(13,110,253,.10);
  color: var(--btrue-accent);
  font-weight:900;
}
.trust-title{
  font-weight:900;
  color: var(--btrue-text);
  font-size:14px;
}
.trust-sub{
  color: var(--btrue-muted);
  font-weight:700;
  font-size:12px;
}
@media(max-width:991px){ .trust-wrap{ grid-template-columns: repeat(2, 1fr); } }
@media(max-width:520px){ .trust-wrap{ grid-template-columns: 1fr; } }

/* =========================================================
   FOOTER
   ========================================================= */
.btrue-footer{
  background: var(--btrue-dark);
  color:#cfe3f3;
}
.btrue-footer h5{ color:#fff; }
.btrue-footer a{
  color:#cfe3f3;
  text-decoration:none;
}
.btrue-footer a:hover{ color:#fff; }

.footer-links li{ margin-bottom:8px; }
.footer-bottom{ opacity:.9; }

/* =========================================================
   WhatsApp Floating Button
   ========================================================= */
.btrue-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  z-index:9999;
}
/* ==========================
   Mobile Compatibility Fixes
   ========================== */

/* Prevent horizontal scrolling on mobile */
html, body { overflow-x: hidden; }

/* Better spacing in hero on mobile */
@media (max-width: 768px){
  .swiper-slide .header-text h2{
    font-size: 34px !important;
    line-height: 1.15 !important;
  }
  .swiper-slide .header-text p{
    font-size: 14px !important;
  }
  .swiper-button-next,
  .swiper-button-prev{
    display:none !important;
  }
  .buttons{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .buttons .orange-button,
  .buttons .green-button{
    width: fit-content;
  }
}

/* Metrics cards responsive */
@media (max-width: 576px){
  .btrue-metrics{ margin-top:-20px; }
  .metric-card{ padding:14px 10px; border-radius:14px; }
  .metric-num{ font-size:26px; }
}

/* Services cards tighter on mobile */
@media (max-width: 576px){
  .btrue-service-card{ padding:16px; border-radius:16px; }
  .btrue-service-card h4{ font-size:16px; }
}
/* ==========================
   Stylish Menu + Mobile Nav
   ========================== */

.btrue-header .navbar{
  padding: 14px 0;
}

.btrue-header .nav-link{
  border-radius: 10px;
  padding: 10px 12px !important;
}
.btrue-header .nav-link:hover{
  background: rgba(13,110,253,.08);
}

/* Make dropdown open nicely on mobile */
@media (max-width: 991px){
  .btrue-mega .mega-menu{
    width: 100% !important;
    padding: 14px !important;
    border-radius: 14px;
  }
  .btrue-mega .dropdown-item{
    padding: 10px 12px;
  }
  .navbar-nav{
    padding: 10px 0;
  }
  .btrue-cta{
    width: 100%;
    text-align:center;
    margin-top: 10px;
  }
}
/* ==========================
   Animated Banner FX
   ========================== */
.btrue-hero-fx{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.btrue-hero-fx .fx{
  position:absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(13,110,253,.18);
  filter: blur(2px);
  animation: floaty 10s ease-in-out infinite;
}
.btrue-hero-fx .fx1{ top:10%; left:8%; animation-delay:0s; }
.btrue-hero-fx .fx2{ bottom:12%; left:28%; width:140px; height:140px; animation-delay:2s; background:rgba(255,120,60,.18); }
.btrue-hero-fx .fx3{ top:18%; right:10%; width:180px; height:180px; animation-delay:4s; }

@keyframes floaty{
  0%,100%{ transform: translateY(0) translateX(0) scale(1); }
  50%{ transform: translateY(-18px) translateX(10px) scale(1.04); }
}

/* Animate hero text nicely */
.swiper-slide .header-text h2,
.swiper-slide .header-text p,
.swiper-slide .header-text .buttons{
  animation: slideUp .9s ease both;
}
.swiper-slide .header-text p{ animation-delay:.12s; }
.swiper-slide .header-text .buttons{ animation-delay:.20s; }

@keyframes slideUp{
  from{ transform: translateY(16px); opacity:0; }
  to{ transform: translateY(0); opacity:1; }
}

/* Buttons look more premium */
.orange-button a, .green-button a{
  border-radius: 12px !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
.orange-button a:hover, .green-button a:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
/* ===== Mega Menu like cFIRST ===== */
.btrue-mega-panel{
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  min-width: 920px;
}
.btrue-mega-inner{
  display:grid;
  grid-template-columns: 280px 1fr;
  background: radial-gradient(circle at top left, rgba(13,110,253,.12), #fff 55%);
}
.btrue-mega-left{
  padding:22px;
  background: rgba(13,110,253,.06);
  border-right: 1px solid rgba(0,0,0,.06);
}
.btrue-mega-title{
  font-weight:900;
  color:#0b3c5d;
  font-size:16px;
  margin-bottom:10px;
}
.btrue-mega-text{
  color:#6b7280;
  font-weight:600;
  font-size:13px;
  line-height:1.5;
  margin-bottom:14px;
}

.btrue-mega-grid{
  padding:18px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.btrue-mega-item{
  display:flex;
  gap:12px;
  padding:12px;
  border-radius:14px;
  text-decoration:none;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .12s ease, box-shadow .12s ease;
}
.btrue-mega-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
}
.btrue-mega-item .ico{
  width:44px; height:44px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(13,110,253,.10);
  font-size:20px;
}
.btrue-mega-item .hd{
  font-weight:900;
  color:#0b3c5d;
  font-size:14px;
}
.btrue-mega-item .sub{
  color:#6b7280;
  font-weight:600;
  font-size:12px;
}

/* Desktop hover-open */
@media (min-width: 992px){
  .btrue-mega:hover .dropdown-menu{ display:block; }
}

/* ===== Mobile behavior: turn mega into normal accordion list ===== */
@media (max-width: 991px){
  .btrue-mega-panel{
    min-width: 100%;
    border-radius:14px;
  }
  .btrue-mega-inner{
    grid-template-columns: 1fr;
  }
  .btrue-mega-left{
    border-right:0;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  .btrue-mega-grid{
    grid-template-columns: 1fr;
  }
}
/* ==========================
   Fix Mega Menu Layering
   ========================== */

/* Ensure header always above slider */
#siteHeader{
  position: sticky;
  top: 0;
  z-index: 5000 !important;
}

/* Swiper must stay below header/menus */
.swiper-container,
.swiper,
.swiper-wrapper,
.swiper-slide{
  z-index: 1 !important;
}

/* Dropdown must float above everything */
.btrue-header .dropdown-menu{
  z-index: 6000 !important;
}

/* Prevent banner from clipping dropdown */
.swiper-container,
.swiper-slide .slide-inner{
  overflow: visible !important;
}
/* ==========================
   Centered Mega Panel
   ========================== */

.btrue-mega{ position: static; } /* IMPORTANT */

.btrue-mega-panel{
  left: 50% !important;
  transform: translateX(-50%) !important;
  right: auto !important;
  top: calc(100% + 12px) !important;
  min-width: 980px;
  max-width: 1100px;
}

/* Mobile: full width */
@media (max-width: 991px){
  .btrue-mega{ position: relative; }
  .btrue-mega-panel{
    left: 0 !important;
    transform: none !important;
    min-width: 100% !important;
    max-width: 100% !important;
    top: 100% !important;
  }
}
.btrue-hero-overlay,
.btrue-hero-fx{
  pointer-events: none;
}
/* Cookie banner */
.btrue-cookie{
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 99999;
  background: rgba(7,31,47,.95);
  color: #eaf3ff;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.btrue-cookie a{ color:#b7d7ff; text-decoration:none; }
.btrue-cookie a:hover{ text-decoration:underline; }
.btrue-cookie .btn{
  border-radius: 12px;
  font-weight: 800;
}
/* =========================
   HEADER + MEGA MENU FIX
========================= */
#siteHeader{
  position: sticky;
  top: 0;
  z-index: 9999; /* must be above slider */
}

.btrue-header{
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.btrue-header .navbar-brand img{ height:46px; }

.btrue-header .nav-link{
  font-weight:800;
  color:#0b3c5d;
  padding: .75rem .65rem;
}
.btrue-header .nav-link:hover{ color:#0d6efd; }
.btrue-header .nav-link.active{
  color:#0d6efd;
  position:relative;
}
.btrue-header .nav-link.active::after{
  content:"";
  position:absolute; left:10px; right:10px; bottom:6px;
  height:3px; border-radius:999px;
  background:#0d6efd;
}

/* Buttons compact */
.btrue-header .btn{ font-weight:800; border-radius:10px; }
.btrue-header .form-control{
  border-radius:10px;
  height:34px;
}

/* Mega menu panel */
.btrue-mega{ position: relative; }
.btrue-mega .dropdown-menu{
  width: 760px;
  border: 0;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
  top: 100%;
  margin-top: 10px;
  z-index: 99999;
}
.btrue-mega .dropdown-menu .mega-head{
  font-weight:900;
  color:#0b3c5d;
  margin-bottom: 10px;
}
.btrue-mega .dropdown-item{
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
  color:#0b3c5d;
}
.btrue-mega .dropdown-item:hover{
  background: rgba(13,110,253,.08);
}

/* Desktop hover open (optional) */
@media (min-width: 992px){
  .btrue-mega:hover > .dropdown-menu{ display:block; }
}

/* Mobile dropdown full width */
@media (max-width: 991px){
  .btrue-mega .dropdown-menu{
    width: 100%;
    box-shadow: none;
    border: 1px solid rgba(0,0,0,.08);
    margin-top: 6px;
  }
}

/* Dark header on scroll */
#siteHeader.is-scrolled{
  background:#071f2f;
  border-bottom:1px solid rgba(255,255,255,.08);
}
#siteHeader.is-scrolled .nav-link{ color:#eaf3ff; }
#siteHeader.is-scrolled .nav-link.active{ color:#7ab7ff; }
#siteHeader.is-scrolled .btn-outline-primary{
  color:#eaf3ff; border-color: rgba(255,255,255,.35);
}
#siteHeader.is-scrolled .form-control{ background:#0b2a3f; color:#fff; border-color: rgba(255,255,255,.15); }

/* =========================
   SLIDER/BANNER FIX
========================= */
.swiper-container,
.swiper,
.swiper-wrapper,
.swiper-slide{
  width:100%;
}

.swiper-slide .slide-inner{
  min-height: 560px;             /* IMPORTANT: ensures proper banner height */
  background-size: cover !important;
  background-position: center !important;
  position: relative;
  overflow: hidden;
}

/* Overlay so text readable, but NOT full dark */
.swiper-slide .slide-inner::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(7,31,47,.80), rgba(7,31,47,.35));
  z-index: 0;
}

.swiper-slide .header-text{
  position: relative;
  z-index: 2;
  padding-top: 80px;
}

.swiper-slide .header-text h2{
  font-weight: 900;
  line-height: 1.1;
}

/* Fix next/prev buttons visible */
.swiper-button-next,
.swiper-button-prev{
  z-index: 5 !important;
}

/* Prevent big empty dark space caused by margin/padding conflicts */
#top{ background: transparent; }
body{ background:#fff; }
