#reviews-ask{opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease}
#reviews-ask.is-visible{opacity:1; transform:translateY(0)}

/* --- Mapka Sanrel: frame + złoty overlay + dolny fade --- */
.map-frame{position:relative;border:1px solid rgba(255,255,255,.10);border-radius:14px;overflow:hidden;background:#0c0c0c;isolation:isolate}
.map-frame::before{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.18;
  background:radial-gradient(120% 70% at 100% 0, rgba(200,168,107,.20), transparent 60%),
             radial-gradient(120% 70% at 0 100%, rgba(200,168,107,.16), transparent 60%);
  background-size:280% 280%}
.map-frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26px;pointer-events:none;
  background:linear-gradient(180deg, rgba(11,11,11,0), rgba(11,11,11,.65))}
.map-iframe{width:100%;height:100%;border:0;filter:saturate(.95) contrast(1.04)}
@media (prefers-reduced-motion: no-preference){
  @keyframes mapGlow {0%{background-position:0 0}50%{background-position:100% 100%}100%{background-position:0 0}}
  .map-frame::before{animation:mapGlow 24s ease-in-out infinite}
}

/* Section */
.reviews-sec{position:relative; padding-top:3rem; padding-bottom:3rem}
@keyframes glowWave{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.reviews-sec::before{content:""; opacity:0;}

/* Head */
.reviews-head{display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:.6rem; margin-bottom:1.2rem}
.reviews-sub{display:flex;flex-direction:column;gap:.25rem;align-items:center;text-align:center;align-self:center}
.reviews-score{font-size:.9rem; font-weight:600; opacity:.95}
/* Unified gold stars */
.stars{color:#d4af37; letter-spacing:.12em; text-shadow:0 0 8px rgba(212,175,55,.35)}
.reviews-cta-mini{font-size:.8rem; opacity:.85}
.reviews-cta-mini a{color:#fff; text-decoration:underline; text-underline-offset:2px}

/* Tabs */
.reviews-tabs{display:flex; gap:.5rem; justify-content:center; margin-top:.8rem}
.reviews-tab{display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .7rem; font-size:.85rem; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#fff; opacity:.95; cursor:pointer; user-select:none; transition:transform .15s, background .2s, border-color .2s}
.reviews-tab[aria-selected="true"]{border-color:rgba(212,175,55,.65); background:rgba(255,255,255,.10)}

/* Slider */
.reviews-viewport{position:relative; overflow:hidden; margin-top:1rem}
.reviews-track{display:flex; transition:transform .45s ease}
.slide{flex:0 0 100%; padding:.35rem}
@media (min-width:640px){ .slide{flex-basis:50%} }
@media (min-width:1024px){ .slide{flex-basis:33.333%} }

/* Cards */
@keyframes sweep{0%{background-position:-200% 0}100%{background-position:200% 0}}
.card{position:relative; height:100%; border-radius:1rem; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); padding:1rem 1.1rem; transition:border-color .25s, box-shadow .25s, transform .2s}
.card::before{
  content:""; position:absolute; inset:-1px; border-radius:1rem; padding:1px;
  background:linear-gradient(90deg, rgba(212,175,55,0), rgba(212,175,55,.7), rgba(212,175,55,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:sweep 7s linear infinite; animation-play-state: paused; pointer-events:none; will-change:transform; opacity:.9
}
.card:hover::before{ animation-play-state: running; }

.card:hover{border-color:rgba(212,175,55,.6); box-shadow:0 18px 40px rgba(255,200,120,.18); transform:translateY(-2px)}
.card-top{display:flex; align-items:center; justify-content:space-between}
.who{font-size:.84rem; color:#fff; opacity:.92}
.card-top .stars{font-size:.95rem}
.quote{color:rgba(255,255,255,.9); margin-top:1rem; font-style:italic; font-size:.95rem; line-height:1.5; min-height:4.8em}
.meta{font-size:.8rem; color:rgba(255,255,255,.7)}
.card-bottom{margin-top:.75rem; display:flex; align-items:center; justify-content:space-between; gap:.6rem}
.more{font-size:.84rem; color:rgba(255,255,255,.85)}

/* Controls (slightly smaller) */
.reviews-controls{display:flex; justify-content:center; gap:.5rem; margin-top:.8rem}
.reviews-btn{
  border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#fff;
  font-size:.9rem; border-radius:999px; padding:.45rem; width:38px; height:38px;
  display:inline-grid; place-items:center; box-shadow:0 6px 16px rgba(0,0,0,.25);
  transition:transform .15s, background .2s, border-color .2s
}
.reviews-btn:hover{background:rgba(255,255,255,.10); border-color:rgba(212,175,55,.65); transform:translateY(-1px)}

/* CTA styled like tabs */
.reviews-cta.reviews-tab{
  display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .7rem; font-size:.85rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#fff; opacity:.95;
  transition:transform .15s, background .2s, border-color .2s
}
.reviews-cta.reviews-tab:hover{background:rgba(255,255,255,.10); border-color:rgba(212,175,55,.65); transform:translateY(-1px)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .card::before{animation:none}
  .reviews-sec::before{content:""; opacity:0;}
}

[data-reveal]{
  opacity:.96;
  transform:translateY(8px);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-reveal].is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
