/* Mertherapy Home Slider 2.1: tipografía editorial, aislada del tema WordPress. */
.mer-slider-home, .mer-slider-home * { box-sizing: border-box; }
.mer-slider-home {
  --mer-ink: #293442;
  --mer-text: #405064;
  --mer-gold: #cfa16c;
  --mer-teal: #12c2cc;
  --mer-slider-height: clamp(675px, 42vw, 810px);
  position: relative; isolation: isolate; display: grid;
  width: 100%; max-width: 100%; min-height: var(--mer-slider-height);
  overflow: hidden; background: #fcfaf7; color: var(--mer-ink);
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}
.mer-slider-home__slide {
  grid-area: 1 / 1; position: relative; min-width: 0;
  min-height: var(--mer-slider-height);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .95s cubic-bezier(.4,0,.2,1), visibility 0s linear .95s;
}
.mer-slider-home__slide.is-active {
  opacity: 1; visibility: visible; pointer-events: auto; z-index: 1;
  transition: opacity .95s cubic-bezier(.4,0,.2,1), visibility 0s;
}
.mer-slider-home__photo { position: absolute; inset: 0; overflow: hidden; background: #f7f2ec; }
.mer-slider-home__photo img {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: var(--img-x, center) center;
  transform: scale(1.015); transition: transform 7s ease-out;
}
.mer-slider-home__slide.is-active .mer-slider-home__photo img { transform: scale(1); }
.mer-slider-home__photo::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, #fcfaf7 0%, rgba(252,250,247,.98) 17%, rgba(252,250,247,.88) 33%, rgba(252,250,247,.35) 54%, rgba(252,250,247,0) 73%);
}
.mer-slider-home__inner {
  position: relative; z-index: 2; display: flex; align-items: center;
  width: calc(100% - clamp(50px, 13.75vw, 270px));
  max-width: 1680px; min-height: var(--mer-slider-height); margin: 0 auto;
}
.mer-slider-home__copy {
  width: 100%; max-width: min(810px, 53vw);
  min-width: 0; padding: 52px 0 62px;
}
/* 1. Cabecera pequeña, mayúscula, con tracking muy amplio. */
.mer-slider-home .mer-slider-home__eyebrow {
  margin: 0 0 clamp(22px, 2.15vw, 40px); color: #37465a;
  font-family: 'Manrope', Arial, sans-serif; font-size: clamp(13px, .95vw, 19px);
  font-weight: 600; line-height: 1.5; letter-spacing: .33em;
  text-transform: uppercase; overflow-wrap: break-word;
}
/* 2 + 3. Titular clásico oscuro y segunda línea dorada en cursiva. */
.mer-slider-home .mer-slider-home__title {
  max-width: 100%; margin: 0 0 clamp(14px, 1.3vw, 26px); padding: 0;
  border: 0; background: transparent; text-transform: none;
  color: var(--mer-ink); font-family: 'Cormorant Garamond', 'GFS Didot', Georgia, serif !important;
  font-size: clamp(78px, 7.1vw, 142px) !important;
  font-style: normal; font-weight: 400 !important;
  line-height: .89 !important; letter-spacing: -.046em !important;
  text-align: left; text-shadow: none;
  font-kerning: normal;
}
.mer-slider-home__title-main, .mer-slider-home__title-accent { display: block; }
.mer-slider-home .mer-slider-home__title-main {
  font-family: inherit; font-size: 1em; font-style: normal;
  font-weight: 400; line-height: .92; text-wrap: balance;
}
.mer-slider-home .mer-slider-home__title-accent {
  width: fit-content; max-width: 100%;
  margin: -.035em 0 .02em .015em; padding-right: .085em;
  color: var(--mer-gold); font-family: inherit;
  font-size: 1.075em; font-style: italic; font-weight: 400;
  letter-spacing: -.055em; line-height: .90; text-wrap: balance;
  transform: scale(1.24); transform-origin: left top;
}
.mer-slider-home .mer-slider-home__title-accent.is-medium,
.mer-slider-home .mer-slider-home__title-accent.is-long { transform: none; }
@supports (-webkit-background-clip: text) or (background-clip: text) {
  .mer-slider-home .mer-slider-home__title-accent {
    background: linear-gradient(104deg, #bc8d53 4%, #c99b68 43%, #dbb888 88%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
/* Escala inteligente para titulares largos: la frase corta conserva todo su impacto. */
.mer-slider-home .mer-slider-home__title-main.is-medium { font-size: .80em; line-height: 1; }
.mer-slider-home .mer-slider-home__title-main.is-long { font-size: .68em; line-height: 1.04; }
.mer-slider-home .mer-slider-home__title-accent.is-medium { font-size: .84em; line-height: .97; }
.mer-slider-home .mer-slider-home__title-accent.is-long { font-size: .68em; line-height: 1.06; }
/* 4. Descripción sans serif grande, ligera y muy legible. */
.mer-slider-home .mer-slider-home__description {
  max-width: 735px; margin: 0 0 clamp(24px, 1.7vw, 35px);
  color: var(--mer-text); font-family: 'Manrope', Arial, sans-serif;
  font-size: clamp(20px, 1.50vw, 30px); font-weight: 400;
  line-height: 1.44; letter-spacing: -.03em;
}
.mer-slider-home .mer-slider-home__description p {
  margin: 0 0 12px; color: inherit; font-family: inherit;
  font-size: inherit; font-weight: inherit; line-height: inherit;
  letter-spacing: inherit;
}
.mer-slider-home .mer-slider-home__description p:last-child { margin-bottom: 0; }
.mer-slider-home__description a { color: #087f89; text-underline-offset: 3px; }
.mer-slider-home__description ul { margin: 0 0 12px 24px; }
.mer-slider-home__description strong { font-weight: 600; }
.mer-slider-home .mer-slider-home__cta {
  display: inline-flex; min-height: clamp(66px, 4.5vw, 88px);
  min-width: clamp(290px, 20vw, 390px);
  align-items: center; justify-content: center;
  gap: clamp(22px, 2.3vw, 45px); padding: 12px 38px;
  background: var(--mer-teal); color: #fff; text-decoration: none;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: clamp(19px, 1.38vw, 27px); font-weight: 500;
  line-height: 1.25; border: none; border-radius: 0;
  transition: background .22s ease, transform .22s ease;
}
.mer-slider-home .mer-slider-home__cta:hover { background: #0eb4be; color: #fff; transform: translateY(-2px); }
.mer-slider-home__cta span { font-size: 1.16em; line-height: 1; }
/* Control de carrusel y accesibilidad. */
.mer-slider-home__controls { position: absolute; z-index: 10; inset: 0; pointer-events: none; }
.mer-slider-home .mer-slider-home__arrow {
  position: absolute; top: 50%; display: inline-flex;
  width: clamp(46px, 3.65vw, 72px); height: clamp(46px, 3.65vw, 72px);
  margin: 0; padding: 0; align-items: center; justify-content: center;
  border: 1px solid rgba(47,42,40,.13); border-radius: 50%;
  background: rgba(255,255,255,.88); color: #293442;
  -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
  cursor: pointer; pointer-events: auto; transform: translateY(-50%);
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.mer-slider-home__arrow svg {
  display: block; width: 26px; height: 26px; fill: none;
  stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.mer-slider-home__arrow--prev { left: clamp(13px, 1.7vw, 34px); }
.mer-slider-home__arrow--next { right: clamp(13px, 1.7vw, 34px); }
.mer-slider-home .mer-slider-home__arrow:hover { background: #fff; border-color: var(--mer-teal); color: #089ba6; }
.mer-slider-home__arrow:focus-visible, .mer-slider-home__cta:focus-visible { outline: 2px solid var(--mer-teal); outline-offset: 3px; }
.mer-slider-home__sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
@media (max-width: 1350px) {
  .mer-slider-home { --mer-slider-height: 675px; }
  .mer-slider-home__copy { max-width: min(670px, 55vw); }
  .mer-slider-home .mer-slider-home__title { font-size: clamp(66px, 7.2vw, 102px) !important; }
  .mer-slider-home .mer-slider-home__description { font-size: clamp(19px, 1.68vw, 24px); }
}
@media (max-width: 1024px) {
  .mer-slider-home { --mer-slider-height: 610px; }
  .mer-slider-home__inner { width: calc(100% - 118px); }
  .mer-slider-home__copy { max-width: 57vw; padding: 42px 0; }
  .mer-slider-home .mer-slider-home__title { font-size: clamp(58px, 7.5vw, 76px) !important; }
  .mer-slider-home .mer-slider-home__eyebrow { font-size: 12px; letter-spacing: .23em; }
  .mer-slider-home .mer-slider-home__description { font-size: 19px; line-height: 1.5; }
  .mer-slider-home .mer-slider-home__cta { min-width: 0; min-height: 60px; font-size: 18px; gap: 20px; }
}
@media (max-width: 767px) {
  .mer-slider-home { --mer-slider-height: 0px; min-height: 0; }
  .mer-slider-home__slide { display: grid; grid-template-rows: 340px auto; min-height: 0; }
  .mer-slider-home__photo { position: relative; inset: auto; grid-row: 1; width: 100%; height: 340px; }
  .mer-slider-home__photo::after { display: none; }
  .mer-slider-home__photo img { object-position: var(--img-mobile-x, center) center; transform: none !important; transition: none; }
  .mer-slider-home__inner {
    grid-row: 2; width: 100%; min-height: 0; padding: 0 26px;
    background: #fcfaf7;
  }
  .mer-slider-home__copy { max-width: 100%; padding: 38px 0 48px; }
  .mer-slider-home .mer-slider-home__eyebrow { margin-bottom: 22px; font-size: 12px; letter-spacing: .23em; }
  .mer-slider-home .mer-slider-home__title { margin-bottom: 16px; font-size: clamp(47px, 10.5vw, 75px) !important; }
  .mer-slider-home .mer-slider-home__title-main { line-height: .95; }
  .mer-slider-home .mer-slider-home__title-accent { line-height: .95; }
  .mer-slider-home .mer-slider-home__description { max-width: 100%; margin-bottom: 27px; font-size: 18px; line-height: 1.55; letter-spacing: -.015em; }
  .mer-slider-home .mer-slider-home__cta { width: 100%; min-height: 62px; padding: 12px 22px; font-size: 18px; }
  .mer-slider-home .mer-slider-home__arrow { top: 170px; width: 44px; height: 44px; }
  .mer-slider-home__arrow svg { width: 20px; height: 20px; }
  .mer-slider-home__arrow--prev { left: 12px; }
  .mer-slider-home__arrow--next { right: 12px; }
}
@media (max-width: 420px) {
  .mer-slider-home__slide { grid-template-rows: 300px auto; }
  .mer-slider-home__photo { height: 300px; }
  .mer-slider-home__inner { padding: 0 21px; }
  .mer-slider-home .mer-slider-home__title { font-size: clamp(43px, 11vw, 54px) !important; }
  .mer-slider-home .mer-slider-home__eyebrow { letter-spacing: .17em; }
  .mer-slider-home .mer-slider-home__arrow { top: 150px; width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .mer-slider-home__slide, .mer-slider-home__photo img, .mer-slider-home__arrow { transition: none !important; }
}
