/* GLOBAL SVG ICON WRAPPERS */
.cap-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-red, #be1e2d);
}
.cap-icon-wrap svg {
  position: relative;
  z-index: 2;
  transition: transform 0.4s;
}
.icon-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--brand-red, #be1e2d);
  filter: blur(15px);
  opacity: 0.3;
  transition: opacity 0.4s, transform 0.4s;
  border-radius: 50%;
  pointer-events: none;
}

/* Theme Variables */
:root {
  /* Global Base Variables (Shared or Dark Default) */
  --bg-color: #0d0b0b;
  --text-color: #ece8df;
  --muted-color: #7a7570;
  --header-bg: rgba(13, 11, 11, 0.75);
  --card-bg: rgba(255, 255, 255, 0.025);
  --border-color: rgba(237, 240, 218, 0.07);
  --glass-blur: blur(10px);
  --brand-red: #be1e2d;
}

[data-theme="light"] {
  --bg-color: #ffffff;
  --text-color: #1a1a1a;
  --muted-color: #444444;
  --header-bg: rgba(255, 255, 255, 0.85);
  --card-bg: #ffffff;
  --border-color: rgba(0, 0, 0, 0.08);

  /* Override Internal CSS Variables from index.css / services.css */
  --black: #ffffff;
  --dark: #f5f5f5;
  --text: #1a1a1a;
  --muted: #444444;
  --cream: #1a1a1a;
  --line: rgba(0, 0, 0, 0.08);
  --surface: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] h1, 
[data-theme="light"] h2, 
[data-theme="light"] h3, 
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] .section-title,
[data-theme="light"] .hero h1,
[data-theme="light"] .page-hero h1,
[data-theme="light"] .about-hero h1,
[data-theme="light"] .works-hero h1,
[data-theme="light"] .stat-num,
[data-theme="light"] .phil-card h3,
[data-theme="light"] .belief-card h3,
[data-theme="light"] .team-strip-text h3,
[data-theme="light"] .cta-box h2,
[data-theme="light"] .wol-author-name,
[data-theme="light"] .testi-author strong,
[data-theme="light"] .acronym-text strong {
  color: var(--text-color) !important;
}

[data-theme="light"] p, 
[data-theme="light"] span, 
[data-theme="light"] li,
[data-theme="light"] .main-nav a,
[data-theme="light"] .footer-nav a,
[data-theme="light"] .footer-contact p,
[data-theme="light"] .footer-tagline,
[data-theme="light"] .footer-copy,
[data-theme="light"] .hero-sub,
[data-theme="light"] .section-sub,
[data-theme="light"] .about-hero p,
[data-theme="light"] .stat-desc,
[data-theme="light"] .wol-content,
[data-theme="light"] .testi-card p,
[data-theme="light"] .acronym-text span {
  color: var(--muted-color) !important;
}

[data-theme="light"] .main-nav a:hover,
[data-theme="light"] .main-nav a.active,
[data-theme="light"] .footer-nav a:hover {
  color: var(--text-color) !important;
}

/* CARDS & PANELS - TARGETING EVERYTHING HARDCODED */
[data-theme="light"] .hero-panel,
[data-theme="light"] .hero-accent-card,
[data-theme="light"] .acronym-item,
[data-theme="light"] .service-card,
[data-theme="light"] .testi-card,
[data-theme="light"] .project-card,
[data-theme="light"] .cap-card,
[data-theme="light"] .phil-card,
[data-theme="light"] .belief-card,
[data-theme="light"] .stat-block,
[data-theme="light"] .hero-stat,
[data-theme="light"] .stat-item,
[data-theme="light"] .cta-box,
[data-theme="light"] .team-strip,
[data-theme="light"] .why-item,
[data-theme="light"] .drive-stmt,
[data-theme="light"] .mobile-tray,
[data-theme="light"] .process-step,
[data-theme="light"] .wol-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
}

