/*
 Theme Name:   Astra Child
 Theme URI:    https://wpastra.com/
 Description:  Child theme for Astra
 Author:       Your Name
 Author URI:   https://yourwebsite.com
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/

/* Custom CSS goes below this line */
/* ==========================================================================
   1. BASE & TAILWIND UTILITY REPLACEMENTS
   ========================================================================== */

/* Font Family & Box Sizing */
* {
  font-family: 'Montserrat', sans-serif;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/* Custom Tailwind Config Variables */
:root {
  --color-gold: #c9a84c;
  --color-gold-hover: #e0bf6a;
  --font-sans: 'Montserrat', sans-serif;
}

/* Common Tailwind Color Class Equivalents */
.bg-gold { background-color: var(--color-gold); }
.text-gold { color: var(--color-gold); }
.border-gold { border-color: var(--color-gold); }

/* Common Tailwind Button Utilities */
.btn-gold { 
  background: var(--color-gold); 
  color: #000;
  transition: background 0.2s ease; 
}
.btn-gold:hover { 
  background: var(--color-gold-hover); 
}

.btn-outline-gold { 
  border: 1px solid rgba(201, 168, 76, 0.4); 
  transition: all 0.2s ease; 
}
.btn-outline-gold:hover { 
  border-color: var(--color-gold); 
  background: rgba(201, 168, 76, 0.05); 
}

/* Navigation Links */
.nav-link { 
  border-bottom: 2px solid transparent; 
  padding-bottom: 2px; 
  transition: color 0.2s ease, border-color 0.2s ease;
}
.nav-link.active { 
  color: var(--color-gold); 
  border-color: var(--color-gold); 
}
.nav-link:hover { 
  color: #fff; 
  border-color: rgba(201, 168, 76, 0.5); 
}

/* Mobile Nav Toggle State */
#mobile-nav { 
  display: none; 
}
#mobile-nav.open { 
  display: flex; 
}


/* ==========================================================================
   2. CUSTOM COMPONENT STYLES & INTERACTION STATES
   ========================================================================== */

/* Hex Pattern Background */
.hex-bg {
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 L58 15 L58 45 L30 60 L2 45 L2 15 Z' fill='none' stroke='%23c9a84c' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 60px 60px;
}

/* Scroll Animations */
.fade-in { 
  opacity: 0; 
  transform: translateY(24px); 
  transition: opacity 0.6s ease, transform 0.6s ease; 
}
.fade-in.visible { 
  opacity: 1; 
  transform: translateY(0); 
}

/* Product Card Effects */
.product-card:hover .product-img { 
  transform: scale(1.05); 
}
.product-card:hover .product-img-box { 
  border-color: rgba(201, 168, 76, 0.5) !important; 
}

/* Feature & Icon Boxes */
.why-icon-box:hover { 
  background: var(--color-gold) !important; 
  border-color: var(--color-gold) !important; 
}
.why-icon-box:hover i { 
  color: #000 !important; 
}

/* FAQ Accordion Toggle */
.faq-item .faq-answer { 
  display: none; 
}
.faq-item.open .faq-answer { 
  display: block; 
}
.faq-item.open .faq-chevron { 
  transform: rotate(180deg); 
}
.faq-chevron { 
  transition: transform 0.3s ease; 
}

/* Table / Region Rows */
.region-row:hover { 
  background: rgba(201, 168, 76, 0.05); 
}
.region-row:hover .region-arrow { 
  transform: translateX(4px); 
}
.region-arrow { 
  transition: transform 0.2s ease; 
}

/* Badge & Card Animations */
.quality-badge:hover { 
  border-color: rgba(201, 168, 76, 0.4) !important; 
}
.quality-badge:hover .badge-icon { 
  transform: scale(1.1); 
}
.badge-icon { 
  transition: transform 0.3s ease; 
}

.testimonial-card:hover { 
  border-color: rgba(201, 168, 76, 0.5) !important; 
}

.way-card { 
  transition: all 0.3s ease; 
}
.way-card:hover .way-icon { 
  transform: scale(1.1); 
}
.way-icon { 
  transition: transform 0.3s ease; 
}

/* Custom Scrollbar Styles */
::-webkit-scrollbar { 
  width: 6px; 
}
::-webkit-scrollbar-track { 
  background: #0a0a0a; 
}
::-webkit-scrollbar-thumb { 
  background: #c9a84c44; 
  border-radius: 3px; 
}
::-webkit-scrollbar-thumb:hover { 
  background: #c9a84c88; 
}


/* ==========================================================================
   3. RESPONSIVE GRID LAYOUTS
   ========================================================================== */

/* Hero Section Layout */
.hero-grid { 
  display: grid; 
  grid-template-columns: 1fr; 
  gap: 2rem; 
  align-items: center; 
}
.hero-img-col { 
  order: 2; 
} 

@media (min-width: 1024px) { 
  .hero-grid { 
    grid-template-columns: 2fr 3fr; 
  } 
  .hero-img-col { 
    order: 2; 
  } 
}

/* Process Steps Grid */
.steps-grid { 
  display: grid; 
  grid-template-columns: 1fr 1fr; 
  gap: 1rem; 
}

@media (min-width: 1024px) { 
  .steps-grid { 
    grid-template-columns: repeat(4, 1fr); 
    gap: 0; 
  } 
}

/* Custom Tailwind Extensions */
.bg-gold { background-color: #c9a84c !important; }
.text-gold { color: #c9a84c !important; }
.border-gold { border-color: #c9a84c !important; }
.focus\:border-gold:focus { border-color: #c9a84c !important; }
.hover\:bg-gold:hover { background-color: #e0bf6a !important; }
.hover\:text-gold:hover { color: #c9a84c !important; }

/* Font Family Override */

*:not(i):not([class*="fa-"]) {
  font-family: 'Montserrat', sans-serif;
}

/* Explicitly protect Font Awesome font families */
.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}

.bg-\[\#0a0a0a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}
.text-\[\#c9a84c\] {
    --tw-text-opacity: 1;
    color: rgb(201 168 76 / var(--tw-text-opacity, 1));
}
.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.bg-\[\#0a0a0a\]\/95 {
    background-color: rgb(10 10 10 / 0.95);
}
.border-\[\#c9a84c\]\/15 {
    border-color: rgb(201 168 76 / 0.15);
}
.text-\[11px\] {
    font-size: 11px;
}