/* =========================================================
   SOFÍA OTTAVIANO · SERVICE PAGES SYSTEM FINAL CLEAN
   WordPress + Hello Elementor
   Para páginas con: <div id="contenido" class="ns-page ...">

   IMPORTANTE:
   - Reemplaza por completo cualquier CSS anterior de .ns-page
   - No afecta notas de blog .ns-post
   - Mobile first: primero mobile, luego tablet/desktop
========================================================= */


/* =========================================================
   1. BASE
========================================================= */

body .ns-page{
  --ns-bg:#f6f1e8;
  --ns-bg-soft:#fffaf4;
  --ns-surface:#fffdfa;
  --ns-text:#2b2724;
  --ns-muted:#6f665d;
  --ns-line:#ddd0c0;
  --ns-pink:#e83d9b;
  --ns-pink-dark:#cf2f85;
  --ns-green:#95a56b;
  --ns-green-dark:#738252;
  --ns-brown:#6f625d;
  --ns-shadow:0 22px 54px rgba(43,39,36,.10);
  --ns-shadow-soft:0 12px 30px rgba(43,39,36,.065);
  --ns-radius-lg:34px;
  --ns-radius:26px;
  --ns-radius-sm:18px;
  --ns-font:Inter, Arial, Helvetica, sans-serif;
  --ns-title:Montserrat, Inter, Arial, Helvetica, sans-serif;

  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 92% 4%, rgba(232,61,155,.07), transparent 28%),
    radial-gradient(circle at 8% 92%, rgba(149,165,107,.11), transparent 34%),
    var(--ns-bg) !important;
  color:var(--ns-text) !important;
  font-family:var(--ns-font) !important;
  isolation:isolate !important;
}

body .ns-page,
body .ns-page *,
body .ns-page *::before,
body .ns-page *::after{
  box-sizing:border-box !important;
}

body .ns-page img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
}

body .ns-page a{
  text-decoration:none !important;
}

body .ns-page .ns-container{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}


/* =========================================================
   2. TIPOGRAFÍA
========================================================= */

body .ns-page h1,
body .ns-page h2,
body .ns-page h3{
  font-family:var(--ns-title) !important;
  color:var(--ns-text) !important;
  font-weight:900 !important;
  margin-top:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

body .ns-page h1{
  width:100% !important;
  max-width:760px !important;
  margin:0 0 18px !important;
  font-size:clamp(2rem, 10vw, 3.15rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

body .ns-page h2{
  width:100% !important;
  max-width:760px !important;
  margin:0 0 18px !important;
  font-size:clamp(1.72rem, 8vw, 2.45rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body .ns-page h3{
  margin:0 0 10px !important;
  font-size:1.18rem !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
}

body .ns-page p{
  margin:0 0 18px !important;
  color:var(--ns-muted) !important;
  font-size:1rem !important;
  line-height:1.68 !important;
}

body .ns-page p:last-child{
  margin-bottom:0 !important;
}

body .ns-page strong{
  color:var(--ns-text) !important;
  font-weight:900 !important;
}


/* =========================================================
   3. HERO MOBILE FIRST
========================================================= */

body .ns-page .ns-hero{
  position:relative !important;
  overflow:hidden !important;
  padding:52px 0 48px !important;
  background:
    linear-gradient(180deg, rgba(246,241,232,.98) 0%, rgba(255,250,244,.96) 100%),
    radial-gradient(circle at 85% 12%, rgba(232,61,155,.08), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(149,165,107,.13), transparent 34%) !important;
  border-bottom:1px solid rgba(221,208,192,.72) !important;
}

body .ns-page .ns-hero.ns-clinica-hero::before,
body .ns-page .ns-hero.ns-plans-hero::before,
body .ns-page .ns-hero.ns-online-hero::before,
body .ns-page .ns-hero.ns-composicion-hero::before,
body .ns-page .ns-hero.ns-runners-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:none !important;
  background-image:var(--ns-hero-img) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center top !important;
  opacity:.10 !important;
  z-index:0 !important;
  pointer-events:none !important;
}

body .ns-page .ns-hero.ns-clinica-hero::after,
body .ns-page .ns-hero.ns-plans-hero::after,
body .ns-page .ns-hero.ns-online-hero::after,
body .ns-page .ns-hero.ns-composicion-hero::after,
body .ns-page .ns-hero.ns-runners-hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  display:none !important;
  background:rgba(246,241,232,.88) !important;
  z-index:1 !important;
  pointer-events:none !important;
}

body .ns-page .ns-hero .ns-container{
  position:relative !important;
  z-index:2 !important;
}

body .ns-page .ns-hero__grid{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:30px !important;
  align-items:start !important;
  width:100% !important;
  max-width:100% !important;
}

body .ns-page .ns-hero__content,
body .ns-page .ns-hero__card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

body .ns-page .ns-hero__lead{
  width:100% !important;
  max-width:700px !important;
  color:#5f5750 !important;
  font-size:1rem !important;
  line-height:1.68 !important;
}


/* =========================================================
   4. KICKERS / TAGS
========================================================= */

body .ns-page .ns-kicker,
body .ns-page .ns-section__tag,
body .ns-page .ns-panel__kicker,
body .ns-page .ns-location-card__label{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:var(--ns-brown) !important;
  color:#ffffff !important;
  font-family:var(--ns-font) !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
}


/* =========================================================
   5. BADGES
========================================================= */

body .ns-page .ns-hero__badges{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  margin:22px 0 0 !important;
  padding:0 !important;
}

body .ns-page .ns-hero__badges span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  color:var(--ns-muted) !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}


/* =========================================================
   6. BOTONES
========================================================= */

body .ns-page a.ns-btn,
body .ns-page a.ns-btn:visited,
body .ns-page .ns-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:52px !important;
  padding:14px 18px !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  font-family:var(--ns-font) !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  opacity:1 !important;
  filter:none !important;
  cursor:pointer !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease !important;
}

body .ns-page a.ns-btn.ns-btn--primary,
body .ns-page a.ns-btn.ns-btn--primary:visited{
  background:#e83d9b !important;
  background-color:#e83d9b !important;
  color:#ffffff !important;
  border-color:#e83d9b !important;
  box-shadow:0 16px 34px rgba(232,61,155,.30) !important;
}

body .ns-page a.ns-btn.ns-btn--primary:hover{
  background:#cf2f85 !important;
  background-color:#cf2f85 !important;
  color:#ffffff !important;
  border-color:#cf2f85 !important;
  transform:translateY(-2px) !important;
}

body .ns-page a.ns-btn.ns-btn--ghost,
body .ns-page a.ns-btn.ns-btn--ghost:visited{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#2b2724 !important;
  border-color:#d8c8b7 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}

body .ns-page a.ns-btn.ns-btn--ghost:hover{
  background:#ffffff !important;
  color:#738252 !important;
  border-color:#95a56b !important;
  transform:translateY(-2px) !important;
}

body .ns-page .ns-hero__actions,
body .ns-page .ns-cta__actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
  margin-top:24px !important;
}


/* =========================================================
   7. LISTAS
========================================================= */

body .ns-page .ns-hero__list,
body .ns-page .ns-checks{
  width:100% !important;
  max-width:100% !important;
  list-style:none !important;
  margin:24px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:10px !important;
}

body .ns-page .ns-hero__list li,
body .ns-page .ns-checks li{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:13px 16px 13px 42px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.80) !important;
  border:1px solid rgba(221,208,192,.86) !important;
  color:#514b46 !important;
  font-size:.95rem !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}

body .ns-page .ns-hero__list li::before,
body .ns-page .ns-checks li::before{
  content:"✓" !important;
  position:absolute !important;
  left:17px !important;
  top:13px !important;
  color:var(--ns-pink) !important;
  font-weight:900 !important;
}


/* =========================================================
   8. PANELES
========================================================= */

body .ns-page .ns-panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:24px 20px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(232,61,155,.08), transparent 28%),
    rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:
    8px 8px 0 rgba(149,165,107,.10),
    0 16px 36px rgba(43,39,36,.08) !important;
}

body .ns-page .ns-hero__card .ns-panel h2{
  width:100% !important;
  max-width:100% !important;
  font-size:clamp(1.8rem, 8vw, 2.35rem) !important;
  line-height:1.08 !important;
}

