﻿.havena-pro-rating-panel,
.havena-pro-review-widget {
      /* ---- local design tokens: reuse theme vars when present, else fall back ---- */
      --hpr-ink: var(--havena-pro-ink, #0A1628);
      --hpr-slate: var(--havena-pro-slate, #5B6B82);
      --hpr-gold: var(--havena-pro-gold, #C8A96A);
      --hpr-gold-deep: #A8813F;
      --hpr-blue: var(--havena-pro-blue, #2E6BFF);
      --hpr-green: #1D9A6C;
      --hpr-red: #D64545;
      --hpr-border: var(--havena-pro-border, #E6E9F0);
      --hpr-bg-soft: var(--havena-pro-bg-soft, #F7F8FB);
      --hpr-bg-card: #FFFFFF;
      --hpr-radius-lg: var(--havena-pro-radius-lg, 18px);
      --hpr-radius-md: var(--havena-pro-radius-md, 12px);
      --hpr-radius-sm: var(--havena-pro-radius-sm, 8px);
      --hpr-fs-xs: var(--havena-pro-fs-xs, .78rem);
      --hpr-fs-sm: var(--havena-pro-fs-sm, .9rem);
      --hpr-font-serif: 'Marcellus', serif;
      --hpr-font-sans: 'Plus Jakarta Sans', sans-serif;
      font-family: var(--hpr-font-sans);
      color: var(--hpr-ink);
    }

    .havena-pro-rating{ display:block; }

    .havena-pro-rating__subtitle{
      font-family: var(--hpr-font-sans);
      font-size: 1rem;
      font-weight: 700;
      color: var(--hpr-ink);
      margin: 0 0 .9rem;
      letter-spacing: -.01em;
    }

    .havena-pro-rating__divider{
      height:1px;
      background: var(--hpr-border);
      margin: 2rem 0;
      border:0;
    }

    /* ---------------- TOP: overview + distribution + categories ---------------- */
    .havena-pro-rating__top{
      display:grid;
      gap: 1.75rem 2.25rem;
      grid-template-columns: 1fr;
      grid-template-areas: "overview" "distribution" "categories";
    }
    @media (min-width: 641px){
      .havena-pro-rating__top{
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "overview overview" "distribution categories";
      }
    }
    @media (min-width: 1024px){
      .havena-pro-rating__top{
        grid-template-columns: .82fr 1.14fr 1fr;
        grid-template-areas: "overview distribution categories";
      }
    }

    /* Overview */
    .havena-pro-rating__overview{
      grid-area: overview;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:.3rem;
      padding: 1.15rem 1.3rem;
      background: linear-gradient(165deg, var(--hpr-bg-soft), #fff);
      border: 1px solid var(--hpr-border);
      border-radius: var(--hpr-radius-lg);
    }
    .havena-pro-rating__eyebrow{
      font-size: var(--hpr-fs-xs);
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color: var(--hpr-slate);
      margin:0 0 .2rem;
    }
    .havena-pro-rating__score{
      font-family: var(--hpr-font-serif);
      font-size: clamp(1.9rem, 2.6vw, 2.4rem);
      line-height:1;
      color: var(--hpr-ink);
    }
    .havena-pro-rating__static-stars{
      position:relative;
      display:inline-flex;
      gap:.15rem;
      margin:.5rem 0 .3rem;
    }
    .havena-pro-rating__static-stars svg{ width:15px; height:15px; }
    .havena-pro-rating__static-stars-bg,
    .havena-pro-rating__static-stars-fg{
      display:flex;
      gap:.15rem;
    }
    .havena-pro-rating__static-stars-bg svg{ fill:none; stroke:var(--hpr-border); stroke-width:1.6; }
    .havena-pro-rating__static-stars-fg{
      position:absolute;
      inset:0;
      overflow:hidden;
      white-space:nowrap;
      width: var(--hpr-fill, 100%);
    }
    .havena-pro-rating__static-stars-fg svg{ fill:var(--hpr-gold); stroke:var(--hpr-gold); flex:0 0 auto; }
    .havena-pro-rating__qualitative{
      font-weight:700;
      font-size:1.05rem;
      color: var(--hpr-ink);
      margin:.15rem 0 0;
    }
    .havena-pro-rating__count-line{
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-slate);
      margin:.1rem 0 0;
    }

    /* Distribution */
    .havena-pro-rating__distribution{
      grid-area: distribution;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:.55rem;
    }
    .havena-pro-rating__dist-row{
      display:grid;
      grid-template-columns: 34px 1fr 34px;
      align-items:center;
      gap:.65rem;
    }
    .havena-pro-rating__dist-label{
      display:inline-flex;
      align-items:center;
      gap:.2rem;
      font-size: var(--hpr-fs-xs);
      font-weight:700;
      color: var(--hpr-slate);
    }
    .havena-pro-rating__dist-label svg{ width:11px; height:11px; fill:var(--hpr-gold); stroke:none; }
    .havena-pro-rating__dist-track{
      position:relative;
      height:8px;
      border-radius:99px;
      background: var(--hpr-bg-soft);
      overflow:hidden;
    }
    .havena-pro-rating__dist-bar{
      position:absolute;
      inset:0;
      width:0;
      border-radius:99px;
      background: linear-gradient(90deg, var(--hpr-gold-deep), var(--hpr-gold));
      transition: width 1s cubic-bezier(.22,.9,.3,1);
    }
    .havena-pro-rating__top.is-visible .havena-pro-rating__dist-bar{
      width: var(--pct, 0%);
    }
    .havena-pro-rating__dist-count{
      font-size: var(--hpr-fs-xs);
      color: var(--hpr-slate);
      text-align:right;
      font-variant-numeric: tabular-nums;
    }

    /* Categories */
    .havena-pro-rating__categories{ grid-area: categories; }
    .havena-pro-rating__cat-grid{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .85rem 1.1rem;
    }
    .havena-pro-rating__cat{
      display:flex;
      flex-direction:column;
      gap:.35rem;
      padding: .75rem .85rem;
      background: var(--hpr-bg-soft);
      border-radius: var(--hpr-radius-sm);
      border: 1px solid transparent;
      transition: border-color .2s ease, background .2s ease;
    }
    .havena-pro-rating__cat:hover{
      border-color: var(--hpr-border);
      background: #fff;
    }
    .havena-pro-rating__cat-top{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:.5rem;
    }
    .havena-pro-rating__cat-name{
      font-size: var(--hpr-fs-sm);
      font-weight:600;
      color: var(--hpr-ink);
    }
    .havena-pro-rating__cat-score{
      font-size: var(--hpr-fs-sm);
      font-weight:700;
      color: var(--hpr-gold-deep);
      font-variant-numeric: tabular-nums;
    }
    .havena-pro-rating__cat-track{
      height:5px;
      border-radius:99px;
      background: var(--hpr-border);
      overflow:hidden;
    }
    .havena-pro-rating__cat-bar{
      display:block;
      height:100%;
      width:0;
      border-radius:99px;
      background: var(--hpr-gold);
      transition: width 1s cubic-bezier(.22,.9,.3,1);
    }
    .havena-pro-rating__top.is-visible .havena-pro-rating__cat-bar{
      width: var(--pct, 0%);
    }

    /* ---------------- RATE ACTION ---------------- */
    .havena-pro-rating__action{
      max-width: 560px;
    }
    .havena-pro-rating__hint{
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-slate);
      margin: -.4rem 0 1.1rem;
    }
    .havena-pro-rating__stars-input{
      display:inline-flex;
      gap:.4rem;
      margin-bottom:.7rem;
    }
    .havena-pro-rating__star-btn{
      appearance:none;
      border:0;
      background:none;
      padding:.25rem;
      margin:-.25rem;
      min-width:40px;
      min-height:40px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      border-radius:99px;
      transition: transform .15s ease, background .15s ease;
    }
    .havena-pro-rating__star-btn svg{
      width:22px;
      height:22px;
      fill:none;
      stroke: var(--hpr-border);
      stroke-width:1.6;
      transition: fill .15s ease, stroke .15s ease, transform .15s ease;
    }
    .havena-pro-rating__star-btn.is-filled svg{
      fill: var(--hpr-gold);
      stroke: var(--hpr-gold);
    }
    .havena-pro-rating__star-btn:hover{ background: var(--hpr-bg-soft); }
    .havena-pro-rating__star-btn:hover svg{ transform: scale(1.08); }
    .havena-pro-rating__star-btn:focus-visible{
      outline: 2px solid var(--hpr-blue);
      outline-offset: 2px;
    }
    .havena-pro-rating__status{
      font-size: var(--hpr-fs-sm);
      font-weight:600;
      color: var(--hpr-ink);
      min-height:1.4em;
      margin: 0 0 1rem;
    }

    .havena-pro-rating__composer{
      display:flex;
      flex-direction:column;
      gap:.85rem;
      padding-top: .35rem;
    }
    .havena-pro-rating__composer[hidden]{ display:none; }
    .havena-pro-rating__composer .havena-pro-field label{
      display:block;
      font-size: var(--hpr-fs-xs);
      font-weight:700;
      color: var(--hpr-slate);
      margin-bottom:.35rem;
    }

    .havena-pro-rating__submitting{
      display:flex;
      align-items:center;
      gap:.65rem;
      font-size: var(--hpr-fs-sm);
      font-weight:600;
      color: var(--hpr-slate);
      padding: .4rem 0;
    }
    .havena-pro-rating__submitting[hidden]{ display:none; }
    .havena-pro-rating__spinner{
      width:18px; height:18px;
      border-radius:50%;
      border: 2.5px solid var(--hpr-border);
      border-top-color: var(--hpr-gold);
      flex: 0 0 auto;
      animation: havena-pro-rating-spin .8s linear infinite;
    }
    @media (prefers-reduced-motion: reduce){
      .havena-pro-rating__spinner{ animation: havena-pro-rating-pulse 1.4s ease-in-out infinite; }
    }
    @keyframes havena-pro-rating-spin{ to{ transform: rotate(360deg); } }
    @keyframes havena-pro-rating-pulse{ 0%,100%{ opacity:.4; } 50%{ opacity:1; } }

    .havena-pro-rating__success{
      padding: 1.25rem 1.4rem;
      background: var(--hpr-bg-soft);
      border: 1px solid var(--hpr-border);
      border-radius: var(--hpr-radius-md);
      animation: havena-pro-rating-fade .35s ease;
    }
    .havena-pro-rating__success[hidden]{ display:none; }
    @media (prefers-reduced-motion: reduce){
      .havena-pro-rating__success{ animation:none; }
    }
    @keyframes havena-pro-rating-fade{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
    .havena-pro-rating__your-stars{ display:inline-flex; gap:.15rem; margin:.2rem 0 .35rem; }
    .havena-pro-rating__your-stars svg{ width:15px; height:15px; fill:var(--hpr-gold); stroke:var(--hpr-gold); }
    .havena-pro-rating__your-score{
      font-size: var(--hpr-fs-sm);
      font-weight:700;
      color: var(--hpr-ink);
      margin:0 0 .5rem;
    }
    .havena-pro-rating__thanks{
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-slate);
      margin:0 0 .9rem;
    }

    .havena-pro-rating__error{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.85rem;
      padding: 1rem 1.2rem;
      background: #FCEEEE;
      border: 1px solid #F3D0D0;
      border-radius: var(--hpr-radius-md);
      color: var(--hpr-red);
      font-size: var(--hpr-fs-sm);
      font-weight:600;
    }
    .havena-pro-rating__error[hidden]{ display:none; }
    .havena-pro-rating__error p{ margin:0; flex:1 1 220px; }

    /* ---------------- REVIEWS ---------------- */
    .havena-pro-rating__reviews-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
    }
    .havena-pro-rating__review-list{
      display:grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 1rem;
      margin-top: 1.1rem;
    }
    .havena-pro-rating__review{
      padding: 1.1rem 1.2rem;
      border: 1px solid var(--hpr-border);
      border-radius: var(--hpr-radius-md);
      background: #fff;
      transition: box-shadow .2s ease, border-color .2s ease;
    }
    .havena-pro-rating__review:hover{
      border-color: var(--hpr-gold);
      box-shadow: 0 10px 24px -18px rgba(10,22,40,.35);
    }
    .havena-pro-rating__review[hidden]{ display:none; }
    .havena-pro-rating__review--new{ animation: havena-pro-rating-fade .4s ease; border-color:var(--hpr-gold); }
    @media (prefers-reduced-motion: reduce){ .havena-pro-rating__review--new{ animation:none; } }
    .havena-pro-rating__review-head{
      display:flex;
      align-items:flex-start;
      gap:.7rem;
      margin-bottom:.65rem;
    }
    .havena-pro-rating__avatar{
      width:32px; height:32px;
      flex: 0 0 auto;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      font-family: var(--hpr-font-serif);
      font-size:.85rem;
      color:#fff;
      background: linear-gradient(155deg, var(--hpr-ink), #223759);
    }
    .havena-pro-rating__review-name{
      display:block;
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-ink);
    }
    .havena-pro-rating__review-meta{
      display:flex;
      align-items:center;
      gap:.55rem;
      flex-wrap:wrap;
      margin-top:.2rem;
    }
    .havena-pro-rating__mini-stars{ display:inline-flex; gap:1px; }
    .havena-pro-rating__mini-stars svg{ width:12px; height:12px; fill:var(--hpr-gold); stroke:none; }
    .havena-pro-rating__mini-stars svg.is-empty{ fill:var(--hpr-border); }
    .havena-pro-rating__verified{
      display:inline-flex;
      align-items:center;
      gap:.25rem;
      font-size: var(--hpr-fs-xs);
      font-weight:600;
      color: var(--hpr-green);
    }
    .havena-pro-rating__verified svg{ width:12px; height:12px; }
    .havena-pro-rating__review-title{
      font-weight:700;
      font-size: var(--hpr-fs-sm);
      margin:0 0 .25rem;
      color: var(--hpr-ink);
    }
    .havena-pro-rating__review-text{
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-slate);
      line-height:1.6;
      margin:0 0 .8rem;
    }
    .havena-pro-rating__review-foot{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.6rem;
    }
    .havena-pro-rating__review-date{
      font-size: var(--hpr-fs-xs);
      color: var(--hpr-slate);
    }
    .havena-pro-rating__helpful{
      appearance:none;
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      border:1px solid var(--hpr-border);
      background:#fff;
      border-radius:99px;
      padding:.4rem .8rem;
      min-height:36px;
      font-size: var(--hpr-fs-xs);
      font-weight:700;
      color: var(--hpr-slate);
      cursor:pointer;
      transition: border-color .2s ease, color .2s ease, background .2s ease;
    }
    .havena-pro-rating__helpful svg{ width:14px; height:14px; }
    .havena-pro-rating__helpful:hover{ border-color: var(--hpr-gold); color: var(--hpr-gold-deep); }
    .havena-pro-rating__helpful.is-active{
      background: var(--hpr-bg-soft);
      border-color: var(--hpr-gold);
      color: var(--hpr-gold-deep);
      cursor:default;
    }
    .havena-pro-rating__helpful:disabled{ cursor:default; }

    /* ---------------- EMPTY STATE ---------------- */
    .havena-pro-rating__empty{
      text-align:center;
      padding: 3rem 1.5rem;
      border: 1px dashed var(--hpr-border);
      border-radius: var(--hpr-radius-lg);
    }
    .havena-pro-rating__empty[hidden]{ display:none; }
    .havena-pro-rating__empty-stars{ display:inline-flex; gap:.2rem; margin-bottom:1rem; }
    .havena-pro-rating__empty-stars svg{ width:18px; height:18px; fill:none; stroke:var(--hpr-border); stroke-width:1.6; }
    .havena-pro-rating__empty h3{
      font-family: var(--hpr-font-serif);
      font-size:1.3rem;
      margin:0 0 .4rem;
      color: var(--hpr-ink);
    }
    .havena-pro-rating__empty p{
      font-size: var(--hpr-fs-sm);
      color: var(--hpr-slate);
      margin:0 0 1.3rem;
    }

    /* ---------------- responsive tightening ---------------- */
    @media (max-width: 480px){
      .havena-pro-rating__overview{ padding:1rem; }
      .havena-pro-rating__score{ font-size:1.9rem; }
      .havena-pro-rating__cat-grid{ grid-template-columns:1fr 1fr; gap:.65rem; }
      .havena-pro-rating__star-btn svg{ width:20px; height:20px; }
      .havena-pro-rating__review-list{ grid-template-columns:1fr; }
    }

/* MVP: hide categories column when no genuine category data */
.havena-pro-rating__top--no-categories {
  grid-template-areas: "overview" "distribution";
  grid-template-columns: 1fr;
}
@media (min-width: 641px){
  .havena-pro-rating__top--no-categories{
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "overview overview" "distribution distribution";
  }
}
@media (min-width: 1024px){
  .havena-pro-rating__top--no-categories{
    grid-template-columns: .9fr 1.1fr;
    grid-template-areas: "overview distribution";
  }
}

.havena-pro-rating__hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Agent / Agency composer variants */
.havena-pro-review-widget--detached {
  width: 100%;
  margin-top: 1.25rem;
}
.havena-pro-review-widget--detached.havena-pro-review-widget--agent {
  margin-top: 1rem;
}
.havena-pro-review-widget--detached.havena-pro-review-widget--agent .havena-pro-review-widget__action {
  max-width: 36rem;
}
.havena-pro-section--dark .havena-pro-review-widget--detached.havena-pro-review-widget--agency .havena-pro-review-widget__your-review {
  margin-left: auto;
  margin-right: auto;
}
.havena-pro-review-widget__signin-hint {
  font-size: var(--hpr-fs-sm, 0.9rem);
  color: var(--hpr-slate, #5B6B82);
  margin: 0;
}
.havena-pro-review-widget__signin-hint a {
  font-weight: 600;
}
.havena-pro-section--dark .havena-pro-review-widget__signin-hint {
  color: rgba(255, 255, 255, 0.72);
}
.havena-pro-section--dark .havena-pro-review-widget__signin-hint a {
  color: var(--hpr-gold, #C8A96A);
}
.havena-pro-review-widget {
  margin-top: 1rem;
}
.havena-pro-review-widget--agent {
  margin-top: 0.75rem;
}
.havena-pro-review-widget--agent .havena-pro-review-widget__cta {
  margin-top: 0.5rem;
}
.havena-pro-review-widget--agency {
  margin-top: 1.25rem;
}
.havena-pro-review-widget__your-review {
  padding: 1rem 1.1rem;
  border: 1px solid var(--hpr-border, #E6E9F0);
  border-radius: var(--hpr-radius-md, 12px);
  background: var(--hpr-bg-soft, #F7F8FB);
  margin-bottom: 1rem;
}
.havena-pro-section--dark .havena-pro-review-widget__your-review {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.havena-pro-review-widget__your-title,
.havena-pro-rating__your-review .havena-pro-rating__subtitle {
  margin: 0 0 0.65rem;
}
.havena-pro-review-widget__your-status,
.havena-pro-rating__your-status {
  margin: 0.65rem 0 0;
  font-size: var(--hpr-fs-sm, 0.9rem);
  color: var(--hpr-slate, #5B6B82);
}
.havena-pro-section--dark .havena-pro-review-widget__your-status {
  color: rgba(255, 255, 255, 0.72);
}
.havena-pro-agency-review-hero {
  margin-top: 1rem;
}
.havena-pro-agency-review-hero__meta {
  margin: 0.35rem 0 0;
  color: rgba(255, 255, 255, 0.85);
}
.havena-pro-review-widget__action {
  margin-top: 1rem;
}
.havena-pro-review-widget__hint {
  margin: 0 0 0.75rem;
  color: var(--hpr-slate, #5B6B82);
}
.havena-pro-section--dark .havena-pro-review-widget__hint {
  color: rgba(255, 255, 255, 0.75);
}
.havena-pro-rating__your-review {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--hpr-border, #E6E9F0);
  border-radius: var(--hpr-radius-md, 12px);
  background: var(--hpr-bg-soft, #F7F8FB);
}
.havena-pro-rating__your-headline {
  font-weight: 700;
  margin: 0.5rem 0 0.25rem;
}
.havena-pro-rating__your-text {
  margin: 0;
}

/* Agency dark-section composer: visible star strokes on dark background */
.havena-pro-section--dark .havena-pro-review-widget .havena-pro-rating__star-btn svg {
  stroke: rgba(255, 255, 255, 0.42);
}
.havena-pro-section--dark .havena-pro-review-widget .havena-pro-rating__star-btn.is-filled svg,
.havena-pro-section--dark .havena-pro-review-widget .havena-pro-rating__star-btn:hover svg {
  fill: var(--hpr-gold, #C8A96A);
  stroke: var(--hpr-gold, #C8A96A);
}
.havena-pro-section--dark .havena-pro-review-widget .havena-pro-rating__status {
  color: rgba(255, 255, 255, 0.9);
}
.havena-pro-section--dark .havena-pro-review-widget .havena-pro-field label {
  color: rgba(255, 255, 255, 0.85);
}

/* ------------------------------------------------------------------
   Agency Client Stories — presentation (composer + testimonial cards)
   Scoped to #havena-pro-client-stories; does not affect Agent/Property.
------------------------------------------------------------------- */
#havena-pro-client-stories .havena-pro-agency-reviews__composer-shell {
  width: 100%;
  max-width: 42rem;
  margin: 1.75rem auto 0;
  padding: 0 clamp(1rem, 3vw, 1.5rem);
}

#havena-pro-client-stories .havena-pro-review-widget--agency.havena-pro-review-widget--detached {
  width: 100%;
  margin: 0;
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-review-widget__your-review,
#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-review-widget__action {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-rating__stars-input {
  justify-content: center;
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-rating__status {
  text-align: center;
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-review-widget__hint {
  text-align: center;
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-input,
#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-textarea {
  width: 100%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.92);
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-input::placeholder,
#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-textarea::placeholder {
  color: rgba(255, 255, 255, 0.42);
}

#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-input:focus,
#havena-pro-client-stories .havena-pro-review-widget--agency .havena-pro-textarea:focus {
  border-color: var(--hpr-gold, #C8A96A);
  outline: none;
  box-shadow: 0 0 0 2px rgba(200, 169, 106, 0.22);
}

#havena-pro-client-stories .havena-pro-agency-reviews-empty {
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  margin: 2rem auto 0;
  max-width: 42rem;
}

#havena-pro-client-stories .havena-pro-agency-reviews__cards {
  margin-top: 2.75rem;
}

#havena-pro-client-stories .havena-pro-testimonial {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2rem 1.9rem;
  border-radius: var(--havena-pro-radius, 16px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background 0.25s ease, transform 0.25s ease;
}

#havena-pro-client-stories .havena-pro-testimonial:hover {
  background: rgba(255, 255, 255, 0.07);
  transform: translateY(-4px);
}

#havena-pro-client-stories .havena-pro-testimonial__quote-mark {
  display: block;
  font-family: var(--havena-pro-font-family-heading, 'Marcellus', serif);
  font-size: 3.4rem;
  line-height: 0.6;
  color: var(--hpr-gold, #C8A96A);
  margin: 0 0 1.2rem;
}

#havena-pro-client-stories .havena-pro-testimonial__stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0 0 1rem;
}

#havena-pro-client-stories .havena-pro-testimonial__stars svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  fill: var(--hpr-gold, #C8A96A);
  stroke: var(--hpr-gold, #C8A96A);
}

#havena-pro-client-stories .havena-pro-testimonial__stars svg.is-empty {
  fill: rgba(255, 255, 255, 0.2);
  stroke: rgba(255, 255, 255, 0.35);
}

#havena-pro-client-stories .havena-pro-testimonial__content {
  flex: 1 1 auto;
  min-height: 0;
}

#havena-pro-client-stories .havena-pro-testimonial__text {
  margin: 0;
  font-size: 0.99rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.78);
}

#havena-pro-client-stories .havena-pro-testimonial__author {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-top: 1.75rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#havena-pro-client-stories .havena-pro-testimonial__author-avatar {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--hpr-font-serif, 'Marcellus', serif);
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(155deg, #0A1628, #223759);
  border: 2px solid rgba(200, 169, 106, 0.5);
}

#havena-pro-client-stories .havena-pro-testimonial__author-meta strong {
  display: block;
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.98rem;
  line-height: 1.3;
}

#havena-pro-client-stories .havena-pro-testimonial__author-meta small {
  display: block;
  margin-top: 0.15rem;
  color: rgba(255, 255, 255, 0.5);
  font-size: var(--hpr-fs-xs, 0.78rem);
  line-height: 1.35;
}

#havena-pro-client-stories .havena-pro-agency-reviews__cards:has(.havena-pro-testimonial:only-child) {
  display: flex;
  justify-content: center;
}

#havena-pro-client-stories .havena-pro-agency-reviews__cards .havena-pro-testimonial:only-child {
  width: 100%;
  max-width: 28rem;
}

@media (max-width: 768px) {
  #havena-pro-client-stories .havena-pro-agency-reviews__composer-shell {
    max-width: none;
    margin-top: 1.35rem;
  }

  #havena-pro-client-stories .havena-pro-testimonial {
    padding: 1.65rem 1.45rem;
  }

  #havena-pro-client-stories .havena-pro-agency-reviews__cards {
    margin-top: 2rem;
  }
}

@media (max-width: 480px) {
  #havena-pro-client-stories .havena-pro-rating__star-btn svg {
    width: 20px;
    height: 20px;
  }
}
