/* ==========================================================================
   ShyamSutra — "What Practitioners Say" luxe horizontal carousel
   Loaded only on the homepage. Self-contained: uses its own --rv-* colours
   (defaults match the Luxe theme) so it never fights other stylesheets.
   Roll back: remove the <link>/<script> lines + restore the old
   .reviews-grid markup in index.php.
   ========================================================================== */
.reviews-section.rv-luxe{
  --rv-bg:#FFFBF2; --rv-stone:#F8EBD2; --rv-line:#EBD9B8; --rv-ink:#4A3321;
  --rv-mut:#7A644E; --rv-gold:#C98A2B; --rv-gold-dk:#9A5F10; --rv-gap:28px;
  background:
    radial-gradient(900px 380px at 12% 0%, rgba(201,138,43,.10), transparent 70%),
    radial-gradient(800px 360px at 92% 100%, rgba(201,138,43,.09), transparent 70%),
    var(--rv-stone);
  padding:clamp(56px,7vw,110px) 0 clamp(48px,6vw,96px);
  overflow:hidden;
}
.rv-luxe .rv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(26px,3vw,44px)}
.rv-luxe .rv-head .section-head{margin:0;text-align:left;max-width:640px}
.rv-luxe .rv-head .section-head h2{margin-bottom:10px}
.rv-luxe .rv-head .section-head p{margin:0}
.rv-rating{display:flex;align-items:center;gap:14px;color:var(--rv-ink);white-space:nowrap}
.rv-rating strong{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:3rem;line-height:1;color:var(--rv-ink)}
.rv-rating .rv-rating-meta{display:flex;flex-direction:column;gap:4px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rv-mut)}
.rv-rating .rv-rating-stars{display:flex;gap:2px;color:var(--rv-gold)}

.rv-wrap{position:relative}
.rv-track{
  display:flex;flex-wrap:nowrap;gap:var(--rv-gap);
  overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:14px max(24px,calc((100vw - 1240px)/2)) 34px;
  scroll-padding-inline:max(24px,calc((100vw - 1240px)/2));
  outline:none;cursor:grab;
}
.rv-track::-webkit-scrollbar{display:none}
.rv-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}

.rv-card{
  position:relative;flex:0 0 clamp(290px,27vw,390px);scroll-snap-align:start;
  display:flex;flex-direction:column;background:var(--rv-bg);
  border:1px solid var(--rv-line);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 22px 44px -26px rgba(74,51,33,.35);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .4s;
}
.rv-card:hover{transform:translateY(-8px);border-color:var(--rv-gold);box-shadow:0 34px 60px -28px rgba(74,51,33,.45)}

.rv-body{position:relative;display:flex;flex-direction:column;flex:1;padding:30px}
.rv-stars{display:flex;gap:3px;color:var(--rv-gold);margin-bottom:16px}
.rv-text{
  margin:0 0 24px;flex:1;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;
  font-size:1.32rem;line-height:1.5;color:var(--rv-ink);
}
.rv-author{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--rv-line);padding-top:16px}
.rv-name{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rv-ink)}
.rv-role{display:block;margin-top:5px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-mut)}
.rv-src{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-gold-dk);border:1px solid var(--rv-line);padding:4px 8px;white-space:nowrap}

/* controls */
.rv-controls{display:flex;align-items:center;gap:26px;padding:0 max(24px,calc((100vw - 1240px)/2))}
.rv-progress{flex:1;height:2px;background:var(--rv-line);position:relative;overflow:hidden}
.rv-progress i{position:absolute;left:0;top:0;bottom:0;width:30%;background:var(--rv-gold);transition:width .2s linear,transform .2s linear;transform-origin:left}
.rv-count{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;color:var(--rv-ink);letter-spacing:.08em;min-width:70px;text-align:right}
.rv-count em{font-style:normal;color:var(--rv-mut)}
.rv-arrows{display:flex;gap:12px}
.rv-arrow{
  width:52px;height:52px;border-radius:50%;border:1px solid var(--rv-gold);background:transparent;color:var(--rv-gold-dk);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,color .3s,opacity .3s;
}
.rv-arrow:hover:not(:disabled){background:var(--rv-gold);color:#FFFBF2}
.rv-arrow:disabled{opacity:.35;cursor:default}
.rv-arrow:focus-visible,.rv-track:focus-visible{outline:2px solid var(--rv-gold);outline-offset:3px}
.rv-wrap.is-static .rv-controls{display:none}
.rv-wrap.is-static .rv-track{justify-content:center;cursor:default}

@media(max-width:820px){
  .rv-luxe .rv-head{flex-direction:column;align-items:flex-start}
  .rv-luxe .rv-head .section-head{text-align:center;max-width:none;width:100%}
  .rv-rating{align-self:center}
  .rv-track{--rv-gap:16px;gap:16px;padding-inline:20px;scroll-padding-inline:20px}
  .rv-card{flex:0 0 82%}
  .rv-text{font-size:1.2rem}
  .rv-controls{padding:0 20px;gap:16px}
  .rv-arrows{display:none}
  .rv-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .rv-track{scroll-behavior:auto}.rv-card{transition:none}
}
