/* ===== CTA Button Styles ===== */
.main-navigation .menu-cta a{
  background-color:#60A5FA;
  color:#fff !important;
  padding:10px 22px;
  border-radius:25px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  height:40px;
  line-height:1;
  margin-left:60px;
  transition:all .3s ease-in-out;
}
.main-navigation .menu-cta a:hover{
  background-color:#3B82F6;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

/* Sticky Navigation */
.main-navigation.is_stuck{
  background:#1E3A5F;
  z-index:9999;
  box-shadow:0 8px 20px rgba(17,24,39,.08);
  transition:box-shadow .2s ease,background .2s ease;
}
.main-navigation.is_stuck .main-nav > ul > li > a{ color:#fff; transition:color .2s ease; }
.main-navigation.is_stuck .main-nav > ul > li:hover > a,
.main-navigation.is_stuck .main-nav > ul > li.current-menu-item > a{ color:#60A5FA; }

.main-navigation .menu-cta > a{
  background-color:#3B82F6;
  color:#fff !important;
  padding:8px 18px;
  border-radius:25px;
  font-weight:600;
  transition:background-color .2s, transform .2s;
  margin-left:20px;
  display:inline-flex; align-items:center; height:40px;
}
.main-navigation .menu-cta > a:hover{ background-color:#2563EB; transform:translateY(-1px); }

/* Right hero map column */
.hero-map-col { 
    display:flex; 
    align-items:stretch; 
    min-height:480px; 
}

.hero-map-wrap { 
    position:relative; 
    width:100%; 
    flex:1 1 auto; 
}

.hero-map-wrap .mapsvg,
.hero-map-wrap .mapsvg-container,
.hero-map-wrap .mapsvg-viewBox,
.hero-map-wrap .mapsvg-stage { 
    width:100% !important; 
    height:100% !important; 
    background:transparent !important; 
    border:none !important;
}

.hero-map-wrap .mapsvg svg { 
    width:100% !important; 
    height:100% !important; 
}

@media (max-width:768px) { 
    .hero-map-col { 
        min-height:340px; 
    } 
}

/* Section dividers (Elementor) */
.elementor-section { 
    border-bottom:1px solid #D2D2D7; 
}

.elementor-section:last-of-type { 
    border-bottom:none; 
}

/* ===== How It Works ===== */
.hiw-step .elementor-widget-image .elementor-widget-container {
  width:150px; 
  height:88px; 
  margin:0 auto 16px; 
  position:relative;
  display:flex; 
  align-items:center; 
  justify-content:center;
}

.hiw-step svg * { 
    stroke:#3B82F6 !important; 
    fill:#3B82F6 !important; 
}

.hiw-step svg circle { 
    fill:none !important; 
    stroke:#3B82F6 !important; 
    stroke-width:10; 
}

.hiw-step .elementor-text-editor {
  text-align:center; 
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:18px; 
  line-height:1.5; 
  color:#111317;
}

.how-it-works .elementor-heading-title { 
    text-align:left; 
    margin-bottom:32px; 
    color:#1F2937; 
}

.how-it-works {
  background:#fff; 
  border:1px solid #E5EEF7; 
  border-radius:16px; 
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  padding:64px 24px;
}

/* ===== Custom Footer ===== */
.custom-footer {
  background:#1E3A5F; 
  color:#F8FAFD; 
  padding:40px 20px 20px; 
  font-family:'Inter',sans-serif;
  margin-top:40px;
}

.footer-container {
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  gap:40px;
  max-width:1200px; 
  margin:0 auto;
}

.footer-column h3 { 
    font-size:18px; 
    margin-bottom:12px; 
    color:#60A5FA; 
}

.footer-column p, .footer-column ul { 
    font-size:14px; 
    line-height:1.6; 
}

.footer-column ul { 
    list-style:none; 
    margin:0; 
    padding:0; 
}

.footer-column ul li { 
    margin-bottom:8px; 
}

.footer-column a { 
    color:#F8FAFD; 
    text-decoration:none; 
    transition:color .3s; 
}

.footer-column a:hover { 
    color:#60A5FA; 
}

.footer-bottom {
  text-align:center; 
  border-top:1px solid rgba(255,255,255,.2);
  margin-top:30px; 
  padding-top:15px; 
  font-size:13px;
}

/* Footer responsive */
@media (max-width:900px) { 
    .footer-container { 
        grid-template-columns:1fr 1fr; 
    } 
}

@media (max-width:600px) {
  .footer-container { 
    grid-template-columns:1fr; text-align:center; 
    }
  .footer-column { 
    margin-bottom:20px; 
    }
}

.site-footer { 
    display:none; 
} 

/* ===== WPForms ===== */
.custom-form .wpforms-field-label {
  font-family:'Inter',sans-serif; 
  font-weight:700; 
  font-size:15px; 
  margin-bottom:6px; 
  color:#111;
}

.custom-form input[type="text"],
.custom-form input[type="email"] {
  width:100%; 
  padding:12px; 
  border:1px solid #ccc; 
  border-radius:8px;
  font-family:'Inter',sans-serif; 
  font-weight:600; 
  font-size:15px;
  box-sizing:border-box; 
  transition:all .2s; 
  background:#fff;
}

.custom-form textarea {
  width:100%; 
  min-height:150px; 
  padding:12px; 
  border:1px solid #ccc; 
  border-radius:8px;
  font-family:'Inter',sans-serif; 
  font-weight:600; font-size:15px;
  box-sizing:border-box; 
  transition:all .2s; 
  background:#fff;
}

.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form textarea:focus {
  border-color:#3b82f6; 
  box-shadow:0 0 5px rgba(59,130,246,.3); 
  outline:none;
}

.custom-form .wpforms-submit {
  background: #3b82f6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer;
  line-height: 1 !important;
  transition: background .2s, transform .15s;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}

.custom-form .wpforms-submit:hover {
  background: #2563eb !important;
  transform: translateY(-1px);
}
