/* Referencia: cabecera, fondo de títulos y pie de la web publicada. */
body, .editor-styles-wrapper { font-family: Roboto, sans-serif; font-weight: 300; }
.wp-site-blocks { overflow: clip visible; }
.wp-site-blocks > header.wp-block-template-part {
  position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid #ebe7eb;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.yk-header { width: min(100% - 40px, 1140px); min-height: 102.5px; padding: 15px 0 17px; }
.yk-logo { flex: 0 1 250px; }
.yk-logo a { display: block; line-height: 0; }
.yk-logo img { width: 250px; height: 69px; object-fit: contain; object-position: left center; }
.yk-header .wp-block-navigation { color: #575756; font-size: 14px; font-weight: 500; line-height: 20px; text-transform: uppercase; }
.yk-header .wp-block-navigation a { color: inherit; }
.yk-header .wp-block-navigation a:hover,
.yk-header .wp-block-navigation .current-menu-item > a { color: #7d3c93; }
.yk-header .wp-block-navigation__submenu-container {
  min-width: 210px; text-transform: none; border-color: #eee6ef; box-shadow: 0 12px 28px rgba(62,52,68,.08);
}
.yk-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 10px 14px; line-height: 1.4; white-space: normal;
}
.yk-header a[href$="/cart/"]::before {
  content: ""; display: inline-block; vertical-align: -.14em; width: 14px; height: 14px; margin-right: 5px;
  background: url("assets/cart.svg") center / contain no-repeat;
}
@media (min-width: 1024px) {
  .yk-header .wp-block-navigation__container { gap: 0; }
  .yk-header .wp-block-navigation__container > .wp-block-navigation-item { min-height: 41px; padding-inline: clamp(7px, 1vw, 12px); }
}
@media (max-width: 1023px) {
  .yk-header { width: min(100% - 32px, 1140px); min-height: 76px; padding: 12px 0; }
  .yk-logo { flex-basis: 190px; }
  .yk-logo img { width: 190px; height: auto; }
  .yk-header .wp-block-navigation__responsive-container-open { display: flex; }
  .yk-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .yk-header .wp-block-navigation__submenu-container { min-width: 0; box-shadow: none; }
}
@media (max-width: 600px) {
  .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}

/* Paneles de navegación con fotografías y grupos de enlaces. */
.yk-header .yk-main-nav {
  --yk-menu-border: #e9d9ed;
  --yk-menu-accent: #743588;
  --yk-menu-ink: #3e3444;
}
.yk-main-nav .yk-menu-adultos { --yk-menu-photo: url("assets/menu/adultos.jpg"); }
.yk-main-nav .yk-menu-familia { --yk-menu-photo: url("assets/menu/familia.jpg"); }
.yk-main-nav .yk-menu-spa { --yk-menu-photo: url("assets/menu/spa.jpg"); }
.yk-main-nav .yk-menu-masajes { --yk-menu-photo: url("assets/menu/masajes.jpg"); }
.yk-main-nav .yk-menu-estetica { --yk-menu-photo: url("assets/menu/estetica.jpg"); }
.yk-main-nav .yk-menu-eventos { --yk-menu-photo: url("assets/menu/eventos.jpg"); }
.yk-main-nav .yk-menu-fitness { --yk-menu-photo: url("assets/menu/fitness.jpg"); }
.yk-main-nav .yk-menu-terapias { --yk-menu-photo: url("assets/menu/terapias.jpg"); }
.yk-main-nav .yk-menu-talleres { --yk-menu-photo: url("assets/menu/talleres.jpg"); }

.yk-header .yk-main-nav li.yk-mega-panel > ul {
  align-items: stretch;
  box-sizing: border-box;
  color: var(--yk-menu-ink);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  text-transform: none;
}
.yk-header .yk-main-nav li.yk-menu-card {
  background: linear-gradient(155deg, #fff 8%, #f4e9f7);
  border: 1px solid var(--yk-menu-border);
  border-radius: 15px;
  box-shadow: inset 0 1px #fff, 0 5px 14px rgba(73, 32, 85, .07);
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
}
.yk-header .yk-main-nav li.yk-mega-panel li.yk-menu-card > :is(a, .yk-menu-group-title) {
  align-items: center;
  box-sizing: border-box;
  color: var(--yk-menu-accent);
  display: grid;
  font-size: 16px;
  font-weight: 600;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
  line-height: 1.3;
  padding: 8px 8px 10px;
  text-align: left;
  width: 100%;
}
.yk-header .yk-main-nav li.yk-mega-panel li.yk-menu-card > a {
  align-content: start;
  border-radius: inherit;
  grid-template-columns: minmax(0, 1fr) 9px;
  height: 100%;
  padding-bottom: 14px;
}
.yk-header .yk-main-nav li.yk-menu-card > :is(a, .yk-menu-group-title)::before {
  aspect-ratio: 2.05 / 1;
  background: #eaddec;
  background-image: linear-gradient(146deg, rgba(255,255,255,.23), transparent 48%), var(--yk-menu-photo, none);
  background-position: center;
  background-size: cover;
  border-radius: 9px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  content: "";
  grid-column: 1 / -1;
}
.yk-header .yk-main-nav li.yk-menu-card > a::after {
  border-bottom: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  content: "";
  height: 6px;
  transform: rotate(-45deg);
  width: 6px;
}
.yk-header .yk-main-nav .yk-menu-links {
  align-self: stretch;
  display: grid;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0 7px 8px;
}
.yk-header .yk-main-nav .yk-menu-links > li { display: block; }
.yk-header .yk-main-nav .yk-menu-links a {
  align-items: center;
  border-radius: 7px;
  box-sizing: border-box;
  display: flex;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  min-height: 36px;
  padding: 6px 8px;
  width: 100%;
}
.yk-header .yk-main-nav li.yk-menu-card a:is(:hover, :focus-visible) {
  background: rgba(116, 53, 136, .08);
  color: #5a246d;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.yk-header .yk-main-nav :is(a, button):focus-visible {
  outline: 2px solid var(--yk-menu-accent);
  outline-offset: -2px;
}

@media (min-width: 1024px) {
  .yk-header { position: relative; }
  .yk-header > .yk-main-nav,
  .yk-header .yk-main-nav :is(.wp-block-navigation__container, .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-dialog, li.yk-mega-panel) {
    position: static;
  }
  .yk-header .yk-main-nav li.yk-mega-panel > .wp-block-navigation-submenu__toggle {
    min-height: 44px;
    padding-right: 19px;
    position: relative;
  }
  .yk-header .yk-main-nav li.yk-mega-panel > .wp-block-navigation-submenu__toggle::after {
    border-bottom: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    content: "";
    height: 6px;
    position: absolute;
    right: 3px;
    top: calc(50% - 5px);
    transform: rotate(45deg);
    width: 6px;
  }
  .yk-header .yk-main-nav li.yk-mega-panel > .wp-block-navigation-submenu__toggle[aria-expanded="true"] {
    color: var(--yk-menu-accent);
  }
  .yk-header .yk-main-nav li.yk-mega-panel > .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after {
    top: calc(50% - 2px);
    transform: rotate(225deg);
  }
  .yk-header .yk-main-nav li.yk-mega-panel > .wp-block-navigation__submenu-icon { display: none; }

  /* Continúa la zona activa entre el botón y el panel. */
  .yk-header .yk-main-nav li.yk-mega-panel > button[aria-expanded="true"]::before {
    content: "";
    height: calc(var(--yk-trigger-gap, 30px) + 1px);
    left: 0;
    position: absolute;
    right: 0;
    top: 100%;
  }
  .yk-header .yk-main-nav li.yk-mega-panel > ul {
    --yk-panel-width: min(540px, var(--yk-menu-available, 100%));
    background: linear-gradient(145deg, #fff 6%, #f5e9f7 100%);
    border: 1px solid rgba(218, 193, 224, .88);
    border-radius: 21px;
    box-shadow: inset 0 1px rgba(255,255,255,.94), 0 23px 54px rgba(60, 30, 66, .22);
    top: 100%;
    z-index: 10;
  }
  @supports (backdrop-filter: blur(1px)) {
    .yk-header .yk-main-nav li.yk-mega-panel > ul {
      backdrop-filter: blur(23px) saturate(1.35);
      background: linear-gradient(145deg, rgba(255,255,255,.91) 8%, rgba(242,226,247,.86) 100%);
    }
  }
  .yk-header .yk-main-nav li.yk-mega-panel > button[aria-expanded="true"] ~ ul.wp-block-navigation__submenu-container {
    left: clamp(var(--yk-menu-left, 0px), calc(var(--yk-trigger-center, 50%) - var(--yk-panel-width) / 2), calc(var(--yk-menu-right, 100%) - var(--yk-panel-width)));
    max-height: calc(100dvh - 145px);
    min-width: 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 14px;
    right: auto;
    width: var(--yk-panel-width);
  }
  .yk-header .yk-main-nav li.yk-mega-servicios > ul {
    --yk-panel-width: min(1120px, var(--yk-menu-available, 100%));
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 1023px) {
  .yk-header .yk-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: #fff;
    padding: 16px 16px 28px;
  }
  .yk-header .yk-main-nav .wp-block-navigation__responsive-container-open,
  .yk-header .yk-main-nav .wp-block-navigation__responsive-container-close {
    align-items: center;
    color: var(--yk-menu-accent);
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }
  .yk-header .yk-main-nav .is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch;
    gap: 12px;
    padding-top: 48px;
  }
  .yk-header .yk-main-nav .is-menu-open .wp-block-navigation__container {
    align-items: stretch;
    gap: 4px;
    max-width: 680px;
    width: 100%;
  }
  .yk-header .yk-main-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
    align-items: stretch;
    border-bottom: 1px solid var(--yk-menu-border);
    padding-bottom: 8px;
  }
  .yk-header .yk-main-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    align-items: center;
    display: flex;
    min-height: 44px;
  }
  .yk-header .yk-main-nav .is-menu-open li.yk-mega-panel > ul {
    padding: 4px 0 6px;
    width: 100%;
  }
  .yk-header .yk-main-nav .yk-menu-links a { min-height: 44px; }
}
@media (max-width: 540px) {
  .yk-header .yk-main-nav .is-menu-open li.yk-mega-servicios > ul {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 380px) {
  .yk-header .yk-main-nav .is-menu-open li.yk-mega-panel > ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Se extiende la superficie, no la caja de lectura. */
.wp-block-post-content > :is(.alignfull, .yk-section, .yk-quick-wrap, .yn-page-title, .yn-fitness) {
  width: 100%; max-width: none; margin-inline: 0;
}
.wp-block-post-content > :is(.yk-section,.yk-quick-wrap) { margin-block-start: 0; }
.wp-block-post-content > .yn-page-title {
  display: flex; align-items: center; min-height: 195px; margin-block: 0;
  padding: 42px max(20px, calc((100% - 1140px)/2));
  background: #7d3c93 url("assets/cta-background.png") repeat center center;
  font-size: clamp(23px, 3vw, 30px); line-height: 1.5; font-weight: 300; text-transform: uppercase;
}
.wp-block-post-content > .yn-page-title + .yn-section { margin-block-start: clamp(42px, 7vw, 92px); }
@media (max-width: 781px) {
  .wp-block-post-content > .yn-page-title { min-height: 120px; padding-block: 26px; }
}

/* Pie original claro, con los enlaces legales correctos y redes editables. */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.yk-footer { background: #e5e9ec; color: #575756; padding: 35px 20px; font-size: 14px; font-weight: 300; line-height: 24px; }
.yk-footer .yk-footer-inner { max-width: 1140px; margin: 0 auto; gap: 12px 20px; }
.yk-footer p { margin: 0; }
.yk-footer a { color: #7d3c93; text-decoration: none; }
.yk-footer a:hover { color: #623074; text-decoration: underline; }
.yk-footer .yk-footer-social { display: flex; gap: 8px; align-items: center; margin: 0; }
.yk-footer .yk-footer-social .wp-social-link { color: #7d3c93; background: transparent; }
.yk-footer .yk-footer-social .wp-social-link a { display: flex; padding: 4px; }
.yk-footer .yk-footer-social svg { width: 16px; height: 16px; }
