/*
 * FoodX / Shaktisarvo site footer.
 * Rendered by the foodx/footer block in parts/footer.html.
 * fx-ft- prefix throughout to stay clear of the other sections.
 */

/* No bottom padding: the card's flat bottom edge should sit flush with the
 * end of the page, so only the top corners are rounded. */
.fx-ft{
  box-sizing:border-box;
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  padding:8px 0 0;
}
.fx-ft *{ box-sizing:border-box; }
.fx-ft-in{
  width:100%; margin:0;
  background:#fff; border:0; border-top:1px solid #EDEFEC;
  border-radius:0;
  padding:48px 56px 32px;
}

/* ---------------- columns ---------------- */
.fx-ft-cols{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr;
  gap:44px; padding-bottom:34px;
}

/* brand */
.fx-ft-logo{ display:inline-flex; align-items:center; gap:14px; text-decoration:none; margin-bottom:20px; }
.fx-ft-logo .fx-mark{
  width:46px; height:46px; border-radius:50%; flex:none; object-fit:cover;
}
.fx-ft-logo-img{
  height:46px; width:auto; max-width:240px; flex:none; object-fit:contain;
}
.fx-ft-logo-name{
  font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:800; font-size:18px; letter-spacing:.02em; color:#1B4D3E;
}
.fx-ft-about{
  margin:0 0 22px; max-width:330px;
  font-size:13.5px; line-height:1.7; color:#7C8983;
}

.fx-ft-social{ list-style:none; margin:0; padding:0; display:flex; gap:10px; }
.fx-ft-social a{
  width:38px; height:38px; border-radius:50%;
  background:#EFF6EC; display:flex; align-items:center; justify-content:center;
  transition:background .18s;
}
.fx-ft-social a:hover{ background:#DFEED6; }

/* link columns */
.fx-ft-h{
  margin:0 0 18px; font-size:12.5px; font-weight:800;
  letter-spacing:.09em; color:#1B4D3E;
}
.fx-ft-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.fx-ft-links a{
  font-size:14px; color:#4A5A52; text-decoration:none;
  transition:color .18s;
}
.fx-ft-links a:hover{ color:#4CBB17; }

/* newsletter */
.fx-ft-news-text{ margin:0 0 16px; font-size:13.5px; line-height:1.65; color:#7C8983; max-width:300px; }
.fx-ft-note{ margin:0 0 12px; font-size:12.5px; font-weight:700; }
.fx-ft-note--ok{ color:#2F7D32; }
.fx-ft-note--bad{ color:#D93A2B; }

.fx-ft-form{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fx-ft-input{
  flex:1; min-width:180px;
  background:#FAFBF9; border:1.5px solid #E4E9E1; border-radius:999px;
  padding:12px 20px; font-family:inherit; font-size:13.5px; color:#1B2A24;
  transition:border-color .18s;
}
.fx-ft-input::placeholder{ color:#A9B2AC; }
.fx-ft-input:focus{ outline:0; border-color:#4CBB17; }
.fx-ft-join{
  flex:none; border:0; cursor:pointer;
  background:#E58E26; color:#fff;
  border-radius:999px; padding:12px 26px;
  font-family:inherit; font-size:14px; font-weight:800;
  transition:background .18s;
}
.fx-ft-join:hover,.fx-ft-join:focus-visible{ background:#CE7C1B; }

/* ---------------- base row ---------------- */
.fx-ft-base{
  border-top:1px solid #EDEFEC; padding-top:22px;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.fx-ft-copy,.fx-ft-legal{ margin:0; font-size:12.5px; color:#98A29D; }

/* ======================= RESPONSIVE ======================= */
@media (max-width:1000px){
  .fx-ft-in{ padding:38px 32px 26px; }
  .fx-ft-cols{ grid-template-columns:1fr 1fr; gap:34px; }
  .fx-ft-brand{ grid-column:1 / span 2; }
  .fx-ft-news{ grid-column:1 / span 2; }
  .fx-ft-about{ max-width:none; }
  .fx-ft-news-text{ max-width:none; }
}

@media (max-width:560px){
  .fx-ft-in{ width:calc(100% - 28px); padding:30px 22px 22px; border-radius:22px 22px 0 0; }
  .fx-ft-cols{ grid-template-columns:1fr; gap:28px; }
  .fx-ft-brand,.fx-ft-news{ grid-column:1; }
  .fx-ft-form{ flex-wrap:nowrap; }
  .fx-ft-input{ min-width:0; }
  .fx-ft-join{ padding:12px 20px; }
  .fx-ft-base{ flex-direction:column; align-items:flex-start; gap:8px; }
}

@media (prefers-reduced-motion:reduce){
  .fx-ft-social a,.fx-ft-links a,.fx-ft-input,.fx-ft-join{ transition:none !important; }
}
