.service-page {
    --service-red: #eb1c24;
    --service-ink: #17191c;
    --service-muted: #6b7280;
    min-height: 60vh;
    background: radial-gradient(circle at 50% 0, rgba(235, 28, 36, .08), transparent 32rem), #f5f6f8 !important;
}

.service-page > .bg-light { background: transparent !important; }
.service-hero { max-width: 720px; }
.service-kicker {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    color: var(--service-red);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-card {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(23, 25, 28, .09);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(23, 25, 28, .07);
}

.service-form-card { max-width: 100%; }
.service-form-heading { margin-bottom: 1rem; text-align: left; }
.service-form-card .form-control,
.service-form-card .form-select,
.service-faq-card .form-control { min-height: 3.25rem; border-color: #dde0e4; }
.service-form-card textarea.form-control { min-height: 8rem; }
.service-form-card .form-control:focus,
.service-form-card .form-select:focus,
.service-faq-card .form-control:focus { border-color: var(--service-red); box-shadow: 0 0 0 .2rem rgba(235, 28, 36, .12); }
.service-form-card .form-control:disabled,
.service-form-card .form-select:disabled { color: #858b94; background-color: #f1f2f4; }
.service-form-card .btn-enviar,
.service-faq-card .btn-avrs {
    color: #fff;
    border-color: var(--service-red);
    background: var(--service-red);
    font-weight: 700;
}
.service-form-card .btn-enviar:hover,
.service-faq-card .btn-avrs:hover { color: #fff; border-color: #c91018; background: #c91018; }

.service-upload { text-align: left; }
.service-upload-label {
    position: relative;
    display: flex;
    gap: 1rem;
    align-items: center;
    min-height: 6.5rem;
    padding: 1.1rem 1.25rem;
    overflow: hidden;
    border: 2px dashed #cfd3d8;
    border-radius: .8rem;
    background: #fafafa;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.service-upload-label:hover { border-color: var(--service-red); background: rgba(235, 28, 36, .025); }
.service-upload-label:has(.service-upload-input:focus-visible) { border-color: var(--service-red); box-shadow: 0 0 0 .2rem rgba(235, 28, 36, .12); }
.service-upload-label:has(.service-upload-input:disabled) { color: #858b94; border-color: #d9dce0; background: #f1f2f4; cursor: not-allowed; }
.service-upload-input { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.service-upload-input:disabled { cursor: not-allowed; }
.service-upload-icon {
    display: grid;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: .7rem;
    color: var(--service-red);
    background: rgba(235, 28, 36, .09);
    font-size: 1.25rem;
}
.service-upload-copy { min-width: 0; }
.service-upload-copy strong,
.service-upload-copy small { display: block; }
.service-upload-copy strong { color: var(--service-ink); }
.service-upload-copy small { overflow: hidden; color: var(--service-muted); text-overflow: ellipsis; white-space: nowrap; }
.service-upload-label:has(.service-upload-input:disabled) .service-upload-copy strong { color: #858b94; }
.service-upload-type { margin-left: auto; padding: .3rem .55rem; border-radius: .35rem; color: var(--service-red); background: rgba(235, 28, 36, .08); font-size: .72rem; font-weight: 800; }
.service-upload .form-text { margin-top: .55rem; }

.service-document { max-width: 960px; margin-inline: auto; color: #4e545c; line-height: 1.75; }
.service-document h2,
.service-document .h5 { color: var(--service-ink); }
.service-document section { padding-bottom: 1rem; border-bottom: 1px solid #e5e7ea; }
.service-document section:last-child { padding-bottom: 0; border-bottom: 0; }
.service-document li { margin-bottom: .35rem; }
.service-document .alert-warning { border: 0; border-left: .3rem solid #ffc107; background: #fff6d8; }

.service-data-card { padding-top: 1rem; }
.service-data-card .nav-tabs { gap: .4rem; border-bottom-color: #e0e2e5; }
.service-data-card .nav-tabs .nav-link { color: var(--service-muted); border: 0; border-bottom: 3px solid transparent; font-weight: 700; }
.service-data-card .nav-tabs .nav-link.active { color: var(--service-ink); border-bottom-color: var(--service-red); background: transparent; }
.service-data-card .table-responsive { border: 1px solid #e3e5e8; border-radius: .75rem; }
.service-data-card .table { margin-bottom: 0; }
.service-data-card .table thead th { padding-block: .85rem; border: 0; background: #202226 !important; }
.service-data-card .table tbody td { padding-block: .7rem; }

.service-faq-card { max-width: 100%; }
.service-faq-card .input-group { box-shadow: 0 .5rem 1.5rem rgba(23, 25, 28, .06); }
.service-faq-card .accordion-item { margin-bottom: .65rem; overflow: hidden; border: 1px solid #e1e3e6; border-radius: .7rem; }
.service-faq-card .accordion-button { color: var(--service-ink); background: #fff; font-weight: 700; box-shadow: none; }
.service-faq-card .accordion-button:not(.collapsed) { color: var(--service-red); background: rgba(235, 28, 36, .04); }
.service-faq-card .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(235, 28, 36, .12); }
.service-faq-card .accordion-body { color: #555b64; line-height: 1.65; background: #fafafa; }
.service-empty { padding: 2.5rem 1rem; color: var(--service-muted); }
.service-empty i { display: block; margin-bottom: .75rem; font-size: 2rem; }

@media (max-width: 767.98px) {
    .service-page .container-md { padding-left: .75rem !important; padding-right: .75rem !important; }
    .service-card { border-radius: .8rem; }
    .service-data-card { padding-inline: .75rem; }
    .service-document { line-height: 1.65; }
    .service-upload-label { gap: .75rem; padding-inline: 1rem; }
    .service-upload-type { display: none; }
}
