.vsr-wrap{
  max-width:1180px;
  margin:32px auto;
  padding:0 18px;
  color:#1f2937;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

.vsr-hero,
.vsr-panel,
.vsr-stat-card,
.vsr-message{
  border-radius:18px;
  border:1px solid #dbe4ea;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.vsr-hero{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);
  gap:24px;
  padding:32px;
  background:linear-gradient(135deg,#ffffff 0%,#f5fbfb 55%,#eef6ff 100%);
  margin-bottom:22px;
}

.vsr-kicker,
.vsr-section-kicker,
.vsr-stat-topline{
  margin:0 0 8px;
  color:#0d8b8f;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

.vsr-hero h1{
  margin:0 0 14px;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.05;
  color:#111827;
}

.vsr-intro{
  margin:0;
  font-size:1.05rem;
  line-height:1.7;
  color:#374151;
}

.vsr-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.vsr-pill,
.vsr-badge-live{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  font-size:.92rem;
  font-weight:700;
}

.vsr-pill{
  background:#e8f8f8;
  color:#0e666a;
  border:1px solid #caecec;
}

.vsr-score-card{
  background:linear-gradient(180deg,#0f172a 0%,#16233f 100%);
  color:#ffffff;
  padding:24px;
  text-align:center;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
}

.vsr-score-label{
  font-size:.9rem;
  font-weight:700;
  color:#cbd5e1;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.vsr-stars,
.vsr-review-stars{
  color:#ffbf47;
  letter-spacing:.08em;
}

.vsr-stars{
  margin-top:10px;
  font-size:1.45rem;
}

.vsr-score-value{
  font-size:3rem;
  line-height:1;
  font-weight:800;
  margin-top:8px;
}

.vsr-score-total{
  margin-top:10px;
  font-size:1.02rem;
  font-weight:700;
}

.vsr-score-subline{
  margin-top:8px;
  color:#cbd5e1;
  font-size:.95rem;
  line-height:1.5;
}

.vsr-stat-grid,
.vsr-info-grid,
.vsr-grid,
.vsr-mini-grid{
  display:grid;
  gap:18px;
}

.vsr-stat-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:22px;
}

.vsr-stat-card{
  background:#ffffff;
  padding:24px;
}

.vsr-stat-card.is-highlight{
  background:linear-gradient(135deg,#0d8b8f 0%,#0f6f8f 100%);
  color:#ffffff;
  border-color:#0d8b8f;
}

.vsr-stat-card.is-highlight .vsr-stat-topline,
.vsr-stat-card.is-highlight h2,
.vsr-stat-card.is-highlight p,
.vsr-stat-card.is-highlight .vsr-stat-value span{
  color:#ecfeff;
}

.vsr-stat-card h2{
  margin:0 0 12px;
  font-size:1.35rem;
  line-height:1.25;
  color:#111827;
}

.vsr-stat-value{
  font-size:2.2rem;
  font-weight:800;
  line-height:1.1;
  color:#111827;
}

.vsr-stat-value span{
  font-size:1rem;
  font-weight:700;
  color:#6b7280;
}

.vsr-stat-card p{
  margin:10px 0 0;
  color:#4b5563;
  line-height:1.6;
}

.vsr-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-bottom:22px;
}

.vsr-panel{
  background:#ffffff;
  padding:24px;
}

.vsr-panel h2{
  margin:0 0 12px;
  font-size:1.9rem;
  line-height:1.15;
  color:#111827;
}

.vsr-panel p{
  margin:0;
  color:#4b5563;
  line-height:1.7;
}

.vsr-mini-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:18px;
}

.vsr-mini-card{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:16px;
}

.vsr-mini-card strong{
  display:block;
  font-size:1.25rem;
  color:#111827;
}

.vsr-mini-card span{
  display:block;
  margin-top:6px;
  color:#475569;
  line-height:1.45;
}

.vsr-badge-live{
  width:max-content;
  margin-top:16px;
  background:#ecfeff;
  color:#0f766e;
  border:1px solid #b8ece7;
}

.vsr-badge-live.is-muted{
  background:#f3f4f6;
  color:#374151;
  border-color:#e5e7eb;
}

.vsr-message{
  padding:16px 18px;
  margin:0 0 22px;
}

.vsr-success{
  background:#ecfdf5;
  border-color:#a7f3d0;
  color:#065f46;
}

.vsr-error{
  background:#fef2f2;
  border-color:#fecaca;
  color:#991b1b;
}

.vsr-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:14px;
}

.vsr-list-summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  background:#f3f4f6;
  color:#374151;
  font-size:.95rem;
  font-weight:700;
  white-space:nowrap;
}

.vsr-form{
  display:grid;
  gap:14px;
  margin-top:16px;
}

.vsr-form input[type=text],
.vsr-form textarea{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:13px 14px;
  font:inherit;
  background:#ffffff;
}

.vsr-form input:focus,
.vsr-form textarea:focus{
  outline:3px solid rgba(13,139,143,.18);
  border-color:#0d8b8f;
}

.vsr-form button{
  justify-self:start;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#0d8b8f 0%,#0f6f8f 100%);
  color:#fff;
  font-weight:800;
  padding:13px 18px;
  cursor:pointer;
}

.vsr-form button:hover{
  filter:brightness(.96);
}

.vsr-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.vsr-consent input{
  margin-top:4px;
}

.vsr-rating-fieldset{
  border:0;
  padding:0;
  margin:0;
}

.vsr-rating-fieldset legend{
  margin-bottom:10px;
  font-weight:700;
}

.vsr-rating-options{
  display:flex;
  flex-direction:row-reverse;
  justify-content:flex-end;
  gap:4px;
}

.vsr-rating-options input{
  position:absolute;
  opacity:0;
}

.vsr-rating-options label{
  font-size:2.3rem;
  color:#9ca3af;
  cursor:pointer;
  line-height:1;
}

.vsr-rating-options input:checked ~ label,
.vsr-rating-options label:hover,
.vsr-rating-options label:hover ~ label{
  color:#ffbf47;
}

.vsr-rating-options input:focus-visible + label{
  outline:3px solid #0d8b8f;
  border-radius:6px;
}

.vsr-list{
  margin-top:0;
}

.vsr-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.vsr-review-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
}

