
/* SOTHO WordPress Premium adjustments */
:root { --wp-admin-bar-offset: 0px; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px){ .admin-bar .site-header { top: 46px; } }
.site-header { z-index: 999; }
.main-nav .menu, .main-nav { list-style: none; margin: 0; padding: 0; }
.main-nav ul { list-style: none; margin: 0; padding: 0; }
.main-nav li { position: relative; }
.main-nav > li, .main-nav .menu-item { display: inline-flex; align-items: center; }
.main-nav a { text-decoration: none; }
.main-nav .sub-menu { position: absolute; top: calc(100% + 12px); left: 0; min-width: 220px; background: rgba(255,255,255,.96); backdrop-filter: blur(18px); border: 1px solid rgba(0,0,0,.08); border-radius: 22px; padding: 10px; box-shadow: 0 24px 60px rgba(1, 45, 57, .16); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .24s ease; display: grid; gap: 4px; }
.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.main-nav .sub-menu li { display: block; }
.main-nav .sub-menu a { display: block; padding: 11px 12px; border-radius: 14px; color: #12333b; white-space: nowrap; }
.main-nav .sub-menu a:hover { background: rgba(0,124,159,.09); }
.nav-toggle { display: none; }
@media (max-width: 920px){
  .nav-toggle { display: inline-flex; }
  .main-nav { position: fixed; inset: 92px 18px auto 18px; padding: 18px; border-radius: 26px; background: rgba(255,255,255,.98); box-shadow: 0 30px 80px rgba(4,34,42,.22); display: none; flex-direction: column; align-items: stretch; }
  .main-nav.is-open { display: flex; }
  .main-nav > li, .main-nav .menu-item { display: block; width: 100%; }
  .main-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border-radius: 16px; margin: 6px 0 4px 12px; }
}
.hero__visual .hero__image-card { max-width: 500px; margin-left: auto; }
.hero__image-shell img { max-height: 640px; object-fit: cover; }
.hero__metrics { display: none !important; }
.sotho-page-hero { padding: clamp(5rem, 9vw, 8rem) 0 clamp(2.5rem, 5vw, 4rem); background: linear-gradient(135deg, rgba(237,245,241,.96), rgba(255,248,240,.96)); }
.sotho-page-hero h1 { max-width: 980px; margin: 0; font-size: clamp(2.4rem, 5vw, 5.8rem); line-height: .96; }
.sotho-page-content { padding: clamp(2rem, 5vw, 5rem) 0; }
.sotho-page-content .entry-content { max-width: 980px; margin: 0 auto; }
.contact-form-card .form-feedback.is-success { color: #0f7a53; }
.contact-form-card .form-feedback.is-error { color: #b42318; }
.service-card__image img, img.service-card__image { width: 100%; height: auto; }
.card-badges:empty { display: none; }
.payment-logos img { max-height: 42px; width: auto; object-fit: contain; }
.site-footer a { color: inherit; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sotho-admin-note { font-size: 12px; opacity: .75; }

/* SOTHO v8: mobile nav robusto, pagos más visibles y sección social editable */
@media (max-width: 920px) {
  body.is-nav-open { overflow: hidden; }
  .site-header { z-index: 10050; }
  .main-nav {
    z-index: 10060;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
  }
  .main-nav.is-open,
  body.is-nav-open .main-nav {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }
  .main-nav .sub-menu {
    display: grid !important;
    gap: 4px;
    width: 100%;
    background: rgba(237,247,243,.72);
    padding: 8px 10px;
  }
  .main-nav a {
    display: block;
    width: 100%;
    padding: 10px 8px;
  }
}

@media (min-width: 921px) {
  .payment-logos {
    grid-template-columns: repeat(5, minmax(108px, 1fr));
    gap: 1.05rem;
  }
  .payment-logos img {
    height: 84px !important;
    max-height: 84px !important;
    padding: 1rem !important;
  }
}

.sotho-social-section { position: relative; overflow: hidden; }
.sotho-social-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
}
.sotho-social-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem;
  border-radius: 1.6rem;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(15,107,125,.12);
  box-shadow: 0 20px 54px rgba(8,48,56,.08);
  text-decoration: none;
  color: var(--text);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.sotho-social-card:hover {
  transform: translateY(-4px);
  border-color: rgba(15,107,125,.24);
  box-shadow: 0 26px 64px rgba(8,48,56,.14);
}
.sotho-social-card__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(15,107,125,.12), rgba(214,154,106,.16));
}
.sotho-social-card__icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.sotho-social-card__icon--text {
  color: var(--brand);
  font-weight: 900;
  font-size: 1.2rem;
}
.sotho-social-card strong,
.sotho-social-card small {
  display: block;
}
.sotho-social-card strong {
  color: var(--brand-rich);
  font-size: 1rem;
}
.sotho-social-card small {
  margin-top: .2rem;
  color: var(--text-soft);
  font-weight: 700;
}
@media (max-width: 760px) {
  .sotho-social-grid { grid-template-columns: 1fr; }
}


