/* FOOD N TOURS | EDITORIAL POLISH V2
 * Uses the existing Drupal footer blocks and real social media links.
 * No fake phone numbers, addresses or menu destinations.
 * Scoped to ft-editorial-footer and the current premium Home header.
 */
#footer.ft-editorial-footer {
  --ftfe-deep: #0d2925;
  --ftfe-accent: #d9e8b8;
  --ftfe-line: rgba(233, 242, 224, .18);
  background:
    radial-gradient(ellipse at 15% 0%, rgba(121, 163, 117, .08), transparent 41%),
    linear-gradient(125deg, #0c2924, #102e29 54%, #09241f) !important;
  padding-bottom: 26px !important;
}

/* Delicate Andean contour, contained wholly inside the footer. */
#footer.ft-editorial-footer::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 2px;
  right: 0;
  left: 0;
  height: clamp(47px, 6vw, 88px);
  background: url('/themes/custom/food_and_tours/css/../img/ft-footer-andes.svg') center top / 100% 100% no-repeat;
  opacity: .78;
  pointer-events: none;
}
#footer.ft-editorial-footer > * { position: relative; z-index: 1; }
#footer.ft-editorial-footer .ftx-footer__lead,
#footer.ft-editorial-footer .ft-editorial-lead {
  padding-top: clamp(81px, 8vw, 108px) !important;
  padding-bottom: 28px !important;
  border-bottom: 1px solid var(--ftfe-line) !important;
}
#footer.ft-editorial-footer .ftx-footer__lead strong,
#footer.ft-editorial-footer .ft-editorial-lead strong {
  font-size: clamp(44px, 5vw, 65px) !important;
  line-height: 1.08 !important;
}
#footer.ft-editorial-footer .ftx-footer__lead p,
#footer.ft-editorial-footer .ft-editorial-lead p {
  max-width: 440px;
  margin-top: 9px !important;
}

/* Real content fields, no oversized green panel. */
#footer.ft-editorial-footer .ft-editorial-grid,
#footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
  grid-template-columns: 1.2fr 1fr 1fr !important;
  gap: clamp(26px, 5.5vw, 80px) !important;
  padding: 28px 0 20px !important;
  align-items: start !important;
}
#footer.ft-editorial-footer #block-blocklogofooter img {
  max-width: 100px !important;
  max-height: 100px !important;
}
#footer.ft-editorial-footer #block-blocklinksfooter a {
  padding: 3px 0 !important;
  margin: 0 0 6px !important;
  transition: color .2s ease, transform .2s ease;
}
#footer.ft-editorial-footer #block-blocklinksfooter a:hover { transform: translateX(3px); }
#footer.ft-editorial-footer #block-blockcontactusfooter {
  border-left: 1px solid var(--ftfe-line) !important;
  padding-left: clamp(22px, 3vw, 42px) !important;
}
#footer.ft-editorial-footer .ft-editorial-social {
  justify-content: flex-end !important;
  gap: 12px !important;
  padding: 14px 0 13px !important;
  border-top: 1px solid var(--ftfe-line) !important;
}
#footer.ft-editorial-footer .ft-editorial-social a {
  border-radius: 9px !important;
  transition: transform .2s ease, filter .2s ease;
}
#footer.ft-editorial-footer .ft-editorial-social a:hover {
  transform: translateY(-2px);
  filter: brightness(1.13);
}
#footer.ft-editorial-footer #block-food-and-tours-blockcopyright,
#footer.ft-editorial-footer #block-food-and-tours-blockcopyright p {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  color: #b2c6b9 !important;
}

/* Prevent anchored Home sections from getting hidden behind the fixed header.
 * Do not change the hero's intentional underlapping image. */
html { scroll-padding-top: 120px; }
#wrapper.ft-vp.ftx-home :is(section, article, h2)[id] {
  scroll-margin-top: 140px;
}
body.toolbar-fixed #wrapper.ft-vp.ftx-home #header.ftx-header {
  top: var(--drupal-displace-offset-top, 0px) !important;
}

