/* Base */
.bema-reviews-widget{
  --text:#222;
  --rv-title:#111;
  --rv-meta:#555;
  --rv-text:#222;
  --card:#fff;
  --gap:12px;
  --radius:12px;
  --card-pad:16px;
  --slider-card-pad:16px;
  --card-border: transparent;
  --card-border-w:0px;
  --star-color:#f5b301;
  --star-off:#c8c8c8;
  --star-size:18px;
  --star-gap:2px;
  --sum-bg:transparent;
  --sum-text:var(--text);
  --sum-border:transparent;
  --sum-border-w:1px;
  --sum-pad:12px;
  --sum-radius:8px;
  --sum-star-size:16px;
  --sum-star-color:#f5b301;
  --sum-star-off:#c8c8c8;
  --arrows-offset:8px;
  --space-title-sum:12px;
  --space-sum-list:12px;
  color: var(--text);
  --arrow-bg:#0008; --arrow-text:#fff; --arrow-bg-hover:#000c; --arrow-text-hover:#fff; --arrow-radius:8px;
  --dot:#c8c8c8; --dot-active:#111; --dot-size:8px; --dot-gap:6px; --dot-fade:.35;
}
.bema-reviews-widget .bema-widget-title{ margin:0 0 var(--space-title-sum) 0; }
.bema-reviews-widget .bema-summary{ 
  background: var(--sum-bg);
  color: var(--sum-text);
  border: var(--sum-border-w) solid var(--sum-border);
  border-radius: var(--sum-radius);
  padding: var(--sum-pad);
  margin: 0 0 var(--space-sum-list) 0;
}
/* Summary image positions */
.bema-reviews-widget .bema-summary.sum-align-left .bema-summary-flex,
.bema-reviews-widget .bema-summary.sum-align-right .bema-summary-flex{
  display:flex; align-items:center; gap:12px;
}

.bema-reviews-widget .bema-summary .bema-summary-content{ min-width:0; }
.bema-reviews-widget .bema-summary-row{ font-weight:600; margin:4px 0; }
.bema-reviews-widget .bema-summary .bema-summary-stars{ font-size:0; margin-top:4px; }
.bema-reviews-widget .bema-summary .bema-uni{ font-size: var(--sum-star-size); color: var(--sum-star-color); margin-right:2px; }
.bema-reviews-widget .bema-summary .bema-uni.off{ color: var(--sum-star-off); }

/* List & Cards */
.bema-reviews-widget.bema-mode-list .bema-review,
.bema-reviews-widget.bema-mode-card .bema-review{
  background: var(--card);
  border: var(--card-border-w) solid var(--card-border);
  border-radius: var(--radius);
  padding: var(--card-pad);
  margin-bottom: var(--gap);
}
.bema-reviews-widget.bema-mode-card{
  display:grid;
  gap: var(--gap);
}
.bema-reviews-widget .bema-review-title{ color: var(--rv-title); font-weight:700; margin-bottom:6px; }
.bema-reviews-widget .bema-review-meta{ color: var(--rv-meta); font-size:.9em; margin-bottom:6px; }
.bema-reviews-widget .bema-review-text{ color: var(--rv-text); }
.bema-reviews-widget .bema-review-stars{ margin:6px 0; font-size:0; }
.bema-reviews-widget .bema-uni{ font-size: var(--star-size); color: var(--star-color); margin-right: var(--star-gap); }
.bema-reviews-widget .bema-uni.off{ color: var(--star-off); }

/* Slider */
.bema-reviews-widget.bema-mode-slider { position:relative; }
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport{ overflow:hidden; position:relative; }
.bema-reviews-widget.bema-mode-slider .bema-reviews-track{
  display:flex; gap: var(--slide-gap); will-change: transform; transition: transform .35s ease;
}
.bema-reviews-widget.bema-mode-slider .bema-review{
  background: var(--card);
  border: var(--card-border-w) solid var(--card-border);
  border-radius: var(--radius);
  padding: var(--slider-card-pad);
}

/* Arrows – overlay inside viewport */
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls{ position:absolute; inset:auto; pointer-events:none; }
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls button{
  pointer-events:auto; cursor:pointer; border:0; background:#0008; color:#fff; padding:8px 10px; border-radius:8px;
}
/* Inside center overlay left/right */
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls.pos-inside-center{
  left:0; right:0; top:50%; transform: translateY(-50%); display:flex; justify-content:space-between; align-items:center;
}
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls.pos-inside-center .bema-prev{ margin-left: var(--arrows-offset); }
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls.pos-inside-center .bema-next{ margin-right: var(--arrows-offset); }
/* Top-right */
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls.pos-top-right{
  top: var(--arrows-offset); right: var(--arrows-offset); display:flex; gap:8px;
}
/* Bottom center */
.bema-reviews-widget.bema-mode-slider .bema-reviews-viewport .bema-controls.pos-bottom-center{
  bottom: var(--arrows-offset); left:50%; transform: translateX(-50%); display:flex; gap:8px;
}

/* Outside center (below viewport) */
.bema-reviews-widget.bema-mode-slider > .bema-controls.pos-outside-center{
  display:flex; justify-content:space-between; align-items:center; margin-top:8px;
}
/* Hidden */
.bema-reviews-widget.bema-mode-slider .bema-controls.pos-hidden{ display:none; }

/* Read more modal */
.bema-reviews-modal{ position:fixed; inset:0; background:#0006; display:flex; align-items:center; justify-content:center; z-index:99999; }
.bema-reviews-modal .inner{ background:#fff; border-radius:10px; max-width:720px; width:92vw; max-height:80vh; overflow:auto; padding:16px; position:relative; }
.bema-reviews-modal .close{ position:absolute; top:10px; right:14px; background:#000; color:#fff; border:0; border-radius:20px; width:28px; height:28px; cursor:pointer; }

/* Arrow buttons shared */
.bema-reviews-widget.bema-mode-slider .bema-controls button{
  pointer-events:auto; cursor:pointer; border:0; background: var(--arrow-bg); color: var(--arrow-text);
  padding:8px 10px; border-radius: var(--arrow-radius); transition: background .2s ease, color .2s ease, transform .1s ease;
}
.bema-reviews-widget.bema-mode-slider .bema-controls button:hover{ background: var(--arrow-bg-hover); color: var(--arrow-text-hover); }
.bema-reviews-widget.bema-mode-slider .bema-controls button:active{ transform: scale(0.98); }

/* Outside center under viewport, centered group */
.bema-reviews-widget.bema-mode-slider > .bema-controls.pos-outside-center{
  display:flex; justify-content:center; align-items:center; gap:12px; margin-top:8px;
}

/* Dots */
.bema-reviews-widget .bema-dots{ display:flex; justify-content:center; align-items:center; gap: var(--dot-gap); margin-top:10px; user-select:none; }
.bema-reviews-widget .bema-dots .dot, .bema-reviews-widget .bema-dots .hint{
  width: var(--dot-size); height: var(--dot-size); border-radius:50%; background: var(--dot); opacity:.8; border:0; padding:0;
}
.bema-reviews-widget .bema-dots .dot{ cursor:pointer; transition: transform .15s ease, opacity .15s ease, background .15s ease; }
.bema-reviews-widget .bema-dots .dot.active{ background: var(--dot-active); opacity:1; transform: scale(1.15); }
.bema-reviews-widget .bema-dots .dot.faded{ opacity: var(--dot-fade); transform: scale(0.85); }
.bema-reviews-widget .bema-dots .hint{ opacity: var(--dot-fade); transform: scale(0.7); pointer-events:none; }
