/* Testimonios autorizados */
.testimonials{max-width:none;background:linear-gradient(180deg,#fffdf9 0,#f5efea 100%)}.testimonials>*{width:min(1350px,90%);margin-left:auto;margin-right:auto}.testimonial-heading{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(300px,1.28fr);align-items:end;gap:5vw;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.testimonial-heading .eyebrow{grid-column:1/-1;margin-bottom:-1.5rem}.testimonial-heading h2{margin:0;color:var(--primary);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;letter-spacing:-.04em;line-height:1}.testimonial-heading p{max-width:38ch;margin:0 0 .45rem;color:#6b6269}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1rem,2vw,1.6rem)}.testimonial-card{position:relative;display:flex;min-height:310px;flex-direction:column;justify-content:space-between;margin:0;padding:clamp(1.7rem,3vw,2.6rem);overflow:hidden;background:#fff;border:1px solid #e0d7dc;box-shadow:0 14px 42px rgba(53,40,50,.07);transition:transform .28s ease,box-shadow .28s ease}.testimonial-card:only-child{max-width:760px}.testimonial-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.testimonial-quote{position:absolute;right:1.2rem;top:-1.2rem;color:rgba(80,54,78,.08);font-family:Georgia,"Times New Roman",serif;font-size:10rem;line-height:1}.testimonial-card blockquote{position:relative;margin:0;padding:0;border:0;color:#342e33;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:500;line-height:1.4;letter-spacing:-.015em}.testimonial-card footer{display:flex;align-items:center;gap:.85rem;margin-top:2.5rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.88rem}.testimonial-card footer img,.testimonial-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%}.testimonial-card footer img{object-fit:cover}.testimonial-avatar{display:grid;place-items:center;background:var(--primary);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.testimonial-card footer strong,.testimonial-card footer small{display:block}.testimonial-card footer small{margin-top:.1rem;color:#766e74}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(53,40,50,.12)}

/* FAQ como orientación previa a la cita */
.faq{max-width:none;grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);gap:clamp(3rem,8vw,8rem);background:var(--paper)}.faq>*{max-width:100%}.faq-intro{align-self:start;position:sticky;top:120px}.faq-intro h2{max-width:12ch;margin:.35rem 0 1.35rem;color:var(--primary);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,4.5vw,4.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.05}.faq-intro p{max-width:44ch;color:#675f65}.faq-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.1rem;padding-bottom:.25rem;color:var(--primary);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}.faq-cta span{transition:transform .25s ease}.faq-cta:hover span{transform:translateX(.3rem)}.faq-list{align-self:start;border-top:1px solid #cfc4ca}.faq-list .faq-item{border:0;border-bottom:1px solid #cfc4ca;background:transparent;transition:background .25s ease}.faq-list .faq-item:has(button[aria-expanded=true]){background:rgba(255,255,255,.58)}.faq-list .faq-item button{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:1rem;width:100%;padding:1.55rem 1.25rem;border:0;background:none;color:#2d282c;text-align:left;cursor:pointer}.faq-number{color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.12em}.faq-question{font-size:1rem;font-weight:800;line-height:1.4}.faq-list button b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bdb0b8;border-radius:50%;font-size:1.15rem;font-weight:400;transition:transform .25s ease,background .25s ease,color .25s ease}.faq-list button[aria-expanded=true] b{transform:rotate(45deg);background:var(--primary);border-color:var(--primary);color:#fff}.faq-list .faq-answer{padding:0 4.5rem 1.65rem;color:#615960;line-height:1.75}.faq-list .faq-answer[hidden]{display:none}
@media(max-width:900px){.testimonial-heading{grid-template-columns:1fr}.testimonial-heading .eyebrow{grid-column:auto;margin-bottom:-1rem}.faq{grid-template-columns:1fr}.faq-intro{position:static}.faq-intro h2{max-width:16ch}.faq-list{margin-top:0}}
@media(max-width:600px){.testimonials>*{width:100%}.testimonial-card{min-height:280px}.faq-list .faq-item button{grid-template-columns:30px 1fr 34px;gap:.65rem;padding:1.3rem .7rem}.faq-list .faq-answer{padding:0 3.2rem 1.4rem}.faq-intro h2{font-size:clamp(2.35rem,12vw,3.3rem)}}
@media(prefers-reduced-motion:reduce){.testimonial-card,.faq-cta span,.faq-list button b{transition:none}.testimonial-card:hover,.faq-cta:hover span{transform:none}}


/* =========================================================
   FAQ V2 — CONTROLES + / × REFINADOS
   SOLO afecta la interacción visual del acordeón FAQ.
   Escritorio + móvil.
   ========================================================= */

.faq-list .faq-item button{
  position:relative;
  transition:
    color .22s ease,
    background-color .22s ease !important;
}

.faq-list .faq-item button:hover{
  color:var(--primary);
}

.faq-list .faq-item button:focus-visible{
  outline:2px solid rgba(80,54,78,.38);
  outline-offset:-2px;
  border-radius:10px;
}

.faq-list .faq-item:has(button[aria-expanded=true]){
  background:rgba(255,255,255,.42) !important;
}

.faq-list .faq-item button[aria-expanded=true] .faq-question{
  color:var(--primary);
}

.faq-list .faq-item button[aria-expanded=true] .faq-number{
  color:var(--primary);
}

/* Nuevo control + / × */
.faq-list button b{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:38px !important;
  height:38px !important;
  padding:0 !important;
  overflow:hidden !important;
  color:transparent !important;
  background:rgba(255,253,249,.72) !important;
  border:1px solid rgba(80,54,78,.22) !important;
  border-radius:50% !important;
  font-size:0 !important;
  line-height:1 !important;
  transform:none !important;
  transition:
    background-color .22s ease,
    border-color .22s ease,
    transform .22s ease,
    box-shadow .22s ease !important;
}

.faq-list button b::before,
.faq-list button b::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:13px;
  height:1.5px;
  background:var(--primary);
  border-radius:999px;
  transform:translate(-50%,-50%);
  transform-origin:center;
  transition:
    transform .24s ease,
    background-color .22s ease !important;
}

.faq-list button b::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.faq-list .faq-item button:hover b{
  background:rgba(80,54,78,.055) !important;
  border-color:rgba(80,54,78,.38) !important;
  box-shadow:0 4px 12px rgba(53,40,50,.06) !important;
  transform:translateY(-1px) !important;
}

.faq-list button[aria-expanded=true] b{
  background:var(--primary) !important;
  border-color:var(--primary) !important;
  box-shadow:0 5px 14px rgba(53,40,50,.10) !important;
  transform:rotate(45deg) !important;
}

.faq-list button[aria-expanded=true] b::before,
.faq-list button[aria-expanded=true] b::after{
  background:#fff !important;
}

/* Entrada suave de respuesta */
.faq-list .faq-answer:not([hidden]){
  animation:faqAnswerIn .26s ease both;
}

@keyframes faqAnswerIn{
  from{
    opacity:0;
    transform:translateY(-5px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Móvil */
@media(max-width:600px){

  .faq-list .faq-item button{
    grid-template-columns:28px minmax(0,1fr) 38px !important;
    gap:.65rem !important;
    width:100% !important;
    min-width:0 !important;
    padding:1.15rem .65rem !important;
  }

  .faq-question{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .faq-list button b{
    width:38px !important;
    height:38px !important;
    justify-self:end;
  }

  .faq-list button b::before,
  .faq-list button b::after{
    width:12px;
  }

  .faq-list .faq-answer{
    padding:0 2.9rem 1.25rem !important;
  }
}

@media(max-width:420px){

  .faq-list .faq-item button{
    grid-template-columns:24px minmax(0,1fr) 36px !important;
    gap:.55rem !important;
    padding:1.05rem .5rem !important;
  }

  .faq-list button b{
    width:36px !important;
    height:36px !important;
  }

  .faq-list .faq-answer{
    padding:0 2.5rem 1.15rem !important;
  }
}

@media(prefers-reduced-motion:reduce){

  .faq-list .faq-item button,
  .faq-list button b,
  .faq-list button b::before,
  .faq-list button b::after{
    transition:none !important;
  }

  .faq-list .faq-answer:not([hidden]){
    animation:none !important;
  }

  .faq-list .faq-item button:hover b{
    transform:none !important;
  }

  .faq-list button[aria-expanded=true] b{
    transform:none !important;
  }

  .faq-list button[aria-expanded=true] b::before{
    transform:translate(-50%,-50%) rotate(45deg) !important;
  }

  .faq-list button[aria-expanded=true] b::after{
    transform:translate(-50%,-50%) rotate(-45deg) !important;
  }
}


/* =========================================================
   TESTIMONIOS V3 — EDITORIAL MÉDICO
   SOLO afecta .testimonials.
   FAQ permanece intacto.
   ========================================================= */

.testimonials{
  --test-plum:#4d3049;
  --test-coral:#d96e58;
  --test-sage:#93a691;
  --test-ink:#3f383d;
  --test-muted:#81777e;
  --test-line:rgba(77,48,73,.12);
  --test-paper:#fffdfa;
  --test-cream:#f7f2ec;

  max-width:none !important;
  padding:clamp(3.4rem,5vw,5rem) 0 !important;

  background:
    linear-gradient(
      180deg,
      #fbf7f1 0%,
      #f7f1eb 100%
    ) !important;
}

/* =========================================================
   ENCABEZADO
   ========================================================= */

.testimonials>*{
  width:min(1380px,calc(100% - 48px)) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.testimonial-heading{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.72fr) !important;
  align-items:end !important;

  gap:clamp(1.5rem,4vw,4.5rem) !important;

  margin-bottom:clamp(1.8rem,3vw,2.6rem) !important;
  padding-bottom:clamp(1.1rem,2vw,1.5rem) !important;

  border-bottom:1px solid var(--test-line) !important;
}

.testimonial-heading .eyebrow{
  grid-column:1/-1 !important;

  display:inline-flex !important;
  align-items:center !important;
  gap:.65rem !important;

  width:max-content !important;

  margin:0 0 -.25rem !important;

  color:var(--test-coral) !important;

  font-size:.68rem !important;
  font-weight:900 !important;
  letter-spacing:.11em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}

.testimonial-heading .eyebrow::before{
  content:"";

  width:28px;
  height:1px;

  background:rgba(217,110,88,.55);
}

.testimonial-heading h2{
  max-width:none !important;

  margin:0 !important;

  color:var(--test-plum) !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(2.8rem,4.5vw,4.8rem) !important;
  font-weight:500 !important;
  letter-spacing:-.045em !important;
  line-height:.98 !important;
}

.testimonial-heading p{
  max-width:36ch !important;

  margin:0 0 .25rem !important;

  color:var(--test-muted) !important;

  font-size:.9rem !important;
  line-height:1.65 !important;
}

/* =========================================================
   GRID
   ========================================================= */

.testimonial-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;

  gap:clamp(.95rem,1.7vw,1.35rem) !important;
}

/* =========================================================
   TARJETA
   ========================================================= */

.testimonial-card{
  position:relative !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;

  min-width:0 !important;
  min-height:245px !important;

  margin:0 !important;
  padding:clamp(1.35rem,2vw,1.8rem) !important;

  overflow:hidden !important;

  background:rgba(255,253,250,.92) !important;

  border:1px solid var(--test-line) !important;
  border-radius:20px !important;

  box-shadow:0 8px 28px rgba(63,45,58,.045) !important;

  transform:translateY(0) !important;

  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease !important;
}

.testimonial-card:only-child{
  max-width:720px !important;
}

/* Elimina la antigua barra vertical coral */
.testimonial-card::before{
  display:none !important;
}

/* Pequeño detalle coral, mucho más fino */
.testimonial-card::after{
  content:"";

  position:absolute;
  left:1.4rem;
  top:0;

  width:52px;
  height:3px;

  background:var(--test-coral);

  border-radius:0 0 999px 999px;
}

.testimonial-card:hover{
  transform:translateY(-3px) !important;

  border-color:rgba(77,48,73,.17) !important;

  box-shadow:0 14px 34px rgba(63,45,58,.075) !important;
}

/* =========================================================
   COMILLA
   ========================================================= */

.testimonial-quote{
  position:absolute !important;
  right:1rem !important;
  top:.55rem !important;

  color:rgba(77,48,73,.075) !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-size:5.8rem !important;
  line-height:.8 !important;

  pointer-events:none;
}

/* =========================================================
   TEXTO DEL TESTIMONIO
   ========================================================= */

.testimonial-card blockquote{
  position:relative !important;

  max-width:25ch !important;

  margin:.75rem 0 1.5rem !important;
  padding:0 !important;

  color:var(--test-ink) !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(1.25rem,1.6vw,1.65rem) !important;
  font-weight:500 !important;
  letter-spacing:-.018em !important;
  line-height:1.42 !important;

  border:0 !important;
}

/* =========================================================
   AUTOR
   ========================================================= */

.testimonial-card footer{
  position:relative !important;

  display:flex !important;
  align-items:center !important;

  gap:.75rem !important;

  margin:0 !important;
  padding-top:1rem !important;

  border-top:1px solid var(--test-line) !important;

  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:.82rem !important;
}

.testimonial-card footer img,
.testimonial-avatar{
  width:42px !important;
  height:42px !important;

  flex:0 0 42px !important;

  border-radius:50% !important;
}

.testimonial-card footer img{
  object-fit:cover !important;

  border:2px solid rgba(147,166,145,.28) !important;
}

.testimonial-avatar{
  display:grid !important;
  place-items:center !important;

  color:#fff !important;
  background:var(--test-plum) !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1rem !important;
}

.testimonial-card footer strong{
  display:block !important;

  color:#453d42 !important;

  font-size:.8rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}

.testimonial-card footer small{
  display:block !important;

  margin-top:.12rem !important;

  color:var(--test-muted) !important;

  font-size:.7rem !important;
  line-height:1.3 !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1000px){

  .testimonial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .testimonial-card{
    min-height:230px !important;
  }
}

/* =========================================================
   MÓVIL
   ========================================================= */

@media(max-width:700px){

  .testimonials{
    padding:2.7rem 0 !important;
  }

  .testimonials>*{
    width:calc(100% - 28px) !important;
  }

  .testimonial-heading{
    grid-template-columns:1fr !important;

    gap:.75rem !important;

    margin-bottom:1.35rem !important;
    padding-bottom:1rem !important;
  }

  .testimonial-heading .eyebrow{
    grid-column:auto !important;

    margin:0 !important;

    font-size:.63rem !important;
  }

  .testimonial-heading h2{
    font-size:clamp(2.45rem,11vw,3.25rem) !important;
  }

  .testimonial-heading p{
    max-width:none !important;

    margin:0 !important;

    font-size:.84rem !important;
  }

  .testimonial-grid{
    grid-template-columns:1fr !important;

    gap:.85rem !important;
  }

  .testimonial-card{
    min-height:0 !important;

    padding:1.2rem !important;

    border-radius:17px !important;
  }

  .testimonial-card::after{
    left:1.2rem;
    width:44px;
  }

  .testimonial-quote{
    right:.8rem !important;
    top:.5rem !important;

    font-size:4.8rem !important;
  }

  .testimonial-card blockquote{
    max-width:none !important;

    margin:.65rem 0 1.15rem !important;

    font-size:clamp(1.2rem,5.7vw,1.5rem) !important;
    line-height:1.4 !important;
  }

  .testimonial-card footer{
    padding-top:.85rem !important;
  }

  .testimonial-card footer img,
  .testimonial-avatar{
    width:40px !important;
    height:40px !important;

    flex-basis:40px !important;
  }
}

/* Pantallas pequeñas */
@media(max-width:420px){

  .testimonials>*{
    width:calc(100% - 22px) !important;
  }

  .testimonial-card{
    padding:1.05rem !important;
  }

  .testimonial-heading h2{
    font-size:2.45rem !important;
  }
}

/* =========================================================
   MOVIMIENTO REDUCIDO
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .testimonial-card{
    transition:none !important;
  }

  .testimonial-card:hover{
    transform:none !important;
  }
}
