/* Loaded inside ReviewLab's open shadow root; uses its public class names only. */
:host { color-scheme: dark; }
.widget {
  --az-review-bg: #282522;
  --az-review-gold: #cfb481;
  --az-review-text: #f0e9dd;
  --az-review-muted: #c4b69e;
  color: var(--az-review-text) !important;
  font-family: "Trebuchet MS", Verdana, Arial, sans-serif !important;
}
.widget, .widget * { box-sizing: border-box; }
/* Source tabs: this block can also be pasted into ReviewLab's custom CSS. */
.widget .widget__header {
  grid-area: header-left / header-left / header-right / header-right !important;
  color: #f0e9dd !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}
.widget .widget__header > div:has(> .widget__tabs) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.widget .widget__tabs {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
/* Use public tab classes, never the generated sc-* class names. */
.widget .widget__tabs > div:has(> .widget__tab) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  overflow: visible !important;
  background: transparent !important;
}
/* The old horizontal rail's edge fades are unnecessary in the wrapping grid. */
.widget .widget__tabs > div[position] { display: none !important; }
.widget .widget__tab {
  --az-source-border: #8f7b59;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1px solid var(--az-source-border) !important;
  border-radius: 16px !important;
  color: #f0e9dd !important;
  background: #282522 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.widget .widget__tab[data-tab="doubleGis"] { --az-source-border: #729653; }
.widget .widget__tab[data-tab="yaSprav"] { --az-source-border: #b76b5a; }
.widget .widget__tab[data-tab="googleMap"] { --az-source-border: #5d8bba; }
.widget .widget__tab > svg {
  order: 0;
  flex: 0 0 32px;
  width: 32px !important;
  height: 32px !important;
}
.widget .widget__tab::before {
  order: 1;
  font: inherit;
}
.widget .widget__tab[data-tab="doubleGis"]::before { content: "2ГИС"; }
.widget .widget__tab[data-tab="yaSprav"]::before { content: "Я.Карты"; }
.widget .widget__tab[data-tab="googleMap"]::before { content: "Google Maps"; }
.widget .widget__tab_all { justify-content: center !important; }
.widget .widget__tab:hover { background: #3c342b !important; }
.widget .widget__tab_active, .widget .widget__tab[data-selected="true"] {
  background: #cfb481 !important;
  border-color: #cfb481 !important;
  color: #282522 !important;
  box-shadow: inset 0 0 0 1px #cfb481 !important;
}
.widget .widget__tab--rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  order: 2;
  flex: 0 0 auto;
  margin-left: auto !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}
.widget .widget__tab--rating::after {
  content: "★";
  color: #f2c15b;
  font-size: 17px;
  line-height: 1;
}
.widget .widget__tab_active .widget__tab--rating::after,
.widget .widget__tab[data-selected="true"] .widget__tab--rating::after { color: #574018; }
.widget .widget__tab:focus-visible {
  outline: 2px solid #fcebc4 !important;
  outline-offset: 3px !important;
}
@media (max-width: 1200px) {
  .widget .widget__tabs > div:has(> .widget__tab) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px) {
  /* ReviewLab's default center track has a 300px minimum. Let it fit phones. */
  .widget { grid-template-columns: 0 minmax(0, 1fr) 0 0 0 !important; }
  .widget .widget__tabs > div:has(> .widget__tab) { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
  .widget .widget__tab { min-height: 56px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .widget .widget__tab { transition: none; }
}
/* End source tabs. */
.widget__count { color: var(--az-review-muted) !important; font-size: 14px !important; }
.widget__leave { color: var(--az-review-text) !important; }
.widget__leave-link {
  background: var(--az-review-gold) !important;
  color: #282522 !important;
  border: 1px solid var(--az-review-gold) !important;
  border-radius: 2px !important;
  font-family: inherit !important;
}
/* The slider gives every slide 10px side margins. Expand its measured body
   by that gutter so the outer card edges align with the tab row;
   ReviewLab still calculates slide widths and translates the track itself. */
.widget > div:has(> div > div > div > div > .review) {
  width: calc(100% + 20px) !important;
  margin-inline: -10px !important;
}
.review {
  background: var(--az-review-bg) !important;
  border: 1px solid #706047 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  color: var(--az-review-text) !important;
  font-family: inherit !important;
}
.review__header { color: var(--az-review-text) !important; }
.review__photo { border: 1px solid #706047 !important; }
.review__title {
  color: #fcebc4 !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
.review__date { color: var(--az-review-muted) !important; font-size: 13px !important; }
.review__text {
  color: var(--az-review-text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.review__rating { color: var(--az-review-gold) !important; }
.review__rating svg { color: var(--az-review-gold) !important; }
.review__rating svg [fill="#ffd426"] { fill: var(--az-review-gold) !important; }
.review__rating svg [stroke="#ffd426"] { stroke: var(--az-review-gold) !important; }
.review__more {
  background: var(--az-review-bg) !important;
  color: var(--az-review-gold) !important;
  font-family: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.review__more:hover { color: #fcebc4 !important; }
.widget__pag.widget__pag_prev, .widget__pag.widget__pag_next {
  background: var(--az-review-bg) !important;
  color: var(--az-review-gold) !important;
  border: 1px solid #9d865f !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  min-width: 44px;
  min-height: 44px;
}
.widget__pag svg path:not([fill="none"]) { fill: currentColor !important; }
.widget__pag:hover:not(:disabled), .widget__leave-link:hover {
  background: var(--az-review-gold) !important;
  color: #282522 !important;
}
.widget__pag:disabled { opacity: .4 !important; cursor: default; }
.widget__point { background: #9e9078 !important; }
.widget__point_active { background: var(--az-review-gold) !important; }
.widget :is(button, a, [tabindex]):focus-visible {
  outline: 2px solid #fcebc4 !important;
  outline-offset: 3px !important;
}
.widget ::selection { background: #cfb481; color: #282522; }
@media (max-width: 600px) {
  .review__text { font-size: 15px !important; }
}
/* Keep the provider's 20px positions and sliding offsets in one coordinate
   system, scaled together to 28px. Targets no longer overlap; seven fit in 196px. */
.widget div:has(> div > .widget__point) { max-width:196px !important; }
.widget div:has(> .widget__point) {
  zoom:1.4;
  box-sizing:content-box !important;
  height:20px !important;
  padding-right:8px !important;
}
.widget__point { box-sizing:border-box !important; width:20px !important; height:20px !important; min-width:20px !important; border:6px solid transparent !important; background-clip:padding-box !important; margin:0 !important; }
.widget .widget__point:focus-visible { outline-offset:-4px !important; }
