/*
Theme Name: WE Ortho Child
Theme URI: https://we-ortho.com/
Description: Child theme for X Theme + Cornerstone (WE Ortho).
Author: Maverick Marketing
Template: x
Version: 1.0.0
Text Domain: we-ortho-child
*/

/* =========================================================
   WE Ortho — Global Header + Footer (for X Theme)
   ========================================================= */

:root{
  --weo-navy:#1c3752;
  --weo-mint:#55be95;
  --weo-coral:#f4614e;

  --weo-ink:#0b1220;
  --weo-muted:rgba(11,18,32,.72);
  --weo-border:rgba(148,163,184,.25);

  --weo-max:1180px;

  --weo-radius:18px;
  --weo-radius-lg:24px;

  --weo-shadow:0 18px 50px rgba(2,6,23,.12);
  --weo-shadow-soft:0 10px 26px rgba(2,6,23,.10);

  /* default (JS lo recalcula) */
  --weo-header-offset:78px;
}

/* Reserva espacio para header fixed */
html{ scroll-padding-top: var(--weo-header-offset); }
body.weo-hf-on{
  padding-top: var(--weo-header-offset);
  overflow-x:hidden;
}

/* (Opcional) Si X muestra header/footer duplicado, los ocultamos */
body.weo-hf-on .x-masthead,
body.weo-hf-on .x-navbar,
body.weo-hf-on .x-header,
body.weo-hf-on .x-header-landmark,
body.weo-hf-on header.x-header,
body.weo-hf-on header.x-masthead{
  display:none !important;
}

body.weo-hf-on .x-colophon,
body.weo-hf-on footer.x-colophon,
body.weo-hf-on .x-footer{
  display:none !important;
}

/* ===================== HEADER (WE Ortho) ===================== */

#weo-site-header{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 999999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--weo-border);
}

body.admin-bar #weo-site-header{
  top: var(--wp-admin--admin-bar--height, 32px);
}

#weo-site-header.weo-site-header--scrolled{
  box-shadow: var(--weo-shadow-soft);
}

#weo-site-header *{ box-sizing: border-box; }

#weo-site-header .weo-site-header__inner{
  width: min(var(--weo-max), 92vw);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
}

#weo-site-header .weo-site-header__brand{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex: 0 0 auto;
}

#weo-site-header .weo-site-header__logo{
  height: 44px;
  width: auto;
  max-width: 220px;
  display: block;
  object-fit: contain;
}

#weo-site-header .weo-site-header__logo-text{
  font-weight: 900;
  letter-spacing: -.02em;
  color: rgba(11,18,32,.92);
  font-size: 18px;
}

#weo-site-header .weo-site-header__nav{
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  min-width: 0;
}

#weo-site-header .weo-site-header__nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: nowrap; /* ✅ no wrap de filas */
}

#weo-site-header .weo-site-header__nav a{
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 999px;
  text-decoration: none;
  color: rgba(11,18,32,.92);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: -.01em;
  transition: background-color .14s ease, transform .14s ease, color .14s ease;
  white-space: nowrap; /* ✅ evita que "Meet the Team" se parta en 2 líneas */
}

#weo-site-header .weo-site-header__nav a:hover{
  background: rgba(85,190,149,.14);
  transform: translateY(-1px);
}

#weo-site-header .weo-site-header__nav li.current-menu-item > a,
#weo-site-header .weo-site-header__nav li.current_page_item > a{
  background: rgba(85,190,149,.18);
  color: rgba(11,18,32,.96);
}

/* ✅ Ajustes desktop para que TODO quepa en una sola línea */
@media (min-width: 981px){
  #weo-site-header .weo-site-header__inner{
    width: min(1320px, 96vw);
  }

  #weo-site-header .weo-site-header__nav ul{
    gap: 14px;
  }

  #weo-site-header .weo-site-header__nav a{
    padding: 10px 10px;
  }
}

/* Actions */
#weo-site-header .weo-site-header__actions{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

#weo-site-header .weo-site-header__phone{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(148,163,184,.30);
  background: rgba(255,255,255,.75);
  color: rgba(11,18,32,.92);
  font-weight: 900;
  white-space: nowrap;
  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease;
}

#weo-site-header .weo-site-header__phone:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(2,6,23,.10);
}

#weo-site-header .weo-site-header__phone-ic{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(85,190,149,.16);
  border: 1px solid rgba(85,190,149,.26);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

#weo-site-header .weo-site-header__phone-ic svg{
  width: 16px;
  height: 16px;
}

#weo-site-header .weo-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, background-color .14s ease;
  white-space: nowrap;
}

#weo-site-header .weo-btn:hover{ transform: translateY(-1px); }

#weo-site-header .weo-btn--primary{
  background: linear-gradient(135deg, var(--weo-mint), rgba(85,190,149,.85));
  color: #ffffff; /* ✅ texto blanco */
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

/* ✅ hover: botón blanco, borde gris, texto negro */
#weo-site-header .weo-btn--primary:hover{
  background:#ffffff;
  color: rgba(11,18,32,.92);
  border-color: rgba(148,163,184,.55);
  box-shadow: 0 10px 24px rgba(2,6,23,.10);
  filter:none;
}

