.pn-map-reviews {
  container-type: inline-size;
  --pn-paper: #f2f2f2;
  --pn-white: #fff;
  --pn-ink: #25292b;
  --pn-muted: #5d6266;
  --pn-line: #e2e3e3;
  --pn-graphite: #343c40;
  --pn-red: #ab292d;
  --pn-amber: #a65d00;
  background: var(--pn-paper);
  color: var(--pn-ink);
  font: 400 14px/1.45 Arial, sans-serif;
  border-radius: 20px;
  overflow: hidden;
  text-align: left;
}
.pn-map-reviews [hidden] { display:none !important; }
.pn-map-reviews .cursor-interaction { cursor:pointer; }
.pn-map-reviews button:disabled { cursor:default; }
.pn-map-reviews .pn-status { margin:16px 0; color:var(--pn-muted); }
.pn-map-reviews .pn-avatar img { position:absolute; inset:0; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.pn-map-reviews .pn-meta a { color:var(--pn-red); text-underline-offset:2px; }
.pn-map-reviews .pn-full { white-space:pre-wrap; overflow-wrap:anywhere; }
.pn-map-reviews .pn-more { margin:0 0 0 auto; }
.pn-map-reviews *, .pn-map-reviews *::before, .pn-map-reviews *::after { box-sizing: border-box; }
.pn-map-reviews :is(button, select) { font: inherit; }
.pn-map-reviews :is(button, select, .pn-track):focus-visible { outline: 2px solid var(--pn-red); outline-offset: 2px; }
.pn-map-reviews .pn-body { padding:28px 32px 20px; }
.pn-map-reviews .pn-heading { margin-bottom:24px; }
.pn-map-reviews .pn-heading h2 { margin:0; font-size:clamp(28px,5cqi,44px); line-height:1.05; font-weight:700; letter-spacing:-.045em; text-wrap:balance; }
.pn-map-reviews .pn-heading p { margin:8px 0 0; color:var(--pn-muted); font-size:15px; }
.pn-map-reviews .pn-ratings { display:grid; grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,1fr)); align-items:center; gap:12px; padding:14px; background:var(--pn-graphite); color:var(--pn-white); border-radius:20px; }
.pn-map-reviews .pn-ratings-heading { padding:0 10px; display:grid; gap:4px; }
.pn-map-reviews .pn-ratings-heading strong { font-size:21px; letter-spacing:-.025em; line-height:1.13; }
.pn-map-reviews .pn-ratings-heading > span { color:#e0e4e5; font-size:13px; }
.pn-map-reviews .pn-rating { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 10px; padding:12px; background:var(--pn-white); color:var(--pn-ink); border-radius:12px; min-height:70px; }
.pn-map-reviews .pn-rating-count { grid-column:1/-1; font-size:12px; color:var(--pn-muted); }
.pn-map-reviews .pn-source { flex:none; display:inline-grid; place-items:center; width:20px; height:20px; font:700 13px/1 Arial,sans-serif; border-radius:50%; }
.pn-map-reviews .pn-yandex { background:#e4281f; color:#fff; }
.pn-map-reviews .pn-google { background:#eaf1ff; color:#1957b8; }
.pn-map-reviews .pn-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin:20px 0 12px; }
.pn-map-reviews .pn-filters { display:flex; flex-wrap:wrap; gap:6px; }
.pn-map-reviews :is(.pn-filter,.pn-city,.pn-arrow,.pn-close) { border:1px solid var(--pn-line); background:var(--pn-white); color:var(--pn-ink); }
.pn-map-reviews .pn-filter { border-radius:999px; padding:7px 12px; min-height:40px; font-size:13px; font-weight:700; }
.pn-map-reviews .pn-filter[aria-pressed="true"] { background:#f9e8e7; color:var(--pn-red); border-color:#efc7c6; }
.pn-map-reviews .pn-filter:hover, .pn-map-reviews .pn-arrow:hover:not(:disabled), .pn-map-reviews .pn-close:hover { border-color:#a3a8a9; }
.pn-map-reviews .pn-city { display:grid; align-items:center; border-radius:12px; position:relative; max-width:100%; }
.pn-map-reviews .pn-city select { appearance:none; grid-area:1/1; min-height:40px; min-width:156px; max-width:100%; padding:0 34px 0 33px; border:0; border-radius:inherit; color:inherit; background:transparent; font-size:13px; font-weight:700; }
.pn-map-reviews .pn-pin { grid-area:1/1; margin-left:13px; width:11px; height:11px; border:1.5px solid currentColor; border-radius:50% 50% 50% 0; transform:translateY(-1px) rotate(-45deg); pointer-events:none; }
.pn-map-reviews .pn-pin::after { content:""; position:absolute; inset:2px; border:1px solid currentColor; border-radius:50%; }
.pn-map-reviews .pn-chevron { grid-area:1/1; justify-self:end; margin-right:13px; margin-top:-3px; width:7px; height:7px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); pointer-events:none; }
.pn-map-reviews .pn-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px)/3); gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:16px; }
.pn-map-reviews .pn-track::-webkit-scrollbar { display:none; }
.pn-map-reviews .pn-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:17px 16px 0; background:var(--pn-white); border:1px solid var(--pn-line); border-radius:16px; scroll-snap-align:start; }
.pn-map-reviews .pn-person { display:flex; align-items:center; gap:10px; min-width:0; }
.pn-map-reviews .pn-avatar { position:relative; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; flex:none; font-weight:700; background:#f3e5e4; color:#8b3234; }
.pn-map-reviews [data-tone="sage"] { background:#e5ece7; color:#355844; }
.pn-map-reviews [data-tone="blue"] { background:#e8ebf2; color:#3e506c; }
.pn-map-reviews .pn-author { display:block; font-size:15px; font-weight:700; }
.pn-map-reviews .pn-date { color:var(--pn-muted); font-size:12px; }
.pn-map-reviews .pn-stars { color:var(--pn-amber); letter-spacing:.08em; }
.pn-map-reviews .pn-card-stars, .pn-map-reviews .pn-dialog-stars { margin-top:13px; line-height:1; font-size:16px; }
.pn-map-reviews .pn-star-empty { color:#737a7d; }
.pn-map-reviews .pn-excerpt { margin:10px 0 4px; min-height:5.8em; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.pn-map-reviews .pn-read { margin:0 0 11px; min-height:36px; background:none; border:0; padding:0; color:var(--pn-red); font-weight:700; font-size:13px; text-align:left; }
.pn-map-reviews .pn-read:hover { text-decoration:underline; }
.pn-map-reviews .pn-read span { margin-left:3px; }
.pn-map-reviews .pn-meta { width:100%; margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:4px 7px; padding:12px 0; border-top:1px solid var(--pn-line); font-size:12px; color:var(--pn-muted); }
.pn-map-reviews .pn-meta .pn-source { width:16px; height:16px; font-size:11px; }
.pn-map-reviews .pn-navigation { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:12px; }
.pn-map-reviews .pn-arrows { display:flex; gap:8px; }
.pn-map-reviews :is(.pn-arrow,.pn-close) { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; padding:0; }
.pn-map-reviews .pn-arrow:disabled { opacity:.48; }
.pn-map-reviews .pn-arrow > span { width:8px; height:8px; border:solid currentColor; border-width:0 1.5px 1.5px 0; }
.pn-map-reviews .pn-next > span { transform:translateX(-2px) rotate(-45deg); }
.pn-map-reviews .pn-prev > span { transform:translateX(2px) rotate(135deg); }
.pn-map-reviews .pn-dialog { margin:auto; width:min(460px,calc(100% - 24px)); max-height:calc(100% - 24px); padding:24px; background:var(--pn-white); border:1px solid var(--pn-line); border-radius:20px; color:var(--pn-ink); }
.pn-map-reviews .pn-dialog::backdrop { background:#1c2328a6; }
.pn-map-reviews .pn-dialog form { float:right; margin:0 0 4px 12px; }
.pn-map-reviews .pn-close { font-size:23px; line-height:1; }
.pn-map-reviews .pn-dialog h3 { margin:0; font-size:18px; }
.pn-map-reviews .pn-full { margin:14px 0 20px; font-size:15px; }
.pn-map-reviews .pn-dialog .pn-meta { padding-bottom:0; }
.pn-map-reviews .pn-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@container (max-width: 720px) {
  .pn-map-reviews .pn-track { grid-auto-columns:calc((100% - 12px)/2); }
  .pn-map-reviews .pn-rating { gap:6px; }
  .pn-map-reviews .pn-rating-name { flex-wrap:wrap; }
}
@container (max-width: 540px) {
  .pn-map-reviews .pn-body { padding:22px 14px 14px; }
  .pn-map-reviews .pn-heading { margin-bottom:16px; }
  .pn-map-reviews .pn-heading p { font-size:14px; }
  .pn-map-reviews .pn-ratings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px; }
  .pn-map-reviews .pn-ratings-heading { grid-column:1/-1; padding:3px 4px; }
  .pn-map-reviews .pn-ratings-heading strong { font-size:18px; }
  .pn-map-reviews .pn-rating { grid-template-columns:1fr; padding:9px; }
  .pn-map-reviews .pn-rating-name { font-size:12px; }
  .pn-map-reviews .pn-track { grid-auto-columns:100%; }
  .pn-map-reviews .pn-filter { padding-inline:9px; }
  .pn-map-reviews .pn-toolbar { margin-top:14px; }
}
.pn-map-reviews .pn-dialog .pn-stars { margin-top:13px; }

