.ugr-widget{
  --ugr-bg:#0f0f10;--ugr-header:#171719;--ugr-card:#1b1b1e;--ugr-border:#343438;
  --ugr-text:#f6f4ef;--ugr-muted:#aaa8a2;--ugr-accent:#d2aa5f;--ugr-accent-text:#111;--ugr-cols:3;
  position:relative;background:var(--ugr-bg);color:var(--ugr-text);padding:24px;border-radius:22px;
  box-sizing:border-box;font-family:inherit;line-height:1.45;overflow:hidden
}
.ugr-widget *{box-sizing:border-box}
.ugr-loading,.ugr-error{padding:28px;text-align:center;color:var(--ugr-muted)}
.ugr-summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:20px 22px;background:var(--ugr-header);border:1px solid var(--ugr-border);border-radius:18px
}
.ugr-summary-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ugr-brand{font-family:Roboto,Arial,sans-serif;font-size:19px;font-weight:700;white-space:nowrap;color:var(--ugr-text)}
.ugr-rating{font-size:22px;font-weight:800}
.ugr-count{font-size:15px;color:var(--ugr-muted)}
.ugr-stars{position:relative;display:inline-block;font-size:22px;letter-spacing:2px;line-height:1;color:#555;white-space:nowrap}
.ugr-stars::before{content:"★★★★★"}
.ugr-stars::after{
  content:"★★★★★";position:absolute;left:0;top:0;width:var(--ugr-star-width,0%);overflow:hidden;
  color:var(--ugr-accent);white-space:nowrap
}
.ugr-actions{display:flex;gap:10px;flex-wrap:wrap}
.ugr-button{
  appearance:none;border:1px solid var(--ugr-accent);border-radius:12px;padding:11px 17px;text-decoration:none!important;
  font:inherit;font-weight:800;line-height:1.2;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease
}
.ugr-button-primary{background:var(--ugr-accent);color:var(--ugr-accent-text)!important}
.ugr-button-secondary{background:transparent;color:var(--ugr-accent)!important}
.ugr-button:hover{transform:translateY(-1px)}
.ugr-slider-shell{position:relative;margin-top:18px}
.ugr-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--ugr-cols) - 1)*18px)/var(--ugr-cols));
  gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:1px
}
.ugr-track::-webkit-scrollbar{display:none}
.ugr-card{
  scroll-snap-align:start;background:var(--ugr-card);border:1px solid var(--ugr-border);border-radius:18px;
  padding:20px;min-height:305px;display:flex;flex-direction:column
}
.ugr-author{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ugr-avatar{
  width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px;background:#2a2a2d;border:1px solid var(--ugr-border)
}
.ugr-avatar-fallback{
  display:flex;align-items:center;justify-content:center;color:var(--ugr-accent);font-weight:900;font-size:18px
}
.ugr-author-copy{min-width:0}
.ugr-author-name{
  color:var(--ugr-text)!important;font-weight:800;text-decoration:none!important;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.ugr-date{font-size:14px;color:var(--ugr-muted);margin-top:2px}
.ugr-card-rating{margin:4px 0 12px}
.ugr-card-rating .ugr-stars{font-size:19px}
.ugr-review-wrap{flex:1}
.ugr-review-text{margin:0;color:var(--ugr-text);font-size:16px;white-space:pre-line}
.ugr-review-text.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.ugr-more{
  border:0;background:none;padding:9px 0 0;color:var(--ugr-accent);font:inherit;font-weight:800;cursor:pointer
}
.ugr-meta{font-size:12px;color:var(--ugr-muted);margin-top:8px}
.ugr-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--ugr-border)}
.ugr-source{color:var(--ugr-accent)!important;text-decoration:none!important;font-size:13px;font-weight:800}
.ugr-report{color:var(--ugr-muted)!important;text-decoration:none!important;font-size:12px}
.ugr-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--ugr-border);background:var(--ugr-header);color:var(--ugr-accent);font-size:28px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.28)
}
.ugr-prev{left:-17px}.ugr-next{right:-17px}
.ugr-arrow[disabled]{opacity:.28;cursor:default}
.ugr-footer{
  margin-top:16px;padding:12px 4px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  color:var(--ugr-muted);font-size:12px
}
.ugr-google-maps{font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:400;white-space:nowrap;color:var(--ugr-text)}
.ugr-provider a{color:var(--ugr-muted)!important}
@media(max-width:900px){.ugr-widget{--ugr-cols:2}}
@media(max-width:620px){
  .ugr-widget{--ugr-cols:1;padding:14px;border-radius:16px}
  .ugr-summary{padding:17px;border-radius:14px}
  .ugr-summary-main{gap:9px}
  .ugr-brand{font-size:17px}
  .ugr-rating{font-size:19px}
  .ugr-stars{font-size:19px}
  .ugr-track{gap:12px}
  .ugr-card{padding:17px;min-height:290px}
  .ugr-prev{left:-7px}.ugr-next{right:-7px}
  .ugr-arrow{width:40px;height:40px}
  .ugr-actions{width:100%}
  .ugr-actions .ugr-button{flex:1;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .ugr-track{scroll-behavior:auto}.ugr-button{transition:none}
}


/* v1.1 compact front-page mode */
.ugr-widget[data-mode="compact"]{
  padding:14px;border-radius:16px
}
.ugr-widget[data-mode="compact"] .ugr-summary{
  padding:11px 14px;border-radius:13px;gap:12px
}
.ugr-widget[data-mode="compact"] .ugr-brand{font-size:16px}
.ugr-widget[data-mode="compact"] .ugr-rating{font-size:18px}
.ugr-widget[data-mode="compact"] .ugr-count{font-size:13px}
.ugr-widget[data-mode="compact"] .ugr-stars{font-size:18px}
.ugr-widget[data-mode="compact"] .ugr-button{
  padding:8px 12px;border-radius:9px;font-size:13px
}
.ugr-widget[data-mode="compact"] .ugr-slider-shell{margin-top:10px}
.ugr-widget[data-mode="compact"] .ugr-track{
  gap:10px;grid-auto-columns:calc((100% - (var(--ugr-cols) - 1)*10px)/var(--ugr-cols))
}
.ugr-widget[data-mode="compact"] .ugr-card{
  min-height:178px;padding:13px;border-radius:13px
}
.ugr-widget[data-mode="compact"] .ugr-author{gap:9px;margin-bottom:8px}
.ugr-widget[data-mode="compact"] .ugr-avatar{
  width:36px;height:36px;flex-basis:36px
}
.ugr-widget[data-mode="compact"] .ugr-author-name{font-size:14px}
.ugr-widget[data-mode="compact"] .ugr-date{font-size:12px}
.ugr-widget[data-mode="compact"] .ugr-card-rating{margin:1px 0 7px}
.ugr-widget[data-mode="compact"] .ugr-card-rating .ugr-stars{font-size:15px}
.ugr-widget[data-mode="compact"] .ugr-review-text{
  font-size:13px;line-height:1.38
}
.ugr-widget[data-mode="compact"] .ugr-review-text.is-clamped{
  -webkit-line-clamp:3
}
.ugr-widget[data-mode="compact"] .ugr-more{
  padding-top:5px;font-size:12px
}
.ugr-widget[data-mode="compact"] .ugr-card-footer{
  margin-top:8px;padding-top:8px
}
.ugr-widget[data-mode="compact"] .ugr-source{font-size:11px}
.ugr-widget[data-mode="compact"] .ugr-report{display:none}
.ugr-widget[data-mode="compact"] .ugr-meta{display:none}
.ugr-widget[data-mode="compact"] .ugr-footer{
  margin-top:8px;padding-top:2px;font-size:10px
}
.ugr-widget[data-mode="compact"] .ugr-arrow{
  width:34px;height:34px;font-size:23px
}
.ugr-widget[data-mode="compact"] .ugr-prev{left:-9px}
.ugr-widget[data-mode="compact"] .ugr-next{right:-9px}

/* v1.1 slim rating bar */
.ugr-widget[data-mode="bar"]{
  padding:0;background:transparent;border-radius:0;overflow:visible
}
.ugr-widget[data-mode="bar"] .ugr-summary{
  padding:11px 15px;border-radius:12px;gap:10px
}
.ugr-widget[data-mode="bar"] .ugr-summary-main{gap:10px}
.ugr-widget[data-mode="bar"] .ugr-brand{font-size:16px}
.ugr-widget[data-mode="bar"] .ugr-stars{font-size:17px}
.ugr-widget[data-mode="bar"] .ugr-rating{font-size:18px}
.ugr-widget[data-mode="bar"] .ugr-count{font-size:13px}

/* v1.1 count-only: inherit footer/theme typography */
.ugr-count-only{
  color:inherit!important;font:inherit!important;text-decoration:inherit!important;white-space:nowrap
}
a.ugr-count-only{cursor:pointer}
a.ugr-count-only:hover{opacity:.85}

@media(max-width:620px){
  .ugr-widget[data-mode="compact"]{padding:10px}
  .ugr-widget[data-mode="compact"] .ugr-summary{padding:10px 11px}
  .ugr-widget[data-mode="compact"] .ugr-actions{width:auto}
  .ugr-widget[data-mode="compact"] .ugr-actions .ugr-button{flex:0 0 auto}
  .ugr-widget[data-mode="compact"] .ugr-footer{display:none}
}


/* v1.2 footer rating badge */
.ugr-footer-badge{
  --ugr-footer-bg:#111214;--ugr-footer-border:#d2aa5f;--ugr-footer-text:#f6f4ef;--ugr-footer-muted:#b8b5ae;--ugr-footer-gold:#f4b923;
  display:inline-flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  width:190px;min-height:152px;padding:15px 14px;border:1px solid color-mix(in srgb,var(--ugr-footer-border) 72%,transparent);
  border-radius:18px;background:linear-gradient(145deg,#17181a,#0d0e0f);color:var(--ugr-footer-text)!important;
  text-decoration:none!important;text-align:center;box-shadow:0 9px 28px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.02);
  font-family:inherit;line-height:1.15;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
a.ugr-footer-badge{cursor:pointer}
a.ugr-footer-badge:hover{transform:translateY(-2px);border-color:var(--ugr-footer-border);box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 18px rgba(210,170,95,.10)}
.ugr-footer-brand{font-family:Roboto,Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ugr-footer-text)}
.ugr-footer-count{font-size:13px;color:var(--ugr-footer-muted)}
.ugr-footer-stars{font-size:23px;line-height:1;letter-spacing:2px;color:var(--ugr-footer-gold);text-shadow:0 0 10px rgba(244,185,35,.15)}
.ugr-footer-rating{font-size:34px;line-height:1;color:var(--ugr-footer-text)}
.ugr-footer-badge-small{width:162px;min-height:132px;padding:12px 11px;border-radius:15px;gap:4px}
.ugr-footer-badge-small .ugr-footer-brand{font-size:17px}
.ugr-footer-badge-small .ugr-footer-count{font-size:12px}
.ugr-footer-badge-small .ugr-footer-stars{font-size:20px}
.ugr-footer-badge-small .ugr-footer-rating{font-size:29px}


/* v1.2.2 built-in popup bridge */
.ugr-popup-trigger{
  display:inline-block;
  cursor:pointer;
  max-width:100%;
}
.ugr-popup-trigger:focus-visible{
  outline:2px solid var(--ugr-accent,#d2aa5f);
  outline-offset:4px;
  border-radius:10px;
}
.ugr-count-only[data-popup-enabled="1"]{
  cursor:pointer;
}
.ugr-own-popup[hidden]{display:none!important}
.ugr-own-popup{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ugr-own-popup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(4px);
}
.ugr-own-popup-panel{
  position:relative;
  z-index:1;
  width:min(1180px,96vw);
  max-height:90vh;
  overflow:auto;
  padding:18px;
  border:1px solid #3b3428;
  border-radius:22px;
  background:#0f0f10;
  box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.ugr-own-popup-content > p:empty{display:none}
.ugr-own-popup-close{
  position:sticky;
  top:0;
  z-index:5;
  float:right;
  width:42px;
  height:42px;
  margin:0 0 -42px auto;
  border:1px solid #5a4a2e;
  border-radius:50%;
  background:#171719;
  color:#d2aa5f;
  font-size:30px;
  line-height:34px;
  cursor:pointer;
}
.ugr-own-popup-open{
  overflow:hidden!important;
}
@media(max-width:620px){
  .ugr-own-popup{padding:10px}
  .ugr-own-popup-panel{
    width:100%;
    max-height:94vh;
    padding:10px;
    border-radius:16px;
  }
  .ugr-own-popup-close{
    width:38px;height:38px;font-size:28px
  }
}


/* v1.2.3 — mobile popup layout: vertical, readable, no horizontal carousel */
@media (max-width: 700px) {

  /* Popup shell */
  .ugr-own-popup {
    align-items: flex-start;
    padding: 8px;
  }

  .ugr-own-popup-panel {
    width: 100%;
    max-width: none;
    max-height: 96vh;
    margin-top: 1vh;
    padding: 10px;
    border-radius: 18px;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .ugr-own-popup-close {
    position: sticky;
    top: 2px;
    right: 2px;
    float: right;
    width: 42px;
    height: 42px;
    margin: 0 0 -42px auto;
    border-radius: 50%;
    z-index: 20;
  }

  .ugr-own-popup-content {
    clear: both;
  }

  /* Use a clean readable mobile font even if the host theme injects another one. */
  .ugr-own-popup .ugr-widget,
  .ugr-own-popup .ugr-widget * {
    font-family: Arial, Helvetica, sans-serif !important;
  }

  /* Main review widget */
  .ugr-own-popup .ugr-widget {
    padding: 10px !important;
    border-radius: 14px !important;
    overflow: visible !important;
  }

  /* Header becomes vertical and centered */
  .ugr-own-popup .ugr-summary {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 18px 14px !important;
    border-radius: 14px !important;
  }

  .ugr-own-popup .ugr-summary-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    text-align: center !important;
  }

  .ugr-own-popup .ugr-brand {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  .ugr-own-popup .ugr-summary-main .ugr-stars {
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .ugr-own-popup .ugr-rating {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  .ugr-own-popup .ugr-count {
    order: 4;
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  /* Buttons stack full width */
  .ugr-own-popup .ugr-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .ugr-own-popup .ugr-actions .ugr-button {
    width: 100% !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 14px !important;
    border-radius: 11px !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  /* Mobile: no carousel. Cards become a normal vertical list. */
  .ugr-own-popup .ugr-slider-shell {
    margin-top: 12px !important;
  }

  .ugr-own-popup .ugr-track {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
  }

  .ugr-own-popup .ugr-arrow {
    display: none !important;
  }

  .ugr-own-popup .ugr-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 15px !important;
    border-radius: 13px !important;
    scroll-snap-align: none !important;
  }

  .ugr-own-popup .ugr-author {
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .ugr-own-popup .ugr-avatar {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  .ugr-own-popup .ugr-author-name {
    font-size: 16px !important;
    white-space: normal !important;
  }

  .ugr-own-popup .ugr-date {
    font-size: 13px !important;
  }

  .ugr-own-popup .ugr-card-rating {
    margin: 4px 0 10px !important;
  }

  .ugr-own-popup .ugr-card-rating .ugr-stars {
    font-size: 20px !important;
  }

  .ugr-own-popup .ugr-review-text {
    font-size: 15px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .ugr-own-popup .ugr-review-text.is-clamped {
    -webkit-line-clamp: 5 !important;
  }

  .ugr-own-popup .ugr-more {
    font-size: 14px !important;
    padding-top: 7px !important;
  }

  .ugr-own-popup .ugr-card-footer {
    margin-top: 12px !important;
    padding-top: 10px !important;
    align-items: center !important;
  }

  .ugr-own-popup .ugr-source {
    font-size: 13px !important;
  }

  .ugr-own-popup .ugr-report {
    font-size: 11px !important;
  }

  /* Attribution stays small at the bottom */
  .ugr-own-popup .ugr-footer {
    margin-top: 12px !important;
    padding: 8px 2px 2px !important;
    gap: 7px !important;
    flex-direction: column !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}
