/* Global: home hero, viñeta compartida, Amelia checkout, header móvil, Conócenos
   (antes wp_add_inline_style en inc/assets.php; rutas relativas a este fichero en assets/css/) */
.sg-hero,
.home-hero {
  background-image: url(../desktop/div1-background-image.png);
}

.sg-bullet-text,
.membresia-text,
.compania-text,
.videos-text {
  background-image: url(../desktop/div7-arrow-image.svg);
  background-repeat: no-repeat;
  background-position: left 0.35em;
  background-size: 4.75em 2.75em;
  padding-left: 5em;
}

.amelia-v2-booking #amelia-container .am-fs__payments-heading,
.amelia-v2-booking #amelia-container .am-fs__payments-price,
.amelia-v2-booking #amelia-container .am-fs__payments-sentence,
.amelia-v2-booking #amelia-container .am-fs__payments-main {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Amelia: elimina restos de azul en bordes/focus y selección de día. */
.amelia-v2-booking #amelia-container {
  --sg-amelia-accent: #5ebb95;
  --sg-amelia-accent-soft: rgba(94, 187, 149, 0.24);
}

.amelia-v2-booking #amelia-container :is(button, [role="button"], [tabindex]) {
  outline-color: var(--sg-amelia-accent) !important;
}

.amelia-v2-booking #amelia-container :is(button, [role="button"], [tabindex]):focus,
.amelia-v2-booking #amelia-container :is(button, [role="button"], [tabindex]):focus-visible {
  box-shadow: 0 0 0 2px var(--sg-amelia-accent-soft) !important;
}

.amelia-v2-booking #amelia-container :is(
  .am-calendar,
  .am-calendar-day,
  .am-calendar__cell,
  .v-calendar-day,
  .v-calendar__tile,
  .am-time-slot,
  .am-slot
) {
  border-color: var(--sg-amelia-accent-soft) !important;
}

.amelia-v2-booking #amelia-container :is(
  .am-calendar-day--selected,
  .am-calendar__cell.-selected,
  .v-calendar-day.is-selected,
  .v-calendar__tile--active,
  .v-calendar__tile--hasActive,
  [aria-selected="true"],
  [aria-pressed="true"]
) {
  border-color: var(--sg-amelia-accent) !important;
  box-shadow: 0 0 0 1px var(--sg-amelia-accent) inset !important;
}

/* Amelia (Advanced Step Calendar): pisa variables inline que vienen en azul. */
.amelia-v2-booking #amelia-container .am-advsc__wrapper {
  --am-c-cal-low: #5ebb95 !important;
  --am-c-cal-high: #5ebb95 !important;
  --am-c-cal-low-text: #2f6e56 !important;
  --am-c-cal-high-text: #2f6e56 !important;
  --am-c-cal-low-op10: rgba(94, 187, 149, 0.1) !important;
  --am-c-cal-low-op20: rgba(94, 187, 149, 0.2) !important;
  --am-c-cal-low-op30: rgba(94, 187, 149, 0.3) !important;
  --am-c-cal-low-op60: rgba(94, 187, 149, 0.6) !important;
  --am-c-cal-low-op80: rgba(94, 187, 149, 0.8) !important;
  --am-c-cal-high-op10: rgba(94, 187, 149, 0.1) !important;
  --am-c-cal-high-op20: rgba(94, 187, 149, 0.2) !important;
  --am-c-cal-high-op30: rgba(94, 187, 149, 0.3) !important;
  --am-c-cal-high-op60: rgba(94, 187, 149, 0.6) !important;
  --am-c-cal-high-op80: rgba(94, 187, 149, 0.8) !important;
  --am-c-cal-init: #5ebb95 !important;
  --am-c-cal-init-text: #2f6e56 !important;
  --am-c-cal-init-op10: rgba(94, 187, 149, 0.1) !important;
  --am-c-cal-init-op20: rgba(94, 187, 149, 0.2) !important;
  --am-c-cal-init-op30: rgba(94, 187, 149, 0.3) !important;
  --am-c-cal-init-op60: rgba(94, 187, 149, 0.6) !important;
  --am-c-cal-selected: #5ebb95 !important;
  --am-c-cal-selected-op80: rgba(94, 187, 149, 0.8) !important;
}