/* ICONS WITH WHITE GLASS EFFECT IN LIGHT MODE */
[data-theme="light"] .panel-icon,
[data-theme="light"] .step-dot,
[data-theme="light"] .service-icon-wrap,
[data-theme="light"] .drive-stmt-icon,
[data-theme="light"] .phil-card-icon,
[data-theme="light"] .belief-icon,
[data-theme="light"] .why-icon,
[data-theme="light"] .cap-card .cap-icon-wrap {
  background: rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .why-icon,
[data-theme="light"] .cap-card .cap-icon-wrap {
  border-radius: 12px;
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
  color: #888888 !important;
  opacity: 1 !important;
}

[data-theme="light"] .client-logo-box,
[data-theme="light"] .partner-card {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  opacity: 1 !important;
}

[data-theme="light"] .mobile-tray {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important;
}

[data-theme="light"] .testi-drag-wrapper .testi-card {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .project-card:hover,
[data-theme="light"] .client-logo-box:hover {
  z-index: 2;
}

[data-theme="dark"] .service-card:hover,
[data-theme="dark"] .testi-card:hover,
[data-theme="dark"] .project-card:hover,
[data-theme="dark"] .client-logo-box:hover {
  z-index: 2;
}

/* TEXT COLOR INSIDE CARDS */
[data-theme="light"] .acronym-item strong,
[data-theme="light"] .service-card h3,
[data-theme="light"] .testi-card strong,
[data-theme="light"] .phil-card h3,
[data-theme="light"] .belief-card h3,
[data-theme="light"] .stat-num,
[data-theme="light"] .hero-stat strong,
[data-theme="light"] .cta-box h2,
[data-theme="light"] .team-strip h3,
[data-theme="light"] .panel-item-text strong,
[data-theme="light"] .drive-stmt,
[data-theme="light"] .process-step h3,
[data-theme="light"] .step-num,
[data-theme="light"] .wol-author-name {
  color: var(--text-color) !important;
}

[data-theme="light"] .acronym-item span,
[data-theme="light"] .service-card p,
[data-theme="light"] .service-card ul li,
[data-theme="light"] .service-card .list-label,
[data-theme="light"] .testi-card p,
[data-theme="light"] .testi-content p,
[data-theme="light"] .phil-card p,
[data-theme="light"] .belief-card p,
[data-theme="light"] .stat-label,
[data-theme="light"] .stat-desc,
[data-theme="light"] .hero-stat small,
[data-theme="light"] .cta-box p,
[data-theme="light"] .team-strip p,
[data-theme="light"] .testi-author span,
[data-theme="light"] .wol-author-info span,
[data-theme="light"] .wol-content p,
[data-theme="light"] .cap-card p,
[data-theme="light"] .panel-item-text span,
[data-theme="light"] .process-step p,
[data-theme="light"] .service-tag {
  color: var(--muted-color) !important;
  border-color: rgba(190, 30, 45, 0.45) !important;
  background: rgba(190, 30, 45, 0.05) !important;
}

[data-theme="light"] .wol-fade {
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%) !important;
}

[data-theme="light"] .show-more-btn {
  color: var(--brand-red) !important;
}

/* BUTTONS GHOST FIX */
[data-theme="light"] .btn-ghost {
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme="light"] .btn-ghost:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}

/* Fixed - removed grayscale filter and added subtle border for light mode visibility */
[data-theme="light"] .client-logo-box,
[data-theme="light"] .client-logo-overlay {
  background: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .client-logo-box img,
[data-theme="light"] .client-logo-overlay img {
  filter: none !important;
  opacity: 1 !important;
}

/* FOOTER LIGHT MODE */
[data-theme="light"] .site-footer,
[data-theme="light"] #site-footer {
  background: #ffffff !important;
  background-image: none !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-color) !important;
}
[data-theme="light"] .site-footer::before,
[data-theme="light"] .site-footer::after {
  display: none !important;
}
[data-theme="light"] .footer-top {
  border-bottom-color: var(--border-color) !important;
}
[data-theme="light"] .social-btn {
  background: rgba(0, 0, 0, 0.05) !important;
  color: var(--muted-color) !important;
  border-color: var(--border-color) !important;
}

/* SECTION BACKGROUNDS / GRADIENTS */
[data-theme="light"] .philosophy-section,
[data-theme="light"] .cta-band,
[data-theme="light"] .hero,
[data-theme="light"] .about-hero,
[data-theme="light"] .process-bg,
[data-theme="light"] .section {
  background: transparent !important;
}

[data-theme="light"] .philosophy-section::after,
[data-theme="light"] .cta-box::after,
[data-theme="light"] .hero-orb,
[data-theme="light"] .page-hero-orb {
  opacity: 0.05 !important;
}

[data-theme="light"] #particles-bg {
  background: #fdfdfd !important;
}
[data-theme="light"] #particles-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 60% at 50% 0%, rgba(190, 30, 45, 0.04) 0%, transparent 60%);
  pointer-events: none;
}
[data-theme="light"] #particles-bg canvas {
  opacity: 0.6 !important;
}

/* Global Transitions */
* {
  transition: background-color 0.5s ease-in-out, 
              color 0.5s ease-in-out, 
              border-color 0.5s ease-in-out, 
              box-shadow 0.5s ease-in-out, 
              backdrop-filter 0.5s ease-in-out;
}

