:root{--yellow:#f8c735;--gray:#ededed;--cream:#f4eedd;--text:#000}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:'Noto Serif',serif;padding-bottom:42px}h1,h2,h3,.btn,.form-title,.topbar{font-family:'Noto Sans',sans-serif}h1{font-size:30px;font-weight:800;line-height:1.05}h2{font-size:24px;font-weight:700;text-align:center;margin:0 0 12px}h3{font-size:20px;}.topbar{height:54px;background:#fff;display:flex;align-items:center;position:relative;z-index:3}.brand img{width:140px}.btn-star{background:var(--yellow);border:0;border-radius:999px;color:#000;font-size:15px;font-weight:700;padding:9px 22px;box-shadow:0 2px 0 rgba(0,0,0,.1)}.hero{min-height:470px;overflow:hidden}.hero__img{width:100%;height:470px;object-fit:cover;object-position:center top}.hero__content{position:absolute;inset:0;display:flex;align-items:end;padding-bottom:24px}.hero__copy{background:rgba(255,255,255,.86);padding:18px;max-width:330px}.hero__bullets{padding-left:0;margin:14px 0;list-style:none;font-size:14px}.hero__bullets li{margin:3px 0}.hero__bullets li:before{content:'›';display:inline-grid;place-items:center;width:15px;height:15px;background:#1b1b1b;color:#fff;border-radius:50%;font-weight:800;margin-right:5px}.lead-form{background:#f4eedd;padding:18px;border-radius:2px}.form-title{text-align:center;font-weight:800;margin:0; font-size: 19px}.form-subtitle{text-align:center;font-size:14px}.form-control,.form-select{border-radius:4px;border:1px solid #929BA2;font-size:16px;min-height:40px;padding-left:42px;background-color:#fff}.form-check{font-size:11px;text-align:left}.block{padding:50px 0}.block-gray{background:var(--gray)}.block-cream{background:var(--cream)}.lead-text{font-size:20px}.star-card{background:#fff;min-height:202px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 1px 8px rgba(0,0,0,.08); height: 100%; }.icon-card{background:#fff;min-height:202px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;}.treatment-card{background:#FDF7E6;min-height:202px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;}.icon-card h3, .star-card h3, .treatment-card h3{font-family: 'Noto Serif',serif;}.star-card h3, .treatment-card h3{font-weight: 800}.icon-card img{height:100px;margin-bottom:14px}.star-card img{height:150px;margin-bottom:10px}.treatment-card img{height:68px;margin-bottom:14px}.carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;background-color:var(--yellow);border:0}.step{display:flex;gap:18px;align-items: center;}.step span{font-family:'Noto Serif',serif;font-size:76px;line-height:.85;font-weight:700}.step h3{font-family:'Noto Serif',serif;margin:0; font-size: 22px}.step p{font-family: 'Noto Sans', sans-serif; font-size:16px;margin:4px 0 0}.benefits{font-family:'Noto Sans', sans-serif ;font-size:16px;margin-top:20px}.club-price{display:flex;align-items:center;gap:20px; margin-top:25px;color:var(--yellow);font-family:'Noto Serif',serif;font-style:italic}.club-price>img{width:135px; border-right:2px solid var(--yellow);}.club-price span{font-size:26px;color:#000; line-height: 1}.rounded-img{width:100%;display:block}.google-badge{max-width:150px;margin-top:12px}.review{background:#fff;text-align:left;padding:18px;border-radius:12px;box-shadow:-2px 4px 10px 0px rgba(0, 0, 0, 0.1), 0px 0px 2px 0px rgba(0, 0, 0, 0.05);min-height:165px}.review small{float:right;color:#999}.review div{color:var(--yellow);letter-spacing:2px}.review p{font-size:12px}.clinic-grid{display:grid;grid-template-columns:1fr;gap:16px}.clinic-grid button{border:0;padding:0;position:relative;overflow:hidden;background:#000}.clinic-grid img{width:100%;height:210px;object-fit:cover;transition:.25s}.clinic-grid button:hover img{opacity:.55;transform:scale(1.04)}.clinic-grid button:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:44px;opacity:0;transition:.25s}.clinic-grid button:hover:after{opacity:1}.cta-box{background:#ededed;text-align:left}.cta-box img{width:100%;height:230px;object-fit:cover}.cta-box>div{padding:28px}.footer{background:#ededed;padding:40px 0 20px;font-size:12px;font-family:"Noto Sans",sans-serif}.footer img{width:145px;margin-bottom:10px}.footer a{color:#000;text-decoration:none;margin-left:18px}.mobile-cta{position:fixed;left:0;right:0;bottom:0;background:#fff;padding:5px;text-align:center;z-index:1000;box-shadow:0 -2px 10px rgba(0,0,0,.1)}
@media (min-width:768px){body{padding-bottom:0}.hero{min-height:455px}.hero__img{height:455px}.hero__content{align-items:center;padding-bottom:0}.hero__copy{ max-width:380px}.clinic-grid{grid-template-columns:repeat(4,1fr)}.clinic-grid img{height:160px}.cta-box{display:grid;grid-template-columns:1.05fr 1fr; margin-inline:auto}.cta-box img{height:100%}}
@media (min-width:1024px){h1{font-size:42px}h2{font-size:36px}.hero__content{justify-content:space-between}.lead-form{width:100%;max-width:325px}.block{padding:62px 0}.topbar .container{max-width:1020px}.hero .container{max-width:1100px}.hero__copy{background:rgba(255,255,255,.62)} }


/*top bar sticky*/
.topbar{position: fixed;width: 100%;}
main{padding: 55px 0 0}

/* Wrapper máximo de contenido */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl{
  max-width:1164px !important;
}

.content-wrapper{
  width:100%;
  max-width:1164px;
  margin-left:auto;
  margin-right:auto;
  padding-left:12px;
  padding-right:12px;
}


/* Iconos del formulario */
.input-icon{position:relative}
.input-icon::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  z-index:2;
  pointer-events:none;
}
.input-icon--user::before{background-image:url("../form-icons/icon-form-user.svg")}
.input-icon--phone::before{background-image:url("../form-icons/icon-user-form.svg")}
.input-icon--clinic::before{background-image:url("../form-icons/icon-form-clincas.svg")}
.btn-form-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto!important;
  min-width:165px;
  margin-left:auto;
  margin-right:auto;
}
.btn-form-submit img{width:22px;height:22px;display:block}
.lead-form .btn-form-submit{display:flex}