.vsr-review-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.vsr-review-card h3{
  margin:0 0 8px;
  font-size:1.15rem;
  color:#111827;
}

.vsr-review-card p{
  margin:0;
  color:#4b5563;
  line-height:1.65;
}

.vsr-review-placeholder{
  font-style:italic;
  color:#6b7280;
}

.vsr-review-card time{
  display:block;
  margin-top:14px;
  color:#6b7280;
  font-size:.92rem;
}

.vsr-verified{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0f766e;
  font-weight:800;
  font-size:.88rem;
  background:#ecfeff;
  border:1px solid #bae6fd;
  padding:6px 10px;
  border-radius:999px;
}

.vsr-empty-state{
  border:1px dashed #cbd5e1;
  border-radius:16px;
  padding:24px;
  background:#f8fafc;
}

.vsr-empty-state strong{
  display:block;
  margin-bottom:6px;
  color:#111827;
}

@media (max-width: 980px){
  .vsr-hero,
  .vsr-stat-grid,
  .vsr-info-grid,
  .vsr-grid,
  .vsr-mini-grid{
    grid-template-columns:1fr;
  }

  .vsr-hero{
    padding:24px;
  }
}

@media (max-width: 700px){
  .vsr-wrap{
    margin:18px auto;
    padding:0 12px;
  }

  .vsr-section-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .vsr-panel,
  .vsr-stat-card,
  .vsr-hero,
  .vsr-message{
    padding:18px;
  }

  .vsr-panel h2,
  .vsr-hero h1{
    line-height:1.15;
  }

  .vsr-score-value,
  .vsr-stat-value{
    font-size:2rem;
  }
}

/* Kompakte Darstellung, solange noch keine eigenen Shop-Bewertungen vorliegen */
.vsr-current-summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 14px;
  padding:18px 22px;
  background:#fff;
  border:1px solid #dbe4ea;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.vsr-current-summary-stars{
  color:#ffbf47;
  font-size:1.35rem;
  letter-spacing:.08em;
  white-space:nowrap;
}
.vsr-current-summary strong{
  display:block;
  color:#111827;
  font-size:1.12rem;
}
.vsr-current-summary span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:.94rem;
}
.vsr-source-note{
  margin:0 0 18px;
  color:#64748b;
  font-size:.88rem;
}
.vsr-source-note summary{
  width:max-content;
  cursor:pointer;
  color:#64748b;
  font-weight:700;
}
.vsr-source-note > div{
  margin-top:8px;
  max-width:850px;
  padding:12px 14px;
  border-left:3px solid #cbd5e1;
  background:rgba(255,255,255,.72);
  line-height:1.6;
}
.vsr-submit-note{
  margin:0 0 18px;
  color:#64748b;
  font-size:.9rem;
  text-align:center;
}
.vsr-submit-panel.is-active{
  margin-bottom:22px;
}
@media(max-width:700px){
  .vsr-current-summary{
    align-items:flex-start;
    justify-content:flex-start;
    padding:16px;
  }
  .vsr-current-summary-stars{
    font-size:1.1rem;
  }
}

.vsr-submit-first{margin-bottom:12px!important}
.vsr-form-section{margin-bottom:22px}
