/*==========================================================
  #FOOTER  — Varniraj Organic Agro
  Pre-footer CTA band · 4-col grid · Newsletter
  Certifications strip · Social links · Bottom bar
==========================================================*/

/* -------------------------------------------------------
   PRE-FOOTER CTA BAND
------------------------------------------------------- */
.footer-cta-band {
  background: linear-gradient(135deg,
    hsl(152,95%,28%) 0%,
    hsl(152,88%,18%) 60%,
    hsl(152,80%,14%) 100%);
  padding-block: 52px;
  position: relative;
  overflow: hidden;
}

/* decorative rings */
.footer-cta-band::before,
.footer-cta-band::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.footer-cta-band::before {
  width: 500px; height: 500px;
  border: 70px solid hsla(0,0%,100%,0.04);
  top: -200px; right: -120px;
}
.footer-cta-band::after {
  width: 260px; height: 260px;
  border: 40px solid hsla(46,100%,65%,0.06);
  bottom: -80px; left: -60px;
}

.footer-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.footer-cta-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: hsla(46,100%,65%,0.15);
  border: 1px solid hsla(46,100%,65%,0.3);
  color: hsl(46,100%,72%);
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 6px 18px;
  border-radius: 50px;
}

.footer-cta-tag ion-icon { font-size: 1.5rem; }

.footer-cta-title {
  color: #fff;
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  font-weight: 700;
  line-height: 1.25;
  max-width: 640px;
}

.footer-cta-title em {
  color: hsl(46,100%,65%);
  font-style: italic;
}

.footer-cta-subtitle {
  color: hsla(0,0%,100%,0.68);
  font-size: 1.55rem;
  line-height: 1.75;
  max-width: 500px;
}

.footer-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.footer-cta-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: hsl(152,88%,18%);
  font-size: 1.5rem;
  font-weight: 700;
  padding: 15px 32px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 8px 28px hsla(0,0%,0%,0.2);
  transition: transform 0.25s, box-shadow 0.25s;
}

.footer-cta-btn-primary ion-icon { font-size: 1.8rem; }
.footer-cta-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 38px hsla(0,0%,0%,0.3);
}

.footer-cta-btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25D366;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 15px 32px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 8px 28px hsla(145,63%,40%,0.4);
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}

.footer-cta-btn-wa ion-icon { font-size: 2rem; }
.footer-cta-btn-wa:hover {
  background: #1ebe5b;
  transform: translateY(-3px);
  box-shadow: 0 14px 38px hsla(145,63%,40%,0.55);
}

/* -------------------------------------------------------
   MAIN FOOTER BODY
------------------------------------------------------- */
.footer {
  background: hsl(206,22%,11%);
  color: hsl(0,0%,72%);
  position: relative;
  overflow: hidden;
}

/* subtle texture rings */
.footer::before {
  content: "";
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  border: 80px solid hsla(152,50%,30%,0.06);
  top: -280px; right: -200px;
  pointer-events: none;
}

.footer::after {
  content: "";
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  border: 50px solid hsla(46,100%,50%,0.04);
  bottom: 60px; left: -150px;
  pointer-events: none;
}

/* -------------------------------------------------------
   FOOTER TOP DIVIDER
------------------------------------------------------- */
.footer-divider {
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    hsl(152,60%,30%) 30%,
    hsl(152,60%,30%) 70%,
    transparent 100%);
  opacity: 0.35;
  margin: 0;
}

/* -------------------------------------------------------
   FOOTER MAIN GRID
------------------------------------------------------- */
.footer-main {
  padding-block: 64px 48px;
  position: relative;
  z-index: 1;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
}

@media (min-width: 576px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
}

@media (min-width: 992px) {
  .footer-grid { grid-template-columns: 1.8fr 1fr 1fr 1.4fr; gap: 40px; }
}

/* -------------------------------------------------------
   COL 1 — Brand
------------------------------------------------------- */
.footer-brand-col {}

.footer-logo-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-block-end: 20px;
}

