/* Carrusel de reseñas reales — paleta del sitio */
.lbto-resenas { --oro: #C9A227; --negro: #0B0B0B; --tx: #1A1A1A; --gris: #8F8F8F;
  font-family: 'Poppins', sans-serif; padding: 56px 0 46px; background: linear-gradient(180deg, #fafafa 0%, #fff 100%); text-align: center; overflow: hidden; }
.lbto-resenas *, .lbto-resenas *::before, .lbto-resenas *::after { box-sizing: border-box; }
.lbto-r-top { max-width: 900px; margin: 0 auto 26px; padding: 0 16px; }
.lbto-r-kicker { display: block; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--oro); margin-bottom: 8px; }
.lbto-r-top h2 { margin: 0 0 12px; font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; color: var(--tx); letter-spacing: .02em; }
.lbto-r-google { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid #e5e5e5; border-radius: 30px; background: #fff;
  color: var(--tx) !important; text-decoration: none !important; font-size: 13px; transition: border-color .2s, box-shadow .2s; }
.lbto-r-google:hover { border-color: var(--oro); box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.lbto-r-google b { font-weight: 600; }
.lbto-r-g { width: 18px; height: 18px; flex: 0 0 18px; }
.lbto-r-ig { width: 14px; height: 14px; color: #C13584; vertical-align: -2px; }

.lbto-r-est { display: inline-flex; gap: 2px; }
.lbto-r-est svg { width: 17px; height: 17px; fill: #ddd; }
.lbto-r-est svg.on { fill: var(--oro); }

.lbto-r-marco { position: relative; max-width: 1500px; margin: 0 auto; padding: 0 56px; }
.lbto-r-pista { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 8px 4px 18px;
  scrollbar-width: none; -ms-overflow-style: none; }
.lbto-r-pista::-webkit-scrollbar { display: none; }
.lbto-r-card { flex: 0 0 calc((100% - 40px) / 3); scroll-snap-align: start; margin: 0; background: #fff; border: 1px solid #eee; border-radius: 18px;
  padding: 26px 26px 22px; text-align: left; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.05); position: relative; }
.lbto-r-card::before { content: '“'; position: absolute; right: 22px; top: 2px; font: 700 90px/1 Georgia, serif; color: rgba(201,162,39,.16); }
.lbto-r-card blockquote { margin: 0; padding: 0; border: 0 !important; font-size: 15px; line-height: 1.6; color: #333; font-style: normal; flex: 1; quotes: none; background: none; }
.lbto-r-card blockquote::before, .lbto-r-card blockquote::after { content: none !important; }
.lbto-r-card figcaption { display: flex; align-items: center; gap: 12px; border-top: 1px solid #f0f0f0; padding-top: 14px; }
.lbto-r-ini { width: 42px; height: 42px; border-radius: 50%; background: var(--negro); color: var(--oro); font-weight: 700; display: flex; align-items: center; justify-content: center; flex: 0 0 42px; font-size: 17px; }
.lbto-r-quien strong { display: block; font-size: 14px; color: var(--tx); font-weight: 600; }
.lbto-r-quien small { display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--gris); }
.lbto-r-quien small .lbto-r-g { width: 13px; height: 13px; flex-basis: 13px; }

.lbto-r-flecha { position: absolute; top: 50%; transform: translateY(-60%); width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e3e3e3; background: #fff;
  color: var(--tx); font-size: 26px; line-height: 38px; cursor: pointer; padding: 0; box-shadow: 0 4px 14px rgba(0,0,0,.08); transition: background .2s, color .2s; z-index: 2; }
.lbto-r-flecha:hover { background: var(--negro); color: var(--oro); }
.lbto-r-flecha.prev { left: 8px; }
.lbto-r-flecha.next { right: 8px; }

.lbto-r-puntos { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }
.lbto-r-puntos button { width: 8px; height: 8px; border-radius: 50%; border: 0; background: #d6d6d6; padding: 0; cursor: pointer; }
.lbto-r-puntos button.on { background: var(--oro); width: 22px; border-radius: 6px; }

.lbto-r-cta { margin-top: 22px; }
.lbto-r-cta a { display: inline-block; color: var(--negro) !important; background: var(--oro); padding: 11px 24px; border-radius: 26px; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: background .2s, color .2s; }
.lbto-r-cta a:hover { background: var(--negro); color: #fff !important; }

@media (max-width: 1024px) { .lbto-r-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 767px) {
  .lbto-resenas { padding: 40px 0 34px; }
  .lbto-r-marco { padding: 0; }
  .lbto-r-pista { gap: 12px; padding: 8px 8vw 18px; scroll-padding: 0 8vw; }
  .lbto-r-card { flex-basis: 84vw; padding: 22px 20px 18px; scroll-snap-align: center; scroll-snap-stop: always;
    opacity: .4; transform: scale(.92); transition: opacity .35s, transform .35s, box-shadow .35s; }
  .lbto-r-card.activo { opacity: 1; transform: none; box-shadow: 0 14px 34px rgba(0,0,0,.10); border-color: rgba(201,162,39,.45); }
  .lbto-r-flecha { display: none; }
}
