.rcc-public-flow {
    min-height: 100vh;
    padding: 24px;
    background:
        radial-gradient(
            circle at 8% 8%,
            rgba(213, 169, 77, 0.15),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 90%,
            rgba(232, 75, 119, 0.10),
            transparent 30%
        ),
        var(--rcc-bg);
}

.rcc-flow-shell {
    width: min(920px, 100%);
    margin: 0 auto;
}

.rcc-flow-shell-narrow {
    width: min(720px, 100%);
}

.rcc-flow-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.rcc-flow-brand > span:last-child {
    display: grid;
}

.rcc-flow-brand small {
    color: var(--rcc-text-muted);
    font-size: 0.76rem;
}

.rcc-flow-card {
    padding: clamp(26px, 5vw, 48px);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-xl);
    box-shadow: var(--rcc-shadow-md);
}

.rcc-flow-card h1 {
    margin: 10px 0 16px;
    font-size: clamp(2rem, 6vw, 3.55rem);
    line-height: 1.05;
}

.rcc-flow-card-center {
    text-align: center;
}

.rcc-flow-card-center p {
    max-width: 560px;
    margin-inline: auto;
}

.rcc-invite-note {
    display: grid;
    gap: 5px;
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(107, 63, 145, 0.2);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-primary-soft);
}

.rcc-invite-note span {
    color: var(--rcc-primary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rcc-lgpd-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 28px 0;
}

.rcc-lgpd-points > div {
    padding: 18px;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-bg);
}

.rcc-lgpd-points p {
    margin: 6px 0 0;
    font-size: 0.9rem;
}

.rcc-consent-form {
    display: grid;
    gap: 16px;
}

.rcc-choice-fieldset {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

.rcc-choice-fieldset legend {
    margin-bottom: 10px;
    font-weight: 800;
}

.rcc-choice-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    cursor: pointer;
    transition:
        border var(--rcc-transition),
        background var(--rcc-transition);
}

.rcc-choice-card:hover {
    border-color: var(--rcc-primary);
}

.rcc-choice-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.rcc-choice-indicator {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    border: 2px solid var(--rcc-border);
    border-radius: 50%;
}

.rcc-choice-card:has(input:checked) {
    border-color: var(--rcc-primary);
    background: var(--rcc-primary-soft);
}

.rcc-choice-card input:checked + .rcc-choice-indicator {
    border: 6px solid var(--rcc-primary);
}

.rcc-flow-footnote {
    margin: 18px 0 0;
    font-size: 0.78rem;
    text-align: center;
}

.rcc-result-icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    margin: 0 auto 24px;
    border-radius: 50%;
    background: #e7f5ec;
    color: var(--rcc-success);
    font-size: 2rem;
    font-weight: 900;
}

.rcc-registration-code {
    display: grid;
    gap: 6px;
    margin: 28px 0;
    padding: 20px;
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-primary-soft);
}

.rcc-registration-code span {
    color: var(--rcc-text-muted);
    font-size: 0.82rem;
}

.rcc-registration-code strong {
    color: var(--rcc-primary-dark);
    font-size: 1.35rem;
    letter-spacing: 0.08em;
}

.rcc-required-flow-note {
    margin: 16px 0 0;
    color: var(--rcc-text-muted);
    font-size: 0.82rem;
}

@media (max-width: 640px) {
    .rcc-public-flow {
        padding: 16px;
    }

    .rcc-lgpd-points {
        grid-template-columns: 1fr;
    }

    .rcc-flow-card {
        border-radius: var(--rcc-radius-lg);
    }
}

/* Cuidado Plural 4.1 — identidade pública */
.rcc-public-flow { --rcc-primary:#b72f59; --rcc-primary-dark:#173f31; --rcc-primary-soft:#f9e8ed; --rcc-bg:#fbf8f1; --rcc-text:#173f31; --rcc-text-muted:#65736d; }
.rcc-flow-logo { width: 74px; height: 56px; object-fit: contain; object-position: left center; }
.rcc-wizard-progress .rcc-progress-track span { background: linear-gradient(90deg,#173f31,#b72f59,#e7b949); }
.rcc-wizard-card { border-color: rgba(23,63,49,.14); }
.rcc-field-help[data-cep-status] { color:#47675b; }
@media (max-width:640px){ .rcc-flow-logo{width:62px;height:48px;} }

/* Consolidação 4.10-R2 — assinatura RCC sem bloco/duplicação */
.rcc-flow-brand { min-height: 58px; }
.rcc-flow-logo { width: 138px !important; height: 58px !important; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
@media (max-width:640px){ .rcc-flow-logo{width:118px !important;height:52px !important;} }


/* 4.13 — complemento contextual para alternativas Outro/Outra */
.rcc-other-field { margin-top: 12px; padding: 14px; border: 1px solid var(--rcc-border); border-radius: 14px; background: var(--rcc-surface, #fff); }
.rcc-other-field[hidden] { display: none; }
.rcc-other-field label { display: block; margin-bottom: 7px; font-weight: 700; }

/* 4.14 — consentimento de contato e localização mínima */
.rcc-radio-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
.rcc-radio-row label { display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--rcc-border); border-radius:12px; background:var(--rcc-surface); cursor:pointer; }
.rcc-required-note { display:inline-block; margin-left:6px; font-size:.72rem; color:var(--rcc-pink-700); }

/* 4.14-R1 — fluxo progressivo de consentimento de contato */
[data-contact-options][hidden],
[data-contact-whatsapp][hidden],
[data-contact-email][hidden] {
    display: none !important;
}



/* 4.15-R2.3 — marca RCC legível em LGPD e cadastro */
.rcc-flow-brand { min-height: 94px; display: inline-flex; align-items: center; }
.rcc-flow-logo { width: 230px !important; height: 92px !important; object-fit: contain; object-position: left center; mix-blend-mode: normal; filter: none; }
@media (max-width:640px){
  .rcc-flow-brand { min-height: 80px; }
  .rcc-flow-logo { width: 190px !important; height: 76px !important; }
}
