/* =========================================================
   DORADO — RESEÑAS PREMIUM V2
   Carrusel liviano, colores coherentes y movimiento estable.
   ========================================================= */

:root{
  --reviews-ease-out:cubic-bezier(0.23,1,0.32,1);
  --reviews-ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --reviews-ease-drawer:cubic-bezier(0.32,0.72,0,1);
}

#opiniones{
  --review-bg:#0a151f;
  --review-bg-hover:#0d1a25;
  --review-border:#1b2c38;
  --review-border-accent:rgba(230,167,43,.38);
  --review-gold:#efb33d;
  --review-gold-soft:#d9a137;
  --review-text:#f4f1e9;
  --review-muted:#8f9aa3;
  --review-copy:#c7d0d6;
}

#opiniones .trust-copy{
  max-width:760px;
}

#opiniones .trust-copy p{
  max-width:720px;
  color:#9aa6af!important;
  font-size:11.5px!important;
  line-height:1.72!important;
}

#opiniones .reviews-rating-summary{
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid rgba(239,179,61,.24)!important;
  border-radius:999px!important;
  background:#101b24!important;
  color:#f0bb4b!important;
  font-size:8.2px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;
}

#opiniones .reviews-filter-button,
#opiniones .reviews-google-link{
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:999px!important;
  background:#0c1721!important;
  color:#e8edf0!important;
  box-shadow:none!important;
  transition:
    transform .24s var(--reviews-ease-out),
    border-color .24s var(--reviews-ease-in-out),
    background-color .24s var(--reviews-ease-in-out),
    color .24s var(--reviews-ease-in-out)!important;
}

#opiniones .reviews-filter-button:hover,
#opiniones .reviews-google-link:hover{
  border-color:rgba(239,179,61,.42)!important;
  background:#101e29!important;
  color:#f0bb4b!important;
  transform:translateY(-1px)!important;
}

#opiniones .reviews-filter-button:active,
#opiniones .reviews-google-link:active{
  transform:translateY(0) scale(.988)!important;
}

#opiniones .reviews-marquee-shell{
  position:relative!important;
  margin-top:34px!important;
  padding:8px 0 12px!important;
  overflow:hidden!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  contain:layout paint style!important;
}

#opiniones .reviews-marquee-track{
  display:flex!important;
  width:max-content!important;
  animation:doradoReviewsMarquee 38s linear infinite!important;
  animation-timing-function:linear!important;
  transform:translate3d(0,0,0);
  will-change:transform!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

#opiniones .reviews-marquee-set{
  display:flex!important;
  gap:14px!important;
  padding-right:14px!important;
  flex:none!important;
}

#opiniones .reviews-marquee-shell:hover .reviews-marquee-track{
  animation-play-state:paused!important;
}

#opiniones .review-card{
  flex:0 0 auto!important;
  width:350px!important;
  min-height:186px!important;
  padding:18px!important;
  border:1px solid var(--review-border)!important;
  border-left:3px solid var(--review-gold-soft)!important;
  border-radius:17px!important;
  background:var(--review-bg)!important;
  color:var(--review-text)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:hidden!important;
  contain:layout paint style!important;
  transition:
    border-color .24s var(--reviews-ease-in-out),
    background-color .24s var(--reviews-ease-in-out)!important;
}

#opiniones .review-card::before,
#opiniones .review-card::after{
  content:none!important;
  display:none!important;
}

@media(hover:hover){
  #opiniones .review-card:hover{
    border-color:rgba(230,167,43,.34)!important;
    border-left-color:var(--review-gold)!important;
    background:var(--review-bg-hover)!important;
  }
}

#opiniones .review-card-top{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
}

#opiniones .review-avatar{
  width:40px!important;
  height:40px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(239,179,61,.18)!important;
  background:#10212c!important;
  color:var(--review-gold)!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:none!important;
}

#opiniones .review-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

#opiniones .review-author{
  min-width:0!important;
}

#opiniones .review-author strong{
  display:block!important;
  color:var(--review-text)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

#opiniones .review-author small{
  display:block!important;
  margin-top:3px!important;
  color:var(--review-muted)!important;
  font-size:8.2px!important;
  font-weight:600!important;
  line-height:1.25!important;
}

#opiniones .review-source{
  display:none!important;
}

#opiniones .review-stars{
  display:block!important;
  margin-top:15px!important;
  padding:0!important;
  min-height:0!important;
  border:0!important;
  background:none!important;
  color:var(--review-gold)!important;
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:.07em!important;
  text-shadow:none!important;
}

#opiniones .review-card p{
  margin:13px 0 0!important;
  max-width:none!important;
  color:var(--review-copy)!important;
  font-size:10.8px!important;
  font-weight:500!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}

#opiniones .reviews-grid{
  gap:12px!important;
}

#opiniones .reviews-grid .review-card{
  width:auto!important;
  min-height:176px!important;
}

#opiniones .reviews-filter-panel{
  margin-top:26px!important;
  padding:16px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:18px!important;
  background:#09141d!important;
  box-shadow:none!important;
}

#opiniones .reviews-filter-panel:not([hidden]){
  animation:reviewsFilterOpen .38s var(--reviews-ease-drawer) both;
}

@keyframes reviewsFilterOpen{
  from{opacity:0;transform:translateY(-8px) scale(.99)}
  to{opacity:1;transform:none}
}

