.rrf-form-wrap {
    --rrf-max-width: 680px;
    --rrf-bg: transparent;
    --rrf-text: inherit;
    --rrf-button: #222;
    --rrf-button-text: #fff;
    --rrf-radius: 14px;
    max-width: var(--rrf-max-width);
    margin-left: auto;
    margin-right: auto;
    color: var(--rrf-text);
    font-family: inherit;
}

.rrf-card {
    background: var(--rrf-bg);
    border-radius: var(--rrf-radius);
    padding: clamp(18px, 4vw, 32px);
    box-sizing: border-box;
}

.rrf-question { margin: 0 0 8px; color: inherit; }
.rrf-intro { margin: 0 0 20px; opacity: .8; }

.rrf-rating-fieldset { border: 0; margin: 0 0 20px; padding: 0; }
.rrf-stars { display: flex; gap: 4px; flex-wrap: nowrap; }
.rrf-star {
    border: 0;
    background: transparent;
    padding: 0 2px;
    font-size: clamp(38px, 10vw, 54px);
    line-height: 1;
    cursor: pointer;
    color: currentColor;
    opacity: .28;
    transition: transform .15s ease, opacity .15s ease;
    -webkit-tap-highlight-color: transparent;
}
.rrf-star:hover, .rrf-star:focus-visible { transform: translateY(-1px) scale(1.03); }
.rrf-star.is-active { opacity: 1; }

.rrf-review-label { display: block; margin-bottom: 14px; }
.rrf-review-label > span { display: block; font-weight: 600; margin-bottom: 7px; }
.rrf-review-text {
    width: 100%;
    min-height: 130px;
    resize: vertical;
    box-sizing: border-box;
    font: inherit;
    line-height: 1.5;
    padding: 14px 16px;
    border-radius: calc(var(--rrf-radius) * .72);
    border: 1px solid rgba(127,127,127,.32);
    background: rgba(255,255,255,.94);
    color: #222;
}

.rrf-share-label { font-weight: 600; margin: 18px 0 10px; }
.rrf-platforms { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.rrf-btn {
    appearance: none;
    border: 0;
    border-radius: calc(var(--rrf-radius) * .72);
    min-height: 50px;
    padding: 12px 18px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease;
}
.rrf-btn:hover { transform: translateY(-1px); }
.rrf-btn-primary { background: var(--rrf-button); color: var(--rrf-button-text); }
.rrf-private[hidden] { display: none !important; }
.rrf-private {
    width: 100%;
    margin-top: 10px;
    border: 0;
    background: transparent;
    color: inherit;
    text-decoration: underline;
    font: inherit;
    padding: 10px;
    cursor: pointer;
    opacity: .75;
}
.rrf-error { min-height: 1.4em; color: #b42318; font-size: .92em; }
.rrf-status { margin-top: 12px; font-weight: 600; min-height: 1.4em; }
.rrf-form-wrap.is-busy { opacity: .72; pointer-events: none; }

@media (max-width: 520px) {
    .rrf-card { padding-left: 8px; padding-right: 8px; }
    .rrf-platforms { grid-template-columns: 1fr; }
}

/* Language switcher - added in 0.2.0 */
.rrf-language-switcher {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin-bottom: 12px;
    font-size: 12px;
    letter-spacing: .06em;
    opacity: .72;
}
.rrf-language-switcher button {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    padding: 2px 3px;
    cursor: pointer;
    opacity: .64;
}
.rrf-language-switcher button.is-active {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Service recovery - added in 0.4.2 */
.rrf-recovery[hidden] { display: none !important; }
.rrf-recovery {
    margin: 10px 0 18px;
    padding: 16px;
    border: 1px solid rgba(127,127,127,.28);
    border-radius: calc(var(--rrf-radius) * .82);
    background: rgba(127,127,127,.08);
}
.rrf-recovery-title { display: block; font-size: 1.05em; margin-bottom: 6px; }
.rrf-recovery-copy p,
.rrf-recovery-contact-note { margin: 0 0 12px; line-height: 1.5; }
.rrf-recovery-contact-note { font-size: .93em; opacity: .82; }
.rrf-recovery-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
.rrf-recovery-fields input {
    width: 100%;
    box-sizing: border-box;
    font: inherit;
    padding: 11px 12px;
    border-radius: calc(var(--rrf-radius) * .6);
    border: 1px solid rgba(127,127,127,.32);
    background: rgba(255,255,255,.94);
    color: #222;
}
.rrf-btn-recovery {
    width: 100%;
    background: var(--rrf-button);
    color: var(--rrf-button-text);
}
@media (max-width: 520px) {
    .rrf-recovery-fields { grid-template-columns: 1fr; }
}

/* Anti-bot honeypot: visually hidden and removed from normal keyboard navigation. */
.rrf-honeypot { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