#weo-site-header .weo-btn--secondary{
  background: rgba(255,255,255,.96);
  border-color: rgba(148,163,184,.30);
  color: rgba(11,18,32,.92);
  box-shadow: 0 10px 24px rgba(2,6,23,.10);
}

/* Mobile toggle */
#weo-site-header .weo-site-header__toggle{
  display: none;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.30);
  background: rgba(255,255,255,.85);
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

#weo-site-header .weo-site-header__toggle:focus-visible{
  outline: 2px solid rgba(85,190,149,.55);
  outline-offset: 3px;
}

#weo-site-header .weo-site-header__toggle-bars{
  width: 18px;
  height: 12px;
  position: relative;
}

#weo-site-header .weo-site-header__toggle-bars::before,
#weo-site-header .weo-site-header__toggle-bars::after,
#weo-site-header .weo-site-header__toggle-bars span{
  content:"";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(11,18,32,.85);
  border-radius: 999px;
}

#weo-site-header .weo-site-header__toggle-bars::before{ top: 0; }
#weo-site-header .weo-site-header__toggle-bars span{ top: 5px; }
#weo-site-header .weo-site-header__toggle-bars::after{ top: 10px; }

/* Mobile panel */
#weo-site-header .weo-site-header__panel[hidden]{ display: none !important; }

#weo-site-header .weo-site-header__panel{
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--weo-border);
  box-shadow: var(--weo-shadow);
}

#weo-site-header .weo-site-header__panel-inner{
  width: min(var(--weo-max), 92vw);
  margin: 0 auto;
  padding: 12px 0 16px;
}

#weo-site-header .weo-mobile-nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

#weo-site-header .weo-mobile-nav a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,.22);
  background: #fff;
  text-decoration: none;
  color: rgba(11,18,32,.92);
  font-weight: 900;
}

#weo-site-header .weo-mobile-cta{
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

#weo-site-header .weo-mobile-cta .weo-btn{ width: 100%; }

/* Responsive header behavior */
@media (max-width: 980px){
  #weo-site-header .weo-site-header__nav{ display: none; }
  #weo-site-header .weo-site-header__toggle{ display: inline-flex; }
  #weo-site-header .weo-site-header__phone{ display: none; }
  #weo-site-header .weo-site-header__logo{ max-width: 170px; }
}

/* ===================== FOOTER (WE Ortho) ===================== */

.we-footer{
  background:
    radial-gradient(800px 600px at -10% -20%, rgba(85,190,149,.18), transparent 60%),
    linear-gradient(180deg, var(--weo-navy) 0%, #0e2235 100%);
  color: #e7f0fb;
  padding: 2.8rem 1.5rem 0;
  position: relative;
  overflow: hidden;
  word-break: break-word;
}

.we-footer::before{
  content:"";
  position:absolute; inset:-140px auto auto -80px;
  width:260px;height:260px;
  background:radial-gradient(circle at center, rgba(85,190,149,.28), transparent 70%);
  opacity:.7; pointer-events:none;
}
.we-footer::after{
  content:"";
  position:absolute; inset:auto -120px -160px auto;
  width:260px;height:260px;
  background:radial-gradient(circle at center, rgba(12,33,52,.9), transparent 70%);
  opacity:.85; pointer-events:none;
}

.we-footer *{ box-sizing:border-box; }

/* Layout:
   - Arriba: Brand + Nav
   - Abajo: Locations full width en horizontal
*/
.we-footer__inner{
  max-width: var(--weo-max);
  margin:0 auto;
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,2.2fr);
  column-gap:2.6rem; row-gap:2.0rem;
  padding-bottom:2.3rem;
  border-bottom:1px solid rgba(197,210,225,.35);
}