.amelia-v2-booking #amelia-container .fc-daygrid-day.am-advsc__dayGridMonth-cell {
  border-color: rgba(94, 187, 149, 0.28) !important;
}

.amelia-v2-booking #amelia-container .fc-daygrid-day.am-advsc__dayGridMonth-selected,
.amelia-v2-booking #amelia-container .fc-daygrid-day.am-advsc__dayGridMonth-selected .fc-daygrid-day-frame {
  background: rgba(94, 187, 149, 0.2) !important;
  border-color: #5ebb95 !important;
  box-shadow: inset 0 0 0 2px #5ebb95 !important;
}

.amelia-v2-booking #amelia-container .am-advsc__slots-item.am-advsc__slots-item__selected,
.amelia-v2-booking #amelia-container .am-advsc__slots-item.am-advsc__slots-item__selected .am-advsc__slots-item__inner {
  border-color: #5ebb95 !important;
  box-shadow: inset 0 0 0 1px #5ebb95 !important;
}

@media (max-width: 767px) {
  .site-header .header-inner {
    position: relative;
  }

  .site-header .main-navigation {
    position: static;
  }

  .site-header .header-actions {
    align-items: center;
    gap: 0.375rem;
    flex-wrap: nowrap;
  }

  /* En móvil: solo iconos del header principal (sin duplicados en el menú). */
  .site-header .header-icon--desktop-only {
    display: flex !important;
  }

  .site-header .header-icon--mobile-only {
    display: none !important;
  }

  .site-header .header-mobile-quick-actions {
    display: none !important;
  }

  .site-header .header-actions .header-icon {
    padding: 0.35rem;
    align-self: center;
  }

  .site-header .header-actions .header-icon img {
    width: 22px;
    height: 22px;
  }

  .site-header .header-actions .header-cta {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .site-header .main-navigation.toggled #primary-menu {
    display: flex;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 130;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem;
    margin: 0;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
  }

  .site-header .main-navigation.toggled #primary-menu > li {
    width: 100%;
  }

  .site-header .main-navigation.toggled #primary-menu > li > a {
    display: block;
    width: 100%;
    padding: 0.75rem 0.875rem;
  }

  /* Salvaguarda: footer no tapado en móvil. */
  .site-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 10;
    clear: both;
    margin-top: 1.25rem;
  }

  .footer-inner {
    position: relative;
    z-index: 11;
  }

  /* Conócenos (móvil): scroll y footer. */
  body.somos-genios-conocenos,
  body.somos-genios-conocenos #page,
  body.somos-genios-conocenos .site,
  body.somos-genios-conocenos .site-content,
  body.somos-genios-conocenos .site-main--page-conocenos {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: visible !important;
  }

  body.somos-genios-conocenos {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* Contacto (WPForms). */
.site-main--page-contacto .contacto-page {
  background: transparent;
  padding: clamp(3rem, 5vw, 5rem) 0;
}

.site-main--page-contacto .contacto-page .section-inner {
  position: relative;
  border-radius: 34px;
  overflow: hidden;
  background: linear-gradient(180deg, #f7f5f1 0%, #f2eee8 100%);
  padding: clamp(1.5rem, 3.6vw, 2.75rem);
}

.site-main--page-contacto .contacto-page .section-inner::before {
  content: "";
  position: absolute;
  inset: -40% auto auto -20%;
  width: 55%;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: rgba(94, 187, 149, 0.13);
  filter: blur(42px);
  pointer-events: none;
}

.site-main--page-contacto .contacto-page .section-inner::after {
  content: "";
  position: absolute;
  inset: auto -18% -40% auto;
  width: 50%;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: rgba(219, 74, 44, 0.11);
  filter: blur(46px);
  pointer-events: none;
}

.site-main--page-contacto .contacto-page__header {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}

.site-main--page-contacto .contacto-page__title {
  color: #1f1f1f;
  margin: 0 0 0.5rem;
}

.site-main--page-contacto .contacto-page__lead {
  margin: 0;
  color: #27292b;
  font-size: var(--font-body-size-small);
  line-height: 1.45;
  max-width: 48rem;
}

.site-main--page-contacto .contacto-page__intro {
  color: #27292b;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}

.site-main--page-contacto .contacto-page__form-wrap {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(4px);
  border-radius: 22px;
  box-shadow: 0 14px 30px rgba(31, 31, 31, 0.07);
  padding: clamp(1.25rem, 3vw, 2rem);
}

@media (max-width: 767px) {
  .site-main--page-contacto .contacto-page .section-inner {
    border-radius: 24px;
    padding: 1.25rem;
  }
}

.site-main--page-contacto .wpforms-container {
  margin: 0;
}

.site-main--page-contacto .wpforms-field input,
.site-main--page-contacto .wpforms-field textarea,
.site-main--page-contacto .wpforms-field select {
  border: 1px solid #d8dbe0;
  border-radius: 10px;
  color: #1f1f1f;
  font-family: "Inter", sans-serif;
}

.site-main--page-contacto .wpforms-field input:focus,
.site-main--page-contacto .wpforms-field textarea:focus,
.site-main--page-contacto .wpforms-field select:focus {
  border-color: #f58f37;
  box-shadow: 0 0 0 2px rgba(245, 143, 55, 0.2);
}

.site-main--page-contacto .wpforms-submit-container .wpforms-submit {
  background: var(--color-section-orange) !important;
  border: 2px solid #ffffff !important;
  border-radius: 999px !important;
  color: var(--color-text-on-dark) !important;
  font-family: var(--font-body);
  font-size: var(--font-button-text-size);
  font-weight: 500;
  min-height: var(--button-primary-height);
  padding: 15px 30px;
  box-shadow: var(--button-primary-shadow);
  transition: filter 0.2s ease;
}

.site-main--page-contacto .wpforms-submit-container .wpforms-submit:hover,
.site-main--page-contacto .wpforms-submit-container .wpforms-submit:focus {
  background: var(--color-section-orange) !important;
  border-color: #ffffff !important;
  color: var(--color-text-on-dark) !important;
  filter: brightness(1.05);
}

.site-main--page-contacto .contacto-page__notice {
  margin: 0;
}

/* Mi cuenta: miniaturas Self-Talks en cuadrado con zoom visual. */
.mi-cuenta-card--events .mi-cuenta-events-item__photo-wrap {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px;
  border-radius: 12px;
  overflow: hidden;
  flex: 0 0 76px !important;
}

.mi-cuenta-card--events .mi-cuenta-events-item__photo {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.22);
  transform-origin: center;
  display: block;
}

.woocommerce.wc-memberships.wc-memberships-frontend-banner.admin-restricted-content-notice {
  display: none;
}

/* The Events Calendar: fila completa clicable en vista lista. */
.tribe-events-calendar-list__event-row {
  position: relative;
  cursor: pointer;
}

.tribe-events-calendar-list__event-row-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  text-decoration: none;
}

.tribe-events-calendar-list__event-row-link:focus-visible {
  outline: 2px solid rgba(var(--color-primary-rgb), 0.45);
  outline-offset: 2px;
}

.tribe-events-calendar-list__event-row .tribe-events-calendar-list__event-title-link {
  position: relative;
  z-index: 3;
}

.tribe-events-calendar-list__event-row:hover .tribe-events-calendar-list__event-wrapper {
  background-color: #f8fbfa;
}

.tribe-events-calendar-list__event-row .tribe-events-calendar-list__event-wrapper {
  transition: background-color 0.2s ease;
}
