/* drmartinpuzo.com — paginas de tratamiento (v1, oct 2026) */
.pagehero{position:relative;background:linear-gradient(155deg,var(--turq-soft),var(--turq-pale) 75%);padding:5.5rem var(--margin) 4.5rem;overflow:hidden}
.pagehero::before{content:"";position:absolute;right:-14rem;top:-16rem;width:34rem;height:34rem;border-radius:50%;
  background:radial-gradient(circle,rgba(11,60,93,.10),rgba(11,60,93,0) 68%);pointer-events:none}
.pagehero__inner{max-width:74rem;margin:0 auto;position:relative}
.crumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.6rem}
.crumbs a{color:var(--blue);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pagehero__title{color:var(--blue-deep);font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.12;margin-bottom:1rem}
.pagehero__sub{color:var(--blue);font-weight:600;font-size:1.15rem;margin-bottom:.9rem}
.pagehero__lede{color:var(--ink-soft);font-size:1.08rem;line-height:1.65;max-width:40rem;margin-bottom:2rem}
.pagehero__actions{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.pagehero__actions a:not(.button){color:var(--blue);font-weight:500}

.prose{max-width:46rem;margin:0 auto;padding:3.2rem var(--margin) 0}
.prose h2{font-size:1.75rem;line-height:1.25;margin-bottom:1rem}
.prose p{color:var(--ink-soft);line-height:1.75;font-size:1.02rem}
.prose section + section{margin-top:2.6rem}

.lenses{background:var(--turq-pale);padding:3.6rem var(--margin);margin-top:3.4rem}
.lenses__inner{max-width:74rem;margin:0 auto}
.lenses__head{max-width:46rem;margin-bottom:2.2rem}
.lenses__head h2{font-size:1.75rem;margin-bottom:.8rem}
.lenses__head p{color:var(--ink-soft);line-height:1.7}
.lenses__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1.2rem}
.lens-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.7rem}
.lens-card__badge{align-self:flex-start;background:var(--turq-soft);color:var(--blue);font-size:.72rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.28rem .7rem}
.lens-card h3{font-size:1.15rem}
.lens-card__desc{color:var(--ink-soft);font-size:.95rem;line-height:1.6}
.lens-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;font-size:.92rem}
.lens-card ul li{padding-left:1.5rem;position:relative;line-height:1.5}
.lens-card ul.plus li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.lens-card ul.minus li{color:var(--ink-soft)}
.lens-card ul.minus li::before{content:"!";position:absolute;left:.15rem;color:#9aa7ae;font-weight:700}
.lens-card--wide{margin-top:1.2rem}
.lens-card--wide ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.45rem 1.6rem}
.lenses__more{margin-top:2rem;text-align:center}
.lenses__more a{font-weight:600}

