/* Lazo y Duque: correcciones limitadas al pie. */
#footer {
  overflow: visible;
  display: flow-root;
  padding-bottom: 100px;
  background-color: #252429;
}
#footer .footer-container,
#footer .footer-after {
  overflow: visible;
  height: auto;
  max-height: none;
}
#footer .footer-after {
  display: block;
  float: none;
  clear: both;
  padding-bottom: 24px;
}
#footer .footer-after .row {
  display: flow-root;
}
#footer #tmpaymentcmsblock {
  position: static !important;
  inset: auto !important;
  float: none;
  clear: both;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 24px 0 0;
  padding: 24px 0 0;
  overflow: visible;
  box-sizing: border-box;
  border-top: 1px solid #67636b;
}
#footer #tmpaymentcmsblock p,
#footer .copyright {
  color: #ddd !important;
  font-size: 14px;
  line-height: 1.7;
  text-transform: none;
  overflow-wrap: anywhere;
}
#footer #tmpaymentcmsblock p {
  max-width: 100%;
  margin: 0 0 20px;
  text-align: left;
}
#footer #tmpaymentcmsblock #payment-cms {
  margin-bottom: 24px !important;
}
#footer #tmpaymentcmsblock img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}
#footer .copyright {
  display: block;
  overflow: visible;
  margin: 0;
}
#footer .copyrightsection {
  padding: 20px 0;
  height: auto;
  max-height: none;
}
#footer #tmcms2_block,
#footer #block_contact_infos {
  max-width: 100%;
  min-width: 0;
  text-transform: none;
  font-weight: 400;
  cursor: auto;
}
#footer #block_contact_infos ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer #block_contact_infos li {
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}
#footer #block_contact_infos .laydu-footer-heading {
  color: #fff;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 20px;
  text-transform: none;
}
#footer #block_contact_infos .laydu-footer-hours {
  width: auto;
  max-width: 100%;
  color: #ddd;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  margin: 16px 0 0;
}
#footer #links_block_footer {
  margin: 0;
  padding: 8px 0;
  overflow: visible;
}
#footer #links_block_footer #tm_footerlink {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer #links_block_footer li {
  display: block;
  float: none;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
#footer #links_block_footer li::after {
  display: none;
}
#footer #links_block_footer li a,
#footer #block_contact_infos a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 4px;
  box-sizing: border-box;
  color: #ddd;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  white-space: normal;
}
#footer :is(#links_block_footer, #block_contact_infos, #tmpaymentcmsblock, .copyrightsection) a:hover {
  color: #fff;
}
#footer :is(#links_block_footer, #block_contact_infos, #tmpaymentcmsblock, .copyrightsection) a:focus,
#footer .top_button:focus {
  outline: 3px solid #fff !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 1px #252429;
}
@supports selector(:focus-visible) {
  #footer :is(#links_block_footer, #block_contact_infos, #tmpaymentcmsblock, .copyrightsection) a:focus:not(:focus-visible),
  #footer .top_button:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none;
  }
}
@media (max-width: 767px) {
  #footer .footer-container > .container,
  #footer .footer-after > .container {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  #footer #tmcms2_block {
    width: 100%;
  }
  #footer #links_block_footer #tm_footerlink {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  #footer #links_block_footer {
    text-align: left;
  }
}

/* Ayudas: ancho de lectura compartido para título, texto e imágenes. */
#footer #tmpaymentcmsblock .laydu-footer-aids {
  width: 100%;
  max-width: 75ch;
  margin: 0 auto;
  box-sizing: border-box;
  font-size: 14px;
}
#footer #tmpaymentcmsblock .laydu-footer-aid-heading {
  margin: 0 0 20px;
  color: #fff;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  text-transform: none;
}

/* Lista vertical del bloque CMS: no usa la clase links del tema. */
#footer #tmfootercmsblock {
  box-sizing: border-box;
  padding: 0 24px;
}
#footer #tmfootercmsblock .laydu-footer-legal {
  display: block;
  float: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  margin: 0;
  text-align: left;
}
#footer .laydu-footer-legal-heading {
  color: #fff;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 20px;
  text-transform: none;
}
#footer .laydu-footer-legal-list {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}
#footer .laydu-footer-legal-list li {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
#footer .laydu-footer-legal-list a {
  display: inline-block;
  max-width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 4px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: #ddd;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
#footer .laydu-footer-legal-list a:hover { color: #fff; }
#footer .laydu-footer-legal-list a:focus {
  outline: 3px solid #fff !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 1px #252429;
}
@supports selector(:focus-visible) {
  #footer .laydu-footer-legal-list a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none;
  }
}
@media (max-width: 991px) {
  #footer #tmfootercmsblock {
    width: 100%;
    float: none;
    clear: both;
    padding: 24px 0 0;
    margin: 0;
    border: 0;
  }
}

/* Alineación común de las columnas y una sola separación horizontal. */
#footer #tmcms2_block {
  box-sizing: border-box;
  padding: 0 24px;
  text-align: left;
}
#footer #block_contact_infos,
#footer #block_contact_infos .laydu-footer-heading,
#footer #block_contact_infos .laydu-footer-hours {
  text-align: left;
}
#footer #tmfootercmsblock {
  border-left: 0;
  border-right: 0;
}
#footer .footer-container > .container {
  border-bottom: 1px solid #67636b;
}
#footer .footer-after {
  border-top: 0;
  padding-top: 24px;
}
#footer #tmpaymentcmsblock {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
@media (max-width: 991px) {
  #footer #tmcms2_block { padding: 0; }
}

/* TM CMS1: tercera columna exclusivamente dentro del pie. */
#footer .footer-container .footer {
  display: flow-root;
}
#footer #tmcms1block {
  display: block;
  position: static;
  float: left;
  clear: none;
  width: 30.6%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0 24px;
  box-sizing: border-box;
  overflow: visible;
  text-align: left;
}
#footer #tmcms1block > .container {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#footer #tmcms1block #payment-cms,
#footer #tmcms1block .payment-cms {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
#footer #tmcms1block img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  transform: none;
}
#footer #tmcms1block img:hover { transform: none; }
@media (max-width: 991px) {
  #footer #tmcms1block {
    float: none;
    clear: both;
    width: 100%;
    margin-top: 24px;
    padding: 0;
  }
}

/* El contenedor interior de pagos no lleva la línea del contenedor general. */
#footer #tmcms1block > .container {
  border-bottom: 0;
}
