/* =========================================================
   MERTHERAPY - FOOTER COMPLETO + 12 LANDINGS
   CSS encapsulado: no modifica el resto de WordPress.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

.mer-footer, .mer-footer *, .mer-footer *::before, .mer-footer *::after {
  box-sizing: border-box;
}
.mer-footer {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  background: radial-gradient(circle at 15% 30%,rgba(255,255,255,.025),transparent 30%), #403630;
  color: #f7f2ec;
  font-family: 'Manrope',Arial,sans-serif;
  overflow-wrap: break-word;
}
.mer-footer-inner {
  width: calc(100% - 90px);
  max-width: 1740px;
  margin: 0 auto;
  padding: 75px 0 55px;
}

/* =========================================================
   GRID SUPERIOR - ORIGINAL (4 COLUMNAS)
   ========================================================= */
.mer-footer-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr) minmax(0,1.1fr) minmax(0,.65fr);
  column-gap: clamp(25px,4vw,80px);
  row-gap: 60px;
  align-items: start;
}
.mer-footer-grid > * { min-width: 0; }
.mer-footer-brand { padding-right: 18px; }
.mer-footer-logo { display: inline-block; text-decoration: none; }
.mer-footer-logo img { display: block; width: 260px; max-width: 100%; height: auto; }
.mer-footer-accent { display: block; width: 54px; height: 2px; margin: 26px 0; background: #18c5d1; }
.mer-footer-description { max-width: 355px; margin: 0; color: rgba(247,242,236,.82); font-size: 17px; font-weight: 400; line-height: 1.75; }
.mer-footer .mer-footer-column h3 {
  margin: 0;
  color: #f7f2ec;
  font-family: 'Manrope',Arial,sans-serif !important;
  font-size: 20px;
  font-weight: 500 !important;
  line-height: 1.3;
  letter-spacing: 0 !important;
}
.mer-footer-title-line { display: block; width: 47px; height: 2px; margin: 17px 0 22px; background: #18c5d1; }
.mer-footer-links { display: flex; flex-direction: column; gap: 8px; }
.mer-footer-links a, .mer-footer-socials a {
  color: rgba(247,242,236,.78);
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
  transition: color .2s ease,transform .2s ease;
}
.mer-footer-links a { width: fit-content; max-width: 100%; line-height: 1.45; }
.mer-footer :is(.mer-footer-links a,.mer-footer-socials a,.mer-footer-treatments a):hover {
  color: #18c5d1;
  transform: translateX(3px);
}
.mer-footer-contact { min-width: 0; }
.mer-footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  margin-bottom: 22px;
  color: rgba(247,242,236,.82);
  text-decoration: none;
  font-size: 16px;
  line-height: 1.55;
  transition: color .2s ease;
}
.mer-footer a.mer-footer-contact-item:hover { color: #18c5d1; }
.mer-footer-icon { width: 24px; min-width: 24px; margin-top: 1px; }
.mer-footer-icon svg {
  display: block;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: #f7f2ec;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mer-footer-socials { display: flex; flex-direction: column; gap: 15px; }
.mer-footer-socials a { display: flex; align-items: center; gap: 16px; width: fit-content; max-width: 100%; }
.mer-footer-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; min-width: 28px; }
.mer-footer-social-icon svg { display: block; width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.mer-footer-socials a:nth-child(2) svg,.mer-footer-socials a:nth-child(3) svg { fill: currentColor; stroke: none; }
.mer-footer-socials a:nth-child(4) svg { fill: none; stroke: currentColor; }
.mer-footer-socials .mer-youtube-play { fill: currentColor; stroke: none; }

/* =========================================================
   NUEVA SECCIÓN / 12 LANDINGS
   ========================================================= */
.mer-footer-treatments {
  margin-top: 58px;
  padding-top: 40px;
  border-top: 1px solid rgba(247,242,236,.22);
}
.mer-footer-treatments-heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px 26px;
  margin-bottom: 28px;
}
.mer-footer .mer-footer-treatments-heading h2 {
  margin: 0;
  color: #f7f2ec;
  font-family: 'Manrope',Arial,sans-serif !important;
  font-size: 21px;
  font-weight: 600 !important;
  line-height: 1.3;
  letter-spacing: 0 !important;
}
.mer-footer-treatments-heading p {
  margin: 0;
  color: rgba(247,242,236,.65);
  font-size: 13px;
  line-height: 1.6;
}
.mer-footer-treatments-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px 45px;
}
.mer-footer-treatments-group { min-width: 0; }
.mer-footer .mer-footer-treatments-group h3 {
  margin: 0 0 17px;
  color: #9bdee0;
  font-family: 'Manrope',Arial,sans-serif !important;
  font-size: 13px;
  font-weight: 700 !important;
  line-height: 1.5;
  letter-spacing: .07em !important;
  text-transform: uppercase;
}
.mer-footer-treatments-group nav { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.mer-footer-treatments-group nav a {
  display: inline-block;
  max-width: 100%;
  color: rgba(247,242,236,.78);
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  transition: color .2s ease,transform .2s ease;
}
.mer-footer :is(a,button):focus-visible { outline: 2px solid #18c5d1; outline-offset: 4px; }

/* =========================================================
   FRANJA INFERIOR ORIGINAL
   ========================================================= */
.mer-footer-bottom { display: grid; grid-template-columns: auto minmax(100px,1fr) auto; align-items: center; gap: 25px; margin-top: 53px; }
.mer-footer-copy { white-space: nowrap; color: rgba(247,242,236,.75); font-size: 14px; }
.mer-footer-bottom-line { width: 100%; height: 1px; background: rgba(247,242,236,.38); }
.mer-footer-tagline { display: flex; align-items: center; gap: 25px; white-space: nowrap; color: rgba(247,242,236,.8); font-size: 14px; font-weight: 500; }
.mer-footer-tagline span { display: block; width: 46px; height: 2px; background: #18c5d1; }

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1200px) {
  .mer-footer-inner { width: calc(100% - 60px); }
  .mer-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 52px 60px; }
  .mer-footer-logo img { width: 220px; }
  .mer-footer-treatments-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 55px; }
}

/* =========================================================
   MÓVIL
   ========================================================= */
@media (max-width: 700px) {
  .mer-footer-inner { width: calc(100% - 40px); padding: 55px 0 35px; }
  .mer-footer-grid { grid-template-columns: 1fr; row-gap: 45px; }
  .mer-footer-brand { padding-right: 0; }
  .mer-footer-logo img { width: 210px; }
  .mer-footer-description { font-size: 16px; }
  .mer-footer-treatments { margin-top: 45px; padding-top: 34px; }
  .mer-footer-treatments-heading { display: block; margin-bottom: 27px; }
  .mer-footer-treatments-heading p { margin-top: 9px; }
  .mer-footer-treatments-grid { grid-template-columns: 1fr; gap: 32px; }
  .mer-footer-treatments-group nav { gap: 11px; }
  .mer-footer-bottom { grid-template-columns: 1fr; gap: 18px; margin-top: 45px; }
  .mer-footer-bottom-line { order: 2; }
  .mer-footer-copy { order: 1; }
  .mer-footer-tagline { order: 3; justify-content: space-between; white-space: normal; }
}
@media (max-width: 420px) {
  .mer-footer-logo img { width: 190px; }
  .mer-footer .mer-footer-column h3 { font-size: 19px; }
  .mer-footer-contact-item,.mer-footer-links a,.mer-footer-socials a { font-size: 15px; }
}

/* Solo el contenedor Gutenberg que contiene este footer: sin resetear todo el tema */
.wp-block-html:has(> .mer-footer) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