/* SOTHO v9 corrections */
.testimonial-slider{overflow:hidden;}
.testimonial-track{position:relative;overflow:hidden;min-height:280px;}
.testimonial-card{max-width:100%;overflow-wrap:anywhere;word-break:normal;}
.testimonial-card p{overflow-wrap:anywhere;word-break:normal;}
.contact-form-card .form-feedback{display:none;margin-top:14px;padding:14px 16px;border-radius:18px;font-weight:800;line-height:1.45;}
.contact-form-card .form-feedback.is-success{display:block;color:#0f5132;background:linear-gradient(135deg,rgba(222,247,236,.96),rgba(237,255,248,.96));border:1px solid rgba(15,122,83,.22);box-shadow:0 14px 34px rgba(15,122,83,.12);}
.contact-form-card .form-feedback.is-error{display:block;color:#842029;background:linear-gradient(135deg,rgba(255,235,238,.96),rgba(255,246,247,.96));border:1px solid rgba(180,35,24,.22);box-shadow:0 14px 34px rgba(180,35,24,.10);}
.payment-logos img{max-height:58px;min-height:42px;}
.main-nav .menu-item-112 > a,
.main-nav .menu-item-112 > a:visited,
.main-nav a.btn--primary,
.main-nav a.btn--primary:visited{color:#fffaf0!important;}
@media(min-width:781px){.payment-logos{gap:1.15rem}.payment-logos img{max-height:64px;}}
@media(max-width:640px){.testimonial-track{min-height:320px}.testimonial-card{padding:24px 20px;}}


/* SOTHO v14: Agenda conserva su botón normal; SOLO texto blanco/perlado */
#mainNav2 li.menu-item-112 > a,
#mainNav2 li#menu-item-112 > a,
#mainNav2 li.agenda-link > a,
#mainNav2 a.agenda-link,
#mainNav2 a[href$="#contacto"],
#mainNav2 a[href*="/#contacto"],
.main-nav li.menu-item-112 > a,
.main-nav li#menu-item-112 > a,
.main-nav li.agenda-link > a,
.main-nav a.agenda-link {
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}
#mainNav2 li.menu-item-112 > a:hover,
#mainNav2 li.menu-item-112 > a:focus,
#mainNav2 li.menu-item-112 > a:visited,
#mainNav2 li#menu-item-112 > a:hover,
#mainNav2 li#menu-item-112 > a:focus,
#mainNav2 li#menu-item-112 > a:visited,
#mainNav2 li.agenda-link > a:hover,
#mainNav2 li.agenda-link > a:focus,
#mainNav2 li.agenda-link > a:visited,
#mainNav2 a.agenda-link:hover,
#mainNav2 a.agenda-link:focus,
#mainNav2 a.agenda-link:visited,
#mainNav2 a[href$="#contacto"]:hover,
#mainNav2 a[href$="#contacto"]:focus,
#mainNav2 a[href$="#contacto"]:visited,
#mainNav2 a[href*="/#contacto"]:hover,
#mainNav2 a[href*="/#contacto"]:focus,
#mainNav2 a[href*="/#contacto"]:visited {
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
}
#mainNav2 li.menu-item-112 > a::after,
#mainNav2 li#menu-item-112 > a::after,
#mainNav2 li.agenda-link > a::after,
#mainNav2 a.agenda-link::after,
#mainNav2 a[href$="#contacto"]::after,
#mainNav2 a[href*="/#contacto"]::after {
  display: none !important;
}
/* Si Agenda usa clase de botón, se mantiene en azul SOTHO, no en blanco */
#mainNav2 li.menu-item-112 > a.btn,
#mainNav2 li#menu-item-112 > a.btn,
#mainNav2 li.agenda-link > a.btn,
#mainNav2 a.agenda-link.btn,
#mainNav2 a[href$="#contacto"].btn,
#mainNav2 a[href*="/#contacto"].btn,
#mainNav2 li.menu-item-112 > a.btn--primary,
#mainNav2 li#menu-item-112 > a.btn--primary,
#mainNav2 li.agenda-link > a.btn--primary,
#mainNav2 a.agenda-link.btn--primary,
#mainNav2 a[href$="#contacto"].btn--primary,
#mainNav2 a[href*="/#contacto"].btn--primary {
  background: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  background-image: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(15, 107, 125, 0.24) !important;
}

