:root{
  --fn-green:#506B3B;
  --fn-orange:#FC8B2F;
  --fn-white:#ffffff;
  --fn-dark:#1F1F1F;
}

.fresh-footer{
  position:relative;
  width:100%;
  background:var(--fn-white);
  color:var(--fn-dark);
  font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  padding:64px 24px 30px;
  box-shadow:0 -8px 18px rgba(0,0,0,.06);
}
.fresh-footer::before{
  content:"";
  position:absolute; inset:0 0 auto 0;
  height:18px; pointer-events:none;
  background:linear-gradient(to bottom, rgba(80,107,59,0.25) 0%, rgba(80,107,59,0.10) 50%, rgba(80,107,59,0) 100%);
}

.fresh-footer .container{
  max-width:1200px; margin:0 auto;
  display:grid; gap:36px;
  grid-template-columns:1.2fr 1fr 1fr;
}

.fresh-footer .brand{ display:flex; flex-direction:column; gap:14px; }
.fresh-footer .brand .logo img{ width:220px; height:auto; display:block; }
.fresh-footer .brand p{ margin:6px 0 0; line-height:1.7; color:var(--fn-dark); }

.fresh-footer h4{ font-family:"Bodoni Moda",serif; font-size:20px; margin:6px 0 14px; color:var(--fn-green); }
.fresh-footer ul{ list-style:none; margin:0; padding:0; }
.fresh-footer a{ color:var(--fn-dark); text-decoration:none; display:inline-flex; align-items:center; gap:10px; padding:6px 0; transition:color .2s ease, transform .2s ease; }
.fresh-footer a:hover{ color:var(--fn-orange); transform:translateX(2px); }

.fresh-footer .contact li{ padding:6px 0; color:var(--fn-dark); }
.fresh-footer .contact i{ width:20px; text-align:center; color:var(--fn-orange); }

.fresh-footer .social{ display:flex; gap:10px; margin-top:10px; }
.fresh-footer .social a{ width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--fn-green); color:var(--fn-green); border-radius:10px; transition:.2s; }
.fresh-footer .social a:hover{ border-color:var(--fn-orange); color:var(--fn-orange); }

.fresh-footer .bottom{
  max-width:1200px; margin:28px auto 0; padding-top:16px;
  border-top:1px solid rgba(0,0,0,.1);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:14px; color:var(--fn-dark);
}

.fresh-footer .bottom a{ color:var(--fn-dark); }
.fresh-footer .bottom a:hover{ color:var(--fn-orange); }

@media (max-width:992px){ .fresh-footer .container{ grid-template-columns:1fr 1fr; } }
@media (max-width:680px){
  .fresh-footer{ padding:48px 18px 20px; }
  .fresh-footer .container{ grid-template-columns:1fr; }
  .fresh-footer .brand .logo img{ width:200px; }
}

/* Accesibilidad: sr-only */
.sr-only { position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); white-space:nowrap; border:0; padding:0; margin:-1px; }
