/* Formulario postulación — wizard compacto */

.socios-postular-page .soc-post-layout {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: 1.1rem;
    align-items: start;
}

.soc-post-sidebar { position: sticky; top: 5.5rem; display: grid; gap: 0.75rem; }
.soc-post-guide {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1rem 1rem 1.05rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}
.soc-post-guide__kicker {
    margin: 0 0 0.2rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0047AB;
}
.soc-post-guide h3 {
    margin: 0 0 0.85rem;
    font-size: 0.98rem;
    color: #0f172a;
}
.soc-post-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}
.soc-post-timeline li {
    display: grid;
    grid-template-columns: 1.7rem 1fr;
    gap: 0.65rem;
    align-items: start;
    position: relative;
}
.soc-post-timeline li:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 0.8rem;
    top: 1.75rem;
    bottom: -0.7rem;
    width: 2px;
    background: #dbeafe;
}
.soc-post-timeline span {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: #0047AB;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.soc-post-timeline strong {
    display: block;
    font-size: 0.82rem;
    color: #0f172a;
    line-height: 1.25;
}
.soc-post-timeline em {
    display: block;
    margin-top: 0.12rem;
    font-style: normal;
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.35;
}
.soc-post-guide--req {
    background: linear-gradient(180deg, #f8fafc, #fff);
}
.soc-post-chips {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}
.soc-post-chips li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #166534;
    border-radius: 999px;
    padding: 0.38rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 700;
}
.soc-post-chips i { font-size: 0.68rem; color: #16a34a; }
.soc-post-sidebar__link { display: block; font-weight: 700; color: #0047AB; margin-bottom: 0.55rem; font-size: 0.8rem; }
.soc-post-sidebar__wa {
    display: flex; align-items: center; justify-content: center; gap: 0.4rem;
    background: #25D366; color: #fff; border-radius: 12px; padding: 0.58rem;
    text-decoration: none; font-weight: 800; font-size: 0.82rem;
}

.soc-post-main {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.15rem 1.25rem 1.3rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.soc-post-welcome {
    display: flex; gap: 0.75rem; align-items: flex-start;
    background: linear-gradient(135deg, #eff6ff, #f8fafc);
    border: 1px solid #bfdbfe; border-radius: 12px;
    padding: 0.85rem 1rem; margin-bottom: 0.65rem;
    font-size: 0.86rem; color: #1e3a8a;
}
.soc-post-welcome__icon {
    width: 2.25rem; height: 2.25rem; border-radius: 10px;
    background: #0047AB; color: #fff;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.soc-post-welcome strong { display: block; margin-bottom: 0.2rem; }
.soc-post-welcome p { margin: 0; line-height: 1.45; color: #334155; }

.soc-post-promotor-rules {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 0.75rem 0.95rem;
    margin-bottom: 0.85rem;
    font-size: 0.82rem;
    color: #475569;
}
.soc-post-promotor-rules h3 {
    margin: 0 0 0.2rem;
    font-size: 1.05rem;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.soc-post-promotor-rules ul { margin: 0; padding-left: 1.1rem; line-height: 1.5; }
.soc-post-promotor-rules--alert {
    background: #fff7ed;
    border-color: #fdba74;
}
.soc-post-promotor-rules--alert h3 { color: #9a3412; }
.soc-post-promotor-rules--alert li { color: #7c2d12; font-size: 0.88rem; line-height: 1.5; }

.soc-post-promotor-rules--footer {
    margin: 1.25rem 0 0.35rem;
    padding: 1.15rem 1.2rem 1.25rem;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 42%);
    border: 1px solid #fcd34d;
    box-shadow: 0 10px 28px rgba(180, 83, 9, 0.08);
}
.soc-post-promotor-rules--step {
    margin: 0 0 1rem;
    padding: 0.85rem;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 55%);
    border: 1px solid #fcd34d;
    border-radius: 14px;
}
.soc-post-promotor-rules--step .soc-post-promotor-rules__grid {
    grid-template-columns: 1fr;
}
.soc-post-promotor-rules__head {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    margin-bottom: 0.95rem;
}
.soc-post-promotor-rules__badge {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 12px;
    background: #9a3412;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1rem;
}
.soc-post-promotor-rules__head p {
    margin: 0;
    color: #78716c;
    font-size: 0.84rem;
    line-height: 1.4;
}
.soc-post-promotor-rules__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.65rem;
}
.soc-post-promotor-rules__grid li {
    background: #fff;
    border: 1px solid #fde68a;
    border-radius: 12px;
    padding: 0.75rem 0.8rem;
    display: grid;
    gap: 0.35rem;
}
.soc-post-promotor-rules__grid span {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #b45309;
}
.soc-post-promotor-rules__grid p {
    margin: 0;
    color: #44403c;
    font-size: 0.78rem;
    line-height: 1.45;
}
.soc-post-promotor-rules__grid code {
    font-size: 0.72rem;
    background: #fff7ed;
    padding: 0.05rem 0.25rem;
    border-radius: 4px;
}

.soc-form-verify {
    min-width: 220px;
    padding: 0.75rem 1.25rem !important;
    font-size: 0.95rem !important;
    font-weight: 700;
    border-radius: 10px;
    gap: 0.5rem;
}
.soc-form-verify[disabled] { opacity: 0.7; cursor: wait; }

.soc-dni-status {
    margin: 0.75rem 0;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.45;
}

.soc-post-notice {
    display: flex; gap: 0.55rem; align-items: flex-start;
    background: #fff7ed; border: 1px solid #fdba74; border-radius: 10px;
    padding: 0.65rem 0.8rem; font-size: 0.82rem; color: #9a3412; margin-bottom: 0.85rem;
}
.soc-post-notice i { margin-top: 0.1rem; }
.soc-post-notice a { color: #c2410c; font-weight: 700; }

.soc-post-success .socios-alert { display: flex; gap: 0.65rem; align-items: flex-start; }
.soc-post-success .socios-alert p { margin: 0.25rem 0 0; font-size: 0.88rem; }
.soc-err-links { margin: 0.45rem 0 0; font-size: 0.82rem; font-weight: 600; }
.soc-err-links a { color: #0047AB; text-decoration: underline; }

/* Wizard */
.soc-form-v2 {
    --soc-nav-h: 4.25rem;
    padding-bottom: calc(var(--soc-nav-h) + 1rem);
}

.soc-form-progress {
    height: 4px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 0.65rem;
}
.soc-form-progress__fill {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #0047AB, #2563eb);
    border-radius: inherit;
    transition: width 0.35s ease;
}

.soc-form-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e2e8f0;
}
.soc-form-steps__item {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    border-radius: 999px;
    padding: 0.35rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.soc-form-steps__item.is-done {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}
.soc-form-steps__item.is-active,
.soc-form-steps__item:hover {
    background: #0047AB;
    border-color: #0047AB;
    color: #fff;
}

.soc-form-feedback {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}
.soc-form-feedback[hidden],
.soc-dni-status[hidden] {
    display: none !important;
}
.soc-form-feedback::before {
    content: '⚠';
    font-size: 0.95rem;
}

.soc-form-panel__title {
    margin: 0 0 0.65rem;
    font-size: 0.98rem;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.soc-form-panel__title i { color: #0047AB; }
.soc-form-panel__hint { margin: -0.35rem 0 0.75rem; font-size: 0.8rem; color: #64748b; }

.soc-form-grid { display: grid; gap: 0.55rem 0.65rem; }
.soc-form-grid--2 { grid-template-columns: 1fr 1fr; }
.soc-form-grid--3 { grid-template-columns: repeat(3, 1fr); }
.soc-field--full { grid-column: 1 / -1; }

.soc-field label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 0.2rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.soc-field input,
.soc-field select,
.soc-field textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.52rem 0.65rem;
    font-size: 0.88rem;
    font-family: inherit;
    background: #fff;
}
.soc-field input:focus,
.soc-field select:focus,
.soc-field textarea:focus {
    outline: none;
    border-color: #0047AB;
    box-shadow: 0 0 0 2px rgba(0, 71, 171, 0.12);
}
.soc-field.is-filled input,
.soc-field.is-filled select,
.soc-field.is-filled textarea {
    border-color: #86efac;
    background: #f0fdf4;
    box-shadow: 0 0 0 1px rgba(134, 239, 172, 0.35);
}
.soc-field:has(#soc-dni).is-filled:not(.is-verified):not(.is-error) input {
    border-color: #93c5fd;
    background: #fff;
    box-shadow: none;
}
.soc-field.is-verified input {
    border-color: #22c55e;
    background: #ecfdf5;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.soc-field.is-error input,
.soc-field.is-error select,
.soc-field.is-error textarea {
    border-color: #ef4444;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.12);
}
.soc-field.is-error.is-filled input,
.soc-field.is-error.is-filled select,
.soc-field.is-error.is-filled textarea {
    background: #fef2f2;
}
.soc-field textarea { min-height: 72px; resize: vertical; }

.soc-form-v2.is-locked .soc-form-steps__item:not(.is-active) {
    opacity: 0.45;
    cursor: not-allowed;
}

.soc-dni-status {
    margin: 0.65rem 0 0;
    padding: 0.65rem 0.8rem;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 600;
}
.soc-dni-status--loading { background: #eff6ff; border: 1px solid #93c5fd; color: #1d4ed8; }
.soc-dni-status--ok { background: #ecfdf5; border: 1px solid #86efac; color: #166534; }
.soc-dni-status--err { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.soc-dni-status--exist-ok,
.soc-dni-status--exist-warn,
.soc-dni-status--exist-err {
    padding: 0;
    background: transparent;
    border: 0;
    font-weight: 500;
}
.soc-dni-exist {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    text-align: left;
}
.soc-dni-status--exist-ok .soc-dni-exist {
    background: linear-gradient(180deg, #ecfdf5 0%, #fff 55%);
    border: 1px solid #86efac;
}
.soc-dni-status--exist-warn .soc-dni-exist {
    background: linear-gradient(180deg, #fffbeb 0%, #fff 55%);
    border: 1px solid #fcd34d;
}
.soc-dni-status--exist-err .soc-dni-exist {
    background: linear-gradient(180deg, #fef2f2 0%, #fff 55%);
    border: 1px solid #fecaca;
}
.soc-dni-exist__icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.1rem;
}
.soc-dni-status--exist-ok .soc-dni-exist__icon { background: #166534; color: #fff; }
.soc-dni-status--exist-warn .soc-dni-exist__icon { background: #b45309; color: #fff; }
.soc-dni-status--exist-err .soc-dni-exist__icon { background: #b91c1c; color: #fff; }
.soc-dni-exist__body { min-width: 0; flex: 1; }
.soc-dni-exist__title {
    margin: 0 0 0.35rem;
    font-size: 0.98rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
}
.soc-dni-exist__badge {
    display: inline-block;
    margin-bottom: 0.45rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.soc-dni-status--exist-ok .soc-dni-exist__badge { background: #dcfce7; color: #166534; }
.soc-dni-status--exist-warn .soc-dni-exist__badge { background: #fef3c7; color: #92400e; }
.soc-dni-status--exist-err .soc-dni-exist__badge { background: #fee2e2; color: #991b1b; }
.soc-dni-exist__text {
    margin: 0 0 0.35rem;
    font-size: 0.86rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.45;
}
.soc-dni-exist__note {
    margin: 0 0 0.75rem;
    font-size: 0.78rem;
    color: #64748b;
}
.soc-dni-exist__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}
.soc-dni-exist__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 10px;
    padding: 0.55rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    font-family: inherit;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
}
.soc-dni-exist__btn--primary {
    background: linear-gradient(180deg, #fbbf24, #f59e0b);
    color: #111;
    border-color: #d97706;
}
.soc-dni-exist__btn--ghost {
    background: #fff;
    color: #0047AB;
    border-color: #93c5fd;
}
.soc-dni-exist__btn--link {
    background: none;
    border: 0;
    color: #64748b;
    padding: 0.45rem 0.35rem;
    text-decoration: underline;
}
.soc-field.is-existing input {
    border-color: #22c55e;
    background: #f0fdf4;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.soc-field.is-existing-warn input {
    border-color: #f59e0b;
    background: #fffbeb;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.soc-dni-status--exist-warn + .soc-form-nav .soc-form-verify,
.soc-form-panel:has(.soc-dni-status--exist-ok) .soc-form-verify,
.soc-form-panel:has(.soc-dni-status--exist-warn) .soc-form-verify,
.soc-form-panel:has(.soc-dni-status--exist-err) .soc-form-verify {
    display: none;
}
.soc-dni-status__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.45rem;
}
.soc-dni-status__links a {
    color: #0047AB;
    font-weight: 700;
    text-decoration: underline;
}

.soc-dni-verified {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    background: #ecfdf5;
    border: 1px solid #86efac;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.84rem;
    color: #166534;
}
.soc-dni-verified i { color: #16a34a; }
.soc-dni-change {
    margin-left: auto;
    border: none;
    background: transparent;
    color: #0047AB;
    font-weight: 700;
    font-size: 0.78rem;
    cursor: pointer;
    text-decoration: underline;
    font-family: inherit;
}

.soc-pass-wrap {
    display: flex;
    align-items: stretch;
    gap: 0.35rem;
}
.soc-pass-wrap input { flex: 1; min-width: 0; }
.soc-pass-toggle {
    flex-shrink: 0;
    width: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    cursor: pointer;
}
.soc-pass-toggle:hover { background: #eff6ff; border-color: #93c5fd; color: #0047AB; }
.soc-pass-generate {
    margin-top: 0.35rem;
    border: 1px dashed #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 8px;
    padding: 0.4rem 0.65rem;
    font-size: 0.76rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}
.soc-pass-generate:hover { background: #dbeafe; }
.soc-pass-hint { margin: 0.35rem 0 0; font-size: 0.74rem; color: #64748b; }
.soc-pass-hint.is-ok { color: #15803d; font-weight: 600; }
.soc-pass-hint.is-warn { color: #b45309; font-weight: 600; }

.soc-form-inline-check {
    display: flex; align-items: center; gap: 0.45rem;
    font-size: 0.8rem; color: #475569; margin: 0.35rem 0 0.65rem;
}
.soc-form-inline-check input { width: auto; accent-color: #0047AB; }

/* Barra de acciones fija — evita que dock/chat tapen botones */
.soc-form-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10020;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.1);
    backdrop-filter: blur(8px);
}
.soc-form-nav__hint {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 600;
}
.soc-form-nav__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
.soc-form-next,
.soc-form-prev {
    min-height: 44px;
    min-width: 120px;
    justify-content: center;
    position: relative;
    z-index: 1;
    pointer-events: auto;
}
.soc-form-next {
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.35);
}
.soc-form-nav--submit { flex-wrap: wrap; }
.soc-form-nav--submit .socios-submit {
    flex: 1;
    min-width: 200px;
    margin: 0;
    min-height: 44px;
}

/* Upload cards */
.soc-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.55rem;
}
.soc-upload-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.25rem;
    border: 1.5px dashed #cbd5e1;
    border-radius: 12px;
    padding: 0.75rem 0.5rem;
    cursor: pointer;
    background: #f8fafc;
    transition: border-color 0.2s, background 0.2s;
    min-height: 130px;
}
.soc-upload-card:hover { border-color: #93c5fd; background: #eff6ff; }
.soc-upload-card.has-file { border-color: #86efac; background: #f0fdf4; border-style: solid; }
.soc-upload-card.is-error { border-color: #f87171; background: #fef2f2; }
.soc-upload-card__icon {
    width: 36px; height: 36px; border-radius: 10px;
    background: #dbeafe; color: #0047AB;
    display: flex; align-items: center; justify-content: center;
}
.soc-upload-card__label { font-size: 0.78rem; font-weight: 700; color: #334155; }
.soc-upload-card__file { font-size: 0.68rem; color: #64748b; word-break: break-all; }
.soc-upload-card__preview {
    width: 100%; max-height: 70px; object-fit: cover;
    border-radius: 8px; margin-top: 0.25rem;
}

/* Resumen */
.soc-resumen {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
    margin-bottom: 0.75rem;
    font-size: 0.84rem;
}
.soc-resumen dl { margin: 0; display: grid; gap: 0.45rem; }
.soc-resumen dt { font-size: 0.68rem; text-transform: uppercase; color: #64748b; font-weight: 700; }
.soc-resumen dd { margin: 0.1rem 0 0; color: #0f172a; }

.socios-postular-page .socios-check { margin: 0.35rem 0; font-size: 0.78rem; }
.socios-postular-page .socios-check.is-error {
    color: #b91c1c;
    background: #fef2f2;
    border-radius: 8px;
    padding: 0.35rem 0.45rem;
}

@media (min-width: 901px) {
    .soc-form-nav {
        position: sticky;
        bottom: 0;
        left: auto;
        right: auto;
        margin-top: 0.85rem;
        padding-top: 0.75rem;
        padding-left: 0;
        padding-right: 0;
        border-top: 1px solid #f1f5f9;
        box-shadow: none;
        backdrop-filter: none;
        background: transparent;
        z-index: 2;
    }
}

@media (max-width: 1100px) {
    .soc-post-promotor-rules__grid { grid-template-columns: repeat(2, 1fr); }
    .soc-post-promotor-rules__grid li:last-child { grid-column: 1 / -1; }
    .soc-post-promotor-rules--step .soc-post-promotor-rules__grid { grid-template-columns: 1fr; }
    .soc-post-promotor-rules--step .soc-post-promotor-rules__grid li:last-child { grid-column: auto; }
}

@media (max-width: 900px) {
    .socios-postular-page .soc-post-layout { grid-template-columns: 1fr; }
    .soc-post-sidebar { position: static; grid-template-columns: 1fr 1fr; }
    body:has(.socios-postular-page) {
        padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
    }
}

@media (max-width: 640px) {
    .soc-form-grid--2,
    .soc-form-grid--3,
    .soc-upload-grid { grid-template-columns: 1fr; }
    .soc-post-sidebar { grid-template-columns: 1fr; }
    .soc-form-steps__item { font-size: 0.68rem; padding: 0.3rem 0.5rem; }
    .soc-form-nav__hint { display: none; }
    .soc-form-next,
    .soc-form-prev { min-width: 0; flex: 1; }
    .soc-post-promotor-rules__grid { grid-template-columns: 1fr; }
    .soc-post-promotor-rules__grid li:last-child { grid-column: auto; }
    .socios-subnav__link--cta { max-width: none; }
}