body .ns-page .ns-panel__logo{
  width:92px !important;
  height:auto !important;
  margin:0 0 18px !important;
}

body .ns-page .ns-contact-mini{
  display:grid !important;
  gap:8px !important;
  margin-top:22px !important;
}

body .ns-page .ns-contact-mini a{
  color:var(--ns-pink) !important;
  font-size:.96rem !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  word-break:break-word !important;
}

body .ns-page .ns-panel__locations{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:22px !important;
}

body .ns-page .ns-panel__locations span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:#ffffff !important;
  border:1px solid rgba(221,208,192,.90) !important;
  color:#6f665d !important;
  font-size:.84rem !important;
  font-weight:800 !important;
}


/* =========================================================
   9. STRIP
========================================================= */

body .ns-page .ns-strip{
  padding:28px 0 !important;
  background:#fffdfa !important;
  border-top:1px solid rgba(221,208,192,.75) !important;
  border-bottom:1px solid rgba(221,208,192,.75) !important;
}

body .ns-page .ns-strip__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

body .ns-page .ns-strip__item{
  width:100% !important;
  max-width:100% !important;
  padding:24px 20px !important;
  border-radius:22px !important;
  background:rgba(246,241,232,.70) !important;
  border:1px solid rgba(221,208,192,.85) !important;
  box-shadow:0 10px 28px rgba(43,39,36,.045) !important;
}

body .ns-page .ns-strip__item strong{
  display:block !important;
  margin-bottom:6px !important;
  color:#2b2724 !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
}

body .ns-page .ns-strip__item p{
  font-size:.96rem !important;
}


/* =========================================================
   10. SECCIONES
========================================================= */

body .ns-page .ns-section{
  padding:56px 0 !important;
}

body .ns-page .ns-section:nth-of-type(even){
  background:rgba(255,255,255,.20) !important;
}

body .ns-page .ns-grid-2,
body .ns-page .ns-highlight__grid,
body .ns-page .ns-contact__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:start !important;
}

body .ns-page .ns-section__head{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 30px !important;
  text-align:left !important;
}

body .ns-page .ns-section__head .ns-section__tag{
  margin-left:0 !important;
  margin-right:0 !important;
}

body .ns-page .ns-section__head p:not(.ns-section__tag){
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}


/* =========================================================
   11. CARDS
========================================================= */

body .ns-page .ns-cards,
body .ns-page .ns-steps,
body .ns-page .ns-locations__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
}

body .ns-page .ns-card,
body .ns-page .ns-step,
body .ns-page .ns-location-card{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:24px 20px !important;
  border-radius:22px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 14px 34px rgba(43,39,36,.065) !important;
}

body .ns-page .ns-card::before,
body .ns-page .ns-step::before,
body .ns-page .ns-location-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:6px !important;
  height:100% !important;
  background:linear-gradient(180deg, #e83d9b, #95a56b) !important;
}

body .ns-page .ns-card p,
body .ns-page .ns-step p,
body .ns-page .ns-location-card p{
  font-size:.98rem !important;
  line-height:1.68 !important;
}

body .ns-page .ns-link-card a{
  display:inline-flex !important;
  margin-top:16px !important;
  color:#d63881 !important;
  font-weight:900 !important;
}


/* =========================================================
   12. HIGHLIGHT
========================================================= */

body .ns-page .ns-highlight{
  background:
    radial-gradient(circle at 92% 15%, rgba(232,61,155,.07), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.18)) !important;
  border-top:1px solid rgba(221,208,192,.55) !important;
  border-bottom:1px solid rgba(221,208,192,.55) !important;
}

body .ns-page .ns-highlight__box .ns-panel{
  box-shadow:
    8px 8px 0 rgba(149,165,107,.10),
    0 16px 36px rgba(43,39,36,.08) !important;
}


/* =========================================================
   13. STEPS
========================================================= */

body .ns-page .ns-step__num{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  margin-bottom:16px !important;
  border-radius:50% !important;
  background:#e83d9b !important;
  color:#ffffff !important;
  font-size:.95rem !important;
  font-weight:900 !important;
}


/* =========================================================
   14. CONTACT / LOCATIONS
========================================================= */

body .ns-page .ns-contact__card{
  display:grid !important;
  gap:14px !important;
  padding:24px 20px !important;
  border-radius:24px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:var(--ns-shadow-soft) !important;
}

body .ns-page .ns-contact__item{
  display:grid !important;
  gap:4px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid rgba(221,208,192,.90) !important;
  color:#6f665d !important;
}

body .ns-page .ns-contact__item strong{
  color:#e83d9b !important;
}


/* =========================================================
   15. FAQ
========================================================= */

body .ns-page .ns-faq__list{
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:14px !important;
}

body .ns-page .ns-faq__list details{
  overflow:hidden !important;
  border-radius:22px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 12px 30px rgba(43,39,36,.055) !important;
}