.footer-logo-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: linear-gradient(135deg, hsl(152,95%,30%), hsl(152,88%,16%));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 6px 20px hsla(152,88%,20%,0.5);
}

.footer-logo-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.2;
}

.footer-logo-name {
  color: #fff;
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 700;
}

.footer-logo-sub {
  color: hsl(152,80%,48%);
  font-size: 1.15rem;
  font-weight: 600;
  font-family: 'Roboto', sans-serif;
}

.footer-brand-desc {
  color: hsl(0,0%,58%);
  font-size: 1.45rem;
  line-height: 1.85;
  margin-block-end: 28px;
  max-width: 280px;
}

/* social row */
.footer-social {
  display: flex;
  gap: 10px;
  margin-block-end: 28px;
  flex-wrap: wrap;
}

.footer-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: hsl(206,18%,16%);
  border: 1px solid hsl(206,14%,22%);
  color: hsl(0,0%,65%);
  font-size: 1.9rem;
  text-decoration: none;
  transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.25s;
}

.footer-social-link:hover {
  color: #fff;
  transform: translateY(-3px);
}

.footer-social-link.fb:hover  { background: #1877F2; border-color: #1877F2; }
.footer-social-link.ig:hover  { background: radial-gradient(circle at 30% 110%, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); border-color: #e6683c; }
.footer-social-link.li:hover  { background: #0A66C2; border-color: #0A66C2; }
.footer-social-link.wa:hover  { background: #25D366; border-color: #25D366; }

/* cert badges */
.footer-cert-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-cert-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: hsl(206,18%,16%);
  border: 1px solid hsl(206,14%,22%);
  color: hsl(152,60%,58%);
  font-size: 1.2rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 50px;
}

.footer-cert-badge ion-icon { font-size: 1.4rem; color: hsl(46,100%,65%); }

/* -------------------------------------------------------
   COL 2 / 3 — Nav lists
------------------------------------------------------- */
.footer-nav-col {}

.footer-col-title {
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  font-family: 'Playfair Display', serif;
  margin-block-end: 22px;
  position: relative;
  padding-block-end: 14px;
}

.footer-col-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background: hsl(152,88%,36%);
  border-radius: 2px;
}

.footer-nav-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: hsl(0,0%,58%);
  font-size: 1.45rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.22s, gap 0.22s;
}

.footer-nav-link ion-icon {
  font-size: 1.4rem;
  color: hsl(152,60%,42%);
  flex-shrink: 0;
  transition: transform 0.22s;
}

.footer-nav-link:hover {
  color: hsl(152,80%,52%);
  gap: 12px;
}

.footer-nav-link:hover ion-icon { transform: translateX(2px); }

.footer-coming-pill {
  display: inline-block;
  background: hsl(36,100%,50%);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 50px;
  margin-inline-start: 4px;
  vertical-align: middle;
  letter-spacing: 0.3px;
}

/* -------------------------------------------------------
   COL 4 — Contact + Newsletter
------------------------------------------------------- */
.footer-contact-col {}

.footer-contact-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-block-end: 32px;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.footer-contact-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 9px;
  background: hsl(206,18%,16%);
  border: 1px solid hsl(206,14%,22%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  color: hsl(46,100%,65%);
  transition: background 0.25s, border-color 0.25s;
}

.footer-contact-item:hover .footer-contact-icon {
  background: hsl(152,88%,20%);
  border-color: hsl(152,70%,35%);
}

.footer-contact-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.footer-contact-label {
  color: hsl(0,0%,45%);
  font-size: 1.15rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.footer-contact-value {
  color: hsl(0,0%,76%);
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.22s;
  word-break: break-all;
}

a.footer-contact-value:hover { color: hsl(152,80%,52%); }

/* newsletter mini form */
.footer-newsletter-label {
  display: block;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 700;
  margin-block-end: 12px;
}

.footer-nl-form {
  display: flex;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid hsl(206,14%,22%);
  background: hsl(206,18%,14%);
  transition: border-color 0.25s;
}

.footer-nl-form:focus-within {
  border-color: hsl(152,70%,36%);
  box-shadow: 0 0 0 3px hsla(152,70%,36%,0.15);
}

.footer-nl-input {
  flex: 1;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.4rem;
  font-family: 'Roboto', sans-serif;
  padding: 13px 16px;
  outline: none;
}

.footer-nl-input::placeholder { color: hsl(0,0%,42%); }

.footer-nl-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  background: hsl(152,88%,26%);
  color: #fff;
  font-size: 1.8rem;
  border: none;
  cursor: pointer;
  transition: background 0.25s;
  flex-shrink: 0;
}

.footer-nl-btn:hover { background: hsl(152,88%,32%); }

/* -------------------------------------------------------
   CERTIFICATIONS STRIP
------------------------------------------------------- */
.footer-certs-strip {
  border-top: 1px solid hsl(206,14%,16%);
  padding-block: 24px;
  position: relative;
  z-index: 1;
}

.footer-certs-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 28px;
}