@media (max-width: 900px) {
  #footer.ft-editorial-footer .ftx-footer__lead,
  #footer.ft-editorial-footer .ft-editorial-lead {
    padding-top: 76px !important;
    padding-bottom: 25px !important;
  }
  #footer.ft-editorial-footer .ft-editorial-grid,
  #footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
    gap: 24px !important;
  }
}
@media (max-width: 620px) {
  #footer.ft-editorial-footer::after {
    height: 52px;
    background-size: auto 100%;
  }
  #footer.ft-editorial-footer .ft-editorial-grid,
  #footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 21px 16px !important;
    padding: 23px 0 18px !important;
  }
  #footer.ft-editorial-footer .ft-editorial-grid > .field__item:last-child { grid-column: 1/-1; }
  #footer.ft-editorial-footer #block-blockcontactusfooter {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
  #footer.ft-editorial-footer .ft-editorial-social {justify-content: center !important; }
  #footer.ft-editorial-footer .ftx-footer__lead,
  #footer.ft-editorial-footer .ft-editorial-lead {
    padding-top: 67px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #footer.ft-editorial-footer a {transition: none !important;}
}

/* FTX-UI-FIX-V73-START
   Hide the legacy back-to-top control throughout the theme. */
.ft-back-to-top,
.ft-back-to-top.is-visible {
  display: none !important;
}
/* FTX-UI-FIX-V73-END */

/* FTX-FOOTER-REDESIGN-V77-START
   Food N Tours | Footer refinado V7.7
   Edicion CSS exclusivamente. Conserva bloques y enlaces reales de Drupal.
   Prioriza orden, ritmo, ancho y responsive. No afecta el Home o WhatsApp. */

/* Base compacta, alineada con el resto del diseno editorial. */
#footer.ft-editorial-footer,
#wrapper.ft-vp.ftx-home #footer.ft-editorial-footer {
  --ft77-text: #f5f6ef;
  --ft77-muted: #bdcfc4;
  --ft77-line: rgba(226,239,226,.16);
  background: linear-gradient(135deg,#0e3029 0%,#09241f 100%) !important;
  padding: 0 0 22px !important;
  overflow: hidden !important;
}
#footer.ft-editorial-footer::after {
  opacity: .37 !important;
  height: 63px !important;
}
#footer.ft-editorial-footer .ftx-footer__lead,
#wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ftx-footer__lead,
#footer.ft-editorial-footer .ft-editorial-lead {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(290px,.8fr) !important;
  align-items: center !important;
  justify-content: initial !important;
  column-gap: clamp(30px,6vw,95px) !important;
  width: min(calc(100% - 56px),1150px) !important;
  max-width: 1150px !important;
  padding: clamp(65px,7.8vw,103px) 0 36px !important;
  margin-inline: auto !important;
  border-bottom: 1px solid var(--ft77-line) !important;
}
#footer.ft-editorial-footer .ftx-footer__lead > div,
#footer.ft-editorial-footer .ft-editorial-lead > div {
  min-width: 0 !important;
  max-width: 620px !important;
}
#footer.ft-editorial-footer .ftx-footer__lead strong,
#wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ftx-footer__lead strong,
#footer.ft-editorial-footer .ft-editorial-lead strong {
  font-size: clamp(39px,4.3vw,57px) !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  margin: 10px 0 0 !important;
}
#footer.ft-editorial-footer .ftx-footer__lead p,
#footer.ft-editorial-footer .ft-editorial-lead p {
  max-width: 520px !important;
  margin: 12px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: var(--ft77-muted) !important;
}
/* Navegacion editorial ordenada en dos columnas sin elementos sueltos. */
#footer.ft-editorial-footer .ftx-footer__lead nav,
#footer.ft-editorial-footer .ft-editorial-lead nav {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  align-content: center !important;
  align-items: center !important;
  gap: 0 22px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
#footer.ft-editorial-footer .ftx-footer__lead nav a,
#footer.ft-editorial-footer .ft-editorial-lead nav a {
  display: block !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--ft77-line) !important;
  color: #e5eee4 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  text-decoration: none !important;
}
#footer.ft-editorial-footer .ftx-footer__lead nav a:hover,
#footer.ft-editorial-footer .ft-editorial-lead nav a:hover {
  color: #f7b66a !important;
  border-bottom-color: #f7b66a !important;
}
/* Importante: neutraliza la antigua grilla de CUATRO columnas del campo
   Drupal que envolvia otra grilla y desalineaba el logo y los enlaces. */
