/* Compact, even testimonial cards (home page and city pages). Loaded by
   testimonials_block() when 'layout' => 'compact'. cl587, cl588. */
/* Flex, not grid, so a city with 1 or 2 reviews gets centered cards instead
   of an empty column. Widths match a 3-across (desktop) / 2-across grid. */
.review-grid--compact{--rg:var(--sp-4);display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:var(--rg)}
.review-grid--compact>.review{flex:0 1 100%;min-width:0}
@media (min-width:40em){.review-grid--compact{--rg:var(--sp-5)}.review-grid--compact>.review{flex-basis:calc((100% - var(--rg)) / 2)}}
@media (min-width:62em){.review-grid--compact>.review{flex-basis:calc((100% - 2 * var(--rg)) / 3)}}
.review--compact{display:flex;flex-direction:column;padding:0;gap:0;overflow:clip}
.review--compact .review__frame{position:relative;flex:none;aspect-ratio:4 / 3;overflow:clip;background:var(--surface-2)}
.review--compact .review__shot{display:block;width:100%;height:100%}
.review--compact .review__shot picture,.review--compact .review__shot img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;max-height:none}
.review--compact .review__frame--initial{display:grid;place-items:center;background:var(--brand-tint)}
.review__initial{display:grid;place-items:center;width:5rem;height:5rem;border-radius:50%;background:#fff;color:#9e3c0b;font-size:2.25rem;font-weight:800;line-height:1;box-shadow:var(--shadow-sm)}
.review__more-shots{position:absolute;inset-block-end:var(--sp-2);inset-inline-end:var(--sp-2);padding:0.125rem 0.5rem;border-radius:999px;background:rgb(20 20 22 / 0.78);color:#fff;font-size:var(--fs-xs);font-weight:700;line-height:1.5;pointer-events:none}
.review--compact .review__body{display:flex;flex:1;flex-direction:column;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5) var(--sp-5)}
.review--compact .review__quote p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;line-height:1.6}
.review--compact .review__full{align-self:flex-start;font-size:var(--fs-sm);font-weight:600}
.review--compact .review__meta{margin-block-start:auto;padding-block-start:var(--sp-3)}
.review-grid__more--center{margin-block-start:var(--sp-6);text-align:center}
@media (max-width:39.9375em){
.review--compact{display:grid;grid-template-columns:4.5rem minmax(0,1fr);grid-template-areas:"frame meta" "quote quote" "full full";align-content:start;gap:var(--sp-3) var(--sp-4);padding:var(--sp-4)}
.review--compact .review__body{display:contents}
.review--compact .review__frame{grid-area:frame;width:4.5rem;height:4.5rem;aspect-ratio:1 / 1;border-radius:var(--r-sm)}
.review--compact .review__quote{grid-area:quote}
.review--compact .review__quote p{-webkit-line-clamp:4;line-clamp:4}
.review--compact .review__full{grid-area:full;margin-block-start:calc(-1 * var(--sp-2))}
.review--compact .review__meta{grid-area:meta;align-self:center;margin:0;padding:0;border:0}
.review__initial{width:3rem;height:3rem;font-size:1.375rem;box-shadow:none}
.review__more-shots{inset-block-end:0.25rem;inset-inline-end:0.25rem;padding:0 0.375rem;font-size:0.6875rem}
}
.review--compact .review__frame>.review__shot{position:absolute;inset:0}

/* Lightbox (same look as /resources/testimonials) plus previous/next */
.shot-dialog{max-width:min(96vw,1100px);max-height:94vh;padding:0;border:0;border-radius:var(--r-md);background:var(--dark);color:#fff;overflow:clip}.shot-dialog::backdrop{background:rgb(0 0 0 / 0.82)}.shot-dialog__img{display:block;max-width:100%;max-height:calc(94vh - 4.5rem);margin:0 auto;object-fit:contain;background:var(--dark-2)}.shot-dialog__bar{display:flex;gap:var(--sp-3);align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--dark-2)}.shot-dialog__cap{margin:0;color:var(--on-dark);font-size:var(--fs-sm)}.shot-dialog__close{flex:none;min-width:44px;min-height:44px;padding:0 var(--sp-3);border:1px solid rgb(255 255 255 / 0.25);border-radius:var(--r-sm);background:transparent;color:#fff;font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}@media (hover:hover){.shot-dialog__close:hover{border-color:var(--brand-on-dark);color:var(--brand-on-dark)}}.shot-dialog__close:focus-visible{outline:3px solid var(--brand-on-dark);outline-offset:2px}
.rv-box__stage{position:relative}
.rv-box__nav{position:absolute;inset-block-start:50%;translate:0 -50%;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgb(255 255 255 / 0.3);border-radius:50%;background:rgb(20 20 22 / 0.72);color:#fff;font-size:1.75rem;line-height:1;cursor:pointer}
.rv-box__nav[hidden]{display:none}
.rv-box__nav--prev{inset-inline-start:var(--sp-3)}
.rv-box__nav--next{inset-inline-end:var(--sp-3)}
.rv-box__nav:focus-visible{outline:3px solid var(--brand-on-dark);outline-offset:2px}
@media (hover:hover){.rv-box__nav:hover{border-color:var(--brand-on-dark);color:var(--brand-on-dark)}}
.rv-box__count{flex:none;margin-inline-start:auto;color:var(--on-dark);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.rv-box__count:empty{display:none}
