
/* Clickable location-specific review summary and gallery */
.rating-summary{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:12px 16px;cursor:pointer;font:inherit;text-align:left;transition:background .2s,transform .2s}
.rating-summary:hover,.rating-summary:focus-visible{background:rgba(255,255,255,.17);transform:translateY(-1px);outline-offset:3px}
.rating-summary .rating-stars{color:#ffd77d;letter-spacing:2px;font-size:22px;white-space:nowrap}
.rating-summary .rating-number{font-weight:800;font-size:22px;color:#fff}
.rating-summary .rating-count{font-size:13px;color:#bfe5f4}
.rating-summary .rating-hint{display:block;font-size:12px;color:#c9e8f1;margin-top:4px}
.review-modal[hidden]{display:none!important}
.review-modal{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:22px;background:rgba(0,20,29,.78)}
.review-modal-inner{width:min(990px,100%);max-height:90vh;overflow:auto;background:#f7fbfa;color:#16323a;border-radius:22px;padding:clamp(18px,3vw,36px);box-shadow:0 16px 80px #001b27}
.review-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:start;border-bottom:1px solid #d1e3e2;padding-bottom:18px;margin-bottom:20px}
.review-modal-head h2{margin:5px 0;font-size:clamp(24px,3vw,34px)}
.review-modal-close{border:0;background:#dce9e9;color:#15333b;border-radius:50%;width:42px;height:42px;font-size:28px;cursor:pointer;flex-shrink:0}
.review-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin:18px 0}
.review-modal-card{background:white;border:1px solid #dae6e6;border-radius:14px;padding:20px;box-shadow:0 5px 22px #0a303314}
.review-modal-card .modal-stars{color:#be8534;font-size:21px;letter-spacing:2px}
.review-modal-card blockquote{margin:12px 0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.review-modal-card .modal-review-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:#46616b}
.review-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.review-modal-actions a{display:inline-block;background:#0d7198;color:#fff;text-decoration:none;border-radius:9px;padding:12px 17px;font-weight:700}
.review-modal-actions a.secondary{background:#e0eeee;color:#16465a}
.review-empty-modal{padding:25px;background:#eaf3f2;border-radius:12px}
