/* Our own patient-reviews section (inc/reviews.php). Not scoped to a template wrapper, so it
   looks the same on plugin pages, block pages ([avenues_reviews]) and the homepage panel. */

.rv{display:grid;gap:18px;min-width:0}
/* Grid children default to min-width:auto, so a swipe row of cards would stretch the whole
   section (and the page) to its full length. Keep every row inside the screen. */
.rv > *{min-width:0;max-width:100%}
.rv-head{display:grid;gap:6px}
.rv-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600,#3D5641)}
.rv-head h2{margin:0}

.rv-headline{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--grey-900,#1C1E21);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}

.rv-summary{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rv-summary li{margin:0}
.rv-summary li > a,.rv-summary li > strong:first-child{text-decoration:none}
.rv-summary li > *{color:inherit}
.rv-summary li > a,.rv-summary li:not(:has(a)){display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;border:1px solid var(--grey-100,#ECEEF0);border-radius:999px;padding:6px 14px;font-size:.8125rem;color:var(--grey-700,#40444A)}
.rv-summary li > a:hover{border-color:var(--green-400,#618465)}
.rv-summary strong{color:var(--grey-900,#1C1E21)}
.rv-summary-num{font-weight:700;color:var(--grey-900,#1C1E21)}
.rv-summary-count{color:var(--grey-600,#555A61)}

.rv-stars{display:inline-flex;gap:2px;vertical-align:middle}
.rv-star{width:14px;height:14px;background:var(--grey-100,#ECEEF0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17l-6.1 3.4 1.5-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17l-6.1 3.4 1.5-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center/contain no-repeat}
.rv-star.is-full{background:#F2B705}
.rv-star.is-half{background:linear-gradient(90deg,#F2B705 50%,var(--grey-100,#ECEEF0) 50%)}

/* One row on every screen, moved by swipe or the arrows: 3 cards across a wide band, 2 on a
   tablet or a narrow panel, most of one on a phone (the next card peeks in). Sized by the
   container, so the homepage panel gets the same carousel at its own width. */
.rv-carousel{container-type:inline-size;display:grid;gap:10px;min-width:0}
.rv-cards{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 2px 6px}
.rv-cards::-webkit-scrollbar{display:none}
.rv-cards > *{scroll-snap-align:start}
.rv-cards:focus-visible{outline:3px solid var(--brand-green,#3D5641);outline-offset:4px;border-radius:var(--radius-md,16px)}
@container (min-width:560px){.rv-cards{grid-auto-columns:calc((100% - 14px)/2)}}
@container (min-width:900px){.rv-cards{grid-auto-columns:calc((100% - 28px)/3)}}
/* position:relative keeps the visually-hidden screen-reader text (absolutely positioned) inside
   the card; without it those spans escaped the row and widened the whole page on phones. */
.rv-card{position:relative;margin:0;display:flex;flex-direction:column;gap:10px;background:#FFFFFF;border:1px solid var(--grey-100,#ECEEF0);border-top:4px solid var(--brand-sun,#FCD841);border-radius:var(--radius-md,16px);padding:18px 20px;box-shadow:var(--shadow-xs,0 1px 2px rgba(28,30,33,.06))}
.rv-quote{margin:0}
.rv-quote p{margin:0;font-size:var(--fs-body,.875rem);line-height:1.6;color:var(--grey-800,#2C2F33)}
.rv-quote p::before{content:"\201C"}
.rv-quote p::after{content:"\201D"}
.rv-by{margin-top:auto;display:grid;gap:2px;font-size:.8125rem}
.rv-by strong{color:var(--grey-900,#1C1E21)}
.rv-meta{color:var(--grey-600,#555A61)}
.rv-meta a{color:var(--green-600,#3D5641);font-weight:600}

/* Under the row: where the ratings come from, and the arrows. */
.rv-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rv-note{margin:0;font-size:.75rem;color:var(--grey-600,#555A61)}
.rv-nav{display:inline-flex;gap:8px;margin-left:auto}
.rv-nav button{width:40px;height:40px;border-radius:999px;border:1px solid var(--grey-100,#ECEEF0);background:#FFFFFF;display:inline-grid;place-items:center;cursor:pointer;color:var(--green-600,#3D5641);padding:0}
.rv-nav button:hover:not(:disabled){border-color:var(--green-400,#618465)}
.rv-nav button:disabled{opacity:.35;cursor:default}
.rv-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rv.is-compact .rv-card{padding:14px 16px}
.rv.is-compact .rv-quote p{display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
