﻿/* ==========================================================================
   GAMAGE CCTV & ELECTRONIC - STYLESHEET
   Nuwaraeliya Enterprises Pvt Ltd
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Sinhala:wght@400;500;600;700;800;900&family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --primary-glow: #0284c7;
  --secondary-glow: #38bdf8;
  --accent-cyan: #06b6d4;
  --dark-navy: #060e1e;
  --deep-blue: #0b192c;
  --card-bg: rgba(15, 23, 42, 0.75);
  --card-border: rgba(56, 189, 248, 0.18);
}

* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: 'Outfit', 'Noto Sans Sinhala', sans-serif;
  background-color: var(--dark-navy);
  color: #f1f5f9;
  overflow-x: hidden;
  selection-background-color: #0284c7;
  selection-color: #ffffff;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #060e1e;
}
::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 5px;
  border: 2px solid #060e1e;
}
::-webkit-scrollbar-thumb:hover {
  background: #0284c7;
}

/* Glassmorphism Card */
.glass-card {
  background: var(--card-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--card-border);
  border-radius: 1rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-card:hover {
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.25);
  transform: translateY(-3px);
}

/* Ice Neon Glow */
.ice-glow {
  text-shadow: 0 0 20px rgba(56, 189, 248, 0.5), 0 0 40px rgba(2, 132, 199, 0.3);
}

.box-glow {
  box-shadow: 0 0 25px rgba(2, 132, 199, 0.25);
}

.box-glow-lg {
  box-shadow: 0 0 40px rgba(56, 189, 248, 0.35);
}

/* Animated Gradient Background */
.hero-gradient {
  background: radial-gradient(circle at 50% 20%, rgba(2, 132, 199, 0.18) 0%, rgba(6, 14, 30, 0.95) 75%),
              radial-gradient(circle at 90% 80%, rgba(6, 182, 212, 0.12) 0%, transparent 60%),
              radial-gradient(circle at 10% 90%, rgba(30, 58, 138, 0.2) 0%, transparent 60%);
}

