/* ============================================================
   Guntur Farmlands — Contact Page
   ============================================================ */

/* HERO */
.contact-hero {
  background: var(--color-brown-dark);
  padding-block: 4rem 3.5rem;
  position: relative;
  overflow: hidden;
}
.contact-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 50%, rgba(216,90,48,.12), transparent 65%);
  pointer-events: none;
}
.contact-eyebrow { color: var(--color-earth-amber); }
.contact-hero h1 {
  font-family: 'Playfair Display', Georgia, serif;
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  margin-block: .75rem 1.1rem;
  animation: fadeUp .6s ease both;
}
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
.contact-hero-sub {
  color: rgba(255,255,255,.75);
  font-size: clamp(.95rem, 1.5vw, 1.05rem);
  line-height: 1.75;
  max-width: 560px;
  animation: fadeUp .6s .1s ease both;
}

/* CONTACT MAIN */
.contact-main { background: var(--color-warm-white); padding-block: 5rem; }

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 4rem;
  align-items: flex-start;
}

.contact-col-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  color: var(--color-brown-dark);
  margin-bottom: 1.5rem;
}

/* Contact info cards */
.contact-cards { display: flex; flex-direction: column; gap: .9rem; }

.contact-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: #fff;
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
  box-shadow: 0 2px 10px rgba(65,36,2,.07);
  transition: box-shadow var(--transition), transform var(--transition);
}
.contact-card:hover { transform: translateX(3px); box-shadow: 0 4px 18px rgba(65,36,2,.12); }

.contact-card-icon {
  flex-shrink: 0;
  width: 42px; height: 42px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
}
.contact-card-icon svg { width: 22px; height: 22px; }
.contact-card-icon--wa      { background: rgba(37,211,102,.12); color: #25D366; }
.contact-card-icon--email   { background: rgba(216,90,48,.1);  color: var(--color-chilli-red); }
.contact-card-icon--address { background: rgba(186,117,23,.12); color: var(--color-earth-amber); }
.contact-card-icon--time    { background: rgba(65,36,2,.07);   color: var(--color-brown-mid); }
.contact-card-icon--social  { background: rgba(216,90,48,.08); color: var(--color-chilli-red); }

.contact-card-text { display: flex; flex-direction: column; gap: .25rem; }
.contact-card-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--color-brown-mid); }
.contact-card-value { font-size: .95rem; color: var(--color-brown-dark); font-weight: 500; }
a.contact-card-value { color: var(--color-chilli-red); transition: color var(--transition); }
a.contact-card-value:hover { color: var(--color-brown-dark); }
.social-row { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* Business boxes */
.contact-business-col { display: flex; flex-direction: column; gap: 1.25rem; }

.business-box {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 1.5rem;
  box-shadow: 0 3px 14px rgba(65,36,2,.08);
  border: 1px solid rgba(65,36,2,.07);
  display: flex; flex-direction: column; gap: .9rem;
}
.business-box-header { display: flex; align-items: flex-start; gap: .9rem; }
.business-box-icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  border-radius: 10px;
  background: rgba(216,90,48,.1);
  color: var(--color-chilli-red);
  display: flex; align-items: center; justify-content: center;
}
.business-box-icon svg { width: 22px; height: 22px; }
.business-box-icon--green { background: rgba(59,109,17,.1); color: var(--color-farm-green); }
.business-box-title { font-size: 1rem; font-family: 'Playfair Display', Georgia, serif; color: var(--color-brown-dark); line-height: 1.2; margin-bottom: .3rem; }
.business-box-badge {
  display: inline-block;
  font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .15rem .55rem; border-radius: var(--radius-full);
  background: rgba(216,90,48,.1); color: var(--color-chilli-red);
}
.business-box-badge--green { background: rgba(59,109,17,.1); color: var(--color-farm-green); }
.business-box-desc { font-size: .875rem; color: #5a3d1a; line-height: 1.65; }
.business-box-btn { width: 100%; justify-content: center; font-size: .9rem; padding: .75rem 1rem; }
.business-box-btn--green { background: var(--color-farm-green); }
.business-box-btn--green:hover { background: #2d5509; }
.business-box-email { font-size: .78rem; color: var(--color-brown-mid); text-align: center; }
.business-box-email a { color: var(--color-chilli-red); font-weight: 600; }

/* Map */
.contact-map {
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(65,36,2,.12);
}

@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; gap: 3rem; } }

/* WHATSAPP CTA */
.contact-wa-cta {
  background: var(--color-cream);
  padding-block: 4rem;
}
.wa-cta-inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem 2.5rem;
  box-shadow: 0 8px 32px rgba(65,36,2,.1);
  flex-wrap: wrap;
}
.wa-cta-icon {
  flex-shrink: 0;
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(37,211,102,.12);
  color: #25D366;
  display: flex; align-items: center; justify-content: center;
}
.wa-cta-icon svg { width: 38px; height: 38px; }
.wa-cta-text { flex: 1; min-width: 220px; }
.wa-cta-text h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  color: var(--color-brown-dark);
  margin-bottom: .5rem;
}
.wa-cta-text p { font-size: .95rem; color: #5a3d1a; line-height: 1.65; }
.wa-cta-btn { flex-shrink: 0; padding: .9rem 2rem; font-size: 1rem; white-space: nowrap; }

@media (max-width: 640px) {
  .wa-cta-inner { flex-direction: column; text-align: center; align-items: center; }
  .wa-cta-btn { width: 100%; justify-content: center; }
}