/* Corrección hero */
.hero__copy{
  max-width:472.5px !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.75) !important;
}
@media (min-width:768px){
  /*.hero__copy{height:338px}*/
  .hero__copy{height:auto}
  .hero__copy h1{
    color:#000;
    font-size:45px;
    font-style:normal;
    font-weight:700;
    line-height:53px;
    margin: 20px 0 0;
  }
  .lead-text{font-size:24px}
}

/* Flecha listado hero */
.hero__bullets li{
  position:relative;
  padding-left:28px;
}
.hero__bullets li:before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:18px;
  height:18px;
  background:url("../hero/icon-arrow.svg") center/contain no-repeat;
  border-radius:0;
}


/* Corrección tipografía formulario */
.lead-form,
.lead-form *,
.modal-body.lead-form,
.modal-body.lead-form *{
    font-family:"Noto Sans", sans-serif !important;
}

/* Eliminar sombras de todos los botones */
.btn,
.btn-star,
button{
    box-shadow:none !important;
}
.btn:hover,
.btn:focus,
.btn:active,
.btn-star:hover,
.btn-star:focus,
.btn-star:active{
    box-shadow:none !important;
}
.btn-star:hover{background: var(--yellow);color: #000;}


/* Slick sliders */
.slick-slider{margin-left:-8px;margin-right:-8px}
.slick-slide{padding-left:8px;padding-right:8px}
.slick-dots{position:static;margin-top:12px}
.slick-dots li{width:8px;height:8px;margin:0 3px}
.slick-dots li button{width:8px;height:8px;padding:0}
.slick-dots li button:before{
  width:8px;
  height:8px;
  line-height:8px;
  font-size:8px;
  color:var(--yellow);
  opacity:.35;
}
.slick-dots li.slick-active button:before{color:var(--yellow);opacity:1}
.slick-arrow{display:none!important}

/* Testimonios */
.testimonials__inner{position:relative}
.reviews-summary{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:140px;
  min-height:86px;
  padding:12px 10px;
  background:#fff;
  border-radius:4px;
  font-family:"Noto Sans",sans-serif;
  position:absolute;
  right:0;
  top:-18px;
}
.reviews-summary__google{
  font-weight:700;
  font-size:20px;
  line-height:1;
  color:#4285f4;
}
.reviews-summary strong{font-size:18px}
.stars{color:#f5b400;letter-spacing:1px}
.reviews-summary small{font-size:9px;text-decoration:underline}
.testimonials .lead-text{margin-left:auto;margin-right:auto}
.testimonials-slider{ margin-left:auto;margin-right:auto}
.review{
  background:#fff;
  border-radius:4px;
  padding:17px;
  text-align:left;
  min-height:150px;
  box-shadow:0 2px 9px rgba(0,0,0,.18);
  font-family:"Noto Sans",sans-serif;
}
.review p:first-child{
  display:flex;
  justify-content:space-between;
  margin-bottom:10px;
}
.review small{font-size:9px;color:#555}
.review h3{font-family:"Noto Sans",sans-serif;font-size:14px;margin-top:10px}
.review p{font-size:11px}
.review a{font-size:10px;color:#555;text-decoration:none}

/* Slider de tratamientos */
.treatments-slider{ margin-left:auto;margin-right:auto}
/*.treatments-slider .treatment-card{height:132px}*/

/* Slider clínica */
.clinic-slider{ margin-left:auto;margin-right:auto}
.clinic-slider button{
  border:0;
  background:transparent;
  padding:0 8px;
  box-shadow:none!important;
  width: 281px;
}
.clinic-slider img{
  width:100%;
  height:265px;
  object-fit:cover;
  display:block;
}
.clinic-slider button:hover img{filter:brightness(.85)}

@media (max-width:767px){
  .reviews-summary{
    position:static;
    margin:14px auto 8px;
  }
  .testimonials-slider,
  .treatments-slider,
  .clinic-slider{max-width:100%}
 
  
}

/* Corrección imagen CTA sección 7 */
.cta-box picture{
  display:block;
  width:100%;
}
.cta-box picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media (min-width:768px){
  .cta-box {
   font-size: 22px;
  }
}
.brand img{
    width: 215px;
    display:block;
  }
/* Corrección mobile topbar + hero */
@media (max-width:767px){
  .topbar{
    height:54px;
  }
  .topbar .container{
    justify-content:center!important;
  }
  .brand{
    margin-left:auto;
    margin-right:auto;
  }
/*  .brand img{
    width: 215px;
    display:block;
  }*/
  .hero{
    min-height:610px;
  }
  .hero__img{
    height:610px;
    object-fit:cover;
    object-position:center top;
  }
  .hero__content{
    align-items:flex-end;
    padding-bottom:28px;
  }
  .hero__copy{
    width:calc(100% - 24px);
    max-width:330px!important;
    margin-left:auto;
    margin-right:auto;
    padding:18px;
    border-radius:8px!important;
    background:rgba(255,255,255,.75)!important;
    min-height:0;
  }
  .hero__copy::before{
    content:"";
    display:block;
    height:350px;
    margin-top:-350px;
    pointer-events:none;
  }
  .hero__copy h1{
    font-size:24px;
    line-height:28px;
  }
}

/* Corrección altura mínima hero mobile */
@media (max-width:767px){
  .hero{
    min-height:630px!important;
  }
  .hero__img{
    height:630px!important;
  }
}

/* Corrección sección testimonios */
.testimonials{
  padding-top:72px;
  padding-bottom:60px;
}
.testimonials__inner{
  position:relative;
}
.testimonials h2{
  font-family:"Noto Sans",sans-serif;
  font-size:36px;
  font-weight:700;
  line-height:1.15;
}
.testimonials .lead-text{
  font-family:"Noto Serif",serif;
  font-size:18px;
  margin-bottom:36px;
}
.reviews-summary{
  width:210px!important;
  min-height:88px!important;
  border-radius:8px!important;
  top:-38px!important;
  right:0!important;
  padding:14px 18px!important;
  box-shadow:none!important;
}
.reviews-summary__google{
  font-family:"Noto Sans",sans-serif;
  font-size:24px!important;
  line-height:1;
  margin-bottom:5px;
}
.reviews-summary > div:not(.reviews-summary__google){
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1;
}
.reviews-summary strong{
  font-family:"Noto Sans",sans-serif;
  font-size:20px!important;
  font-weight:700;
}
.reviews-summary .stars{
  font-size:18px;
  letter-spacing:0;
  white-space:nowrap;
}
.reviews-summary small{
  font-family:"Noto Sans",sans-serif;
  font-size:9px!important;
  margin-top:6px;
}
.testimonials-slider{
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.testimonials-slider .slick-list{
  overflow:hidden;
  padding-top:0;
  padding-bottom:4px;
}
.testimonials-slider .slick-track{
  display:flex!important;
  align-items:stretch;
}
.testimonials-slider .slick-slide{
  height:auto;
  padding-left:12px!important;
  padding-right:12px!important;
}
.testimonials-slider .slick-slide > div{
  height:100%;
}
.testimonials-slider .review{
  height:100%;
  min-height:175px;
  margin:0;
  box-sizing:border-box;
}
.testimonials-slider .slick-dots{
  margin-top:16px;
}
.testimonials .btn-star{
  margin-top:8px!important;
}

@media (min-width:1024px){
  .testimonials-slider{
    padding-left:0;
    padding-right:0;
  }
}

@media (max-width:767px){
  .testimonials{
    padding-top:50px;
  }
  .testimonials h2{
    font-size:24px;
  }
  .testimonials .lead-text{
    font-size:16px;
    margin-bottom:18px;
  }
  .reviews-summary{
    position:static!important;
    width:155px!important;
    min-height:78px!important;
    margin:0 auto 22px!important;
    padding:12px!important;
  }
  .reviews-summary .stars{
    font-size:14px;
  }
  .testimonials-slider .slick-slide{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* Breakpoint real solicitado: mobile < 1024px */
.d-desktop-inline-flex,
.d-desktop-block{
  display:none!important;
}
@media (min-width:1024px){
  .d-desktop-inline-flex{display:inline-flex!important}
  .d-desktop-block{display:block!important}
  .d-desktop-none{display:none!important}
}
@media (max-width:1023.98px){
  .d-desktop-none{display:block!important}
  .hero__copy .d-desktop-none{display:inline-flex!important}
}

/* Formulario PHP compartido */
#leadFormAnchor{
  scroll-margin-top:80px;
}
.appointment-form{
  margin:0;
}
.appointment-form .btn-form-submit{
  border:0;
  box-shadow:none!important;
}
.modal-body.lead-form{
  border-radius:0 0 8px 8px;
}

/* Estrellas SVG en testimonios */
.stars-svg{
  display:inline-flex;
  align-items:center;
  gap:2px;
  vertical-align:middle;
}
.stars-svg svg{
  width:16px;
  height:16px;
  display:block;
  flex:0 0 16px;
}
.reviews-summary .stars-svg svg{
  width:18px;
  height:18px;
  flex-basis:18px;
}
.review .stars,
.reviews-summary .stars{
  display:flex;
  align-items:center;
}

/* Logo Google en caja de opiniones */
.reviews-summary img.reviews-summary__google{
  display:block;
  width:27px;
  height:27px;
  object-fit:contain;
  margin:0 auto 6px;
}

/* Google G SVG */
.reviews-summary img.reviews-summary__google{
  display:block;
  width:27px;
  height:27px;
  object-fit:contain;
  margin:0 auto 6px;
}

.modal-header{background: #f4eedd}
.club-price strong{display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; grid-gap: 8px; line-height: 1;    font-size: 2.1rem;}
.club-price strong>img{width: 100%;}
.benefits span{color: #f5ca4b; font-size: 12px;}
.notice-legal{display: flex; flex-direction: column; font-size: 14px; font-family: 'Noto Sans', sans-serif;}

@media(min-width: 1024px){
  .hero__bullets{ 
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 35px 0 0;}
  .icon-card{min-height: 202px}
  .benefits{font-size: 14px}

}
.legal-promo{font-size: 12px; font-style: italic;}