/* SOTHO v15: Agenda recupera su globo/fondo original y texto blanco-perlado */
#mainNav2 li.agenda-link > a,
#mainNav2 a.agenda-link,
.main-nav li.agenda-link > a,
.main-nav a.agenda-link,
#mainNav2 li.menu-item-112 > a,
#mainNav2 li#menu-item-112 > a,
.main-nav li.menu-item-112 > a,
.main-nav li#menu-item-112 > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.25rem !important;
  padding: 0.9rem 1.35rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  background-image: linear-gradient(135deg, var(--brand), var(--brand-deep)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
  box-shadow: 0 14px 28px rgba(15, 107, 125, 0.24) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.12) !important;
}
#mainNav2 li.agenda-link > a:hover,
#mainNav2 a.agenda-link:hover,
.main-nav li.agenda-link > a:hover,
.main-nav a.agenda-link:hover,
#mainNav2 li.menu-item-112 > a:hover,
#mainNav2 li#menu-item-112 > a:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-1px);
}
#mainNav2 li.agenda-link > a::after,
#mainNav2 a.agenda-link::after,
.main-nav li.agenda-link > a::after,
.main-nav a.agenda-link::after,
#mainNav2 li.menu-item-112 > a::after,
#mainNav2 li#menu-item-112 > a::after {
  display: none !important;
}
@media (max-width: 920px) {
  #mainNav2 li.agenda-link > a,
  #mainNav2 a.agenda-link,
  .main-nav li.agenda-link > a,
  .main-nav a.agenda-link,
  #mainNav2 li.menu-item-112 > a,
  #mainNav2 li#menu-item-112 > a {
    width: fit-content !important;
    min-height: 2.85rem !important;
    padding: 0.78rem 1.2rem !important;
  }
}


/* SOTHO v16: Agenda con globo azul restaurado y texto blanco/perlado.
   Regla al final para ganar sobre versiones anteriores/caché CSS. */
.site-header #mainNav2 > li.agenda-link > a,
.site-header #mainNav2 > li > a.agenda-link,
.site-header .main-nav > li.agenda-link > a,
.site-header .main-nav > li > a.agenda-link,
.site-header #mainNav2 > li.menu-item-112 > a,
.site-header #mainNav2 > li#menu-item-112 > a,
.site-header .main-nav > li.menu-item-112 > a,
.site-header .main-nav > li#menu-item-112 > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.25rem !important;
  padding: .92rem 1.42rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0f6b7d 0%, #003b55 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
  box-shadow: 0 16px 32px rgba(0,59,85,.24) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.14) !important;
  line-height: 1 !important;
}
.site-header #mainNav2 > li.agenda-link > a:visited,
.site-header #mainNav2 > li > a.agenda-link:visited,
.site-header .main-nav > li.agenda-link > a:visited,
.site-header .main-nav > li > a.agenda-link:visited,
.site-header #mainNav2 > li.menu-item-112 > a:visited,
.site-header #mainNav2 > li#menu-item-112 > a:visited,
.site-header .main-nav > li.menu-item-112 > a:visited,
.site-header .main-nav > li#menu-item-112 > a:visited {
  color: #fffaf0 !important;
  -webkit-text-fill-color: #fffaf0 !important;
}
.site-header #mainNav2 > li.agenda-link > a:hover,
.site-header #mainNav2 > li > a.agenda-link:hover,
.site-header .main-nav > li.agenda-link > a:hover,
.site-header .main-nav > li > a.agenda-link:hover,
.site-header #mainNav2 > li.menu-item-112 > a:hover,
.site-header #mainNav2 > li#menu-item-112 > a:hover,
.site-header .main-nav > li.menu-item-112 > a:hover,
.site-header .main-nav > li#menu-item-112 > a:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateY(-1px);
}
.site-header #mainNav2 > li.agenda-link > a::after,
.site-header #mainNav2 > li > a.agenda-link::after,
.site-header .main-nav > li.agenda-link > a::after,
.site-header .main-nav > li > a.agenda-link::after,
.site-header #mainNav2 > li.menu-item-112 > a::after,
.site-header #mainNav2 > li#menu-item-112 > a::after,
.site-header .main-nav > li.menu-item-112 > a::after,
.site-header .main-nav > li#menu-item-112 > a::after {
  display: none !important;
}
@media (max-width: 920px) {
  .site-header #mainNav2 > li.agenda-link > a,
  .site-header #mainNav2 > li > a.agenda-link,
  .site-header .main-nav > li.agenda-link > a,
  .site-header .main-nav > li > a.agenda-link,
  .site-header #mainNav2 > li.menu-item-112 > a,
  .site-header #mainNav2 > li#menu-item-112 > a,
  .site-header .main-nav > li.menu-item-112 > a,
  .site-header .main-nav > li#menu-item-112 > a {
    width: fit-content !important;
    min-height: 2.9rem !important;
    padding: .8rem 1.22rem !important;
  }
}