.footer-cert-item {
  display: flex;
  align-items: center;
  gap: 7px;
  color: hsl(0,0%,50%);
  font-size: 1.3rem;
  font-weight: 500;
}

.footer-cert-item ion-icon {
  color: hsl(152,70%,40%);
  font-size: 1.7rem;
  flex-shrink: 0;
}

.footer-cert-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: hsl(206,14%,24%);
  flex-shrink: 0;
}

/* -------------------------------------------------------
   FOOTER BOTTOM BAR
------------------------------------------------------- */
.footer-bottom-bar {
  background: hsl(206,22%,8%);
  padding-block: 18px;
  border-top: 1px solid hsl(206,14%,14%);
  position: relative;
  z-index: 1;
}

.footer-bottom-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.footer-copyright {
  color: hsl(0,0%,40%);
  font-size: 1.35rem;
  line-height: 1.6;
}

.footer-copyright a {
  color: hsl(152,70%,44%);
  text-decoration: none;
  transition: color 0.22s;
}

.footer-copyright a:hover { color: hsl(152,80%,55%); }

.footer-legal-links {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0; margin: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.footer-legal-links a {
  color: hsl(0,0%,38%);
  font-size: 1.3rem;
  text-decoration: none;
  transition: color 0.22s;
}

.footer-legal-links a:hover { color: hsl(152,70%,48%); }

@media (min-width: 640px) {
  .footer-bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

/*==========================================================
  RESPONSIVE
==========================================================*/

/* Mobile */
@media (max-width: 575px) {
  .footer-cta-band     { padding-block: 40px; }
  .footer-cta-title    { font-size: 2.2rem; }
  .footer-cta-subtitle { font-size: 1.4rem; }
  .footer-cta-btn-primary,
  .footer-cta-btn-wa   { width: 100%; justify-content: center; padding: 14px 24px; }
  .footer-cta-btns     { flex-direction: column; align-items: stretch; }

  .footer-main         { padding-block: 44px 36px; }
  .footer-brand-desc   { max-width: 100%; }
  .footer-col-title    { font-size: 1.6rem; }
  .footer-nav-link     { font-size: 1.4rem; }
  .footer-logo-name    { font-size: 1.8rem; }

  .footer-certs-inner  { gap: 10px 18px; }
  .footer-cert-sep     { display: none; }
}

/* Tablet: 576–991 */
@media (min-width: 576px) and (max-width: 991px) {
  .footer-brand-col {
    grid-column: 1 / -1; /* full width on top */
  }
  .footer-brand-desc { max-width: 480px; }
}

/* Desktop 992+ */
@media (min-width: 992px) {
  .footer-cta-inner { flex-direction: row; text-align: left; justify-content: space-between; align-items: center; gap: 40px; }
  .footer-cta-title  { max-width: 480px; font-size: 3rem; }
  .footer-cta-btns   { flex-shrink: 0; }
  .footer-cta-subtitle { display: none; } /* keep it clean on desktop row layout */
}

/* Extra small */
@media (max-width: 359px) {
  .footer-logo-name  { font-size: 1.6rem; }
  .footer-logo-sub   { font-size: 1rem; }
  .footer-cta-title  { font-size: 2rem; }
}
