/* Google Maps box and Google star rating.
   Loaded in number order by templates/site.php (order matters: later files win). */
/* ===== live Google Maps box (keyless; Google shows rating + review count in its corner) ===== */
.gmap{position:relative;margin:0 0 18px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0a2235;box-shadow:0 16px 30px -18px rgba(0,0,0,.8)}
.gmap iframe{display:block;width:100%;height:210px;border:0;filter:saturate(.95)}
.gmap small{position:absolute;right:8px;bottom:8px;padding:3px 8px;border-radius:999px;background:rgba(4,17,32,.8);color:var(--mist);font:600 10px/1.2 var(--serif);letter-spacing:.08em;pointer-events:none}
@media (max-width:640px){.gmap iframe{height:190px}}
@media (min-width:821px) and (max-height:880px){.gmap iframe{height:150px}.gmap{margin-bottom:10px}.rv-card .rv-qr{display:none}.rv-card h3{margin:6px 0 10px}.rv-card p{font-size:16px}}
/* ===== live Google rating ===== */
.gs{position:relative;display:inline-block;font:16px/1 Arial,sans-serif;letter-spacing:2px;color:rgba(226,189,120,.28);vertical-align:-1px}
.gs::before{content:"★★★★★"}
.gs::after{content:"★★★★★";position:absolute;left:0;top:0;width:calc(var(--r) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#f4c556;text-shadow:0 0 8px rgba(244,197,86,.35)}
.grate{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(4,17,32,.45);text-decoration:none;color:var(--ivory);font-size:16px}
.grate b{font:700 17px/1 var(--figure);color:var(--gold-hi)}
.grate span:last-child{color:var(--mist);font-size:15px}
.grate:hover{border-color:var(--gold)}
.tab-rate{display:block;margin-top:6px;font:700 12px/1 var(--serif);letter-spacing:.06em;color:#f4c556}
.tab-rate em{font-style:normal;color:var(--mist);font-weight:600}
.rv-score{display:grid;justify-items:center;gap:8px;margin:0 0 20px}
.rv-score b{font:700 46px/1 var(--figure);color:var(--gold-hi)}
.rv-score .gs{font-size:28px;letter-spacing:4px}
.rv-score span:last-child{color:var(--mist);font-size:16px}
.rv-score a{color:var(--gold)}
@media (max-width:640px){.tab-rate{font-size:11px;margin-top:4px}.rv-score b{font-size:38px}.rv-score .gs{font-size:24px}.grate{font-size:15px}}
/* Review card without the extra text: bigger map, card as tall as the left side */
/* Review card: compact */
.rv-card{padding:26px 30px}
.rv-card h3{margin:6px 0 10px}
/* rating on one line: 4.9 ★★★★★ 336 Google reviews · see all on Google */
.rv-score{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin:0 0 14px}
.rv-score b{font-size:34px}
.rv-score .gs{font-size:20px;letter-spacing:3px}
.rv-score span:last-child{font-size:15px}
/* map a bit shorter */
.gmap iframe{height:200px}
.gmap{margin-bottom:14px}
.rv-actions{margin-top:14px}
/* QR code only on bigger screens with room; phones never need it */
.rv-card .rv-qr{margin-top:14px}
@media (min-width:821px) and (max-height:1000px){ .rv-card .rv-qr{display:none} }
@media (max-width:640px){ .rv-card{padding:22px 18px} .rv-score b{font-size:30px} .gmap iframe{height:180px} }
.gmap iframe{height:280px}
@media (min-width:821px) and (max-height:880px){ .gmap iframe{height:230px} .gmap{margin-bottom:14px} }
@media (max-width:640px){ .gmap iframe{height:230px} }
@media (min-width:821px){
  .rv-grid{align-items:stretch}
  .rv-card{display:flex;flex-direction:column;justify-content:center}
}
