/* Portal de pago: information cards, credit simulator and request form. Uses the theme variables. */
.portal-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.75rem; }
/* the icon font arrives late: its box is kept so the tabs don't change width and move the page (CLS) */
.portal-tabs .bi { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; }
/* phones: an even 2 x 2 grid instead of rows of 2, 1 and 1; an odd last tab takes the whole row */
@media (max-width: 575.98px) {
    .portal-tabs { display: grid; grid-template-columns: 1fr 1fr; }
    .portal-tabs .pill { display: flex; align-items: center; justify-content: center; gap: 0.4rem; text-align: center; line-height: 1.2; min-height: 2.75rem; margin: 0; }
    .portal-tabs .pill:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

.portal-alert {
    display: flex; gap: 0.9rem; align-items: flex-start;
    background: #fff8e1; border: 1px solid #f0c75e; border-left: 6px solid #b7791f;
    border-radius: var(--fet-radius); padding: 1rem 1.25rem; margin-bottom: 1.75rem; color: #3d2c00;
}
.portal-alert > .bi { font-size: 1.6rem; color: #8a5a00; line-height: 1; }
.portal-alert-title { font-weight: 800; margin: 0 0 0.25rem; }

.portal-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.portal-card {
    background: var(--fet-bg); border: 1px solid var(--fet-border); border-radius: var(--fet-radius);
    padding: 1.25rem 1.35rem; display: flex; flex-direction: column;
}
.portal-card > :last-child { margin-bottom: 0; }
.portal-card-featured { border-top: 5px solid var(--fet-accent); }
.portal-card-tag {
    align-self: flex-start; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--fet-primary-dark); background: var(--fet-surface); border-radius: 999px; padding: 0.2rem 0.65rem; margin-bottom: 0.6rem;
}
.portal-card h2 { margin-bottom: 0.5rem; }
.portal-card h3 { margin: 0.75rem 0 0.25rem; }
.portal-link { font-weight: 700; color: var(--fet-primary-dark); }

/* info cards: icon + big title, a short summary and the buttons at the bottom */
.portal-card-head { display: flex; gap: 0.85rem; align-items: flex-start; margin-bottom: 0.75rem; }
.portal-card-head .portal-card-tag { display: inline-block; margin-bottom: 0.35rem; }
.portal-card-icon {
    flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 0.75rem;
    background: var(--fet-primary-dark); color: #fff; font-size: 1.35rem;
}
.portal-card-title { font-size: 1.3rem; font-weight: 800; line-height: 1.2; color: var(--fet-primary-dark); margin: 0; }
.portal-card-summary { margin-bottom: 0.75rem; }
.portal-card-fact { font-size: 0.95rem; margin-bottom: 0.75rem; }
.portal-card-facts { font-size: 0.95rem; padding-left: 1.1rem; margin-bottom: 0.75rem; }
.portal-card-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: auto; padding-top: 0.5rem; }
.portal-card-actions + .portal-card-actions { margin-top: 0; }
.portal-card-actions .btn-pending { display: inline-block; text-align: left; }
.portal-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.05em; }

.portal-docs { list-style: none; padding: 0; display: grid; gap: 0.5rem; }
.portal-docs a { font-weight: 600; }
.portal-contact { margin-top: 2rem; padding: 1.25rem; background: var(--fet-surface); border-radius: var(--fet-radius); }

