/* ==========================================================================
   poseidon_testimonios · Carrusel de testimonios
   ========================================================================== */
.testimonials{--gutter:max(var(--pad),calc((100% - 1600px) / 2 + var(--pad)));overflow:hidden}
.testimonials .section-head{margin-bottom:54px}
.testimonials-aside{display:flex;flex-direction:column;align-items:flex-end;gap:26px}
.testimonials-nav{display:flex;gap:10px}
.testimonials-btn{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(204,229,235,.35);border-radius:50%;color:var(--white);transition:background .25s,color .25s,border-color .25s,opacity .25s}
.testimonials-btn:hover:not(:disabled){background:var(--white);color:var(--navy);border-color:var(--white)}
.testimonials-btn:disabled{opacity:.35}
.testimonials-btn .p-icon{width:19px;height:19px}

.testimonials-track{display:flex;gap:18px;margin:0;padding:6px var(--gutter) 10px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
.testimonials-track::-webkit-scrollbar{display:none}
.testimonials-track:focus-visible{outline-offset:-2px}
.testimonial{flex:0 0 clamp(300px,31vw,480px);scroll-snap-align:start}
.testimonials-track.is-single .testimonial{flex-basis:min(760px,100%)}
.testimonial figure{display:flex;flex-direction:column;height:100%;padding:34px 34px 30px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.05),transparent 60%);transition:border-color .4s,transform .5s var(--ease)}
.testimonial figure:hover{border-color:rgba(167,217,215,.5);transform:translateY(-4px)}
.testimonial-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.testimonial-mark{font-family:var(--serif);font-size:88px;line-height:.7;height:44px;color:var(--aqua)}
.testimonial-stars{display:flex;gap:3px;padding-top:4px}
.testimonial-stars span{color:rgba(204,229,235,.25)}
.testimonial-stars span.is-on{color:#e6c982}
.testimonial-stars .p-icon{width:16px;height:16px;fill:currentColor}
.testimonial blockquote{flex:1;margin:22px 0 30px}
.testimonial blockquote p{font-family:var(--serif);font-size:var(--fs-title-sm);font-style:italic;line-height:1.55;color:#e5eef0}
.testimonial figcaption{display:flex;align-items:center;gap:15px;padding-top:22px;border-top:1px solid var(--line)}
.testimonial-avatar,.testimonial-photo{flex:0 0 auto;width:48px;height:48px;border-radius:50%}
.testimonial-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#185b52,#0f3d3f);font-family:var(--serif);font-size:24px;color:#dffcf4}
.testimonial-photo{object-fit:cover}
.testimonial figcaption strong{display:block;font-size:var(--fs-text);font-weight:600;letter-spacing:.2px}
.testimonial figcaption small{display:block;font-size:var(--fs-text);color:var(--muted)}
.testimonials-progress{position:relative;height:1px;margin-top:40px;background:var(--line)}
.testimonials-progress span{position:absolute;left:0;top:-1px;height:3px;width:var(--progress,20%);background:var(--aqua);transition:width .35s var(--ease)}

.tone-light .testimonials-btn{border-color:#b9ccce;color:var(--navy)}
.tone-light .testimonials-btn:hover:not(:disabled){background:var(--navy);color:var(--white);border-color:var(--navy)}
.tone-light .testimonial figure{border-color:#c4d2d3;background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(255,255,255,.25))}
.tone-light .testimonial blockquote p{color:#1e3a47}
.tone-light .testimonial-mark{color:#3b727c}
.tone-light .testimonial figcaption{border-color:#c4d2d3}
.tone-light .testimonial figcaption small{color:#506570}
.tone-light .testimonial-stars span{color:#c4d2d3}
.tone-light .testimonial-stars span.is-on{color:#b68a2c}
.tone-light .testimonials-progress{background:#c4d2d3}
.tone-light .testimonials-progress span{background:#2f6f7a}

@media(max-width:760px){
  .testimonials .section-head{margin-bottom:34px}
  .testimonials-aside{align-items:flex-start;gap:18px}
  .testimonials-btn{width:46px;height:46px}
  .testimonials-track{gap:12px}
  .testimonial{flex-basis:84%}
  .testimonial figure{padding:26px 22px 22px}
  .testimonial-mark{font-size:70px;height:36px}
  .testimonials-progress{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.testimonial figure,.testimonials-progress span{transition:none}.testimonials-track{scroll-behavior:auto}}
