/* VeriTrust shared chrome (SSOT) — generated from index.html canonical design. Edit here, not per-page. */
.vt-header,.vt-header *,.vt-mega-wrap,.vt-mega-wrap *,footer,footer *{ box-sizing:border-box; }
    :root {
      --vt-primary: #0b69c4;
      --vt-primary-dark: #084a8c;
      --vt-accent: #46b3ff;
      --vt-bg: #f7f9fc;
      --vt-text: #1f2933;
      --vt-text-muted: #4b5a6b;
      --vt-border: #dde5f2;
      --vt-card-bg: #ffffff;
      --vt-code-bg: #071d3b;
      --vt-code-text: #e5efff;
    }
    /* Header (Mega Menu) */
header.vt-header{
  background: var(--vt-code-bg);
  color: white;
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.vt-header .vt-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0.85rem 0;
  gap: 1.25rem;
}
.vt-logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:white;
  text-decoration:none;
}
.vt-logo span{ color:white; }
.vt-nav{
  display:flex;
  align-items:center;
  gap: 0.9rem;
  flex-wrap:wrap;
}
.vt-nav-item, .vt-nav-link{
  color: rgba(255,255,255,0.9);
  text-decoration:none;
  font-size: 0.92rem;
  background:none;
  border:0;
  cursor:pointer;
  font-family: inherit;
  padding: 0.35rem 0.4rem;
  border-radius: 8px;
  transition: color 0.2s, background 0.2s;
  white-space: nowrap;
}
.vt-nav-item:hover, .vt-nav-link:hover{
  color: var(--vt-accent);
  background: rgba(255,255,255,0.06);
}
.vt-auth{
  display:flex;
  gap: 0.6rem;
  align-items:center;
  margin-left: 0.5rem;
}
.vt-btn{
  text-decoration:none;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.25);
  transition: transform .15s, box-shadow .15s, background .15s, color .15s;
}
.vt-btn:hover{ transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,0.18); }
.vt-btn-ghost{ color: white; background: transparent; }
.vt-btn-primary{ color: #071d3b; background: #ffffff; border-color: rgba(255,255,255,0.55); }
.vt-mega-wrap{
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  background: #ffffff;
  border-top: 1px solid var(--vt-border);
  box-shadow: 0 18px 40px rgba(15,23,42,0.16);
  display: none;
}
.vt-mega-wrap.open{ display:block; }
.vt-mega-inner{
  padding: 1.25rem 1.5rem 1.6rem;
}
.vt-mega-panel{ display:none; }
.vt-mega-panel.active{ display:block; }
.vt-mega-panel .mega-menu{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}
.vt-mega-panel h2{ display:none; } /* hide demo titles from the template */

/* Mega menu typography (scoped) */
.vt-mega-panel .menu-column{ display:flex; flex-direction:column; gap: 20px; }
.vt-mega-panel .menu-section{ display:flex; flex-direction:column; gap: 10px; }
.vt-mega-panel .section-title{
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #64748b;
}
.vt-mega-panel .menu-link{
  display:block;
  text-decoration:none;
  border: 1px solid var(--vt-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: #ffffff;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.vt-mega-panel .menu-link:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(15,23,42,0.10);
  border-color: #c6d6f0;
}
.vt-mega-panel .link-title{
  font-weight: 650;
  color: #0f172a;
  display:flex;
  align-items:center;
  gap: 10px;
}
.vt-mega-panel .link-description{
  margin-top: 6px;
  color: #475569;
  font-size: 0.92rem;
  line-height: 1.45;
}
.vt-mega-panel .badge{
  font-size: 0.62rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid rgba(2,6,23,0.10);
}
.vt-mega-panel .badge-new{ background: #e0f2fe; color: #075985; border-color:#bae6fd; }
.vt-mega-panel .badge-soon{ background: #fef3c7; color:#92400e; border-color:#fde68a; }
.vt-mega-panel .external-link .link-title::after{
  content:"↗";
  margin-left: 6px;
  font-size: 0.85em;
  color: #64748b;
}
.vt-mega-panel .status-indicator{
  width: 10px; height: 10px;
  border-radius: 999px;
  display:inline-block;
  border: 1px solid rgba(2,6,23,0.12);
}
.vt-mega-panel .status-verify{ background: #22c55e; }
.vt-mega-panel .status-new{ background: #46b3ff; }
@media (max-width:768px){
      .vt-nav{ gap: 0.5rem; }
      .vt-auth{ width: 100%; justify-content:flex-start; }
      .vt-mega-panel .mega-menu{ grid-template-columns: 1fr; }
}
/* --- Layout fixes (Jan 2026) --- */
.vt-mega-wrap{
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  width: min(1100px, calc(100% - 2rem));
  border-radius: 16px;
  border: 1px solid var(--vt-border);
  overflow: hidden;
}
@media (max-width: 900px){
  .vt-mega-wrap{ width: calc(100% - 1rem); }
}
    /* Footer (Structured) */
footer{
  background: var(--vt-code-bg);
  color: rgba(255,255,255,0.82);
  padding: 3rem 0 2.2rem;
  font-size: 0.92rem;
}
footer a{ color: rgba(255,255,255,0.86); text-decoration:none; }
footer a:hover{ color: white; text-decoration: none; }  /* REMOVED UNDERLINE - only gradient line remains */

.footer-content{
  display:grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 2rem;
  align-items:start;
}
.footer-logo{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 12px;
}
.footer-logo .logo-icon svg{ display:block; }
.footer-logo-text{
  font-weight: 800;
  letter-spacing: 0.10em;
  color: white;
}
.footer-tagline{
  font-weight: 600;
  color: rgba(255,255,255,0.92);
  margin-bottom: 8px;
}
.footer-description{ color: rgba(255,255,255,0.70); line-height: 1.6; }
.footer-column .footer-section-title,
.footer-brand .footer-section-title{
  font-size: 0.75rem;
  font-weight: 700;  /* BOLD */
  letter-spacing: 0.12em;
  color: #667eea;  /* BLUE COLOR LIKE FOOTER1 */
  text-transform: uppercase;
  margin-bottom: 18px;
}
.footer-links{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.footer-link{
  color: rgba(255,255,255,0.85);  /* WHITER COLOR */
  text-decoration:none !important;  /* NO UNDERLINE */
  font-size: 14px;
  font-weight: 500;  /* MEDIUM WEIGHT FOR BETTER READABILITY */
  display:flex;
  align-items:center;
  gap: 6px;
  transition: all 0.2s ease;
}
.footer-link:hover{
  text-decoration:none !important;  /* NO UNDERLINE ON HOVER */
}
.social-links{ display:flex; gap: 10px; margin-top: 6px; }
.social-icon{
  width: 34px; height: 34px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,0.18);
  color: white;
  font-weight: 800;
  text-decoration:none;
}
.social-icon:hover{ border-color: rgba(70,179,255,0.6); color: var(--vt-accent); text-decoration:none; }
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,0.12);
  margin-top: 2.2rem;
  padding-top: 1.3rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap: 1rem;
  color: rgba(255,255,255,0.62);

  max-width: 1200px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;}
/* Footer: add side margins + force one item per row */
footer .footer-content{
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
footer .footer-link{
  display: block;
  width: 100%;
  margin: 0.35rem 0;
}


/* Social icon + URL stacked */
.social-links{
  display:flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items:flex-start;
}
.social-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 0.35rem;
}
.social-url{
  font-size: 0.78rem;
  color: rgba(255,255,255,0.62);
  text-decoration: none;
  max-width: 220px;
  word-break: break-all;
}
.social-url:hover{ text-decoration: underline; }
/* === Fixes (Jan 2026) === */

/* Header: widen container and keep nav + auth on one row */
.vt-header .vt-container{ max-width: 1520px; } .vt-container{ max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; } .vt-header .vt-container{ max-width: 1520px; }
.vt-header .vt-header-inner{ flex-wrap: nowrap; }
.vt-nav{
  flex-wrap: nowrap;
  flex: 1 1 auto;
  justify-content: right;
  gap: 0.75rem;
  min-width: 0;
}
.vt-auth{ flex-wrap: nowrap; white-space: nowrap; }

/* Hide any leftover "NEW" / badge markers (if present) */
.vt-badge, .nav-badge, .menu-badge, .badge-new, .vt-new-badge{ display:none !important; }
/* Footer: constrain the very bottom row like the rest of the footer */
footer .footer-bottom{
  max-width: 1500px;
  margin: 2.2rem auto 0;
  padding: 1.3rem 1.25rem 1.25rem;
}

/* Footer: improve bottom-row alignment */
footer .footer-legal-links{
  display:flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Footer: add more vertical breathing room around section headings */
footer .footer-section{ margin-top: 1.25rem; }
footer .footer-column .footer-section:first-child{ margin-top: 0; }
footer .footer-column .footer-section-title,
footer .footer-brand .footer-section-title{ margin-bottom: 22px; }

/* Footer: social icons only (no URL text below icons) */
footer .social-item{ display:flex; flex-direction: column; align-items:flex-start; }

/* ==========================================
   FOOTER ENHANCEMENTS - COOL EFFECTS
   ========================================== */

/* Enhanced Footer Link Hover Effect - THE SLIDING EFFECT */
.footer-link {
    color: rgba(255,255,255,0.9) !important;  /* WHITER COLOR */
    font-weight: 500 !important;  /* MEDIUM-BOLD */
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding-left: 0 !important;
    position: relative;
}

.footer-link:hover {
    padding-left: 8px !important;  /* SLIDE RIGHT ON HOVER */
    color: white !important;  /* PURE WHITE ON HOVER */
    font-weight: 600 !important;  /* BOLDER ON HOVER */
}

.footer-link::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    transition: width 0.3s ease;
}

.footer-link:hover::before {
    width: calc(100% - 8px);
}

/* Enhanced Social Icon Lift Effect */
.social-icon {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.social-icon:hover {
    transform: translateY(-4px) !important;  /* LIFT UP EFFECT */
    box-shadow: 0 8px 16px rgba(0,0,0,0.3) !important;
}

/* Enhanced Status Dots with Glow & Pulse */
.status-dot {
    position: relative;
}

.status-active {
    box-shadow: 0 0 8px rgba(40, 167, 69, 0.6) !important;
    animation: pulse-green 2s ease-in-out infinite !important;
}

.status-coming {
    box-shadow: 0 0 8px rgba(255, 193, 7, 0.6) !important;
    animation: pulse-yellow 2s ease-in-out infinite !important;
}

@keyframes pulse-green {
    0%, 100% { box-shadow: 0 0 8px rgba(40, 167, 69, 0.6); }
    50% { box-shadow: 0 0 12px rgba(40, 167, 69, 0.8); }
}

@keyframes pulse-yellow {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 193, 7, 0.6); }
    50% { box-shadow: 0 0 12px rgba(255, 193, 7, 0.8); }
}

/* Enhanced External Link Arrow Animation */
.external-icon {
    transition: all 0.25s ease !important;
    display: inline-block;
}

.footer-link:hover .external-icon {
    transform: translate(3px, -3px) !important;  /* DIAGONAL MOVEMENT */
    opacity: 1 !important;
}

/* Footer Top Border Gradient */
footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(102, 126, 234, 0.5) 50%, 
        transparent 100%);
}

/* Enhanced Section Titles with Animated Underline */
.footer-section-title {
    position: relative;
    padding-bottom: 8px;
    color: #667eea !important;  /* BLUE COLOR */
    font-weight: 700 !important;  /* BOLD */
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

.footer-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #667eea, #764ba2);
    transition: width 0.3s ease;
}

.footer-section:hover .footer-section-title::after {
    width: 40px;
}

/* Enhanced Footer Legal Links */
.footer-legal-link {
    transition: all 0.2s ease !important;
    position: relative;
    text-decoration: none !important;  /* NO UNDERLINE - only gradient line */
}

.footer-legal-link:hover {
    text-decoration: none !important;  /* NO UNDERLINE ON HOVER */
}

.footer-legal-link::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, #667eea, #764ba2);  /* GRADIENT instead of white */
    transition: width 0.3s ease;
}

.footer-legal-link:hover::after {
    width: 100%;
}

/* Coming Soon Links - No Interaction */
.footer-link.coming-soon:hover {
    padding-left: 0 !important;
    color: rgba(255,255,255,0.8) !important;
}

/* Logo Icon Rotation Effect */
.logo-icon {
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.footer-logo:hover .logo-icon {
    transform: rotate(10deg) scale(1.1);
}

/* Mobile Enhancements */
@media (max-width: 640px) {
    .footer-link:hover {
        padding-left: 12px !important;  /* MORE VISIBLE ON MOBILE */
    }
    
    .social-icon:hover {
        transform: translateY(-6px) !important;  /* BIGGER LIFT ON MOBILE */
    }
}

/* Smooth Focus States for Accessibility */
.footer-link:focus,
.social-icon:focus,
.footer-legal-link:focus {
    outline: 2px solid #667eea !important;
    outline-offset: 4px !important;
    border-radius: 4px;
}

/* Fade-in animation for sections */
.fade-in-element {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Ripple animation */
@keyframes ripple-animation {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}

.vt-container{ max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
