/* GURU COMMUNICATION - CORE DESIGN SYSTEM & UTILITY STYLES */

/* Base Styles & Device Stability Armor */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  max-width: 100vw;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: #050505;
  color: #f3f4f6;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  overflow-x: hidden;
  max-width: 100vw;
  position: relative;
  min-height: 100vh;
}

img, picture, video, canvas, svg {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

::selection {
  background-color: #00f2fe;
  color: #0a0b0e;
}

/* Premium Glassmorphism Utilities */
.glass-panel {
  background: rgba(11, 15, 20, 0.82);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

.glass-card:hover {
  border-color: rgba(0, 242, 254, 0.4);
  box-shadow: 0 10px 35px -5px rgba(0, 242, 254, 0.22);
}

.glass-card-purple:hover {
  border-color: rgba(121, 40, 202, 0.5);
  box-shadow: 0 10px 35px -5px rgba(121, 40, 202, 0.3);
}

.glass-card-orange:hover {
  border-color: rgba(255, 78, 0, 0.5);
  box-shadow: 0 10px 35px -5px rgba(255, 78, 0, 0.3);
}

/* Gradient Text Utilities */
.text-gradient-cyan {
  background: linear-gradient(135deg, #ffffff 0%, #00f2fe 50%, #4facfe 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-orange {
  background: linear-gradient(135deg, #ffffff 0%, #ff6b35 50%, #ff4e00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-purple {
  background: linear-gradient(135deg, #ffffff 0%, #a855f7 50%, #7928ca 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Pulse & Glow Keyframes */
@keyframes pulse-slow {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(1.08); }
}

.animate-pulse-slow {
  animation: pulse-slow 8s infinite ease-in-out;
}

/* Custom Sleek Scrollbar */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: #050505;
}
::-webkit-scrollbar-thumb {
  background: #1a2333;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #00f2fe;
}

/* ==========================================================================
   AUTO-SIZING FLUID FULL-WIDTH LAYOUT ENGINE
   Automatically expands site containers to full screen width on all displays
   ========================================================================== */
.max-w-7xl {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.max-w-6xl {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.max-w-5xl {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.max-w-4xl {
  width: 100% !important;
  max-width: min(100%, 1440px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fluid Responsive Container Gutters */
@media (min-width: 1024px) {
  .max-w-7xl:not(#navbar .max-w-7xl):not(#mobile-drawer) {
    padding-left: clamp(1.5rem, 3.5vw, 4.5rem) !important;
    padding-right: clamp(1.5rem, 3.5vw, 4.5rem) !important;
  }
}

/* Full-Width Auto-Sizing Sticky Navigation Bar */
#navbar {
  width: 100% !important;
  padding-left: clamp(0.75rem, 2vw, 2.5rem) !important;
  padding-right: clamp(0.75rem, 2vw, 2.5rem) !important;
}

#navbar > div:first-child {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: clamp(1rem, 2vw, 2.5rem) !important;
  padding-right: clamp(1rem, 2vw, 2.5rem) !important;
}

/* Mobile Drawer Responsive Scroll & Layering */
#mobile-drawer {
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc(85vh - 70px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* Smooth Mobile Menu Hamburger to 'X' Transformation */
#mobile-menu-btn span {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
  transform-origin: center;
}
#mobile-menu-btn.menu-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
#mobile-menu-btn.menu-open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
#mobile-menu-btn.menu-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* Fluid Hero Interactive Visual Scaling */
@media (min-width: 1440px) {
  #hero .max-w-md {
    max-width: 540px !important;
  }
}

/* ==========================================================================
   CROSS-DEVICE ANTI-BREAK STABILITY ENGINE
   Prevents text clipping, wrapping bugs, and container overflows
   ========================================================================== */

/* 1. Universal Text & Content Overflow Defense */
h1, h2, h3, h4, h5, h6, p, span, a, li {
  overflow-wrap: break-word;
}

.glass-card, .glass-panel, .glass-surface {
  max-width: 100%;
}

/* 2. Responsive Navbar Scaling on 1280px-1440px Laptops */
#navbar nav {
  white-space: nowrap;
}

#navbar nav a {
  white-space: nowrap;
}

@media (min-width: 1280px) and (max-width: 1440px) {
  #navbar nav {
    gap: 0.75rem !important;
  }
  #navbar nav a {
    font-size: 0.78rem !important;
  }
  #navbar .direct-call-btn,
  #navbar a[href*="contact.html"],
  #navbar a[href*="wa.me"] {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
    font-size: 0.7rem !important;
  }
}

/* 3. Floating Action Widget Screen Boundary Insets */
#floating-whatsapp {
  bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
  right: max(1.25rem, env(safe-area-inset-right)) !important;
}

/* 4. Touch Target Usability on Mobile Devices */
@media (max-width: 768px) {
  button, a, input, select, textarea {
    touch-action: manipulation;
  }
}