/* BRAND */
.we-footer__brand{ max-width:360px; }
.we-footer__logo-link{ display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; margin-bottom:.9rem; }
.we-footer__logo-img{
  height:42px;
  width:auto;
  max-width:220px;
  display:block;
  object-fit:contain;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.35));
}
.we-footer__tagline{ margin:0 0 .45rem; font-size:.98rem; line-height:1.65; color:#e7f0fb; }
.we-footer__note{ margin:0 0 1rem; font-size:.9rem; line-height:1.55; color:#c5d2e1; }

/* Social */
.we-footer__social{ display:flex; gap:.5rem; }
.we-footer__social-link{
  min-width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(197,210,225,.45);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.85rem;font-weight:800;color:#e7f0fb;text-decoration:none;
  backdrop-filter: blur(8px);
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.we-footer__social-link:hover,
.we-footer__social-link:focus-visible{
  background: var(--weo-mint); color:#05221a; border-color:transparent; transform:translateY(-1px);
  box-shadow: 0 6px 18px rgba(85,190,149,.35);
  outline:none;
}

/* NAV (2 columnas) */
.we-footer__nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:2rem; row-gap:1.6rem;
}

.we-footer__heading{
  font-size:.9rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
  color:#93a6bb; margin:0 0 .7rem;
}
.we-footer__list{ list-style:none; margin:0; padding:0; font-size:.98rem; }
.we-footer__list li + li{ margin-top:.28rem; }
.we-footer__list a{
  color:#e7f0fb; text-decoration:none; opacity:.9;
  transition:opacity .18s ease, color .18s ease;
}
.we-footer__list a:hover,
.we-footer__list a:focus-visible{
  opacity:1; color: var(--weo-mint); outline:2px solid var(--weo-mint); outline-offset:2px;
}

/* LOCATIONS abajo full width + horizontal */
.we-footer__locations{
  grid-column:1 / -1;
  max-width:100%;
}
.we-footer__locations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin-bottom:.9rem;
}

.we-footer__loc-card{
  padding:.8rem 1rem;
  border-radius: 14px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(28,55,82,.85), rgba(14,34,53,.92));
  border:1px solid rgba(197,210,225,.45);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.we-footer__loc-city{ margin:0 0 .1rem; font-size:1rem; font-weight:900; }
.we-footer__loc-tag{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.09rem .5rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;
  background: rgba(244,97,78,.16);
  color: var(--weo-coral); margin-left:.35rem;
}

.we-footer__loc-address{ margin:0 0 .35rem; font-size:.92rem; color:#c5d2e1; line-height:1.45; }
.we-footer__loc-phone{ margin:0; font-size:1rem; font-weight:800; }
.we-footer__loc-phone a{ color:#e7f0fb; text-decoration:none; display:inline-block; padding:.25rem 0; }
.we-footer__loc-phone a:hover{ text-decoration:underline; }

/* ✅ FIX: fuerza blanco en teléfonos del footer (por si algo los pisa) */
.we-footer .we-footer__loc-phone,
.we-footer .we-footer__loc-phone a,
.we-footer a[href^="tel:"]{
  color:#e7f0fb !important;
  opacity: 1 !important;
}

.we-footer__locations-link{
  display:inline-flex; align-items:center; gap:.25rem;
  font-size:.95rem; font-weight:900; color: var(--weo-mint); text-decoration:none;
}
.we-footer__locations-link:hover{ text-decoration:underline; }

/* Bottom strip */
.we-footer__bottom{ padding:.95rem 1.5rem calc(1.4rem + env(safe-area-inset-bottom)); background:#0a1a27; }
.we-footer__bottom-inner{
  max-width: var(--weo-max);
  margin:0 auto;
  display:flex; flex-wrap:wrap;
  gap:.5rem 1.4rem;
  align-items:center; justify-content:space-between;
  font-size:.85rem; color:#93a6bb;
}
.we-footer__legal{ margin:0; }
.we-footer__legal-links{ display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.we-footer__legal-links a{ color:#c5d2e1; text-decoration:none; }
.we-footer__legal-links a:hover{ text-decoration:underline; }

/* Responsive footer */
@media (max-width:800px){
  .we-footer__inner{ grid-template-columns:minmax(0,1fr); }
  .we-footer__brand{ max-width:100%; }
  .we-footer__nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .we-footer__locations-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
  .we-footer{ padding-inline:1.2rem; }
  .we-footer__nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .we-footer__locations-grid{ grid-template-columns:minmax(0,1fr); }
  .we-footer__bottom-inner{ flex-direction:column; align-items:flex-start; gap:.6rem; }
}
@media (max-width:480px){
  .we-footer{ padding-inline:1rem; }
  .we-footer__nav{ grid-template-columns:minmax(0,1fr); }
}

/* Full-bleed footer */
.we-footer{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* =========================================================
   ✅ FIX DEFINITIVO: quitar gap gris bajo el header (X Theme wrapper spacing)
   ========================================================= */

/* X a veces mete padding/margen en wrappers del contenido */
body.weo-hf-on #x-root,
body.weo-hf-on .x-site,
body.weo-hf-on .x-main,
body.weo-hf-on .x-site-content{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* El contenedor típico del contenido (este es el que crea el gap gris) */
body.weo-hf-on .x-site-content > .x-container,
body.weo-hf-on .x-site-content > .x-container.max.width.offset,
body.weo-hf-on .x-site-content > .x-container.offset{
  margin-top: 0 !important;
  padding-top: 0 !important; /* <- clave */
}

/* Si X dibuja una “landmark bar” */
body.weo-hf-on .x-landmark{
  display:none !important;
}

/* (Opcional) Si el primer section tiene background, extendemos su fondo hacia arriba por si queda 1-2px */
body.weo-hf-on .x-section:first-of-type{
  position: relative;
}
body.weo-hf-on .x-section:first-of-type::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top: calc(var(--weo-header-offset) * -1);
  height: var(--weo-header-offset);
  background: inherit;
  pointer-events:none;
}

/* (Opcional) Si el PNG del logo tiene padding raro y quieres empujarlo un poquito a la izquierda,
   descomenta esto:
#weo-site-header .weo-site-header__brand{ margin-left:-8px; }
*/