.sideband{max-width:74rem;margin:2rem auto 0;padding:0 var(--margin);display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem}
.side-card{border-radius:14px;padding:1.8rem}
.side-card h3{font-size:1.3rem;margin-bottom:1rem}
.side-card--list{background:var(--turq-pale);border:1px solid var(--line)}
.side-card--list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.side-card--list li{padding-left:1.6rem;position:relative;line-height:1.55;color:var(--ink)}
.side-card--list li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.side-card--cta{background:var(--blue);color:#fff;display:flex;flex-direction:column;gap:1rem}
.side-card--cta h3{color:#fff}
.side-card--cta p{color:#c9dde6;line-height:1.6;flex:1}

.faq{max-width:46rem;margin:-30px auto 0;padding:3.6rem var(--margin) 3.6rem;position:relative;z-index:2}
.faq h2{font-size:1.75rem;margin-bottom:1.6rem}

@media (max-width:760px){
  .pagehero{padding:4.2rem var(--margin) 3.4rem}
  .sideband{grid-template-columns:1fr}
}
.prose__list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.prose__list li{padding-left:1.6rem;position:relative;line-height:1.6;color:var(--ink-soft)}
.prose__list li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}

/* paginas de ubicacion (v3) */
.locinfo{max-width:74rem;margin:1.8rem auto 0;padding:0 var(--margin)}
.locinfo__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1.2rem;align-items:stretch}
.locinfo__card{background:var(--turq-pale);border:1px solid var(--line);border-radius:14px;padding:1.8rem;display:flex;flex-direction:column;gap:1.2rem;justify-content:center}
.locinfo__row{display:flex;gap:.9rem;align-items:flex-start}
.locinfo__icon{color:var(--blue);background:var(--turq-soft);border-radius:9px;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.locinfo__label{font-weight:600;color:var(--blue-deep)}
.locinfo__val{color:var(--ink-soft);font-size:.95rem}
.locinfo__val a{color:var(--blue);font-weight:600;text-decoration:none}
.locinfo__val a:hover{text-decoration:underline}
.locinfo__map{border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:20rem}
.locinfo__map iframe{display:block;width:100%;height:100%;min-height:20rem}
.treatlinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}
.treatlink{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:.8rem;transition:border-color .2s}
.treatlink h3{font-size:1.08rem;margin:0}
.treatlink__arrow{color:var(--blue);font-weight:700}
@media (hover:hover) and (pointer:fine){.treatlink:hover{border-color:var(--blue)}}
.crossband{max-width:74rem;margin:1.4rem auto 3rem;padding:2rem var(--margin);text-align:center}
.crossband p{color:var(--ink-soft);margin-bottom:1rem}
@media (max-width:760px){.locinfo__grid{grid-template-columns:1fr}}

/* ——— Sobre mí (v4) ——— */
.pagehero__grid{display:grid;grid-template-columns:1.2fr minmax(14rem,22rem);gap:clamp(2rem,5vw,4rem);align-items:center;max-width:74rem;margin:0 auto;position:relative}
.pagehero__eyebrow{color:var(--blue);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;margin-bottom:.8rem}
.pagehero h1{color:var(--blue-deep);font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.08;margin-bottom:1.2rem}
.pagehero__lead{color:var(--ink-soft);font-size:1.06rem;line-height:1.65;max-width:36rem;margin-bottom:1rem}
.pagehero__lead a{color:var(--blue);font-weight:600}
.pagehero__photo{border-radius:14px;overflow:hidden;margin:0}
.pagehero__photo img{width:100%;height:auto;display:block}
@media (max-width:760px){.pagehero__grid{grid-template-columns:1fr}.pagehero__photo{max-width:16rem}}
.profile-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:74rem;margin:0 auto}
.profile-card{background:var(--turq-pale);border:1px solid var(--line);border-radius:12px;padding:1.5rem 1.6rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.3rem;position:relative}
.profile-card__name{font-family:"Playfair Display",Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--blue-deep)}
.profile-card__sub{color:var(--ink-soft);font-size:.92rem}
.profile-card__go{position:absolute;right:1.4rem;top:1.4rem;color:var(--blue)}
@media (max-width:760px){.profile-cards{grid-template-columns:1fr}}
.section--soft{background:var(--turq-soft)}
.wrap--narrow{max-width:46rem}
.section .prose{padding:0;margin:0 0 1.2rem;color:var(--ink-soft);line-height:1.75;font-size:1.02rem}
.section .prose a{color:var(--blue);font-weight:600}
.tray{border-top:1px solid var(--line);max-width:74rem;margin:0 auto}
.tray-block{display:grid;grid-template-columns:3.5rem 1fr;gap:1.4rem;padding:1.8rem 0;border-bottom:1px solid var(--line)}
.tray-block__num{color:var(--blue);font-weight:600;letter-spacing:.08em;font-size:.95rem}
.tray-block h3{margin-bottom:.8rem;color:var(--blue-deep)}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.checklist li{padding-left:1.6rem;position:relative;line-height:1.6;color:var(--ink-soft);font-size:.98rem}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:700}
.historia .prose strong{color:var(--blue-deep)}
.link--light{color:#fff;text-decoration:underline;text-underline-offset:3px;margin-left:1.2rem}
.tray-closing{max-width:46rem;margin:2.4rem auto 0;text-align:center;color:var(--blue-deep);font-family:"Playfair Display",Georgia,serif;font-size:1.15rem;line-height:1.5}
/* contacto */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.4rem}
.contact-card{background:#fff;border:1px solid var(--turq);border-radius:14px;padding:1.6rem 1.5rem}
.contact-card h3{color:var(--blue-deep);font-family:"Playfair Display",Georgia,serif;font-size:1.3rem;margin-bottom:.9rem}
.contact-line{margin-bottom:.7rem}
.contact-line__main{color:var(--blue);font-weight:600;font-size:1.08rem}
.contact-line__note{color:var(--ink-soft);font-size:.9rem}
.contact-line__meta{color:var(--ink-soft);font-size:.95rem;line-height:1.5}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.4rem;margin-top:1.8rem}
.review-card{background:#fff;border-radius:14px;padding:1.5rem;margin:0;display:flex;flex-direction:column;gap:1.1rem}
.review-card__text{color:var(--ink);line-height:1.6;font-size:.98rem;margin:0}
.review-card__meta{display:flex;gap:.8rem;align-items:center;font-size:.92rem;margin-top:auto}
.review-card__avatar{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--turq);color:var(--blue-deep);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex:none}
.review-card__date{color:var(--ink-soft);font-size:.85rem}
.section-more{margin-top:1.8rem}
/* blog index */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.6rem}
.post-card{background:#fff;border:1px solid var(--turq);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.post-card__img{display:block;overflow:hidden}
.post-card__img img{width:100%;height:auto;display:block}
.post-card__body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.post-card__mins{color:var(--ink-soft);font-size:.85rem;margin:0}
.post-card__title{font-size:1.22rem;line-height:1.3;margin:0}
.post-card__title a{color:var(--blue-deep)}
.post-card__excerpt{color:var(--ink-soft);font-size:.95rem;line-height:1.55;margin:0}
.post-card__more{color:var(--blue);font-weight:600;font-size:.95rem;margin-top:auto}
/* blog posts */
.post-meta{color:var(--blue);font-weight:600;font-size:.9rem;letter-spacing:.04em;margin-bottom:.9rem}
.article{max-width:44rem}
.article h2{color:var(--blue-deep);font-size:1.6rem;line-height:1.3;margin:2.5rem 0 1rem}
.article h3{color:var(--blue-deep);font-size:1.25rem;line-height:1.35;margin:1.75rem 0 .75rem}
.article p{color:var(--ink-soft);line-height:1.75;margin:0 0 1.1rem}
.article ul,.article ol{color:var(--ink-soft);line-height:1.75;margin:0 0 1.1rem;padding-left:1.4rem}
.article li{margin-bottom:.45rem}
.article a{color:var(--blue);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.article a.button{text-decoration:none;line-height:1.35;text-align:center}
.treat-box{background:var(--turq-pale);border-radius:14px;padding:1.6rem;margin:2.6rem auto 0;max-width:44rem}
.treat-box__title{font-size:1.25rem;margin:0 0 .9rem}
.treat-box__chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}
.treat-chip{background:#fff;border:1px solid var(--turq);border-radius:8px;padding:.55rem 1rem;color:var(--blue);font-weight:500;font-size:.92rem}
.author-box{display:flex;gap:1.1rem;align-items:center;background:var(--turq-pale);border-radius:14px;padding:1.5rem 1.6rem;margin:1.4rem auto 0;max-width:44rem}
.author-box__avatar{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--turq);color:var(--blue-deep);display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",Georgia,serif;font-weight:600;font-size:1.25rem;flex:none}
.author-box__name{font-weight:600;margin:0}
.author-box__role{color:var(--ink-soft);font-size:.92rem;margin:.15rem 0 .4rem}
.post-grid--2{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));max-width:56rem}
.article h3 span{color:var(--turq);font-size:.85em;margin-right:.55rem;font-weight:600}
.article div{margin-bottom:1.6rem}