/* Page Transition Wrapper */
.page-transition-wrapper {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.page-transition-wrapper.fade-out {
  opacity: 0;
  transform: translateY(-20px);
}

.page-transition-wrapper.fade-in {
  opacity: 0;
  transform: translateY(20px);
}

/* Top Loader */
#top-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: #ff0000;
  z-index: 9999;
  transition: width 0.4s ease, opacity 0.3s ease;
  pointer-events: none;
}

/* Theme Toggle Button Redesign as Switch */
.theme-toggle {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  border-radius: 30px;
  cursor: pointer;
  padding: 3px;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  width: 58px;
  height: 32px;
  margin-left: 15px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.theme-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(190, 30, 45, 0.3);
}

.theme-toggle svg {
  width: 26px;
  height: 26px;
  background: #fff;
  border-radius: 50%;
  padding: 5px;
  stroke: #1a1a1a !important; /* Always dark icon on white thumb for contrast */
  fill: none;
  stroke-width: 2.5;
  transition: transform 0.45s cubic-bezier(0.68, -0.55, 0.265, 1.55), 
              background-color 0.4s ease,
              box-shadow 0.4s ease;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* Thumb movement for Light Mode */
[data-theme="light"] .theme-toggle svg {
  transform: translateX(26px);
}

.theme-toggle.toggled {
  background: rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .theme-toggle {
  background: rgba(0, 0, 0, 0.06);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

/* Header Layout Fixes */
.header-inner {
  display: flex !important;
  align-items: center !important;
}

@media (min-width: 961px) {
  .main-nav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    margin-right: 30px;
  }

  .btn-contact {
    margin-left: 0 !important;
  }
}

.hamburger {
  margin-left: 15px;
}

/* Page Transition Wrapper - more dramatic */
.page-transition-wrapper {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.page-transition-wrapper.fade-out {
  opacity: 0;
  transform: translateY(-40px);
}

.page-transition-wrapper.fade-in {
  opacity: 0;
  transform: translateY(40px);
}

/* Override existing background/colors to use variables */
body {
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
}

.site-header {
  background: var(--header-bg) !important;
  border-bottom: 1px solid var(--border-color) !important;
}

.service-card, .testi-card, .project-card, .panel-item {
  background: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
}

/* Mobile Header Alignment */
/* Mobile Header Alignment */
@media (max-width: 960px) {
  .cursor-dot {
    display: none !important;
  }
  .header-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .theme-toggle {
    order: -1;
    margin-left: 0;
    margin-right: auto;
  }
  .logo-link {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .hamburger {
    margin-left: auto;
  }
}

/* ═══════════════════════════════
   SCROLL TO TOP INDICATOR
═══════════════════════════════ */
#scroll-top-btn {
  position: fixed;
  bottom: 30px;
  left: 30px;
  width: 50px;
  height: 50px;
  z-index: 400;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(20, 18, 18, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 50%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

#scroll-top-btn.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#scroll-top-btn:hover {
  background: rgba(190, 30, 45, 0.1);
  box-shadow: 0 4px 20px rgba(190, 30, 45, 0.4);
  transform: translateY(-5px);
}

#scroll-top-btn svg.progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  border-radius: 50%;
}

#scroll-top-btn svg.progress-ring circle {
  fill: transparent;
  stroke-width: 2;
  transition: stroke-dashoffset 0.15s linear;
}

#scroll-top-btn svg.progress-ring .ring-bg {
  stroke: rgba(255, 255, 255, 0.1);
}

#scroll-top-btn svg.progress-ring .ring-progress {
  stroke: var(--red, #be1e2d);
  stroke-linecap: round;
}

#scroll-top-btn .arrow-icon {
  width: 20px;
  height: 20px;
  color: #fff;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.3s;
}

#scroll-top-btn:hover .arrow-icon {
  transform: translateY(-3px);
  color: var(--red, #be1e2d);
}

/* Light Mode Overrides */
[data-theme="light"] #scroll-top-btn {
  background: rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] #scroll-top-btn .arrow-icon {
  color: var(--red, #be1e2d) !important;
}
[data-theme="light"] #scroll-top-btn svg.progress-ring .ring-bg {
  stroke: rgba(0, 0, 0, 0.05) !important;
}

@media (max-width: 768px) {
  #scroll-top-btn {
    bottom: 20px;
    left: 20px;
    width: 44px;
    height: 44px;
  }
}

/* Mobile Menu Visibility Fixes for Light Theme */
[data-theme="light"] .hamburger span {
  background: var(--text-color) !important;
}
[data-theme="light"] .mobile-nav-link {
  color: var(--text-color) !important;
}
[data-theme="light"] .mobile-cta {
  color: #ffffff !important;
  background: var(--brand-red, #be1e2d) !important;
}