@keyframes doradoReviewsMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:820px){
  #opiniones .reviews-marquee-track{
    animation-duration:34s!important;
  }

  #opiniones .review-card{
    width:322px!important;
    min-height:180px!important;
    padding:17px!important;
  }

  #opiniones .review-stars{
    font-size:15.5px!important;
  }

  #opiniones .review-card p{
    font-size:10.2px!important;
  }
}

@media(max-width:430px){
  #opiniones .review-card{
    width:min(304px,88vw)!important;
    min-height:174px!important;
    padding:16px!important;
    border-radius:15px!important;
  }

  #opiniones .review-card-top{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
  }

  #opiniones .review-avatar{
    width:38px!important;
    height:38px!important;
  }

  #opiniones .review-author strong{
    font-size:10.8px!important;
  }

  #opiniones .review-stars{
    margin-top:12px!important;
    font-size:15px!important;
  }

  #opiniones .review-card p{
    margin-top:11px!important;
    font-size:9.9px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #opiniones .reviews-marquee-shell{
    overflow:auto!important;
  }

  #opiniones .reviews-marquee-track{
    animation:none!important;
    transform:none!important;
  }

  #opiniones .reviews-marquee-set[aria-hidden="true"]{
    display:none!important;
  }
}


/* =========================================================
   GOOGLE REVIEW CARD DETAILS — 2026-09-27
   Uses the provided Google G + blue review badge assets.
   Keeps the existing continuous marquee implementation intact.
   ========================================================= */

#opiniones .review-card{
  width:360px!important;
  min-height:206px!important;
  padding:18px 18px 20px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-left:1px solid rgba(255,255,255,.075)!important;
  border-radius:18px!important;
  background:#17191b!important;
  box-shadow:0 12px 26px rgba(3,9,14,.12)!important;
}

#opiniones .review-card:hover{
  background:#1a1d20!important;
  border-color:rgba(215,161,58,.18)!important;
  border-left-color:rgba(215,161,58,.18)!important;
}

#opiniones .review-card-top{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 22px!important;
  gap:11px!important;
  align-items:start!important;
}

#opiniones .review-avatar{
  position:relative!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(145deg,#273640,#1d2a32)!important;
  color:#f0b548!important;
  box-shadow:none!important;
}

#opiniones .review-avatar-initial{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  color:#f2bd52!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
}

#opiniones .review-avatar img{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  border-radius:50%!important;
  object-fit:cover!important;
  background:#1d2a32!important;
}

#opiniones .review-author{
  min-width:0!important;
  padding-top:1px!important;
}

#opiniones .review-author-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}

#opiniones .review-author strong{
  min-width:0!important;
  color:#f7f5ef!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.2!important;
}

#opiniones .review-verified-badge{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  object-fit:contain!important;
}

#opiniones .review-author small{
  margin-top:4px!important;
  color:#8d979d!important;
  font-size:8.5px!important;
}

#opiniones .review-google-logo{
  width:21px!important;
  height:21px!important;
  margin-top:1px!important;
  object-fit:contain!important;
  justify-self:end!important;
}

#opiniones .review-stars{
  margin-top:14px!important;
  color:#ffbf00!important;
  font-size:16px!important;
  letter-spacing:.035em!important;
}

#opiniones .review-card p{
  margin-top:12px!important;
  color:#eef0ef!important;
  font-size:10.8px!important;
  line-height:1.55!important;
}

#opiniones .reviews-grid .review-card{
  width:auto!important;
  min-height:190px!important;
}

@media(max-width:820px){
  #opiniones .review-card{
    width:326px!important;
    min-height:198px!important;
    padding:17px!important;
  }

  #opiniones .review-card-top{
    grid-template-columns:40px minmax(0,1fr) 21px!important;
    gap:10px!important;
  }

  #opiniones .review-avatar{
    width:40px!important;
    height:40px!important;
  }

  #opiniones .review-google-logo{
    width:20px!important;
    height:20px!important;
  }
}

@media(max-width:430px){
  #opiniones .review-card{
    width:min(306px,88vw)!important;
    min-height:190px!important;
    padding:16px!important;
    border-radius:16px!important;
  }

  #opiniones .review-card-top{
    grid-template-columns:38px minmax(0,1fr) 20px!important;
    gap:9px!important;
  }

  #opiniones .review-avatar{
    width:38px!important;
    height:38px!important;
  }

  #opiniones .review-author strong{
    font-size:10.8px!important;
  }

  #opiniones .review-verified-badge{
    width:15px!important;
    height:15px!important;
    flex-basis:15px!important;
  }

  #opiniones .review-google-logo{
    width:19px!important;
    height:19px!important;
  }

  #opiniones .review-stars{
    margin-top:12px!important;
    font-size:15px!important;
  }

  #opiniones .review-card p{
    margin-top:11px!important;
    font-size:9.9px!important;
  }
}


/* =========================================================
   REVIEW READABILITY + COMPOSITOR PASS — 2026-09-27
   Desktop readability without changing the mobile composition.
   ========================================================= */
@media (min-width:821px){
  #opiniones .review-author strong{
    font-size:13.25px!important;
    line-height:1.22!important;
  }

  #opiniones .review-author small{
    margin-top:5px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }

  #opiniones .review-stars{
    font-size:17.5px!important;
  }

  #opiniones .review-card p{
    font-size:12px!important;
    line-height:1.58!important;
  }

  #opiniones .review-google-logo{
    width:22px!important;
    height:22px!important;
  }
}

/* Moving shadows are expensive when the entire rail is composited.
   The cards keep their border/depth but do not rasterize a large shadow
   on every animation frame. */
#opiniones .reviews-marquee-shell .review-card{
  box-shadow:none!important;
}
