/* Scope everything to vtc-* to avoid theme collisions */
.vtc-wrap { --vtc-dark:#0b1320; --vtc-light:#e8f0ff; --vtc-grad:linear-gradient(135deg,#6cc1ff,#fa4fb3); }
.vtc-section { padding: 70px 0; }
.vtc-sub { color:#7f8aa2; margin: 8px 0 18px; }
.vtc-title { font-weight:800; letter-spacing:.2px; }
.vtc-kicker { text-transform:uppercase; font-weight:700; font-size:12px; letter-spacing:1.8px; color:#7f8aa2; }

/* Hero (home style) */
.vtc-hero { position:relative; padding:140px 0 120px; color:#fff; background:#0b1320; overflow:hidden; }
.vtc-hero .vtc-bg { position:absolute; inset:0; background:radial-gradient(60% 60% at 50% 40%, rgba(108,193,255,.25), transparent 60%), radial-gradient(50% 50% at 60% 55%, rgba(250,79,179,.2), transparent 60%), url('media/banner/bg.png') center/cover no-repeat; opacity:.9; }
.vtc-hero .container { position:relative; z-index:2; }
.vtc-hero h1 { font-size:48px; line-height:1.12; margin-bottom:14px; }
.vtc-hero p { font-size:18px; max-width:760px; color:#d9e4ff; }
.vtc-btn { display:inline-flex; align-items:center; gap:10px; border:0; border-radius:999px; padding:12px 18px; font-weight:600; }
.vtc-btn--light { background:#fff; color:#0b1320; }
.vtc-btn--dark { background:#19233b; color:#e8f0ff; }
.vtc-btn--grad { background:var(--vtc-grad); color:#0b1320; }

/* Cards & lists */
.vtc-card { background:#fff; border-radius:16px; box-shadow:0 10px 30px rgba(3,10,31,.08); padding:22px; height:100%; }
.vtc-card .icon { width:46px; height:46px; border-radius:12px; background:var(--vtc-grad); display:grid; place-items:center; color:#0b1320; margin-bottom:14px; }
.vtc-list { list-style:none; padding:0; margin:0; }
.vtc-list li { display:flex; gap:10px; margin:8px 0; }
.vtc-list li:before { content:"✓"; color:#11c468; font-weight:800; }

/* Grids */
.vtc-grid-3 { display:grid; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.vtc-grid-4 { display:grid; gap:20px; grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:991px){
  .vtc-grid-3, .vtc-grid-4 { grid-template-columns:1fr; }
  .vtc-hero{padding:110px 0 90px}
  .vtc-hero h1{font-size:36px}
}

/* Pills (generic utility) */
.vtc-pill { background:var(--vtc-grad); color:#0b1320; border-radius:999px; padding:8px 12px; font-weight:700; }

/* FAQ */
.vtc-faq details { background:#0f172a; color:#e7ecff; border-radius:14px; margin:10px 0; padding:16px 18px; }
.vtc-faq summary { cursor:pointer; font-weight:700; }

/* Contact form */
.vtc-contact .vtc-info .vtc-card p { margin:0; color:#4a5773; }
.vtc-contact .form-control { border-radius:12px; }

/* Floating Action Buttons */
.vtc-fab {
  position: fixed; right: 18px; bottom: 18px;
  display: flex; flex-direction: column; gap: 12px; z-index: 9999;
}
.vtc-fab__btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 14px;
  border-radius: 999px; font: 500 14px/1.1 "Poppins", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease, opacity .2s ease; opacity: .98;
}
.vtc-fab__btn svg { flex: 0 0 auto; }
.vtc-fab__btn span { color:#fff; }
.vtc-fab__btn--wa { background: #25D366; }
.vtc-fab__btn--call { background: #0ea5e9; }
.vtc-fab__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.22); opacity: 1; }
.vtc-fab__btn:active { transform: translateY(0); }
@keyframes vtcPulse { 0%{box-shadow:0 0 0 0 rgba(37,211,102,.45);}70%{box-shadow:0 0 0 12px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);} }
.vtc-fab__btn--wa { animation: vtcPulse 2.2s infinite; }
@media (max-width: 480px){
  .vtc-fab__btn { padding: 12px; }
  .vtc-fab__btn span { display: none; }
}

/* Header layering */
.sticky-header .site-header, .header, .gp-header { z-index: 1002; }

/* Generic page banner */
.page-banner{
  position:relative; background-position:center; background-size:cover; background-repeat:no-repeat;
  min-height:360px; height:auto !important; padding:140px 0 80px;
}
.page-banner .overlay-dark{ position:absolute; inset:0; background:rgba(0,0,0,.35); pointer-events:none; }

/* Kill rogue parallax heights */
.page-banner[data-parallax], .parallax-bg { height:auto !important; min-height:360px; }

/* Hide loader if theme scripts fail */
.loader-wrap{ display:none; }

/* Dark inner-page banner (About, etc.) */
.page-banner--dark{
  position:relative; background:#0b1320; color:#e8f0ff;
  min-height:360px; height:auto !important; padding:140px 0 84px; overflow:hidden;
}
.page-banner--dark .container{ position:relative; z-index:1; max-width:1160px; }
.page-banner--dark .breadcrumbs-title{ color:#e8f0ff; }
.page-banner--dark p{ color:#cfe0ff; opacity:.92; }
.page-banner--dark::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(60% 60% at 50% 40%, rgba(108,193,255,.22), transparent 60%),
    radial-gradient(50% 50% at 60% 55%, rgba(250,79,179,.16), transparent 60%),
    url('media/banner/bg.png') center/cover no-repeat;
  opacity:.9; z-index:0;
}

/* ===== Pill cards directly under the dark banner ===== */
.vtc-pillbar{
  background:#fff; margin-top:0; padding:18px 0 8px; /* no overlap, add breathing */
  border-top:1px solid rgba(2,8,23,.05);
}
.vtc-pillbar .container{ max-width:1160px; }

.vtc-pillgrid{
  display:grid; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (max-width: 991px){
  .vtc-pillgrid{ grid-template-columns:1fr; }
}

.vtc-pill{
  display:flex; align-items:center; gap:16px;
  background:#0b1320; color:#e8f0ff;
  border-radius:16px; padding:18px 20px;
  box-shadow:0 10px 24px rgba(2,8,23,.16);
  text-decoration:none; transition: transform .18s ease, box-shadow .18s ease;
}
.vtc-pill:hover{ transform: translateY(-2px); box-shadow:0 14px 28px rgba(2,8,23,.24); }

.vtc-pill .logo{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  background:var(--vtc-grad); box-shadow:0 6px 18px rgba(250,79,179,.28); flex:0 0 auto;
}
.vtc-pill .logo svg{ display:block; } /* fixes baseline nudge */

.vtc-pill h6{ margin:0 0 2px; font-weight:700; font-size:13px; color:#cfe0ff; }
.vtc-pill .title{ margin:0; font-weight:800; font-size:16px; color:#fff; }

.vtc-badge{
  margin-left:auto; padding:6px 10px; font-size:12px; line-height:1; border-radius:999px;
  background:#13304a; color:#b7d7ff;
}
.vtc-badge--green{ background:#0f3d2c; color:#9af0c7; }
.vtc-badge--red{ background:#3f1620; color:#ffb7c5; }
.vtc-badge--blue{ background:#102b46; color:#a7d8ff; }

/* Responsive typography for banner */
@media (max-width: 768px){
  .page-banner--dark{ padding:120px 0 64px; }
  .page-banner .breadcrumbs-title{ font-size:32px; }
  .vtc-pill .title{ font-size:15px; }
}

@media (max-width: 420px){
  .page-banner--dark{ padding:110px 0 54px; min-height:300px; }
  .vtc-pill{ padding:16px; }
}