/* simulator */
.portal-sim-form legend { font-weight: 500; }
.portal-results-wrap:focus { outline: none; }
.portal-empty {
    border: 2px dashed var(--fet-border); border-radius: var(--fet-radius); padding: 2.5rem 1.5rem;
    text-align: center; color: var(--fet-muted);
}
.portal-empty .bi { font-size: 2.5rem; display: block; margin-bottom: 0.75rem; color: var(--fet-primary); }
.portal-highlight {
    display: flex; flex-direction: column; gap: 0.15rem; background: var(--fet-primary-dark); color: #fff;
    border-bottom: 5px solid var(--fet-accent); border-radius: var(--fet-radius); padding: 1.1rem 1.35rem; margin-bottom: 1.25rem;
}
.portal-highlight-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.9; }
.portal-highlight-value { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem); font-weight: 800; }
.portal-highlight-note { font-size: 0.9rem; opacity: 0.9; }
.portal-table th { font-size: 0.85rem; color: var(--fet-muted); font-weight: 700; }
.portal-table td.text-end, .portal-table th.text-end { white-space: nowrap; }
.portal-extra td { background: #fff8e1; }
.portal-total td { font-weight: 800; border-top: 2px solid var(--fet-primary); }
.portal-badge { background: #8a5a00; color: #fff; font-weight: 600; margin-left: 0.35rem; }
.portal-note { display: flex; gap: 0.5rem; font-size: 0.9rem; color: var(--fet-text); background: var(--fet-surface); border-radius: var(--fet-radius); padding: 0.75rem 1rem; }
.portal-actions { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.portal-action-card { border: 1px solid var(--fet-border); border-radius: var(--fet-radius); padding: 1.25rem; background: var(--fet-bg); }
.portal-action-card h3 .bi { color: var(--fet-primary); }

/* conditions */
.portal-terms { margin-top: 0.5rem; }
.portal-terms-text {
    max-height: 16rem; overflow-y: auto; border: 1px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 0.6);
    padding: 0.9rem 1rem; background: var(--fet-surface); font-size: 0.875rem;
}
.portal-terms-text h4 { font-size: 0.9rem; font-weight: 800; margin: 0.6rem 0 0.25rem; }
.portal-terms-text h4:first-child { margin-top: 0; }
.portal-terms-text ul { padding-left: 1.1rem; margin-bottom: 0.4rem; }

/* request form */
.portal-summary { position: sticky; top: 6rem; background: var(--fet-surface); border-radius: var(--fet-radius); padding: 1.25rem; }
.portal-summary dt { font-size: 0.78rem; font-weight: 700; color: var(--fet-muted); margin-top: 0.5rem; }
.portal-summary dd { margin: 0; }
.portal-fieldset { border-top: 1px solid var(--fet-border); padding-top: 1.25rem; margin-top: 1.5rem; }
.portal-fieldset legend { font-size: 1.15rem; font-weight: 800; color: var(--fet-primary-dark); }
.portal-money-label { min-width: 11rem; font-size: 0.8rem; white-space: normal; text-align: left; }
.portal-required-docs { margin: 1.75rem 0 1.25rem; padding: 1rem 1.25rem; border-left: 4px solid var(--fet-primary); background: var(--fet-surface); border-radius: var(--fet-radius); }

.portal-received { text-align: center; padding: 2rem 1rem; border: 1px solid var(--fet-border); border-top: 5px solid var(--fet-accent); border-radius: var(--fet-radius); }
.portal-received > .bi { font-size: 3rem; color: var(--fet-primary); }

@media (max-width: 991.98px) {
    .portal-summary { position: static; }
}
@media (max-width: 575.98px) {
    .portal-money-label { min-width: 8.5rem; }
}

/* steps of the process and status lookup */
.portal-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; padding: 0; margin: 0 0 1.75rem; counter-reset: none; }
.portal-step { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; position: relative; font-size: 0.85rem; color: var(--fet-muted); }
.portal-step:not(:last-child)::after { content: ""; position: absolute; top: 1rem; left: calc(50% + 1.2rem); right: calc(-50% + 1.2rem); height: 3px; border-radius: 3px; background: var(--fet-border); }
.portal-step.is-done:not(:last-child)::after { background: var(--fet-primary); }
.portal-step-dot { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 800; border: 2px solid var(--fet-border); background: var(--fet-bg); color: var(--fet-muted); }
.portal-step.is-done .portal-step-dot { background: var(--fet-primary); border-color: var(--fet-primary); color: var(--fet-on-primary); }
.portal-step.is-current .portal-step-dot { border-color: var(--fet-primary); color: var(--fet-primary-dark); box-shadow: 0 0 0 4px rgba(var(--fet-primary-rgb), 0.15); }
.portal-step.is-current { color: var(--fet-text); font-weight: 700; }
.portal-status { border-radius: var(--fet-radius); padding: 1.25rem 1.4rem; margin-bottom: 1.5rem; border: 1px solid var(--fet-border); border-left-width: 6px; background: var(--fet-bg); }
.portal-status-info { border-left-color: var(--fet-primary); }
.portal-status-success { border-left-color: #1f7a3a; background: #f1f8f3; }
.portal-status-warning { border-left-color: #b7791f; background: #fff8e1; }
.portal-status-muted { border-left-color: var(--fet-border); }
.portal-status-ref { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--fet-muted); margin-bottom: 0.35rem; }
@media (max-width: 575.98px) {
    .portal-step { font-size: 0.72rem; }
    .portal-step:not(:last-child)::after { left: calc(50% + 1rem); right: calc(-50% + 1rem); }
}

/* simulator chooser and per-student simulators */
.portal-choice { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.portal-choice-card {
    display: flex; flex-direction: column; gap: 0.6rem; padding: 1.75rem; border-radius: calc(var(--fet-radius) * 1.5);
    background: var(--fet-bg); border: 2px solid var(--fet-border); color: var(--fet-text); text-decoration: none;
    transition: border-color 0.2s, transform 0.2s var(--fet-ease), box-shadow 0.2s;
}
.portal-choice-card:hover, .portal-choice-card:focus-visible { border-color: var(--fet-primary); transform: translateY(-2px); box-shadow: var(--fet-shadow); color: var(--fet-text); }
.portal-choice-card.is-accent { background: var(--fet-primary-dark); border-color: var(--fet-primary-dark); color: #fff; }
.portal-choice-card.is-accent:hover, .portal-choice-card.is-accent:focus-visible { color: #fff; }
.portal-choice-icon { width: 3.25rem; height: 3.25rem; border-radius: 1rem; display: grid; place-items: center; font-size: 1.6rem; background: var(--fet-surface); color: var(--fet-primary-dark); }
.portal-choice-card.is-accent .portal-choice-icon { background: var(--fet-accent); color: #1c1a17; }
.portal-choice-title { font-size: 1.4rem; font-weight: 800; }
.portal-choice-text { opacity: 0.9; }
.portal-choice-facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.25rem; }
.portal-choice-facts span { font-size: 0.85rem; font-weight: 700; padding: 0.3rem 0.75rem; border-radius: 999px; background: var(--fet-surface); color: var(--fet-primary-dark); }
.portal-choice-card.is-accent .portal-choice-facts span { background: rgba(255, 255, 255, 0.14); color: #fff; }
.portal-choice-go { margin-top: auto; padding-top: 0.5rem; font-weight: 800; }
.portal-sim-head { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; justify-content: space-between; margin-bottom: 1.5rem; }
.portal-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.portal-pills [aria-pressed="true"] { background: var(--fet-primary); border-color: var(--fet-primary); color: var(--fet-on-primary); }
.portal-pills button:disabled { opacity: 0.45; }
.portal-percent { max-width: 11rem; }
.portal-choice-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.portal-role-chip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; background: var(--fet-surface); border-radius: 999px; padding: 0.45rem 1rem; font-weight: 600; font-size: 0.92rem; }
.portal-role-chip a { font-weight: 700; }

/* the floating social bar would cover the forms here */
.social-float { display: none !important; }
@media (max-width: 575.98px) {
    .portal-request .input-group { flex-wrap: wrap; }
    .portal-request .portal-money-label { width: 100%; min-width: 0; border-radius: calc(var(--fet-radius) * 0.6) calc(var(--fet-radius) * 0.6) 0 0 !important; }
    .portal-request .portal-money-label + .form-control { border-radius: 0 0 calc(var(--fet-radius) * 0.6) calc(var(--fet-radius) * 0.6) !important; margin-left: 0 !important; }
}
@media print {
    .site-header, .site-footer, .portal-tabs, .portal-steps, .page-heading, .portal-grid, header, footer { display: none !important; }
}

/* the cookie notice only informs (technical cookies): on these forms it waits at the end of the page instead of covering fields */
.cookie-notice { position: static; margin: 1rem auto; animation: none; }
.portal-summary-mini { background: var(--fet-surface); border-radius: 0.75rem; padding: 0.6rem 0.9rem; font-size: 0.9rem; }

/* «¿Necesitas asistencia personalizada?» */
.portal-assist { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem 1.25rem; align-items: center; margin-top: 2.5rem; padding: 1.25rem 1.5rem; border-radius: var(--fet-radius); background: var(--fet-surface); border: 1px solid var(--fet-border); }
.portal-assist-icon { width: 3rem; height: 3rem; border-radius: 50%; display: grid; place-items: center; font-size: 1.4rem; background: var(--fet-primary); color: var(--fet-on-primary); }
@media (max-width: 767.98px) {
    .portal-assist { grid-template-columns: auto minmax(0, 1fr); }
    .portal-assist .btn { grid-column: 1 / -1; }
}
.portal-hours { list-style: none; padding: 0; margin: 0.5rem 0 0.75rem; }
.portal-hours li { margin-bottom: 0.25rem; }

/* ---------- simulator: steps on the left, a sticky receipt on the right ---------- */
.portal-sim-intro { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.875rem; color: var(--fet-muted); margin-bottom: 1rem; }
.portal-sim-intro .bi { color: var(--fet-primary); }
.portal-step-card {
    background: var(--fet-bg); border: 1px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 1.2);
    padding: 1.1rem 1.25rem 1.2rem; margin-bottom: 1rem; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.portal-step-title { display: flex; align-items: center; gap: 0.6rem; font-size: 1.05rem; font-weight: 800; margin: 0 0 0.85rem; color: var(--fet-text); }
.portal-step-title > span {
    flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center;
    background: var(--fet-primary); color: var(--fet-on-primary); font-size: 0.9rem;
}
.portal-options { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
.portal-option label {
    display: flex; flex-direction: column; gap: 0.15rem; height: 100%; cursor: pointer;
    border: 2px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 0.8); padding: 0.65rem 0.8rem; background: var(--fet-bg);
    transition: border-color 0.15s, background 0.15s;
}
.portal-option label strong { font-size: 0.95rem; }
.portal-option label span { font-size: 0.8rem; color: var(--fet-muted); }
.portal-option label:hover { border-color: var(--fet-primary); }
.portal-option .btn-check:checked + label { border-color: var(--fet-primary); background: rgba(var(--fet-primary-rgb), 0.07); box-shadow: inset 0 0 0 1px var(--fet-primary); }
.portal-option .btn-check:focus-visible + label { outline: 3px solid rgba(var(--fet-primary-rgb), 0.45); outline-offset: 2px; }

/* «¿Qué significa?» */
.portal-term { margin-top: 0.4rem; font-size: 0.8rem; }
.portal-term summary { display: inline-flex; gap: 0.3rem; align-items: center; cursor: pointer; color: var(--fet-primary-dark); font-weight: 600; list-style: none; }
.portal-term summary::-webkit-details-marker { display: none; }
.portal-term summary::before { content: "?"; display: inline-grid; place-items: center; width: 1.05rem; height: 1.05rem; border-radius: 50%; border: 1.5px solid currentColor; font-size: 0.7rem; font-weight: 800; }
.portal-term p { margin: 0.35rem 0 0; padding: 0.5rem 0.7rem; border-radius: 0.5rem; background: var(--fet-surface); color: var(--fet-text); line-height: 1.45; }
.portal-terms-row { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; margin-top: 1rem; }
.portal-terms-row .portal-term { flex: 1 1 100%; }
@media (min-width: 576px) { .portal-terms-row .portal-term { flex: 0 1 auto; } .portal-terms-row .portal-term[open] { flex-basis: 100%; } }

/* results */
.portal-results { background: var(--fet-bg); border: 1px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 1.2); padding: 1.35rem 1.4rem; box-shadow: 0 8px 28px -18px rgba(15, 23, 42, 0.35); }
.portal-kpis { display: grid; gap: 0.6rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.25rem; }
.portal-kpi { display: flex; flex-direction: column; gap: 0.1rem; padding: 0.7rem 0.8rem; border-radius: calc(var(--fet-radius) * 0.8); background: var(--fet-surface); }
.portal-kpi-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--fet-muted); }
.portal-kpi-value { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.portal-kpi-note { font-size: 0.75rem; color: var(--fet-muted); }
@media (max-width: 575.98px) { .portal-kpis { grid-template-columns: 1fr; } }
.portal-results-subtitle { font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--fet-muted); margin: 1.25rem 0 0.5rem; }
.portal-receipt { margin: 0; }
.portal-receipt > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px dashed var(--fet-border); }
.portal-receipt dt { font-weight: 600; }
.portal-receipt dt span { display: block; font-size: 0.8rem; font-weight: 400; color: var(--fet-muted); }
.portal-receipt dd { margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.portal-receipt .is-subtotal { border-bottom-style: solid; }
.portal-receipt .is-extra { background: #fff8e1; margin: 0 -0.6rem; padding-left: 0.6rem; padding-right: 0.6rem; border-radius: 0.4rem; }
.portal-receipt .is-total { border-bottom: none; border-top: 2px solid var(--fet-primary); margin-top: 0.25rem; }
.portal-receipt .is-total dt, .portal-receipt .is-total dd { font-weight: 800; }
.portal-schedule { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.35rem; }
.portal-schedule li { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: 0.75rem; padding: 0.45rem 0.6rem; border-radius: 0.5rem; background: var(--fet-surface); }
.portal-schedule-n { width: 1.6rem; height: 1.6rem; border-radius: 50%; display: grid; place-items: center; font-size: 0.8rem; font-weight: 800; background: var(--fet-bg); color: var(--fet-primary-dark); border: 1px solid var(--fet-border); }
.portal-schedule-amount { font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- request form: numbered sections, each one says who the person is ---------- */
.portal-request { display: grid; gap: 1.25rem; }
.portal-form-section { background: var(--fet-bg); border: 1px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 1.2); padding: 1.25rem 1.35rem 1.4rem; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); }
.portal-form-section[hidden] { display: none; }
/* hidden sections (second co-debtor) dont count */
.portal-request { counter-reset: portal-section; }
.portal-form-section { counter-increment: portal-section; }
.portal-form-n::before { content: counter(portal-section); }
.portal-form-head { display: flex; gap: 0.85rem; align-items: flex-start; padding-bottom: 0.9rem; margin-bottom: 1rem; border-bottom: 1px solid var(--fet-border); }
.portal-form-n { flex: none; width: 2.1rem; height: 2.1rem; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: var(--fet-primary); color: var(--fet-on-primary); }
.portal-form-block { font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--fet-primary-dark); margin: 1.4rem 0 0.75rem; }
.portal-form-block:first-of-type { margin-top: 0.25rem; }
.portal-form-block span { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--fet-muted); }
.portal-cosigners-off { display: flex; gap: .6rem; align-items: flex-start; padding: .9rem 1.1rem; border-radius: calc(var(--fet-radius) * 1.2); background: rgba(25, 135, 84, .08); border: 1px solid rgba(25, 135, 84, .35); margin: 0 0 1.5rem; }
.portal-cosigners-off[hidden] { display: none; }
.portal-cosigners-off .bi { color: #198754; font-size: 1.15rem; line-height: 1.3; }
.portal-optional-party { padding: 1rem 1.25rem; border: 2px dashed var(--fet-border); border-radius: calc(var(--fet-radius) * 1.2); }
.portal-money-box { height: 100%; padding: 0.9rem 1rem; border-radius: calc(var(--fet-radius) * 0.8); background: var(--fet-surface); }
.portal-money-title { font-weight: 800; margin-bottom: 0.5rem; }
.portal-money-row { display: grid; grid-template-columns: minmax(0, 1fr) 9.5rem; gap: 0.5rem; align-items: center; margin-bottom: 0.4rem; }
.portal-money-row label { font-size: 0.85rem; }
.portal-money-total { margin: 0.6rem 0 0; padding-top: 0.5rem; border-top: 1px solid var(--fet-border); font-size: 0.9rem; text-align: right; }
@media (max-width: 575.98px) { .portal-money-row { grid-template-columns: 1fr; gap: 0.2rem; } }
.portal-upload-grid { display: grid; gap: 0.9rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.portal-upload { padding: 0.9rem 1rem; border: 1px solid var(--fet-border); border-radius: calc(var(--fet-radius) * 0.8); background: var(--fet-bg); }
.portal-upload[hidden] { display: none; }
.portal-upload .form-label .bi { color: var(--fet-primary); }
.portal-upload.is-income { margin-top: 1.1rem; border-color: #f0c75e; border-left: 5px solid #b7791f; background: #fffaf0; }
.portal-form-index { margin-top: 1rem; padding: 1rem 1.25rem; border: 1px solid var(--fet-border); border-radius: var(--fet-radius); }
.portal-form-index ol { margin: 0; padding-left: 1.2rem; font-size: 0.9rem; }
.portal-form-index li { margin-bottom: 0.3rem; }
@media (min-width: 992px) { #resumen-simulacion { position: sticky; top: 6rem; align-self: flex-start; } #resumen-simulacion .portal-summary { position: static; } }

/* «Condiciones especiales del crédito directo FET y su legalización» */
.portal-conditions { margin: 0 0 1.5rem; border: 1px solid #f0c75e; border-left: 6px solid #b7791f; border-radius: var(--fet-radius); background: #fffaf0; color: #3d2c00; }
.portal-conditions summary { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.9rem 1.15rem; cursor: pointer; list-style: none; }
.portal-conditions summary::-webkit-details-marker { display: none; }
.portal-conditions summary > .bi { font-size: 1.5rem; color: #8a5a00; line-height: 1; }
.portal-conditions summary small { display: block; margin-top: 0.15rem; color: #6b4e00; }
.portal-conditions[open] summary { border-bottom: 1px solid #f0c75e; }
.portal-conditions ol { margin: 0; padding: 0.9rem 1.15rem 0.5rem 2.6rem; font-size: 0.92rem; line-height: 1.5; }
.portal-conditions li { margin-bottom: 0.45rem; }
.portal-conditions > p { padding: 0 1.15rem 0.9rem; }

/* renewal with the same debtors: their sections and files are not asked */
.is-same-debtors [data-copied-section] { display: none !important; }
.portal-same-debtors-options { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.portal-choice { display: flex; gap: .6rem; align-items: flex-start; padding: .8rem 1rem; border: 1px solid var(--fet-border); border-radius: var(--fet-radius); background: #fff; cursor: pointer; }
.portal-choice:has(input:checked) { border-color: var(--fet-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--fet-primary) 25%, transparent); }
.portal-choice input { margin-top: .3rem; accent-color: var(--fet-primary); }
.portal-choice span { display: flex; flex-direction: column; }
.portal-choice small { color: var(--fet-muted); }
.portal-same-address { margin: .25rem 0 .75rem; }
