/* NoMasCaosWebPanel 1.41.31
   Shell moderno: cabecera flotante, navegación reducida, hero editorial,
   tarjetas de centro más visuales y ritmo de página más limpio. */

:root{
  --nmc31-red:#df0712;
  --nmc31-red-dark:#b8050e;
  --nmc31-navy:#0b1f36;
  --nmc31-ink:#101828;
  --nmc31-muted:#667085;
  --nmc31-line:#e4e7ec;
  --nmc31-soft:#f6f7f9;
  --nmc31-green:#087443;
  --nmc31-radius:20px;
  --nmc31-shadow:0 24px 80px rgba(16,24,40,.14);
}

body.nmc-public,
body.public-body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  color:var(--nmc31-ink);
  text-rendering:optimizeLegibility;
}
body.nmc-public :where(h1,h2,h3,.logo-text),
body.public-body :where(h1,h2,h3,.logo-text){
  font-family:Manrope,Inter,system-ui,sans-serif!important;
}

/* El home empieza limpio: sin cuatro franjas apiladas antes del hero. */
body.page-home .nmc-smart-ribbon,
body.page-home .nmc-quick-actions,
body.page-home .nmc-public-trust-strip{
  display:none!important;
}

/* Cabecera flotante y compacta. */
body.nmc-public .nmc-header-v18,
body.public-body .nmc-header-v18{
  position:sticky!important;
  top:0!important;
  z-index:950!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:10px 0!important;
  pointer-events:none;
}
body.nmc-public .header-shell-v18,
body.public-body .header-shell-v18{
  min-height:68px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,2vw,38px)!important;
  padding:0 18px!important;
  border:1px solid rgba(16,24,40,.08)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 12px 40px rgba(16,24,40,.10)!important;
  backdrop-filter:blur(18px) saturate(150%);
  pointer-events:auto;
  transition:min-height .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
body.nmc-public.nmc-page-scrolled .header-shell-v18,
body.public-body.nmc-page-scrolled .header-shell-v18{
  min-height:60px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 14px 46px rgba(16,24,40,.15)!important;
}
body.page-home .nmc-header-v18{
  position:fixed!important;
  left:0;
  right:0;
}
body.nmc-public .brand-v18,
body.public-body .brand-v18{
  text-decoration:none!important;
  white-space:nowrap;
}
body.nmc-public .brand-v18 .logo-text,
body.public-body .brand-v18 .logo-text{
  color:var(--nmc31-ink)!important;
  font-size:clamp(1.22rem,1.5vw,1.55rem)!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
body.nmc-public .brand-v18 .logo-text::after,
body.public-body .brand-v18 .logo-text::after{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-left:5px;
  border-radius:50%;
  background:var(--nmc31-red);
  vertical-align:baseline;
}
body.nmc-public .nmc-menu-simple,
body.public-body .nmc-menu-simple{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px!important;
  min-width:0;
}
body.nmc-public .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close),
body.public-body .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close){
  position:relative;
  display:inline-flex!important;
  align-items:center;
  min-height:42px;
  padding:0 12px!important;
  border-radius:10px!important;
  color:#344054!important;
  text-decoration:none!important;
  font-size:.91rem!important;
  font-weight:750!important;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease;
}
body.nmc-public .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close):hover,
body.public-body .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close):hover{
  background:#f2f4f7!important;
  color:var(--nmc31-ink)!important;
}
body.nmc-public .header-actions-v18,
body.public-body .header-actions-v18{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
body.nmc-public .header-phone-v18,
body.public-body .header-phone-v18{
  display:inline-flex!important;
  align-items:center!important;
  min-height:42px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  color:#344054!important;
  text-decoration:none!important;
  font-size:.86rem!important;
  font-weight:800!important;
}
body.nmc-public .header-phone-v18::before,
body.public-body .header-phone-v18::before{
  content:"";
  width:8px;
  height:8px;
  margin-right:8px;
  border-radius:50%;
  background:#12b76a;
  box-shadow:0 0 0 4px rgba(18,183,106,.12);
}
body.nmc-public .header-cta-v18,
body.public-body .header-cta-v18{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 17px!important;
  border-radius:10px!important;
  border:1px solid var(--nmc31-red)!important;
  background:var(--nmc31-red)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(223,7,18,.20)!important;
  text-decoration:none!important;
  font-size:.88rem!important;
  font-weight:900!important;
  white-space:nowrap;
}
body.nmc-public .header-cta-v18:hover,
body.public-body .header-cta-v18:hover{
  background:var(--nmc31-red-dark)!important;
  border-color:var(--nmc31-red-dark)!important;
}

/* Hero editorial y menos recargado. */
body.page-home .nmc-bs-hero{
  min-height:min(900px,100svh)!important;
}
body.page-home .nmc-bs-hero__content{
  min-height:min(900px,100svh)!important;
  padding-top:138px!important;
  padding-bottom:74px!important;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,460px)!important;
  gap:clamp(38px,6vw,110px)!important;
}
body.page-home .nmc-bs-hero__overlay{
  background:
    linear-gradient(90deg,rgba(7,20,37,.96) 0%,rgba(7,20,37,.86) 43%,rgba(7,20,37,.36) 74%,rgba(7,20,37,.12) 100%)!important;
}
body.page-home .nmc-bs-kicker{
  min-height:34px!important;
  border-left:0!important;
  border-radius:999px!important;
  padding:0 13px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  backdrop-filter:blur(10px);
}
body.page-home .nmc-bs-hero h1{
  max-width:10.5ch!important;
  margin-top:22px!important;
  font-size:clamp(3.5rem,6.4vw,7.4rem)!important;
  line-height:.88!important;
  letter-spacing:-.082em!important;
}
body.page-home .nmc-bs-hero h1 em{
  margin-top:14px!important;
  color:#ff6068!important;
  font-size:.43em!important;
  letter-spacing:-.045em!important;
}
body.page-home .nmc-bs-hero__copy>p{
  max-width:630px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:clamp(1.05rem,1.25vw,1.2rem)!important;
}
body.page-home .nmc-bs-btn{
  min-height:54px!important;
  border-radius:11px!important;
}
body.page-home .nmc-bs-search-card{
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 34px 100px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(20px);
}
body.page-home .nmc-bs-search-card h2{
  font-size:clamp(1.85rem,2.6vw,2.65rem)!important;
}
body.page-home .nmc-bs-search-card label>div{
  border-radius:11px!important;
  background:#f9fafb!important;
}
body.page-home .nmc-bs-search-card button{
  border-radius:11px!important;
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease;
}
body.page-home .nmc-bs-search-card button:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(223,7,18,.24)!important;
}

