/* GrailGuard Theme v1 - Evervault-inspired light theme */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Red+Hat+Display:wght@300;400;500;600;700;800;900&display=swap');
:root {
  --gold: #283618;
  --bg: #F0EFEB !important;
  --bg-card: #FFFFFF;
  --card: #FFFFFF !important;
  --card-bg: #FFFFFF;
  --border: #e5e5e5;
  --text: #283618 !important;
  --text-primary: #F0EFEB;
  --text-secondary: #4b5563; /* WCAG 2.1 AA: ~7.8:1 on cream, ~7.0:1 on white */
  --text2: #5a6650 !important;
  --dim: #4b5563 !important; /* was #6b7280 (4.2:1 on cream — failed AA) */
  --green: #283618 !important;
  --forest: #283618;
  --ash: #9ca3af;
  --light-gray: #D4D4D4;
  --cream: #F0EFEB;
  --white: #FFFFFF;
  --shadow-sm: 0 1px 3px rgba(40,54,24,0.06);
  --shadow-md: 0 4px 16px rgba(40,54,24,0.08);
  --shadow-lg: 0 4px 16px rgba(0,0,0,0.08);
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  background: #F0EFEB !important;
  color: #283618 !important;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Red Hat Display', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #283618 !important;
}
nav, .nav, header {
  background: rgba(240,239,235,0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid #e5e7eb !important;
}
nav a, .nav a, .nav-links a, header a {
  color: #5a6650 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
nav a:hover, .nav a:hover, .nav-links a:hover, header a:hover {
  color: #283618 !important;
}
.logo, .nav-logo, .brand {
  font-family: 'Red Hat Display', sans-serif !important;
  color: #283618 !important;
  font-weight: 800 !important;
}
.btn-primary, .cta-button, button[type="submit"], .book-btn, .submit-btn,
a[href*="book"].btn, .btn-gold, .primary-btn {
  background: #283618 !important;
  color: #F0EFEB !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.btn-primary:hover, .cta-button:hover, button[type="submit"]:hover, .book-btn:hover,
.submit-btn:hover, .btn-gold:hover, .primary-btn:hover {
  background: #3a4f25 !important;
  transform: translateY(-1px) !important;
}
.btn-secondary, .secondary-btn, .outline-btn {
  background: transparent !important;
  color: #283618 !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.btn-secondary:hover, .secondary-btn:hover, .outline-btn:hover {
  border-color: #283618 !important;
  background: #FFFFFF !important;
}
.card, .feature-card, .pricing-card, .service-card, .info-card,
.faq-item, .blog-card, .step-card, .stat-card {
  background: #FFFFFF !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  color: #283618 !important;
  box-shadow: 0 1px 3px rgba(40,54,24,0.06) !important;
  transition: all 0.2s ease !important;
}
.card:hover, .feature-card:hover, .pricing-card:hover,
.service-card:hover, .blog-card:hover {
  border-color: #9ca3af !important;
  box-shadow: 0 4px 16px rgba(40,54,24,0.08) !important;
  transform: translateY(-2px) !important;
}
section, .section { background: transparent !important; }
.hero, .hero-section { background: #F0EFEB !important; }
footer, .footer {
  background: #F0EFEB !important;
  border-top: 1px solid #e5e7eb !important;
  color: #5a6650 !important;
}
footer a, .footer a { color: #5a6650 !important; }
footer a:hover, .footer a:hover { color: #283618 !important; }
footer h4, .footer h4, footer h3, .footer h3 {
  color: #6b7280 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
input, textarea, select {
  background: #FFFFFF !important;
  border: 1px solid #e5e7eb !important;
  color: #283618 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  border-radius: 8px !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #283618 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(40,54,24,0.1) !important;
}
input::placeholder, textarea::placeholder { color: #9ca3af !important; }
.section-label, .label, .tag, .badge {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #9ca3af !important;
}
.price, .stat-number, .amount, .pricing-price {
  font-family: 'Red Hat Display', sans-serif !important;
  color: #283618 !important;
  font-weight: 800 !important;
}
[style*="color: #283618"], [style*="color:#283618"],
[style*="color: var(--gold)"], [style*="color:var(--gold)"],
.gold, .accent, .highlight { color: #283618 !important; }
[style*="background: #283618"], [style*="background:#283618"],
[style*="background-color: #283618"],
.bg-gold, .bg-accent {
  background: #283618 !important;
  color: #F0EFEB !important;
}
table, th, td { border-color: #e5e7eb !important; }
th {
  background: #283618 !important;
  color: #F0EFEB !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
td {
  background: #FFFFFF !important;
  color: #283618 !important;
}
.modal, .modal-content, .gg-modal {
  background: #FFFFFF !important;
  border: 1px solid #e5e7eb !important;
  color: #283618 !important;
}
.modal-overlay, .gg-modal-overlay {
  background: rgba(40,54,24,0.6) !important;
  backdrop-filter: blur(4px) !important;
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F0EFEB; }
::-webkit-scrollbar-thumb { background: #D4D4D4; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }
.status, .badge-status {
  border-radius: 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
}
.gg-toast, .toast {
  background: #283618 !important;
  color: #F0EFEB !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.chat-widget, .chat-toggle, .chatbot-toggle {
  background: #283618 !important;
  color: #F0EFEB !important;
}
a {
  color: #283618;
  transition: color 0.2s ease;
}
hr { border-color: #e5e7eb !important; }
code, pre {
  background: #FFFFFF !important;
  border: 1px solid #e5e7eb !important;
  color: #283618 !important;
  font-family: 'Berkeley Mono', 'SF Mono', monospace !important;
}
[style*="background: #0a0a"], [style*="background:#0a0a"],
[style*="background: #1a1a1a"], [style*="background:#1a1a1a"],
[style*="background: #000"], [style*="background:#000"],
[style*="background-color: #0a0a"], [style*="background-color:#0a0a"],
[style*="background-color: #1a1a1a"], [style*="background-color:#1a1a1a"] {
  background: #F0EFEB !important;
}
/* gradient override removed - was causing blank sections */
[style*="color: #F0EFEB"], [style*="color:#F0EFEB"],
[style*="color: #fff"], [style*="color:#fff"],
[style*="color: #eee"], [style*="color:#eee"],
[style*="color: white"], [style*="color:white"] {
    color: #283618 !important;
}

/* Canonical Book Now button — matches homepage across all pages */
.btn-nav,
nav a.btn-nav,
.nav-links a.btn-nav,
header a.btn-nav {
    background: #283618 !important;
    color: #F0EFEB !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: all .2s;
    display: inline-block;
}
.btn-nav:hover,
nav a.btn-nav:hover,
.nav-links a.btn-nav:hover,
header a.btn-nav:hover {
    background: #e4c76b !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}


/* === Map section SVG visibility === */
#footprint svg path {
    fill: rgba(40, 54, 24, 0.12) !important;
    stroke: rgba(40, 54, 24, 0.3) !important;
    stroke-width: 1px !important;
}
#footprint .courier-marker circle.pulse-ring {
    fill: rgba(40, 54, 24, 0.4) !important;
}

/* === Outline button readability fix === */
.btn-outline,
a[style*="border:"][style*="background: transparent"],
a[style*="border:"][style*="background:transparent"] {
    color: #283618 !important;
    border-color: #283618 !important;
    font-weight: 600 !important;
}


/* === Force all scroll-animated content visible === */
/* Override IntersectionObserver-based animations that start at opacity:0 */
section,
section *,
.fade-in,
.slide-in,
.slide-up,
.animate-in,
[class*="fade"],
[class*="slide"],
[class*="animate"] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

/* === Mobile menu text fix — override --text-primary cream color === */
.mobile-menu a,
#mobileMenu a {
    color: #283618 !important;
    font-weight: 600 !important;
}
.mobile-menu a:hover,
#mobileMenu a:hover {
    color: #3a4f25 !important;
}