.grid-bg {
  background-image: linear-gradient(rgba(56, 189, 248, 0.05) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(56, 189, 248, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Pulsing Badge */
@keyframes pulse-ring {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(56, 189, 248, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 12px rgba(56, 189, 248, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(56, 189, 248, 0); }
}

.pulse-ring {
  animation: pulse-ring 2.2s infinite;
}

/* Floating Snowflake Animation */
@keyframes float-slow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(5deg); }
}

.floating-anim {
  animation: float-slow 4s ease-in-out infinite;
}

/* Button Glow Effects */
.btn-primary-glow {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-primary-glow:hover {
  background: linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.6);
  transform: translateY(-2px);
}

.btn-primary-glow::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 20%;
  height: 200%;
  background: rgba(255, 255, 255, 0.25);
  transform: rotate(30deg);
  transition: all 0.7s ease;
}

.btn-primary-glow:hover::after {
  left: 140%;
}

.btn-whatsapp-glow {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  transition: all 0.3s ease;
}

.btn-whatsapp-glow:hover {
  background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
  box-shadow: 0 0 25px rgba(16, 185, 129, 0.5);
  transform: translateY(-2px);
}

/* Badge Styling */
.badge-ice {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
}

/* Modal Transitions */
.modal-overlay {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal-content {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}
.modal-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.modal-hidden .modal-content {
  transform: scale(0.92) translateY(20px);
}

/* Custom Checkmark Icon */
.service-pill {
  transition: all 0.2s ease;
}
.service-pill:hover {
  border-color: #38bdf8;
  background: rgba(56, 189, 248, 0.1);
}

/* Corporate Portal & Tabs */
.portal-tab-btn.active {
  background: #0284c7;
  color: #ffffff;
  border-color: #38bdf8;
  box-shadow: 0 4px 15px rgba(2, 132, 199, 0.35);
}

/* Job Tracker Timeline */
.timeline-step.completed .timeline-icon {
  background: #10b981;
  color: #ffffff;
  border-color: #34d399;
}
.timeline-step.current .timeline-icon {
  background: #0284c7;
  color: #ffffff;
  border-color: #38bdf8;
  animation: pulse-ring 2s infinite;
}
.timeline-step.pending .timeline-icon {
  background: #1e293b;
  color: #64748b;
  border-color: #334155;
}

/* Official Stamp Badge */
.official-stamp {
  border: 2px dashed #38bdf8;
  border-radius: 8px;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 1.5px;
}

/* Sinhala Font Fine-tuning */
body.lang-si {
  font-family: 'Noto Sans Sinhala', 'Outfit', sans-serif;
  line-height: 1.65;
}
body.lang-si h1, body.lang-si h2, body.lang-si h3, body.lang-si h4 {
  line-height: 1.45;
}

/* ==========================================================================
   LIGHT THEME MODE (Clean, Bright, High-Tech Modern Palette)
   ========================================================================== */
body.theme-light {
  background-color: #f8fafc !important;
  color: #1e293b !important;
}

body.theme-light,
body.theme-light section,
body.theme-light .bg-\[\#050c18\],
body.theme-light .bg-slate-950,
body.theme-light .bg-slate-950\/60,
body.theme-light .bg-slate-950\/70,
body.theme-light .bg-slate-950\/80,
body.theme-light .bg-slate-950\/90,
body.theme-light .bg-slate-900,
body.theme-light .bg-slate-900\/60,
body.theme-light .bg-slate-900\/70,
body.theme-light .bg-slate-900\/80,
body.theme-light .bg-slate-900\/90 {
  background-color: #f8fafc !important;
  color: #1e293b !important;
}

body.theme-light .hero-gradient {
  background: radial-gradient(circle at 50% 20%, rgba(186, 230, 253, 0.7) 0%, #f8fafc 80%),
              radial-gradient(circle at 90% 80%, rgba(224, 242, 254, 0.6) 0%, transparent 60%) !important;
}

body.theme-light .grid-bg {
  background-image: linear-gradient(rgba(2, 132, 199, 0.08) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(2, 132, 199, 0.08) 1px, transparent 1px) !important;
}

body.theme-light nav {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light nav a {
  color: #334155 !important;
}

body.theme-light nav a:hover {
  color: #0284c7 !important;
}

/* Glass & Section Cards in Light Theme */
body.theme-light .glass-card,
body.theme-light .bg-slate-950\/60.border,
body.theme-light .bg-slate-950\/80.border,
body.theme-light .bg-slate-900.border,
body.theme-light .bg-slate-900\/60.border,
body.theme-light .bg-\[\#0c1626\],
body.theme-light .bg-\[\#07172f\],
body.theme-light .bg-\[\#071324\],
body.theme-light div[class*="rounded-xl border border-slate-800"],
body.theme-light div[class*="rounded-2xl border border-slate-800"] {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.09), 0 8px 10px -6px rgba(0, 0, 0, 0.03) !important;
  color: #1e293b !important;
}

body.theme-light .glass-card:hover {
  border-color: #38bdf8 !important;
  box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.16) !important;
}

body.theme-light h1,
body.theme-light h2,
body.theme-light h3,
body.theme-light h4,
body.theme-light h5,
body.theme-light h6,
body.theme-light .brand-title {
  color: #050b14 !important;
  font-weight: 800;
}

body.theme-light .text-white {
  color: #050b14 !important;
}

body.theme-light .text-slate-100,
body.theme-light .text-slate-200,
body.theme-light .text-slate-300 {
  color: #0f172a !important;
}

body.theme-light .text-slate-400,
body.theme-light .text-slate-500 {
  color: #1e293b !important;
}

body.theme-light p {
  color: #1e293b !important;
}

body.theme-light .text-sky-300,
body.theme-light .text-sky-200,
body.theme-light .text-cyan-300,
body.theme-light .text-blue-300,
body.theme-light .text-indigo-300 {
  color: #02659c !important;
  font-weight: 600;
}

body.theme-light .text-sky-400,
body.theme-light .text-cyan-400,
body.theme-light .text-blue-400 {
  color: #0369a1 !important;
  font-weight: 600;
}

body.theme-light [data-i18n="hero_slogan"] {
  color: #02659c !important;
  font-weight: 800 !important;
}

body.theme-light [data-i18n="hero_subtext"] {
  color: #0f172a !important;
  font-weight: 500 !important;
}

body.theme-light .faq-answer {
  color: #1e293b !important;
  font-weight: 500 !important;
}

body.theme-light .faq-btn span {
  color: #050b14 !important;
  font-weight: 700 !important;
}

body.theme-light .border-slate-800,
body.theme-light .border-slate-800\/80,
body.theme-light .border-slate-700,
body.theme-light .border-sky-900\/30 {
  border-color: #e2e8f0 !important;
}

body.theme-light .border-sky-500\/20,
body.theme-light .border-sky-500\/30 {
  border-color: rgba(2, 132, 199, 0.25) !important;
}

/* Maintain crisp white text on colored buttons & badges */
body.theme-light .btn-primary-glow,
body.theme-light .btn-primary-glow *,
body.theme-light .bg-sky-600,
body.theme-light .bg-sky-600 *,
body.theme-light .bg-sky-500,
body.theme-light .bg-emerald-600,
body.theme-light .bg-emerald-600 *,
body.theme-light .bg-red-600,
body.theme-light .bg-red-600 *,
body.theme-light .bg-blue-600,
body.theme-light .bg-blue-600 *,
body.theme-light .text-white-force,
body.theme-light .text-white-force * {
  color: #ffffff !important;
}

/* Top Emergency Bar */
body.theme-light .top-emergency-bar,
body.theme-light .top-emergency-bar div {
  background: linear-gradient(to right, #091a32, #0e3057, #091a32) !important;
}
body.theme-light .top-emergency-bar span,
body.theme-light .top-emergency-bar a {
  color: #ffffff !important;
}

/* Input Fields */
body.theme-light input,
body.theme-light select,
body.theme-light textarea {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
}

body.theme-light input:focus,
body.theme-light select:focus,
body.theme-light textarea:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

body.theme-light input::placeholder,
body.theme-light textarea::placeholder {
  color: #94a3b8 !important;
}

body.theme-light .bg-sky-950,
body.theme-light .bg-sky-950\/80 {
  background-color: #e0f2fe !important;
  border-color: #bae6fd !important;
  color: #0369a1 !important;
}

/* Mobile Menu */
body.theme-light #mobileMenu {
  background-color: #ffffff !important;
  border-left: 1px solid #e2e8f0 !important;
}
body.theme-light #mobileMenu a {
  color: #1e293b !important;
  border-color: #f1f5f9 !important;
}

/* Footer */
body.theme-light footer {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%) !important;
  border-top: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}
body.theme-light footer h4 {
  color: #0c2340 !important;
}
body.theme-light footer p,
body.theme-light footer a {
  color: #475569 !important;
}
body.theme-light footer a:hover {
  color: #0284c7 !important;
}




/* Hero Secondary Buttons & Modal in Light Theme */
body.theme-light .btn-open-modal {
  background-color: #ffffff !important;
  color: #0284c7 !important;
  border-color: #38bdf8 !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.15) !important;
}
body.theme-light .btn-open-modal:hover {
  background-color: #f0f9ff !important;
  color: #0369a1 !important;
}

body.theme-light a[href="#tracker"] {
  background-color: #f0fdf4 !important;
  color: #059669 !important;
  border-color: #86efac !important;
}
body.theme-light a[href="#tracker"]:hover {
  background-color: #dcfce7 !important;
  color: #047857 !important;
}

body.theme-light #bookingModal .modal-content {
  background-color: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

/* ==========================================
   CCTV HIGHLIGHTS & FEATURED STYLES
   ========================================== */
.cctv-card-featured {
  position: relative;
  border: 2px solid #0284c7 !important;
  box-shadow: 0 15px 35px -5px rgba(2, 132, 199, 0.4) !important;
}

body.theme-light #cctv-spotlight {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 50%, #f0f9ff 100%) !important;
  border-top: 2px solid #0284c7 !important;
  border-bottom: 2px solid #0284c7 !important;
  box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15) !important;
}

body.theme-light #cctv-spotlight h3 {
  color: #0c2340 !important;
}

body.theme-light #cctv-spotlight p {
  color: #334155 !important;
}

