/* Gemeinsamer Bewertungsbereich und eigenständige, teilbare IVS-Bewertungsseite. */
.reviews__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,7vw,100px);align-items:center}
.reviews__intro h2{max-width:17ch;margin-bottom:22px}
.reviews__intro>p:not(.eyebrow){max-width:48ch}
.reviews__actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 26px;margin-top:30px}
.reviews__quotes{display:grid;gap:30px}
.reviews__quotes blockquote{padding-top:24px;border-top:1px solid var(--line)}
.reviews__quotes blockquote p{font:400 clamp(21px,2vw,27px)/1.4 var(--serif);color:var(--ink)}
.reviews__quotes footer{margin-top:14px;font-size:14px;color:var(--muted)}
.reviews__source{font-size:12px;color:var(--muted)}
.review-page [hidden]{display:none!important}
.review-header{max-width:1120px;margin:auto;padding:24px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}
.review-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:600;line-height:1.35}
.review-brand img{width:100px;height:auto}
.review-header__back{font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center}
.review-main{max-width:780px;margin:auto;padding:48px var(--pad) 64px}
.review-intro{text-align:center}
.review-intro__portrait{width:92px;height:92px;object-fit:cover;object-position:50% 22%;border-radius:50%;margin:0 auto 22px;background:var(--tint)}
.review-intro .eyebrow{justify-content:center}
.review-intro h1{font-size:clamp(36px,4.2vw,54px);line-height:1.08;max-width:19ch;margin:auto}
.review-intro>p:last-child{max-width:48ch;margin:20px auto 0;color:var(--muted)}
.review-choice{margin-top:30px;padding:28px clamp(18px,4vw,40px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.review-choice fieldset{border:0;padding:0;margin:0;min-width:0}
.review-choice legend{float:left;width:100%;margin-bottom:10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.review-stars{clear:both;display:flex;justify-content:center;gap:clamp(2px,1.4vw,12px)}
.review-stars label{position:relative;display:grid;place-items:center;width:54px;height:58px;cursor:pointer;color:#d5cec2}
.review-stars input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.review-stars svg{width:42px;height:42px;pointer-events:none;transition:color .15s,transform .15s}
.review-stars label.is-filled,.review-stars label:has(input:checked){color:#b76917}
.review-stars label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}
.review-stars label:hover svg{transform:translateY(-2px)}
.review-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.review-selection{min-height:1.6em;margin:8px 0 20px;font-size:14px;color:var(--muted)}
.review-google{display:flex;justify-content:center;align-items:center;gap:12px;min-height:50px}
.review-google svg{width:20px;height:20px;flex:none}
.review-choice__note{font-size:13px;line-height:1.6;color:var(--muted);margin:14px auto 0;max-width:49ch}
.review-google-read{display:inline-block;margin-top:16px;font-size:14px;text-underline-offset:4px}
.review-feedback{margin-top:26px;border-bottom:1px solid var(--line);padding-bottom:24px}
.review-feedback summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;font-weight:600;color:var(--ink)}
.review-feedback p{font-size:14px;color:var(--muted);margin:8px 0 18px}
.review-feedback form{display:grid;gap:14px}
.review-feedback label{display:grid;gap:6px;font-size:14px;color:var(--ink)}
.review-feedback input,.review-feedback textarea,.review-share input{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px;font:inherit;font-size:16px;color:var(--ink)}
.review-feedback textarea{min-height:120px;resize:vertical}
.review-feedback button{justify-self:start}
.review-feedback__fallback{font-size:14px}
.review-share{margin-top:28px}
.review-share h2{font:600 18px/1.4 var(--sans)}
.review-share>p{font-size:14px;color:var(--muted);margin:8px 0 14px}
.review-share label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.review-share__row{display:flex;gap:10px}
.review-share__row input{flex:1}
.review-share__row button{flex:none;background:var(--teal);color:#fff;border-color:var(--teal)}
.review-share__native{margin-top:12px;background:transparent;border:0;padding:6px 0;color:var(--teal);font:600 14px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px}
.review-share .review-share__status{min-height:1.6em;margin:8px 0 0;font-size:13px}
.review-footer{border-top:1px solid var(--line);text-align:center;padding:24px var(--pad) 30px;font-size:12px;color:var(--muted)}
.review-footer p+p{margin-top:8px}
.review-footer a{display:inline-block;margin:0 8px;min-height:32px;text-underline-offset:3px}
@media(max-width:800px){.reviews__grid{grid-template-columns:1fr}.reviews__intro h2{max-width:22ch}}
@media(max-width:480px){
  .review-header{padding-top:18px;padding-bottom:18px;gap:12px}
  .review-brand{gap:10px;font-size:11px}.review-brand img{width:75px}.review-header__back{font-size:12px}
  .review-main{padding-top:32px;padding-bottom:40px}
  .review-intro__portrait{width:76px;height:76px;margin-bottom:20px}
  .review-intro .eyebrow{font-size:11px}
  .review-intro>p:last-child{font-size:16px;margin-top:16px}
  .review-choice{padding:22px 12px;margin-top:24px}
  .review-stars label{width:48px;height:52px}.review-stars svg{width:38px;height:38px}
  .review-google{font-size:14px;padding:12px 10px}
  .review-share__row{flex-wrap:wrap}.review-share__row input{flex-basis:100%}
  .reviews__actions{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(prefers-reduced-motion:reduce){.review-stars svg{transition:none}.review-stars label:hover svg{transform:none}}