#footer.ft-editorial-footer #block-food-and-tours-groupfooterblock
.field--name-field-bloty-groupfooter-blocks:not(.ft-editorial-grid) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#footer.ft-editorial-footer .ft-footer-container,
#wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ft-footer-container {
  width: min(calc(100% - 56px),1150px) !important;
  max-width: 1150px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#footer.ft-editorial-footer .region-footer {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 0 24px !important;
  width: 100% !important;
}
#footer.ft-editorial-footer #block-food-and-tours-groupfooterblock {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}
#footer.ft-editorial-footer .ft-editorial-grid,
#footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
  display: grid !important;
  grid-template-columns: minmax(180px,.75fr) minmax(220px,1.2fr) minmax(200px,.85fr) !important;
  gap: clamp(22px,4vw,70px) !important;
  align-items: start !important;
  width: 100% !important;
  padding: 33px 0 29px !important;
  border-bottom: 1px solid var(--ft77-line) !important;
}
#footer.ft-editorial-footer .ft-editorial-grid > .field__item,
#footer.ft-editorial-footer .ft-editorial-grid > div {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
#footer.ft-editorial-footer #block-blocklogofooter {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-height: 90px !important;
  width: 100% !important;
}
#footer.ft-editorial-footer #block-blocklogofooter img {
  width: auto !important;
  max-width: 118px !important;
  max-height: 118px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