/* ——— v80: cabecera interior oscura con la estética de la portada ——— */
.pagehero{background:linear-gradient(160deg,#072c46,#06263e 70%);color:#fff;padding-top:7.5rem}
.pagehero::before{right:auto;left:auto;inset:0;top:0;width:auto;height:auto;border-radius:0;background:none}
.pagehero:has(.pagehero__inner)::before{
  background:linear-gradient(90deg,#06263e 0%,rgba(6,38,62,.92) 34%,rgba(6,38,62,.35) 62%,rgba(6,38,62,.12) 100%),
    url(/assets/img/hero-eye-1600.webp) 72% 42%/cover no-repeat}
.pagehero__title,.pagehero h1{color:#fff}
.pagehero__sub{color:#bfe3e6}
.pagehero__lede,.pagehero__lead{color:#d6e6ee}
.pagehero__lead a,.pagehero__actions a:not(.button){color:#fff}
.pagehero__eyebrow{color:#bfe3e6}
.pagehero .crumbs,.pagehero .post-meta{color:#bfd3de}
.pagehero .crumbs a{color:#fff}
.pagehero .button{background:#fff;color:var(--blue-deep)}
@media (hover:hover) and (pointer:fine){.pagehero .button:hover{background-color:var(--turq-soft);color:var(--blue-deep)}}
/* nav blanca sobre cabecera oscura (hasta el primer scroll) */
body:has(.pagehero) .nav:not(.is-solid) .nav__name,body:has(.pagehero) .nav:not(.is-solid) .nav__links a,
body:has(.pagehero) .nav:not(.is-solid) .nav__tel,body:has(.pagehero) .nav:not(.is-solid) .nav__menu-btn{color:#fff}
body:has(.pagehero) .nav:not(.is-solid) .nav__seal--dark{filter:brightness(0) invert(1)}
body:has(.pagehero) .nav:not(.is-solid) .nav__actions .button{background:#fff;color:var(--blue-deep)}
@media (max-width:760px){
  .pagehero{padding-top:6.2rem}
  .pagehero:has(.pagehero__inner)::before{
    background:linear-gradient(180deg,rgba(6,38,62,.55) 0%,rgba(6,38,62,.78) 45%,#06263e 100%),
      url(/assets/img/hero-eye-1600.webp) 60% 35%/cover no-repeat}
}

/* v81: referencias del artículo de lentes + foco visible sobre fondos oscuros */
.premium-references{margin:2.4rem 0 0;padding-top:1.6rem;border-top:1px solid var(--line)}
.premium-references h2{font-size:1.5rem;margin-bottom:.9rem}
.premium-reference-list{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:.55rem;color:var(--ink-soft);font-size:.95rem;line-height:1.5}
.premium-references p{margin:1rem 0 0;font-size:.875rem;color:var(--ink-soft)}

/* v81b: contraste (medido) sobre la foto */
.pagehero:has(.pagehero__inner)::before{
  background:linear-gradient(180deg,rgba(6,38,62,.6) 0,rgba(6,38,62,0) 150px),
    linear-gradient(90deg,#06263e 0%,rgba(6,38,62,.93) 42%,rgba(6,38,62,.6) 64%,rgba(6,38,62,.14) 100%),
    url(/assets/img/hero-eye-1600.webp) 72% 42%/cover no-repeat}
.pagehero__sub{color:#eaf6f7}
@media (max-width:760px){
  .pagehero:has(.pagehero__inner)::before{
    background:linear-gradient(180deg,rgba(6,38,62,.55) 0%,rgba(6,38,62,.78) 45%,#06263e 100%),
      url(/assets/img/hero-eye-1600.webp) 60% 35%/cover no-repeat}
}

/* v8: separación entre tarjeta CTA y banda FAQ */
.sideband{margin-bottom:2.2rem}

/* ——— v101: costuras de fondo (auditoria 22 oct) ——— */
.locinfo+.lenses{margin-top:0;border-radius:0}
.prose+.lenses{margin-top:-30px;position:relative;z-index:2}
@media (max-width:760px){
  .faq{margin-top:-22px}
  .prose+.lenses{margin-top:-22px}
}
/* v102: .lenses como tarjeta suave completa cuando no va pegada al mapa */
.lenses{border-radius:30px}
.lenses+.sideband{margin-top:1.8rem}
.locinfo+.lenses{border-radius:0}
@media (max-width:760px){.lenses{border-radius:22px}.locinfo+.lenses{border-radius:0}}

/* ——— v103 · móvil: botones y fotos centradas (feedback Martín 22 oct) ——— */
@media (max-width:760px){
  .pagehero p:has(> .button){text-align:center}
  .pagehero__actions{justify-content:center}
  .pagehero__photo{margin-left:auto;margin-right:auto}
  .side-card--cta p:has(> .button){text-align:center}
  .author-box{flex-direction:column;align-items:center;text-align:center;gap:.7rem}
}