/* Métricas y confianza más ligeras. */
body.page-home .nmc-bs-network-metrics{
  border-top:0!important;
  border-bottom:1px solid var(--nmc31-line)!important;
  background:#fff!important;
}
body.page-home .nmc-bs-network-metrics article{
  min-height:112px!important;
}
body.page-home .nmc-bs-trust{
  margin-top:0!important;
  background:#f8fafc!important;
}

/* Centros como producto real. */
body.page-home .nmc-bs-centers{
  padding-top:96px!important;
  padding-bottom:104px!important;
}
body.page-home .nmc-bs-centers-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card{
  border:1px solid var(--nmc31-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(16,24,40,.07)!important;
  overflow:hidden!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card:hover{
  transform:translateY(-7px)!important;
  border-color:#cfd4dc!important;
  box-shadow:0 26px 64px rgba(16,24,40,.14)!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image{
  position:relative!important;
  height:270px!important;
  overflow:hidden!important;
  background:#d9dee7!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(6,18,32,.66) 100%);
  pointer-events:none;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .45s cubic-bezier(.2,.8,.2,1)!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card:hover .nmc-m3-center-card__image img{
  transform:scale(1.045)!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image span,
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image i{
  z-index:2!important;
  border-radius:8px!important;
  backdrop-filter:blur(12px)!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__body{
  padding:22px!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card h3{
  font-size:1.35rem!important;
  letter-spacing:-.045em!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card ul{
  gap:7px!important;
  margin-top:15px!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card ul li{
  border:0!important;
  background:#f2f4f7!important;
  border-radius:7px!important;
  color:#475467!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__price{
  margin-top:19px!important;
  padding-top:17px!important;
  border-top:1px solid var(--nmc31-line)!important;
}
body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__price strong{
  color:var(--nmc31-ink)!important;
  font-size:1.42rem!important;
}
body.page-home .nmc-center-card-actions{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:9px!important;
}
body.page-home .nmc-center-card-actions a{
  border-radius:9px!important;
}

/* Ritmo de secciones: alternancia sobria. */
body.page-home .nmc-bs-process{
  background:var(--nmc31-navy)!important;
  color:#fff!important;
}
body.page-home .nmc-bs-process h2,
body.page-home .nmc-bs-process strong{
  color:#fff!important;
}
body.page-home .nmc-bs-process p,
body.page-home .nmc-bs-process span{
  color:rgba(255,255,255,.67)!important;
}
body.page-home .nmc-bs-process li{
  border-color:rgba(255,255,255,.14)!important;
}
body.page-home .nmc-bs-process li b{
  background:var(--nmc31-red)!important;
  color:#fff!important;
}
body.page-home .nmc-bs-sizes{
  background:#fff!important;
}
body.page-home .nmc-bs-solutions{
  background:#f4f6f8!important;
}
body.page-home .nmc-bs-contact{
  background:#e9eef4!important;
}
body.page-home .nmc-bs-contact form{
  border-radius:18px!important;
  box-shadow:0 22px 60px rgba(16,24,40,.10)!important;
}

/* /centros y fichas: cabecera alineada con el nuevo shell. */
body.nmc-public .nmc-centers-v2026 .tp-hero,
body.public-body .nmc-centers-v2026 .tp-hero{
  margin-top:8px!important;
}
body.nmc-public .nmc-centers-v2026 .nmc-center-card-simple,
body.public-body .nmc-centers-v2026 .nmc-center-card-simple{
  transition:transform .2s ease,box-shadow .2s ease!important;
}
body.nmc-public .nmc-centers-v2026 .nmc-center-card-simple:hover,
body.public-body .nmc-centers-v2026 .nmc-center-card-simple:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 24px 60px rgba(16,24,40,.13)!important;
}
body.nmc-public :where(main.trasterospub-center-page,main.nmc-direct-center-page,main.nmc-portal-center-page) .tp-hero,
body.public-body :where(main.trasterospub-center-page,main.nmc-direct-center-page,main.nmc-portal-center-page) .tp-hero{
  margin-top:8px!important;
}

/* Footer más limpio. */
body.nmc-public .nmc-footer-14108,
body.public-body .nmc-footer-14108{
  background:#081827!important;
}
body.nmc-public .nmc-footer-cta,
body.public-body .nmc-footer-cta{
  border-radius:18px!important;
  background:#102942!important;
  border-color:rgba(255,255,255,.10)!important;
}

/* Aparición progresiva, sin interferir con accesibilidad. */
.nmc31-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.nmc31-reveal.nmc31-visible{
  opacity:1;
  transform:none;
}

@media(min-width:1600px){
  body.page-home .nmc-bs-centers-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:1180px){
  body.nmc-public .header-phone-v18,
  body.public-body .header-phone-v18{display:none!important}
  body.nmc-public .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close),
  body.public-body .nmc-menu-simple>a:not(.nmc-mobile-menu-primary):not(.nmc-mobile-menu-close){padding:0 9px!important;font-size:.86rem!important}
  body.page-home .nmc-bs-hero__content{grid-template-columns:1fr!important;min-height:auto!important;padding-top:140px!important}
  body.page-home .nmc-bs-search-card{max-width:680px!important}
  body.page-home .nmc-bs-centers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:900px){
  body.nmc-public .header-shell-v18,
  body.public-body .header-shell-v18{
    grid-template-columns:1fr auto!important;
    min-height:62px!important;
    padding:0 13px!important;
    border-radius:14px!important;
  }
  body.nmc-public .nmc-header-v18,
  body.public-body .nmc-header-v18{padding:8px 0!important}
  body.nmc-public .header-actions-v18,
  body.public-body .header-actions-v18{display:none!important}
  body.nmc-public .mobile-nav-toggle-v18,
  body.public-body .mobile-nav-toggle-v18{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:0 11px!important;
    border-radius:10px!important;
    background:#f2f4f7!important;
    color:#101828!important;
  }
}

@media(max-width:760px){
  body.nmc-public .nmc-header-v18,
  body.public-body .nmc-header-v18{
    top:0!important;
    padding:0!important;
  }
  body.nmc-public .header-shell-v18,
  body.public-body .header-shell-v18{
    width:100%!important;
    min-height:60px!important;
    border-width:0 0 1px!important;
    border-radius:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
    box-shadow:0 8px 26px rgba(16,24,40,.10)!important;
  }
  body.page-home .nmc-bs-hero{
    min-height:auto!important;
  }
  body.page-home .nmc-bs-hero__content{
    min-height:auto!important;
    padding-top:104px!important;
    padding-bottom:46px!important;
  }
  body.page-home .nmc-bs-hero__overlay{
    background:linear-gradient(180deg,rgba(7,20,37,.72),rgba(7,20,37,.96) 72%)!important;
  }
  body.page-home .nmc-bs-hero h1{
    max-width:11ch!important;
    font-size:clamp(3rem,15vw,4.75rem)!important;
  }
  body.page-home .nmc-bs-search-card{
    padding:21px!important;
    border-radius:16px!important;
  }
  body.page-home .nmc-bs-centers{
    padding-top:64px!important;
    padding-bottom:68px!important;
  }
  body.page-home .nmc-bs-centers-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body.page-home .nmc-bs-centers-grid .nmc-m3-center-card__image{
    height:235px!important;
  }
  body.page-home .nmc-center-card-actions{
    grid-template-columns:1fr!important;
  }
  .nmc31-reveal{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .nmc31-reveal{opacity:1!important;transform:none!important}
}