body .ns-page .ns-faq__list summary{
  position:relative !important;
  cursor:pointer !important;
  list-style:none !important;
  padding:20px 58px 20px 20px !important;
  color:#2b2724 !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

body .ns-page .ns-faq__list summary::-webkit-details-marker{
  display:none !important;
}

body .ns-page .ns-faq__list summary::after{
  content:"+" !important;
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  border-radius:50% !important;
  background:rgba(232,61,155,.12) !important;
  color:#e83d9b !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:1.3rem !important;
  font-weight:900 !important;
}

body .ns-page .ns-faq__list details[open] summary::after{
  content:"−" !important;
  background:#e83d9b !important;
  color:#ffffff !important;
}

body .ns-page .ns-faq__list details p{
  padding:0 20px 22px !important;
  margin:0 !important;
}


/* =========================================================
   16. CTA FINAL
========================================================= */

body .ns-page .ns-cta{
  background:
    linear-gradient(115deg, rgba(246,241,232,.96), rgba(246,241,232,.72)),
    radial-gradient(circle at 82% 28%, rgba(232,61,155,.13), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(149,165,107,.20), transparent 34%) !important;
  border-top:1px solid rgba(221,208,192,.65) !important;
}

body .ns-page .ns-cta__box{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:24px !important;
  align-items:start !important;
  width:100% !important;
  padding:26px 20px !important;
  border-radius:24px !important;
  background:rgba(255,253,250,.92) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 20px 44px rgba(43,39,36,.09) !important;
}


/* =========================================================
   17. MOBILE MUY CHICO
========================================================= */

@media (max-width:420px){

  body .ns-page .ns-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .ns-page h1{
    font-size:2rem !important;
    line-height:1.04 !important;
  }

  body .ns-page h2{
    font-size:1.68rem !important;
  }

  body .ns-page .ns-panel,
  body .ns-page .ns-card,
  body .ns-page .ns-step,
  body .ns-page .ns-location-card,
  body .ns-page .ns-strip__item,
  body .ns-page .ns-cta__box{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* =========================================================
   18. TABLET
========================================================= */

@media (min-width:768px){

  body .ns-page .ns-container{
    width:min(100% - 40px, 1180px) !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body .ns-page h1{
    font-size:clamp(2.8rem, 5vw, 4.65rem) !important;
    line-height:1.02 !important;
  }

  body .ns-page h2{
    font-size:clamp(2.1rem, 3.2vw, 3.15rem) !important;
    line-height:1.08 !important;
  }

  body .ns-page p{
    font-size:1.04rem !important;
    line-height:1.78 !important;
  }

  body .ns-page .ns-hero{
    padding:78px 0 78px !important;
  }

  body .ns-page .ns-hero__lead{
    font-size:1.14rem !important;
    line-height:1.74 !important;
  }

  body .ns-page .ns-hero__actions,
  body .ns-page .ns-cta__actions{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:14px !important;
    width:auto !important;
    margin-top:30px !important;
  }

  body .ns-page a.ns-btn,
  body .ns-page .ns-btn{
    width:auto !important;
    min-width:190px !important;
    max-width:none !important;
    padding:14px 28px !important;
    white-space:nowrap !important;
  }

  body .ns-page .ns-kicker,
  body .ns-page .ns-section__tag,
  body .ns-page .ns-panel__kicker,
  body .ns-page .ns-location-card__label{
    font-size:.84rem !important;
    padding:8px 17px !important;
  }

  body .ns-page .ns-hero__badges{
    gap:10px !important;
    margin-top:28px !important;
  }

  body .ns-page .ns-hero__badges span{
    min-height:38px !important;
    padding:0 15px !important;
    font-size:.9rem !important;
  }

  body .ns-page .ns-hero__list,
  body .ns-page .ns-checks{
    gap:12px !important;
    margin-top:28px !important;
  }

  body .ns-page .ns-hero__list li,
  body .ns-page .ns-checks li{
    padding:14px 18px 14px 46px !important;
    font-size:1rem !important;
  }

  body .ns-page .ns-hero__list li::before,
  body .ns-page .ns-checks li::before{
    left:19px !important;
    top:14px !important;
  }

  body .ns-page .ns-panel{
    padding:34px !important;
    border-radius:30px !important;
    box-shadow:
      14px 14px 0 rgba(149,165,107,.14),
      var(--ns-shadow) !important;
  }

  body .ns-page .ns-panel__logo{
    width:108px !important;
    margin-bottom:22px !important;
  }

  body .ns-page .ns-panel__locations{
    gap:10px !important;
  }

  body .ns-page .ns-panel__locations span{
    padding:8px 14px !important;
    font-size:.9rem !important;
  }

  body .ns-page .ns-strip{
    padding:34px 0 !important;
  }

  body .ns-page .ns-strip__grid{
    grid-template-columns:repeat(3,1fr) !important;
    gap:18px !important;
  }

  body .ns-page .ns-strip__item{
    padding:24px 26px !important;
    border-radius:24px !important;
  }

  body .ns-page .ns-section{
    padding:86px 0 !important;
  }

  body .ns-page .ns-grid-2,
  body .ns-page .ns-highlight__grid,
  body .ns-page .ns-contact__grid{
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap:58px !important;
  }

  body .ns-page .ns-section__head{
    max-width:820px !important;
    margin:0 auto 40px !important;
    text-align:center !important;
  }

  body .ns-page .ns-section__head .ns-section__tag{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .ns-page .ns-section__head p:not(.ns-section__tag){
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .ns-page .ns-cards,
  body .ns-page .ns-steps{
    grid-template-columns:repeat(2,1fr) !important;
    gap:22px !important;
  }

  body .ns-page .ns-locations__grid{
    grid-template-columns:repeat(3,1fr) !important;
    gap:22px !important;
  }

  body .ns-page .ns-card,
  body .ns-page .ns-step,
  body .ns-page .ns-location-card{
    padding:30px 26px !important;
    border-radius:26px !important;
  }

  body .ns-page .ns-step__num{
    width:44px !important;
    height:44px !important;
    margin-bottom:18px !important;
  }

  body .ns-page .ns-faq__list summary{
    padding:22px 64px 22px 24px !important;
  }

  body .ns-page .ns-faq__list summary::after{
    right:22px !important;
    width:32px !important;
    height:32px !important;
  }

  body .ns-page .ns-faq__list details p{
    padding:0 24px 22px !important;
  }

  body .ns-page .ns-cta__box{
    grid-template-columns:1fr auto !important;
    gap:30px !important;
    align-items:center !important;
    padding:46px !important;
    border-radius:34px !important;
    box-shadow:0 24px 58px rgba(43,39,36,.11) !important;
  }
}


/* =========================================================
   19. DESKTOP
========================================================= */

@media (min-width:1100px){

  body .ns-page .ns-hero{
    padding:clamp(78px, 7vw, 108px) 0 82px !important;
  }

  body .ns-page .ns-hero__grid{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px) !important;
    gap:56px !important;
    align-items:center !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero,
  body .ns-page .ns-hero.ns-plans-hero,
  body .ns-page .ns-hero.ns-online-hero,
  body .ns-page .ns-hero.ns-composicion-hero,
  body .ns-page .ns-hero.ns-runners-hero{
    min-height:720px !important;
    display:flex !important;
    align-items:center !important;
    background:
      linear-gradient(90deg, rgba(246,241,232,.99) 0%, rgba(246,241,232,.96) 42%, rgba(246,241,232,.80) 63%, rgba(246,241,232,.46) 100%),
      radial-gradient(circle at 82% 22%, rgba(232,61,155,.12), transparent 34%),
      radial-gradient(circle at 12% 86%, rgba(149,165,107,.16), transparent 34%),
      var(--ns-bg) !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero::before,
  body .ns-page .ns-hero.ns-plans-hero::before,
  body .ns-page .ns-hero.ns-online-hero::before,
  body .ns-page .ns-hero.ns-composicion-hero::before,
  body .ns-page .ns-hero.ns-runners-hero::before{
    display:block !important;
    background-size:contain !important;
    background-position:right center !important;
    opacity:.88 !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero::after,
  body .ns-page .ns-hero.ns-plans-hero::after,
  body .ns-page .ns-hero.ns-online-hero::after,
  body .ns-page .ns-hero.ns-composicion-hero::after,
  body .ns-page .ns-hero.ns-runners-hero::after{
    display:block !important;
    background:
      linear-gradient(90deg, rgba(246,241,232,.99) 0%, rgba(246,241,232,.96) 42%, rgba(246,241,232,.74) 62%, rgba(246,241,232,.38) 100%),
      radial-gradient(circle at 78% 28%, rgba(232,61,155,.09), transparent 32%) !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero .ns-hero__grid,
  body .ns-page .ns-hero.ns-plans-hero .ns-hero__grid,
  body .ns-page .ns-hero.ns-online-hero .ns-hero__grid,
  body .ns-page .ns-hero.ns-composicion-hero .ns-hero__grid,
  body .ns-page .ns-hero.ns-runners-hero .ns-hero__grid{
    grid-template-columns:minmax(0, .95fr) minmax(300px, 390px) !important;
  }

  body .ns-page .ns-hero__content{
    max-width:820px !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero .ns-hero__content,
  body .ns-page .ns-hero.ns-plans-hero .ns-hero__content,
  body .ns-page .ns-hero.ns-online-hero .ns-hero__content,
  body .ns-page .ns-hero.ns-composicion-hero .ns-hero__content,
  body .ns-page .ns-hero.ns-runners-hero .ns-hero__content{
    max-width:760px !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero h1,
  body .ns-page .ns-hero.ns-plans-hero h1,
  body .ns-page .ns-hero.ns-online-hero h1,
  body .ns-page .ns-hero.ns-composicion-hero h1,
  body .ns-page .ns-hero.ns-runners-hero h1{
    max-width:720px !important;
    font-size:clamp(3rem, 4.25vw, 4.55rem) !important;
  }

  body .ns-page .ns-hero.ns-clinica-hero .ns-panel,
  body .ns-page .ns-hero.ns-plans-hero .ns-panel,
  body .ns-page .ns-hero.ns-online-hero .ns-panel,
  body .ns-page .ns-hero.ns-composicion-hero .ns-panel,
  body .ns-page .ns-hero.ns-runners-hero .ns-panel{
    backdrop-filter:blur(14px) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(232,61,155,.10), transparent 30%),
      rgba(255,253,250,.84) !important;
  }

  body .ns-page .ns-cards{
    grid-template-columns:repeat(4,1fr) !important;
  }

  body .ns-page .ns-steps{
    grid-template-columns:repeat(4,1fr) !important;
  }
}
/* =========================================================
   SOFÍA OTTAVIANO · BLOG POST SYSTEM FINAL CLEAN
   WordPress + Hello Elementor
   Para notas con: <div id="contenido" class="ns-post">

   IMPORTANTE:
   - Reemplaza por completo cualquier CSS anterior de .ns-post
   - No afecta páginas de servicio .ns-page
   - Mobile first
========================================================= */


/* =========================================================
   1. BASE
========================================================= */

body .ns-post{
  --ns-post-bg:#f6f1e8;
  --ns-post-bg-soft:#fffaf4;
  --ns-post-surface:#fffdfa;
  --ns-post-text:#2b2724;
  --ns-post-muted:#6f665d;
  --ns-post-line:#ddd0c0;
  --ns-post-pink:#e83d9b;
  --ns-post-pink-dark:#cf2f85;
  --ns-post-green:#95a56b;
  --ns-post-green-dark:#738252;
  --ns-post-brown:#6f625d;
  --ns-post-shadow:0 22px 54px rgba(43,39,36,.10);
  --ns-post-shadow-soft:0 12px 30px rgba(43,39,36,.065);
  --ns-post-radius-lg:34px;
  --ns-post-radius:26px;
  --ns-post-radius-sm:18px;
  --ns-post-font:Inter, Arial, Helvetica, sans-serif;
  --ns-post-title:Montserrat, Inter, Arial, Helvetica, sans-serif;

  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 92% 4%, rgba(232,61,155,.07), transparent 28%),
    radial-gradient(circle at 8% 92%, rgba(149,165,107,.11), transparent 34%),
    var(--ns-post-bg) !important;
  color:var(--ns-post-text) !important;
  font-family:var(--ns-post-font) !important;
  isolation:isolate !important;
}

body .ns-post,
body .ns-post *,
body .ns-post *::before,
body .ns-post *::after{
  box-sizing:border-box !important;
}

body .ns-post img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
}

body .ns-post a{
  text-decoration:none !important;
}

body .ns-post .ns-container{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}


/* =========================================================
   2. TIPOGRAFÍA
========================================================= */

body .ns-post h1,
body .ns-post h2,
body .ns-post h3{
  font-family:var(--ns-post-title) !important;
  color:var(--ns-post-text) !important;
  font-weight:900 !important;
  margin-top:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

body .ns-post h1{
  width:100% !important;
  max-width:820px !important;
  margin:0 0 18px !important;
  font-size:clamp(2rem, 10vw, 3.15rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

body .ns-post h2{
  width:100% !important;
  max-width:760px !important;
  margin:0 0 18px !important;
  font-size:clamp(1.72rem, 8vw, 2.45rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body .ns-post h3{
  margin:0 0 10px !important;
  font-size:1.18rem !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
}

body .ns-post p{
  margin:0 0 18px !important;
  color:var(--ns-post-muted) !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

body .ns-post p:last-child{
  margin-bottom:0 !important;
}

body .ns-post strong{
  color:var(--ns-post-text) !important;
  font-weight:900 !important;
}


/* =========================================================
   3. HERO
========================================================= */

body .ns-post .ns-post-hero{
  position:relative !important;
  overflow:hidden !important;
  padding:52px 0 48px !important;
  background:
    linear-gradient(180deg, rgba(246,241,232,.98) 0%, rgba(255,250,244,.96) 100%),
    radial-gradient(circle at 85% 12%, rgba(232,61,155,.08), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(149,165,107,.13), transparent 34%) !important;
  border-bottom:1px solid rgba(221,208,192,.72) !important;
}

body .ns-post .ns-post-hero__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:30px !important;
  align-items:start !important;
  width:100% !important;
  max-width:100% !important;
}

body .ns-post .ns-post-hero__content,
body .ns-post .ns-post-hero__image{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

body .ns-post .ns-post-lead{
  width:100% !important;
  max-width:720px !important;
  color:#5f5750 !important;
  font-size:1rem !important;
  line-height:1.68 !important;
}

body .ns-post .ns-post-hero__image{
  margin:0 !important;
}

body .ns-post .ns-post-hero__image img{
  width:100% !important;
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:24px !important;
  border:1px solid rgba(221,208,192,.95) !important;
  background:#fffdfa !important;
  box-shadow:
    8px 8px 0 rgba(149,165,107,.12),
    0 18px 42px rgba(43,39,36,.10) !important;
}


/* =========================================================
   4. KICKERS / TAGS
========================================================= */

body .ns-post .ns-post-kicker,
body .ns-post .ns-post-tag{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:var(--ns-post-brown) !important;
  color:#ffffff !important;
  font-family:var(--ns-post-font) !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:.01em !important;
  white-space:normal !important;
}


/* =========================================================
   5. BADGES / META
========================================================= */

body .ns-post .ns-post-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  margin:22px 0 0 !important;
  padding:0 !important;
  color:var(--ns-post-muted) !important;
  font-size:.88rem !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

/* Para HTML correcto con span */
body .ns-post .ns-post-badges span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  color:var(--ns-post-muted) !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}

/* Fallback para notas viejas con texto suelto */
body .ns-post .ns-post-badges:not(:has(span)){
  padding:10px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(221,208,192,.85) !important;
}

body .ns-post .ns-post-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px 14px !important;
  margin-top:18px !important;
  color:#7a7169 !important;
  font-size:.9rem !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}

/* Para HTML correcto con span */
body .ns-post .ns-post-meta span{
  display:inline-flex !important;
  align-items:center !important;
}

/* Fallback para notas viejas con texto suelto */
body .ns-post .ns-post-meta:not(:has(span)){
  padding:10px 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(221,208,192,.65) !important;
}


/* =========================================================
   6. BOTONES
========================================================= */

body .ns-post a.ns-btn,
body .ns-post a.ns-btn:visited,
body .ns-post .ns-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:52px !important;
  padding:14px 18px !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  font-family:var(--ns-post-font) !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  opacity:1 !important;
  filter:none !important;
  cursor:pointer !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease !important;
}

body .ns-post a.ns-btn.ns-btn--primary,
body .ns-post a.ns-btn.ns-btn--primary:visited{
  background:#e83d9b !important;
  background-color:#e83d9b !important;
  color:#ffffff !important;
  border-color:#e83d9b !important;
  box-shadow:0 16px 34px rgba(232,61,155,.30) !important;
}

body .ns-post a.ns-btn.ns-btn--primary:hover{
  background:#cf2f85 !important;
  background-color:#cf2f85 !important;
  color:#ffffff !important;
  border-color:#cf2f85 !important;
  transform:translateY(-2px) !important;
}

body .ns-post a.ns-btn.ns-btn--ghost,
body .ns-post a.ns-btn.ns-btn--ghost:visited{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#2b2724 !important;
  border-color:#d8c8b7 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}

body .ns-post a.ns-btn.ns-btn--ghost:hover{
  background:#ffffff !important;
  color:#738252 !important;
  border-color:#95a56b !important;
  transform:translateY(-2px) !important;
}

body .ns-post .ns-post-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
  margin-top:24px !important;
}


/* =========================================================
   7. SECCIONES
========================================================= */

body .ns-post .ns-post-section{
  position:relative !important;
  padding:56px 0 !important;
}

body .ns-post .ns-post-section--soft{
  background:
    radial-gradient(circle at 92% 15%, rgba(232,61,155,.06), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.18)) !important;
  border-top:1px solid rgba(221,208,192,.55) !important;
  border-bottom:1px solid rgba(221,208,192,.55) !important;
}

body .ns-post .ns-post-content{
  width:100% !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   8. GRID 2
========================================================= */

body .ns-post .ns-post-grid-2{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
  align-items:start !important;
}


/* =========================================================
   9. PANELES / HIGHLIGHTS
========================================================= */

body .ns-post .ns-post-panel,
body .ns-post .ns-post-highlight{
  width:100% !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:24px 20px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(232,61,155,.07), transparent 28%),
    rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:
    8px 8px 0 rgba(149,165,107,.10),
    0 16px 36px rgba(43,39,36,.08) !important;
  color:var(--ns-post-muted) !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

body .ns-post .ns-post-highlight{
  box-shadow:0 18px 44px rgba(43,39,36,.08) !important;
}


/* =========================================================
   10. LISTAS CHECK
========================================================= */

body .ns-post .ns-post-list{
  width:100% !important;
  max-width:100% !important;
  list-style:none !important;
  margin:24px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  gap:10px !important;
}

body .ns-post .ns-post-list li{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:13px 16px 13px 42px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.80) !important;
  border:1px solid rgba(221,208,192,.86) !important;
  color:#514b46 !important;
  font-size:.95rem !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  box-shadow:0 8px 20px rgba(43,39,36,.04) !important;
}

body .ns-post .ns-post-list li::before{
  content:"✓" !important;
  position:absolute !important;
  left:17px !important;
  top:13px !important;
  color:var(--ns-post-pink) !important;
  font-weight:900 !important;
}


/* =========================================================
   11. CARDS
========================================================= */

body .ns-post .ns-post-cards{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:28px !important;
}

body .ns-post .ns-post-card{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:24px 20px !important;
  border-radius:22px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 14px 34px rgba(43,39,36,.065) !important;
  color:var(--ns-post-muted) !important;
  font-size:.98rem !important;
  line-height:1.68 !important;
}

body .ns-post .ns-post-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:6px !important;
  height:100% !important;
  background:linear-gradient(180deg, #e83d9b, #95a56b) !important;
}

body .ns-post .ns-post-card p{
  font-size:.98rem !important;
  line-height:1.68 !important;
}

body .ns-post .ns-post-card a{
  display:inline-flex !important;
  margin-top:16px !important;
  color:#d63881 !important;
  font-weight:900 !important;
}


/* =========================================================
   12. MINI CTA
========================================================= */

body .ns-post .ns-post-mini-cta{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  margin-top:30px !important;
  padding:24px 20px !important;
  border-radius:24px !important;
  background:
    linear-gradient(135deg, rgba(232,61,155,.10), rgba(149,165,107,.12)),
    rgba(255,255,255,.86) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 16px 38px rgba(43,39,36,.06) !important;
}

body .ns-post .ns-post-mini-cta h3{
  margin-bottom:8px !important;
}

body .ns-post .ns-post-mini-cta p{
  margin:0 !important;
}


/* =========================================================
   13. CTA FINAL
========================================================= */

body .ns-post .ns-post-final-cta{
  padding:64px 0 !important;
  background:
    linear-gradient(115deg, rgba(246,241,232,.96), rgba(246,241,232,.72)),
    radial-gradient(circle at 82% 28%, rgba(232,61,155,.13), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(149,165,107,.20), transparent 34%) !important;
  border-top:1px solid rgba(221,208,192,.65) !important;
}

body .ns-post .ns-post-final-cta__box{
  display:grid !important;
  gap:22px !important;
  width:100% !important;
  max-width:930px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:28px 20px !important;
  border-radius:24px !important;
  background:rgba(255,253,250,.92) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 20px 44px rgba(43,39,36,.09) !important;
  text-align:left !important;
  color:var(--ns-post-muted) !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

body .ns-post .ns-post-final-cta__box h2{
  max-width:760px !important;
  margin-bottom:0 !important;
}


/* =========================================================
   14. MOBILE MUY CHICO
========================================================= */

@media (max-width:420px){

  body .ns-post .ns-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .ns-post h1{
    font-size:2rem !important;
    line-height:1.04 !important;
  }

  body .ns-post h2{
    font-size:1.68rem !important;
  }

  body .ns-post .ns-post-panel,
  body .ns-post .ns-post-highlight,
  body .ns-post .ns-post-card,
  body .ns-post .ns-post-mini-cta,
  body .ns-post .ns-post-final-cta__box{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* =========================================================
   15. TABLET
========================================================= */

@media (min-width:768px){

  body .ns-post .ns-container{
    width:min(100% - 40px, 1180px) !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body .ns-post h1{
    font-size:clamp(2.8rem, 5vw, 5.25rem) !important;
    line-height:1.02 !important;
  }

  body .ns-post h2{
    font-size:clamp(2.1rem, 3.2vw, 3.45rem) !important;
    line-height:1.08 !important;
  }

  body .ns-post p{
    font-size:1.04rem !important;
    line-height:1.78 !important;
  }

  body .ns-post .ns-post-hero{
    padding:78px 0 78px !important;
  }

  body .ns-post .ns-post-lead{
    font-size:1.14rem !important;
    line-height:1.74 !important;
  }

  body .ns-post .ns-post-hero__image img{
    aspect-ratio:16/10 !important;
    border-radius:30px !important;
    box-shadow:
      14px 14px 0 rgba(149,165,107,.14),
      var(--ns-post-shadow) !important;
  }

  body .ns-post .ns-post-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:14px !important;
    width:auto !important;
    margin-top:30px !important;
  }

  body .ns-post a.ns-btn,
  body .ns-post .ns-btn{
    width:auto !important;
    min-width:190px !important;
    max-width:none !important;
    padding:14px 28px !important;
    white-space:nowrap !important;
  }

  body .ns-post .ns-post-kicker,
  body .ns-post .ns-post-tag{
    font-size:.84rem !important;
    padding:8px 17px !important;
  }

  body .ns-post .ns-post-badges{
    gap:10px !important;
    margin-top:28px !important;
  }

  body .ns-post .ns-post-badges span{
    min-height:38px !important;
    padding:0 15px !important;
    font-size:.9rem !important;
  }

  body .ns-post .ns-post-section{
    padding:86px 0 !important;
  }

  body .ns-post .ns-post-grid-2{
    grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr) !important;
    gap:58px !important;
  }

  body .ns-post .ns-post-panel,
  body .ns-post .ns-post-highlight{
    padding:42px 46px !important;
    border-radius:30px !important;
    box-shadow:var(--ns-post-shadow) !important;
  }

  body .ns-post .ns-post-list{
    gap:12px !important;
    margin-top:28px !important;
  }

  body .ns-post .ns-post-list li{
    padding:14px 18px 14px 46px !important;
    font-size:1rem !important;
  }

  body .ns-post .ns-post-list li::before{
    left:19px !important;
    top:14px !important;
  }

  body .ns-post .ns-post-cards{
    grid-template-columns:repeat(2,1fr) !important;
    gap:22px !important;
    margin-top:34px !important;
  }

  body .ns-post .ns-post-card{
    padding:30px 26px !important;
    border-radius:26px !important;
  }

  body .ns-post .ns-post-mini-cta{
    grid-template-columns:1fr auto !important;
    gap:24px !important;
    align-items:center !important;
    padding:32px !important;
    border-radius:26px !important;
  }

  body .ns-post .ns-post-mini-cta a.ns-btn{
    justify-self:end !important;
  }

  body .ns-post .ns-post-final-cta{
    padding:92px 0 !important;
  }

  body .ns-post .ns-post-final-cta__box{
    padding:52px 46px !important;
    border-radius:34px !important;
    text-align:center !important;
    justify-items:center !important;
    box-shadow:0 24px 58px rgba(43,39,36,.11) !important;
  }

  body .ns-post .ns-post-final-cta__box h2{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* =========================================================
   16. DESKTOP
========================================================= */

@media (min-width:1100px){

  body .ns-post .ns-post-hero__grid{
    grid-template-columns:minmax(0, 1fr) minmax(360px, .92fr) !important;
    gap:56px !important;
    align-items:center !important;
  }

  body .ns-post .ns-post-hero__content{
    max-width:790px !important;
  }

  body .ns-post h1{
    max-width:820px !important;
    font-size:clamp(3.2rem, 5.3vw, 5.65rem) !important;
    line-height:.98 !important;
  }

  body .ns-post .ns-post-hero__image img{
    min-height:360px !important;
  }

  body .ns-post .ns-post-cards{
    grid-template-columns:repeat(4,1fr) !important;
  }

  body .ns-post .ns-post-cards.ns-post-cards--3{
    grid-template-columns:repeat(3,1fr) !important;
  }
}

/* =========================================================
   SOFÍA OTTAVIANO · FAQ GLOBAL FINAL
   Funciona para:
   <section class="ns-section ns-faq">
   Home, páginas y bloques sueltos
========================================================= */

body .ns-section.ns-faq{
  position:relative !important;
  overflow:hidden !important;
  padding:72px 0 !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(232,61,155,.07), transparent 30%),
    radial-gradient(circle at 10% 92%, rgba(149,165,107,.11), transparent 34%),
    linear-gradient(180deg, #f6f1e8 0%, #fffaf4 100%) !important;
  border-top:1px solid rgba(221,208,192,.65) !important;
  border-bottom:1px solid rgba(221,208,192,.65) !important;
}

body .ns-section.ns-faq,
body .ns-section.ns-faq *,
body .ns-section.ns-faq *::before,
body .ns-section.ns-faq *::after{
  box-sizing:border-box !important;
}

body .ns-section.ns-faq .ns-container{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

body .ns-section.ns-faq .ns-section__head{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto 34px !important;
  text-align:center !important;
  color:#6f665d !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

body .ns-section.ns-faq .ns-section__tag{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 16px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:#6f625d !important;
  color:#ffffff !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body .ns-section.ns-faq .ns-section__head h2{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto 16px !important;
  color:#2b2724 !important;
  font-family:Montserrat, Inter, Arial, Helvetica, sans-serif !important;
  font-size:clamp(1.9rem, 4vw, 3.15rem) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}

/* Lista */
body .ns-section.ns-faq .ns-faq__list{
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:14px !important;
}

/* Caja */
body .ns-section.ns-faq .ns-faq__list details{
  position:relative !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 12px 30px rgba(43,39,36,.055) !important;
  color:#6f665d !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  line-height:1.72 !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease !important;
}

body .ns-section.ns-faq .ns-faq__list details:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(232,61,155,.30) !important;
  box-shadow:0 18px 42px rgba(43,39,36,.08) !important;
}

body .ns-section.ns-faq .ns-faq__list details[open]{
  border-color:rgba(232,61,155,.38) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(232,61,155,.07), transparent 28%),
    rgba(255,253,250,.96) !important;
}

/* Pregunta */
body .ns-section.ns-faq .ns-faq__list summary{
  position:relative !important;
  display:block !important;
  cursor:pointer !important;
  list-style:none !important;
  padding:21px 62px 21px 22px !important;
  color:#2b2724 !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

body .ns-section.ns-faq .ns-faq__list summary::-webkit-details-marker{
  display:none !important;
}

/* Icono */
body .ns-section.ns-faq .ns-faq__list summary::after{
  content:"+" !important;
  position:absolute !important;
  right:20px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:rgba(232,61,155,.12) !important;
  color:#e83d9b !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:1.32rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body .ns-section.ns-faq .ns-faq__list details[open] summary::after{
  content:"−" !important;
  background:#e83d9b !important;
  color:#ffffff !important;
}

/* Respuesta cuando está como texto suelto dentro de details */
body .ns-section.ns-faq .ns-faq__list details{
  padding-bottom:0 !important;
}

body .ns-section.ns-faq .ns-faq__list details[open]{
  padding-bottom:22px !important;
}

/* Respuesta cuando está bien envuelta en <p> */
body .ns-section.ns-faq .ns-faq__list details p{
  padding:0 22px 22px !important;
  margin:0 !important;
  color:#6f665d !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

/* Mejora visual para texto suelto luego del summary */
body .ns-section.ns-faq .ns-faq__list details[open] summary{
  margin-bottom:0 !important;
}

body .ns-section.ns-faq .ns-faq__list details[open] summary + *{
  margin-top:0 !important;
}

/* MOBILE */
@media (max-width:767px){

  body .ns-section.ns-faq{
    padding:56px 0 !important;
  }

  body .ns-section.ns-faq .ns-container{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body .ns-section.ns-faq .ns-section__head{
    text-align:left !important;
    margin:0 0 30px !important;
  }

  body .ns-section.ns-faq .ns-section__tag{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body .ns-section.ns-faq .ns-section__head h2{
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:clamp(1.75rem, 8vw, 2.45rem) !important;
  }

  body .ns-section.ns-faq .ns-faq__list{
    gap:12px !important;
  }

  body .ns-section.ns-faq .ns-faq__list summary{
    padding:20px 58px 20px 20px !important;
    font-size:1rem !important;
  }

  body .ns-section.ns-faq .ns-faq__list summary::after{
    right:18px !important;
    width:30px !important;
    height:30px !important;
  }

  body .ns-section.ns-faq .ns-faq__list details p{
    padding:0 20px 22px !important;
  }
}

@media (max-width:420px){

  body .ns-section.ns-faq .ns-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* =========================================================
   SOFÍA OTTAVIANO · FOOTER PREMIUM MINIMAL DARK
   Reemplaza el CSS anterior de .ns-footer
========================================================= */

body .ns-footer{
  --nf-bg:#191716;
  --nf-panel:#211e1c;
  --nf-text:#fffaf4;
  --nf-muted:rgba(255,250,244,.68);
  --nf-soft:rgba(255,250,244,.48);
  --nf-line:rgba(255,250,244,.11);
  --nf-pink:#e83d9b;
  --nf-green:#95a56b;
  --nf-gold:#caa57b;
  --nf-font:Inter, Arial, Helvetica, sans-serif;
  --nf-title:Montserrat, Inter, Arial, Helvetica, sans-serif;

  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(232,61,155,.10), transparent 30%),
    radial-gradient(circle at 8% 100%, rgba(149,165,107,.12), transparent 32%),
    linear-gradient(180deg, #25211f 0%, var(--nf-bg) 100%) !important;
  color:var(--nf-text) !important;
  font-family:var(--nf-font) !important;
  border-top:1px solid rgba(255,250,244,.10) !important;
}

body .ns-footer,
body .ns-footer *,
body .ns-footer *::before,
body .ns-footer *::after{
  box-sizing:border-box !important;
}

body .ns-footer a{
  color:inherit !important;
  text-decoration:none !important;
}

body .ns-footer img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
}

body .ns-footer__container{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 20px !important;
}

/* MAIN */
body .ns-footer__main{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:34px !important;
  padding:54px 0 34px !important;
}

/* BRAND */
body .ns-footer__brand{
  max-width:430px !important;
}

body .ns-footer__logo{
  width:116px !important;
  margin:0 0 22px !important;
  opacity:.92 !important;
}

body .ns-footer__tag{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:rgba(255,250,244,.075) !important;
  border:1px solid rgba(255,250,244,.10) !important;
  color:rgba(255,250,244,.82) !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body .ns-footer h2{
  max-width:420px !important;
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-family:var(--nf-title) !important;
  font-size:clamp(1.7rem, 5vw, 2.35rem) !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body .ns-footer p{
  margin:0 !important;
  color:var(--nf-muted) !important;
  font-size:.98rem !important;
  line-height:1.72 !important;
}

body .ns-footer__cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:24px !important;
}

body .ns-footer__btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  background:var(--nf-pink) !important;
  border:1px solid var(--nf-pink) !important;
  color:#ffffff !important;
  font-size:.92rem !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  box-shadow:0 12px 26px rgba(232,61,155,.20) !important;
  transition:transform .22s ease, background .22s ease, border-color .22s ease !important;
}

body .ns-footer__btn:hover{
  background:#cf2f85 !important;
  border-color:#cf2f85 !important;
  transform:translateY(-2px) !important;
}

body .ns-footer__btn--ghost{
  background:transparent !important;
  border-color:rgba(255,250,244,.16) !important;
  color:rgba(255,250,244,.88) !important;
  box-shadow:none !important;
}

body .ns-footer__btn--ghost:hover{
  background:rgba(255,250,244,.07) !important;
  border-color:rgba(255,250,244,.24) !important;
}

/* NAV GRID */
body .ns-footer__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
}

body .ns-footer__col{
  min-width:0 !important;
}

body .ns-footer h3{
  margin:0 0 14px !important;
  color:#ffffff !important;
  font-family:var(--nf-title) !important;
  font-size:.95rem !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
}

body .ns-footer__list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap:9px !important;
}

body .ns-footer__list li{
  margin:0 !important;
  padding:0 !important;
  color:var(--nf-muted) !important;
  font-size:.94rem !important;
  line-height:1.45 !important;
}

body .ns-footer__list a{
  color:var(--nf-muted) !important;
  transition:color .22s ease, padding-left .22s ease !important;
}

body .ns-footer__list a:hover{
  color:#ffffff !important;
  padding-left:3px !important;
}

/* CONTACTO MINIMAL */
body .ns-footer__contact{
  display:grid !important;
  gap:10px !important;
}

body .ns-footer__contact-row{
  display:grid !important;
  gap:2px !important;
}

body .ns-footer__contact-row span{
  color:var(--nf-soft) !important;
  font-size:.73rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

body .ns-footer__contact-row strong,
body .ns-footer__contact-row a{
  color:rgba(255,250,244,.90) !important;
  font-size:.94rem !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  word-break:break-word !important;
}

body .ns-footer__locations{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:16px !important;
}

body .ns-footer__locations span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  background:rgba(255,250,244,.065) !important;
  border:1px solid rgba(255,250,244,.10) !important;
  color:rgba(255,250,244,.78) !important;
  font-size:.78rem !important;
  font-weight:800 !important;
}

/* BOTTOM */
body .ns-footer__bottom{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  padding:20px 0 !important;
  border-top:1px solid var(--nf-line) !important;
  color:rgba(255,250,244,.52) !important;
  font-size:.84rem !important;
  line-height:1.5 !important;
}

body .ns-footer__legal{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px 16px !important;
}

body .ns-footer__legal a{
  color:rgba(255,250,244,.62) !important;
  font-weight:700 !important;
}

body .ns-footer__legal a:hover{
  color:#ffffff !important;
}

/* TABLET / DESKTOP */
@media (min-width:768px){

  body .ns-footer__container{
    width:min(100% - 40px, 1180px) !important;
    padding:0 !important;
  }

  body .ns-footer__main{
    grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr) !important;
    gap:70px !important;
    padding:64px 0 38px !important;
  }

  body .ns-footer__grid{
    grid-template-columns:1fr 1fr 1.05fr !important;
    gap:46px !important;
    align-items:start !important;
  }

  body .ns-footer__bottom{
    grid-template-columns:1fr auto !important;
    align-items:center !important;
  }
}

@media (min-width:1100px){

  body .ns-footer__brand{
    max-width:390px !important;
  }

  body .ns-footer__main{
    gap:92px !important;
  }
}

@media (max-width:420px){

  body .ns-footer__container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .ns-footer__main{
    padding-top:46px !important;
  }

  body .ns-footer__cta{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  body .ns-footer__btn{
    width:100% !important;
  }
}

/* =========================================================
   SOFÍA OTTAVIANO · BLOG POST ADD-ONS
   Complementos para artículos largos / científicos
   Agregar AL FINAL del CSS personalizado existente.
========================================================= */


/* =========================================================
   1. IMÁGENES INTERNAS DEL ARTÍCULO
========================================================= */

body .ns-post .ns-post-image{
  width:100% !important;
  max-width:900px !important;
  margin:38px auto !important;
}

body .ns-post .ns-post-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  border-radius:24px !important;
  border:1px solid rgba(221,208,192,.95) !important;
  background:#fffdfa !important;
  box-shadow:
    8px 8px 0 rgba(149,165,107,.10),
    0 18px 42px rgba(43,39,36,.09) !important;
}

body .ns-post .ns-post-image figcaption{
  max-width:760px !important;
  margin:12px auto 0 !important;
  color:#81776f !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:.84rem !important;
  line-height:1.55 !important;
  text-align:center !important;
}


/* =========================================================
   2. CITAS CIENTÍFICAS [1] [2] ETC.
========================================================= */

body .ns-post sup{
  position:relative !important;
  top:-.15em !important;
  font-size:.72em !important;
  line-height:0 !important;
}

body .ns-post sup a,
body .ns-post sup a:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:22px !important;
  min-height:22px !important;
  margin-left:3px !important;
  padding:2px 5px !important;
  border-radius:999px !important;
  background:rgba(232,61,155,.10) !important;
  color:#cf2f85 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

body .ns-post sup a:hover{
  background:#e83d9b !important;
  color:#ffffff !important;
}


/* =========================================================
   3. REFERENCIAS / BIBLIOGRAFÍA
========================================================= */

body .ns-post .ns-post-references{
  width:100% !important;
  max-width:900px !important;
  margin:26px auto 0 !important;
  padding-left:0 !important;
  list-style:none !important;
  counter-reset:ns-reference !important;
  display:grid !important;
  gap:12px !important;
}

body .ns-post .ns-post-references li{
  counter-increment:ns-reference !important;
  position:relative !important;
  margin:0 !important;
  padding:18px 18px 18px 54px !important;
  border-radius:18px !important;
  background:rgba(255,253,250,.88) !important;
  border:1px solid rgba(221,208,192,.88) !important;
  color:#6f665d !important;
  font-size:.9rem !important;
  line-height:1.65 !important;
}

body .ns-post .ns-post-references li::before{
  content:counter(ns-reference) !important;
  position:absolute !important;
  left:16px !important;
  top:17px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important;
  height:26px !important;
  border-radius:50% !important;
  background:#6f625d !important;
  color:#ffffff !important;
  font-size:.76rem !important;
  font-weight:900 !important;
}

body .ns-post .ns-post-references a{
  color:#cf2f85 !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}


/* =========================================================
   4. FAQ ESPECÍFICO PARA NOTAS .ns-post
========================================================= */

body .ns-post .ns-post-faq{
  width:100% !important;
  max-width:900px !important;
  margin:28px auto 0 !important;
  display:grid !important;
  gap:14px !important;
}

body .ns-post .ns-post-faq details{
  position:relative !important;
  overflow:hidden !important;
  margin:0 !important;
  border-radius:22px !important;
  background:rgba(255,253,250,.94) !important;
  border:1px solid rgba(221,208,192,.95) !important;
  box-shadow:0 12px 30px rgba(43,39,36,.055) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease !important;
}

body .ns-post .ns-post-faq details:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(232,61,155,.30) !important;
  box-shadow:0 18px 42px rgba(43,39,36,.08) !important;
}

body .ns-post .ns-post-faq details[open]{
  border-color:rgba(232,61,155,.38) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(232,61,155,.07), transparent 28%),
    rgba(255,253,250,.96) !important;
}

body .ns-post .ns-post-faq summary{
  position:relative !important;
  cursor:pointer !important;
  list-style:none !important;
  margin:0 !important;
  padding:21px 62px 21px 22px !important;
  color:#2b2724 !important;
  font-family:Inter, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:900 !important;
  line-height:1.4 !important;
}

body .ns-post .ns-post-faq summary::-webkit-details-marker{
  display:none !important;
}

body .ns-post .ns-post-faq summary::after{
  content:"+" !important;
  position:absolute !important;
  right:20px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:rgba(232,61,155,.12) !important;
  color:#e83d9b !important;
  font-size:1.32rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}

body .ns-post .ns-post-faq details[open] summary::after{
  content:"−" !important;
  background:#e83d9b !important;
  color:#ffffff !important;
}

body .ns-post .ns-post-faq details p{
  margin:0 !important;
  padding:0 22px 22px !important;
  color:#6f665d !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}


/* =========================================================
   5. LISTA NORMAL PARA ARTÍCULOS
   A diferencia de .ns-post-list, no agrega checks.
========================================================= */

body .ns-post .ns-post-bullets{
  width:100% !important;
  margin:22px 0 26px !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:10px !important;
}

body .ns-post .ns-post-bullets li{
  position:relative !important;
  padding:0 0 0 25px !important;
  color:#5f5750 !important;
  font-size:1rem !important;
  line-height:1.68 !important;
}

body .ns-post .ns-post-bullets li::before{
  content:"" !important;
  position:absolute !important;
  left:2px !important;
  top:.72em !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#e83d9b !important;
}


/* =========================================================
   6. RESPONSIVE ADD-ONS
========================================================= */

@media (max-width:767px){

  body .ns-post .ns-post-image{
    margin:30px auto !important;
  }

  body .ns-post .ns-post-image img{
    border-radius:20px !important;
  }

  body .ns-post .ns-post-image figcaption{
    text-align:left !important;
    font-size:.8rem !important;
  }

  body .ns-post .ns-post-references li{
    padding:16px 15px 16px 48px !important;
  }

  body .ns-post .ns-post-references li::before{
    left:14px !important;
    top:15px !important;
  }

  body .ns-post .ns-post-faq summary{
    padding:20px 58px 20px 20px !important;
  }

  body .ns-post .ns-post-faq summary::after{
    right:18px !important;
    width:30px !important;
    height:30px !important;
  }

  body .ns-post .ns-post-faq details p{
    padding:0 20px 22px !important;
  }
}

/* =========================================================
   AJUSTE TIPOGRÁFICO BLOG
   Títulos más proporcionados y editoriales
========================================================= */

/* MOBILE */
body .ns-post h1{
  font-size:clamp(2rem, 8vw, 2.75rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
}

body .ns-post h2{
  font-size:clamp(1.55rem, 6.5vw, 2rem) !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
}

body .ns-post h3{
  font-size:1.15rem !important;
  line-height:1.3 !important;
}


/* TABLET */
@media (min-width:768px){

  body .ns-post h1{
    font-size:clamp(2.6rem, 4vw, 3.4rem) !important;
    line-height:1.04 !important;
  }

  body .ns-post h2{
    font-size:clamp(1.85rem, 2.6vw, 2.35rem) !important;
    line-height:1.12 !important;
  }

  body .ns-post h3{
    font-size:1.18rem !important;
  }

}


/* DESKTOP */
@media (min-width:1100px){

  body .ns-post h1{
    max-width:820px !important;
    font-size:3.6rem !important;
    line-height:1.03 !important;
  }

  body .ns-post h2{
    max-width:760px !important;
    font-size:2.4rem !important;
    line-height:1.12 !important;
  }

  body .ns-post h3{
    font-size:1.2rem !important;
  }

}

/* =========================================================
   SOFÍA OTTAVIANO · BLOG RESPONSIVE HOTFIX 2026
   Alineación + ritmo de lectura + botones + badges
   PEGAR AL FINAL DEL CSS PERSONALIZADO
========================================================= */


/* =========================================================
   1. TEXTO GENERAL
   Menos aire y cortes visuales más naturales
========================================================= */

body .ns-post p{
  margin:0 0 14px !important;
  font-size:1rem !important;
  line-height:1.62 !important;

  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;

  text-wrap:pretty !important;
}

body .ns-post li{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-wrap:pretty !important;
}


/* Evita párrafos visualmente excesivamente separados */
body .ns-post .ns-post-content > p + p{
  margin-top:0 !important;
}


/* =========================================================
   2. TÍTULOS
========================================================= */

body .ns-post h1,
body .ns-post h2,
body .ns-post h3{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-wrap:balance !important;
}

body .ns-post h1{
  font-size:2rem !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
}

body .ns-post h2{
  font-size:1.62rem !important;
  line-height:1.14 !important;
  letter-spacing:-.028em !important;
}

body .ns-post h3{
  font-size:1.08rem !important;
  line-height:1.30 !important;
  letter-spacing:-.018em !important;
}


/* =========================================================
   3. SECCIONES
   El artículo estaba demasiado "largo" visualmente en mobile
========================================================= */

body .ns-post .ns-post-section{
  padding:44px 0 !important;
}


/* =========================================================
   4. PANEL / HIGHLIGHT
========================================================= */

body .ns-post .ns-post-panel,
body .ns-post .ns-post-highlight{
  padding:22px 20px !important;
  border-radius:22px !important;
}

body .ns-post .ns-post-panel p,
body .ns-post .ns-post-highlight p{
  line-height:1.58 !important;
}

body .ns-post .ns-post-panel h2,
body .ns-post .ns-post-panel h3,
body .ns-post .ns-post-highlight h2,
body .ns-post .ns-post-highlight h3{
  width:100% !important;
  max-width:100% !important;
}


/* =========================================================
   5. BADGES DEL HERO
========================================================= */

body .ns-post .ns-post-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  align-content:flex-start !important;

  gap:8px !important;

  width:100% !important;
  max-width:620px !important;

  margin:22px 0 0 !important;
  padding:0 !important;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

body .ns-post .ns-post-badges span{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;

  min-height:34px !important;
  padding:8px 13px !important;

  border-radius:999px !important;

  background:#fffdfa !important;
  border:1px solid rgba(221,208,192,.95) !important;

  color:#6f665d !important;
  font-size:.8rem !important;
  font-weight:800 !important;
  line-height:1.1 !important;

  white-space:nowrap !important;
}


/* Si WP vuelve a eliminar los SPAN,
   NO mostrar el rectángulo gigante viejo */
body .ns-post .ns-post-badges:not(:has(span)){
  width:auto !important;
  max-width:100% !important;

  padding:0 !important;
  margin-top:22px !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;

  line-height:1.7 !important;
}


/* =========================================================
   6. META DEL HERO
========================================================= */

body .ns-post .ns-post-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;

  gap:6px 16px !important;

  width:100% !important;
  margin-top:18px !important;

  padding:0 !important;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}

body .ns-post .ns-post-meta span{
  display:inline-flex !important;
  width:auto !important;
}


/* Evita el cuadro blanco si WP pierde los spans */
body .ns-post .ns-post-meta:not(:has(span)){
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   7. BOTONES HERO
========================================================= */

body .ns-post .ns-post-actions{
  display:grid !important;
  grid-template-columns:1fr !important;

  width:100% !important;
  max-width:100% !important;

  gap:10px !important;
  margin-top:24px !important;
}

body .ns-post .ns-post-actions .ns-btn{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  min-height:52px !important;

  margin:0 !important;
  padding:14px 20px !important;

  justify-content:center !important;
  text-align:center !important;

  white-space:normal !important;
}


/* =========================================================
   8. MINI CTA
========================================================= */

body .ns-post .ns-post-mini-cta{
  display:grid !important;
  grid-template-columns:1fr !important;

  gap:18px !important;

  width:100% !important;

  padding:22px 20px !important;
}

body .ns-post .ns-post-mini-cta .ns-btn{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}


/* =========================================================
   9. CARDS
========================================================= */

body .ns-post .ns-post-cards{
  align-items:stretch !important;
}

body .ns-post .ns-post-card{
  height:100% !important;
}


/* =========================================================
   10. REFERENCIAS [1] [2]
========================================================= */

body .ns-post sup{
  vertical-align:super !important;
  position:static !important;
  line-height:0 !important;
}

body .ns-post sup a{
  margin-left:3px !important;
}


/* =========================================================
   11. MOBILE MUY CHICO
========================================================= */

@media (max-width:420px){

  body .ns-post .ns-container{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  body .ns-post p{
    font-size:.97rem !important;
    line-height:1.60 !important;
    margin-bottom:13px !important;
  }

  body .ns-post h1{
    font-size:1.92rem !important;
    line-height:1.07 !important;
  }

  body .ns-post h2{
    font-size:1.52rem !important;
    line-height:1.16 !important;
  }

  body .ns-post h3{
    font-size:1.04rem !important;
  }

  body .ns-post .ns-post-section{
    padding:40px 0 !important;
  }

  body .ns-post .ns-post-panel,
  body .ns-post .ns-post-highlight{
    padding:20px 18px !important;
  }

}


/* =========================================================
   12. TABLET
========================================================= */

@media (min-width:768px){

  body .ns-post p{
    font-size:1.02rem !important;
    line-height:1.68 !important;
    margin-bottom:16px !important;
  }

  body .ns-post h1{
    font-size:clamp(2.55rem, 4vw, 3.25rem) !important;
    line-height:1.04 !important;
  }

  body .ns-post h2{
    font-size:clamp(1.85rem, 2.7vw, 2.2rem) !important;
    line-height:1.12 !important;
  }

  body .ns-post h3{
    font-size:1.15rem !important;
  }

  body .ns-post .ns-post-section{
    padding:70px 0 !important;
  }

  body .ns-post .ns-post-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;

    width:100% !important;
    gap:12px !important;
  }

  body .ns-post .ns-post-actions .ns-btn{
    width:auto !important;
    min-width:200px !important;
    max-width:320px !important;

    padding-left:25px !important;
    padding-right:25px !important;
  }

  body .ns-post .ns-post-mini-cta{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:26px !important;
  }

  body .ns-post .ns-post-mini-cta .ns-btn{
    width:auto !important;
    min-width:190px !important;
    max-width:280px !important;
    justify-self:end !important;
  }

}


/* =========================================================
   13. DESKTOP
========================================================= */

@media (min-width:1100px){

  body .ns-post h1{
    max-width:820px !important;
    font-size:3.45rem !important;
    line-height:1.03 !important;
  }

  body .ns-post h2{
    max-width:760px !important;
    font-size:2.25rem !important;
    line-height:1.12 !important;
  }

  body .ns-post h3{
    font-size:1.16rem !important;
  }

  body .ns-post .ns-post-content{
    max-width:860px !important;
  }

  body .ns-post .ns-post-panel,
  body .ns-post .ns-post-highlight{
    padding:34px 38px !important;
  }

  body .ns-post .ns-post-actions{
    justify-content:flex-start !important;
  }

  body .ns-post .ns-post-final-cta__box .ns-post-actions{
    justify-content:center !important;
  }

}