/* Enlaces reales de Drupal: dos columnas compactas. */
#footer.ft-editorial-footer #block-blocklinksfooter {
  width: 100% !important;
  min-width: 0 !important;
}
#footer.ft-editorial-footer #block-blocklinksfooter .field--name-field-bloty-linkfooter-link {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5px 22px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
}
#footer.ft-editorial-footer #block-blocklinksfooter a,
#footer.ft-editorial-footer #block-blocklinksfooter .field__item {
  margin: 0 !important;
  padding: 3px 0 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #d8e5db !important;
  text-decoration: none !important;
}
#footer.ft-editorial-footer #block-blocklinksfooter a:hover {
  color: #f7b66a !important;
}
/* Contacto se convierte en una columna legible, sin separador gigante. */
#footer.ft-editorial-footer #block-blockcontactusfooter {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 90px !important;
  padding: 0 0 0 clamp(22px,3vw,42px) !important;
  border-left: 1px solid var(--ft77-line) !important;
}
#footer.ft-editorial-footer #block-blockcontactusfooter h2,
#footer.ft-editorial-footer #block-blockcontactusfooter .field--name-field-bloty-linkfooter-title h2 {
  color: #f7f7f0 !important;
  font-size: 14px !important;
  letter-spacing: .04em !important;
  margin: 0 0 15px !important;
}
#footer.ft-editorial-footer #block-blockcontactusfooter a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 10px 13px !important;
  border: 1px solid rgba(231,245,224,.24) !important;
  border-radius: 8px !important;
  color: #ecf5e8 !important;
  text-decoration: none !important;
  transition: border-color .2s ease, background .2s ease !important;
}
#footer.ft-editorial-footer #block-blockcontactusfooter a:hover {
  border-color: #efae63 !important;
  background: rgba(239,174,99,.08) !important;
}
#footer.ft-editorial-footer #block-blockcontactusfooter a img {max-width: 26px !important; max-height: 26px !important;}
/* Zona inferior: copyright a la izquierda, redes a la derecha. */
#footer.ft-editorial-footer .ft-editorial-social {
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 0 6px !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: none !important;
}
#footer.ft-editorial-footer .ft-editorial-social img,
#footer.ft-editorial-footer .ft-editorial-social svg {
  width: 23px !important;
  height: 23px !important;
  max-width: 23px !important;
  max-height: 23px !important;
}
#footer.ft-editorial-footer #block-food-and-tours-blockcopyright {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: auto !important;
  padding: 14px 0 6px !important;
  margin: 0 !important;
  border: 0 !important;
  font-size: 11px !important;
}
#footer.ft-editorial-footer #block-food-and-tours-blockcopyright p,
#footer.ft-editorial-footer #block-food-and-tours-blockcopyright .field__item {
  color: #b1c9ba !important;
  padding: 0 !important;
  line-height: 1.65 !important;
}
#footer.ft-editorial-footer #block-food-and-tours-subscriptionfooterblock {
  grid-column: 1 / -1 !important;
}
@media (max-width: 900px) {
  #footer.ft-editorial-footer .ftx-footer__lead,
  #wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ftx-footer__lead,
  #footer.ft-editorial-footer .ft-editorial-lead {
    grid-template-columns: minmax(0,1fr) !important;
    row-gap: 21px !important;
    padding: 72px 0 28px !important;
  }
  #footer.ft-editorial-footer .ftx-footer__lead nav,
  #footer.ft-editorial-footer .ft-editorial-lead nav {max-width: 650px !important;}
  #footer.ft-editorial-footer .ft-editorial-grid,
  #footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
    grid-template-columns: minmax(125px,.7fr) minmax(170px,1.15fr) minmax(160px,.9fr) !important;
    gap: 26px !important;
  }
}
@media (max-width: 700px) {
  #footer.ft-editorial-footer .ft-editorial-grid,
  #footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 26px 20px !important;
    padding: 28px 0 26px !important;
  }
  #footer.ft-editorial-footer .ft-editorial-grid > .field__item:first-child {
    grid-column: 1 / -1 !important;
  }
  #footer.ft-editorial-footer #block-blocklogofooter {min-height: 0 !important;}
  #footer.ft-editorial-footer #block-blocklogofooter img {max-width: 96px !important; max-height: 96px !important;}
  #footer.ft-editorial-footer #block-blockcontactusfooter {
    min-height: 0 !important;
    padding-left: 16px !important;
  }
  #footer.ft-editorial-footer #block-blocklinksfooter .field--name-field-bloty-linkfooter-link {
    grid-template-columns: minmax(0,1fr) !important;
  }
}
@media (max-width: 480px) {
  #footer.ft-editorial-footer .ftx-footer__lead,
  #wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ftx-footer__lead,
  #footer.ft-editorial-footer .ft-editorial-lead,
  #footer.ft-editorial-footer .ft-footer-container,
  #wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ft-footer-container {
    width: calc(100% - 40px) !important;
  }
  #footer.ft-editorial-footer .ftx-footer__lead strong,
  #wrapper.ft-vp.ftx-home #footer.ft-editorial-footer .ftx-footer__lead strong,
  #footer.ft-editorial-footer .ft-editorial-lead strong {font-size: clamp(35px,9vw,45px) !important;}
  #footer.ft-editorial-footer .ftx-footer__lead nav,
  #footer.ft-editorial-footer .ft-editorial-lead nav {gap: 0 12px !important;}
  #footer.ft-editorial-footer .ft-editorial-grid,
  #footer.ft-editorial-footer #block-food-and-tours-groupfooterblock .ft-editorial-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 20px !important;
  }
  #footer.ft-editorial-footer .ft-editorial-grid > .field__item:first-child {grid-column: auto !important;}
  #footer.ft-editorial-footer #block-blockcontactusfooter {
    padding: 20px 0 0 !important;
    border-left: none !important;
    border-top: 1px solid var(--ft77-line) !important;
  }
  #footer.ft-editorial-footer #block-blocklinksfooter .field--name-field-bloty-linkfooter-link {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 4px 12px !important;
  }
  #footer.ft-editorial-footer .region-footer {
    grid-template-columns: minmax(0,1fr) !important;
  }
  #footer.ft-editorial-footer .ft-editorial-social,
  #footer.ft-editorial-footer #block-food-and-tours-blockcopyright {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-content: flex-start !important;
  }
  #footer.ft-editorial-footer .ft-editorial-social {padding: 13px 0 7px !important;}
  #footer.ft-editorial-footer #block-food-and-tours-blockcopyright {padding: 8px 0 !important;}
}
@media (prefers-reduced-motion:reduce) {
  #footer.ft-editorial-footer a {transition: none !important;}
}
/* FTX-FOOTER-REDESIGN-V77-END */
