/* Hero High-Conversion Form Styles */
:root {
  --hero-form-bg: rgba(255, 255, 255, 0.96);
  --hero-form-border: rgba(214, 0, 156, 0.12);
  --hero-shadow: 0 12px 40px rgba(0,0,0,0.18);
  --hero-shadow-soft: 0 6px 18px rgba(214, 0, 156, 0.18);
}

.quote-form-card {
  background: var(--hero-form-bg);
  backdrop-filter: saturate(1.2) blur(4px);
  border: 1px solid var(--hero-form-border);
  border-radius: 16px;
  padding: 1.5rem; /* mobile */
  box-shadow: var(--hero-shadow), inset 0 0 0 1px rgba(255,255,255,0.4);
}

@media (min-width: 640px) {
  .quote-form-card { padding: 2rem; }
}

.quote-form-title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--dark-charcoal);
  margin-bottom: 0.25rem;
}

.quote-form-trust {
  font-size: 0.9375rem;
  color: var(--text-medium);
  margin-bottom: 1rem;
}

.hero-quote-form .form-group,
.hero-quote-form .form-row { margin-bottom: 0.85rem; }

.hero-quote-form .form-row { display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 640px) {
  .hero-quote-form .form-row { grid-template-columns: 1fr 1fr; }
}

.input-icon {
  position: relative;
}
.input-icon .icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; color: var(--primary-pink); opacity: 0.9;
}
.input-icon input,
.input-icon select,
.input-icon textarea,
.hero-quote-form input,
.hero-quote-form select,
.hero-quote-form textarea {
  width: 100%;
  background: #fff;
  border: 1.5px solid #e5e5e5;
  border-radius: 12px;
  padding: 0.8rem 0.95rem 0.8rem 2.4rem; /* icon space */
  font-size: 0.95rem;
  color: var(--text-dark);
  outline: none;
  transition: box-shadow .25s ease, border-color .25s ease, transform .15s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.hero-quote-form textarea { min-height: 92px; padding-left: 2.4rem; resize: vertical; }

.input-icon select { appearance: none; background-image: none; /* keep clean */ }

.hero-quote-form input:focus,
.hero-quote-form select:focus,
.hero-quote-form textarea:focus {
  border-color: var(--primary-pink);
  box-shadow: 0 0 0 4px rgba(214,0,156,0.08), var(--hero-shadow-soft);
}

.btn-hero-cta {
  width: 100%;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  background: linear-gradient(135deg, var(--primary-pink) 0%, var(--light-pink) 100%);
  color: #fff; border: 0; border-radius: 12px; padding: 0.95rem 1.25rem;
  font-weight: 600; font-size: 1.05rem; cursor: pointer;
  box-shadow: 0 10px 24px rgba(214,0,156,0.25);
  transition: transform .2s ease, box-shadow .25s ease;
}
.btn-hero-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(214,0,156,0.35); }
.btn-hero-cta:active { transform: translateY(-1px); }
.btn-hero-cta .arrow { transition: transform .2s ease; }
.btn-hero-cta:hover .arrow { transform: translateX(3px); }

.form-micro-trust { margin-top: 0.85rem; display: grid; gap: 0.35rem; }
.form-micro-trust li { display: flex; align-items: center; gap: .5rem; color: var(--text-medium); font-size: .9rem; }
.form-micro-trust svg { color: #10b981; }

/* Clean hero backdrop - no dark overlay for bright, modern look */
/* Removed dark overlay to keep hero section clean and elegant */

/* Contact layout helpers */
.contact-hero-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 900px) { .contact-hero-grid { grid-template-columns: 1.1fr .9fr; align-items: start; } }

/* Trust & Security section */
.trust-security {
  background: linear-gradient(180deg, #fff 0%, #fdf2f8 100%);
  border-top: 1px solid rgba(214,0,156,0.08);
  border-bottom: 1px solid rgba(214,0,156,0.08);
  padding: 3rem 0;
}
.trust-security .trust-block { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.trust-security .trust-lock { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: #fff; border: 1px solid rgba(214,0,156,0.15); box-shadow: 0 8px 24px rgba(214,0,156,0.15); color: var(--primary-pink); }
.trust-security h3 { font-family: var(--font-heading); color: var(--dark-charcoal); margin-bottom: .5rem; }
.trust-security p { color: var(--text-medium); }

/* Local SEO section */
.local-seo { padding: 3rem 0; }
.local-seo h2 { font-family: var(--font-heading); color: var(--primary-pink); margin-bottom: .5rem; }
.local-seo p { color: var(--text-medium); }
.local-seo .areas { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.local-seo .areas .tag { background: #fff; border:1px solid #eee; color: var(--text-dark); padding: .4rem .7rem; border-radius: 999px; font-size: .85rem; }