body.theme-light .cctv-card-featured {
  background: #ffffff !important;
  border: 2px solid #0284c7 !important;
  box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.25) !important;
}

body.theme-light .cctv-card-featured h3 {
  color: #0c2340 !important;
}

body.theme-light .cctv-card-featured p {
  color: #1e293b !important;
}

body.theme-light .cctv-card-featured ul span {
  color: #1e293b !important;
}

/* Additional high-contrast text rules for theme-light */
body.theme-light label {
  color: #050b14 !important;
  font-weight: 700 !important;
}

body.theme-light li,
body.theme-light li span {
  color: #0f172a !important;
}

body.theme-light .text-slate-600,
body.theme-light .text-slate-700,
body.theme-light .text-slate-800,
body.theme-light .text-slate-900 {
  color: #050b14 !important;
}

body.theme-light blockquote,
body.theme-light .testimonial-text {
  color: #0f172a !important;
}

body.theme-light strong,
body.theme-light b {
  color: #000000 !important;
}

/* Hero Highlight Box for CCTV and AC */
body.theme-light .hero-highlight-box {
  background: linear-gradient(135deg, #fff5f5 0%, #f0f9ff 50%, #eff6ff 100%) !important;
  border: 2px solid #bae6fd !important;
  box-shadow: 0 4px 20px -2px rgba(2, 132, 199, 0.18) !important;
}

body.theme-light .hero-highlight-box .text-red-600 {
  color: #dc2626 !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 2px rgba(220, 38, 38, 0.15) !important;
}

body.theme-light .hero-highlight-box .text-sky-600 {
  color: #0284c7 !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 2px rgba(2, 132, 199, 0.15) !important;
}

body:not(.theme-light) .hero-highlight-box {
  background: rgba(15, 23, 42, 0.85) !important;
  border: 1.5px solid rgba(56, 189, 248, 0.4) !important;
  box-shadow: 0 0 25px rgba(2, 132, 199, 0.25) !important;
}

body:not(.theme-light) .hero-highlight-box .text-red-600 {
  color: #f87171 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 15px rgba(239, 68, 68, 0.5) !important;
}

body:not(.theme-light) .hero-highlight-box .text-sky-600 {
  color: #38bdf8 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 15px rgba(56, 189, 248, 0.5) !important;
}
