/* UniCorretor — apresentação das páginas jurídicas (/terms e /privacy).
   Apenas apresentação: o texto vem do PageBuilder (front_pages 23 e 11) sem alteração.
   Tudo escopado em .uc-legal / html.uc-legal-page para não afetar outras páginas. */

html.uc-legal-page { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html.uc-legal-page { scroll-behavior: auto; } }

.uc-legal {
    --uc-header-h: 90px;
    --uc-navy: #001A2D;
    --uc-navy-2: #0D2537;
    --uc-orange: #DD521F;
    --uc-orange-2: #c44619;
    --uc-gray: #E5E7E9;
    --uc-charcoal: #1B1F26;
    font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', sans-serif;
    color: var(--uc-charcoal);
    background: #f6f7f8;
}

/* HERO */
.uc-legal__hero {
    background: linear-gradient(135deg, var(--uc-navy) 0%, var(--uc-navy-2) 100%);
    color: #fff;
    padding: 56px 20px 48px;
    border-bottom: 4px solid var(--uc-orange);
}
.uc-legal__hero-inner { max-width: 1280px; margin: 0 auto; }
.uc-legal__title {
    margin: 0;
    font-size: clamp(30px, 4.5vw, 46px);
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.01em;
}

/* LAYOUT */
.uc-legal__wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 32px 20px 72px;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}
.uc-legal__wrap.is-single { grid-template-columns: minmax(0, 1fr); }

/* SIDEBAR */
.uc-legal__nav {
    position: sticky;
    top: calc(var(--uc-header-h) + 16px);
    max-height: calc(100vh - var(--uc-header-h) - 32px);
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--uc-gray);
    border-radius: 12px;
    padding: 18px 12px 14px;
}
.uc-legal__nav-title {
    margin: 0 8px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #5b6470;
}
.uc-legal__list, .uc-legal__list ul { list-style: none; margin: 0; padding: 0; }
.uc-legal__list a {
    display: block;
    padding: 7px 10px;
    border-left: 3px solid transparent;
    border-radius: 0 6px 6px 0;
    font-size: 14px;
    line-height: 1.35;
    color: #3b434e;
    text-decoration: none;
}
.uc-legal__list a.is-sub { padding-left: 24px; font-size: 13px; }
.uc-legal__list a:hover { background: #f1f3f5; color: var(--uc-navy); }
.uc-legal__list a:focus-visible { outline: 2px solid var(--uc-orange); outline-offset: 1px; }
.uc-legal__list a.is-active {
    border-left-color: var(--uc-orange);
    background: #fdf1ec;
    color: var(--uc-orange-2);
    font-weight: 600;
}

/* ÍNDICE MOBILE */
.uc-legal__toc {
    display: none;
    background: #fff;
    border: 1px solid var(--uc-gray);
    border-radius: 12px;
    margin-bottom: 20px;
}
.uc-legal__toc > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
    font-weight: 600;
    color: var(--uc-navy);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.uc-legal__toc > summary::-webkit-details-marker { display: none; }
.uc-legal__toc > summary::after {
    content: "";
    width: 8px; height: 8px;
    border-right: 2px solid var(--uc-orange);
    border-bottom: 2px solid var(--uc-orange);
    transform: rotate(45deg);
    transition: transform .2s;
}
.uc-legal__toc[open] > summary::after { transform: rotate(-135deg); }
.uc-legal__toc .uc-legal__list { padding: 0 8px 12px; max-height: 50vh; overflow-y: auto; }

/* CONTEÚDO */
.uc-legal__content {
    min-width: 0;
    background: #fff;
    border: 1px solid var(--uc-gray);
    border-radius: 12px;
    padding: 40px 48px;
    font-size: 17px;
    line-height: 1.75;
    color: #2a3039;
}
/* neutraliza o banner/breadcrumb duplicado do HTML do banco (o texto continua no DOM) */
.uc-legal__content .breadcrumb_area { display: none !important; }
/* H1 duplicado do HTML do banco (o hero ja e o H1 da pagina; o texto continua no DOM) */
.uc-legal__content .page-header h1 { display: none !important; }
/* título interno duplicado das páginas jurídicas (marcado via JS; sem JS, esconde o título gigante do PageBuilder) */
.uc-legal__content .uc-legal__dup,
.uc-legal__content h3[style*="font-size:48px"] { display: none !important; }
/* remove contêineres/cartões aninhados do HTML legado */
.uc-legal__content .container,
.uc-legal__content .container-fluid { max-width: none; width: auto; padding-left: 0; padding-right: 0; }
.uc-legal__content .row { margin-left: 0; margin-right: 0; }
.uc-legal__content [class*="col-"] { padding-left: 0; padding-right: 0; }
.uc-legal__content .courses_area { padding: 0; margin: 0; background: none; }
.uc-legal__content .bg-white { background: transparent !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }

.uc-legal__content p,
.uc-legal__content ul,
.uc-legal__content ol { max-width: 78ch; margin: 0 0 1.1em; }
.uc-legal__content .bg-white > br, .uc-legal__content > br { display: none; }
.uc-legal__content h2,
.uc-legal__content h3,
.uc-legal__content h4 {
    color: var(--uc-navy);
    font-weight: 700;
    line-height: 1.3;
    margin: 2.2em 0 .6em;
    padding-top: .2em;
    scroll-margin-top: calc(var(--uc-header-h) + 20px);
}
.uc-legal__content h2 { font-size: 28px; }
.uc-legal__content h3 { font-size: 23px; }
.uc-legal__content h4 { font-size: 21px; }
.uc-legal__content h4.mt-3 { font-size: 18px; margin-top: 1.6em; }
.uc-legal__content ul { padding-left: 1.3em; list-style: disc; }
.uc-legal__content ul.list-group { list-style: none; padding-left: 0; }
.uc-legal__content .list-group-item {
    border: 0; border-left: 3px solid var(--uc-orange);
    background: #f6f7f8; margin-bottom: 8px; padding: 12px 16px; border-radius: 0 8px 8px 0;
}
.uc-legal__content li { margin-bottom: .4em; }
.uc-legal__content a { color: var(--uc-orange-2); text-decoration: underline; text-underline-offset: 2px; }
.uc-legal__content a:hover { color: var(--uc-navy); }
.uc-legal__content b, .uc-legal__content strong { color: var(--uc-charcoal); }

/* MOBILE / TABLET */
@media (max-width: 991.98px) {
    .uc-legal__wrap { grid-template-columns: minmax(0, 1fr); padding: 20px 16px 56px; gap: 0; }
    .uc-legal__nav { display: none; }
    .uc-legal__toc { display: block; }
    .uc-legal__wrap.is-single .uc-legal__toc { display: none; }
    .uc-legal__hero { padding: 36px 16px 30px; }
    .uc-legal__content { padding: 24px 20px; font-size: 16px; }
    .uc-legal__content h2 { font-size: 24px; }
    .uc-legal__content h3 { font-size: 21px; }
    .uc-legal__content h4 { font-size: 19px; }
}

/* parágrafos usados como âncora do índice (detectados em runtime) */
.uc-legal__content [data-uc-section] { scroll-margin-top: calc(var(--uc-header-h) + 20px); }

/* /terms: título de cláusula principal (nível 1) marcado em runtime */
.uc-legal__content .uc-legal__clause {
    display: block;
    margin: 1.8em 0 .5em;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--uc-navy);
    scroll-margin-top: calc(var(--uc-header-h) + 20px);
}
@media (max-width: 991.98px) { .uc-legal__content .uc-legal__clause { font-size: 19px; } }
