/* Uses the existing Lanko palette, fonts and spacing. */
.review-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:1.8rem 0}
.review-actions .btn{min-height:48px;text-align:center;justify-content:center}
.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);min-width:0}
.review-card__body{padding:1.5rem}
.review-card__body h3{margin:.65rem 0}
.review-card__service{display:inline-block;background:var(--teal-lt);color:var(--teal-dk);border-radius:999px;padding:.25em .8em;font-weight:700;font-size:.85rem}
.review-card__date{display:block;font-size:.85rem;color:var(--ink-soft);margin-bottom:1rem}
.review-card__text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;margin:.8rem 0}
.review-card__cover{display:block;position:relative;isolation:isolate;aspect-ratio:4/3;background:var(--grad-soft);overflow:hidden}
.review-card__cover::before,.review-card__photos a::before{content:"";position:absolute;inset:-14px;z-index:0;background:var(--review-image) center/cover no-repeat;filter:blur(18px);transform:scale(1.08);opacity:.8}
.review-card__cover img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}
.review-card__placeholder{display:grid;place-items:center;height:100%;font-size:4rem}
.reviews-slider .review-card{flex:0 0 min(340px,85vw);white-space:normal}
.reviews-slider .review-card__cover{aspect-ratio:16/8}
.reviews-slider .review-card__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.review-card__photos{display:flex;gap:.65rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:1.2rem 0;padding-bottom:.6rem}
.review-card__photos a{position:relative;isolation:isolate;display:block;flex:0 0 46%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-sm);background:var(--bg-soft);scroll-snap-align:start}
.review-card__photos img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;border-radius:var(--radius-sm)}
.review-card__more{display:inline-block;font-weight:700;margin-top:.5rem}
.reviews-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
.review-single{max-width:850px}
.review-card--full h1{margin:.6rem 0}
.review-card--full .review-card__photos{flex-wrap:wrap;overflow:visible}
.review-card--full .review-card__photos a{flex:1 1 45%;aspect-ratio:16/10}
.review-card--full .review-card__photos img{aspect-ratio:auto;object-fit:contain}
.reviews-feed + .navigation{margin-top:2rem;text-align:center}
.reviews-feed + .navigation .page-numbers{display:inline-block;padding:.5rem .9rem;background:white;border-radius:12px;margin:.2rem}
.review-dialog{width:min(620px,calc(100% - 1.5rem));max-height:90dvh;border:0;border-radius:var(--radius);padding:1.5rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-lg);overflow-y:auto;overscroll-behavior:contain}
.review-dialog::backdrop{background:rgba(20,54,66,.6)}
.review-dialog__head{display:flex;align-items:start;gap:1rem;justify-content:space-between}
.review-dialog__head h2{font-size:1.6rem}
.review-dialog__close{flex:0 0 44px;height:44px;border:0;border-radius:50%;font-size:1.8rem;background:var(--bg-soft);cursor:pointer}
body.review-form-open{overflow:hidden}
.review-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:.7rem}
.review-form input:not([type=checkbox]),.review-form select,.review-form textarea{width:100%;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit;font-size:16px}
.review-form textarea{resize:vertical}
.review-form label{font-weight:700}
.review-form__hint{font-size:.85rem;color:var(--ink-soft)}
.review-form__consent{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem}
.review-form__consent input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--teal)}
.review-form__trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.review-form__message{margin:1rem 0 0;overflow-wrap:anywhere}
.review-form__message.is-error{color:#ad2929}
.review-form .btn{justify-content:center;min-height:48px}
.review-form button:disabled{opacity:.55;cursor:wait}
.review-previews{display:flex;gap:.6rem;flex-wrap:wrap}
.review-previews figure{margin:0;max-width:110px;font-size:.75rem}
.review-previews img{width:100px;height:80px;object-fit:cover;border-radius:8px}
.review-previews figcaption{overflow-wrap:anywhere}
.review-preview-remove{display:block;margin:.25rem 0;width:100%;border:0;border-radius:6px;background:#ffe3df;color:#ad2929;font:inherit;font-size:.75rem;padding:.25rem;cursor:pointer}
.review-dialog :focus-visible,.review-card a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:650px){.reviews-feed{grid-template-columns:1fr}.review-card__body{padding:1.1rem}.review-dialog{padding:1.1rem}.review-card--full .review-card__photos a{flex-basis:100%}}
