/* ==========================================================================
   ACP-SG
   LEGISLAÇÃO - PÁGINA INDIVIDUAL
   ========================================================================== */


/* ==========================================================================
   VARIÁVEIS LOCAIS
   ========================================================================== */

.legislacao-lei-page {

    --leg-ink: #183b38;
    --leg-ink-soft: #49625f;

    --leg-green: var(--cor-primaria);
    --leg-green-dark: var(--cor-agua-escura);

    --leg-water: var(--cor-agua);

    --leg-bg: var(--cor-fundo);
    --leg-bg-soft: var(--cor-fundo-claro);
    --leg-bg-warm: var(--cor-fundo-bege);

    --leg-border: rgba(24, 59, 56, .11);

    --leg-shadow:
        0 18px 45px rgba(20, 55, 51, .08);

    --leg-shadow-hover:
        0 24px 55px rgba(20, 55, 51, .13);

    color: var(--leg-ink);
}


/* ==========================================================================
   HERO
   ========================================================================== */

.legislacao-lei-hero {

    position: relative;

    padding:
        clamp(52px, 7vw, 92px)
        0
        clamp(58px, 7vw, 96px);

    background:
        linear-gradient(
            135deg,
            var(--leg-bg-warm) 0%,
            var(--leg-bg-soft) 52%,
            rgba(255,255,255,.96) 100%
        );

    overflow: hidden;
}


/* detalhe orgânico */

.legislacao-lei-hero::before {

    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    right: -170px;
    top: -180px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(54, 181, 171, .13) 0%,
            rgba(54, 181, 171, 0) 70%
        );

    pointer-events: none;
}


.legislacao-lei-hero::after {

    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    left: -150px;
    bottom: -160px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(24, 59, 56, .07) 0%,
            rgba(24, 59, 56, 0) 70%
        );

    pointer-events: none;
}


.legislacao-lei-hero .container {

    position: relative;
    z-index: 2;
}


/* ==========================================================================
   VOLTAR
   ========================================================================== */

.legislacao-lei-back {

    display: inline-flex;

    align-items: center;
    gap: 9px;

    margin-bottom: 34px;

    color: var(--leg-ink-soft);

    font-size: .86rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        color .25s ease,
        transform .25s ease;
}


.legislacao-lei-back i {

    font-size: .76rem;

    transition:
        transform .25s ease;
}


.legislacao-lei-back:hover {

    color: var(--leg-green);

    transform: translateX(-2px);
}


.legislacao-lei-back:hover i {

    transform: translateX(-4px);
}


/* ==========================================================================
   LABEL
   ========================================================================== */

.legislacao-lei-hero .section-label {

    display: inline-flex;

    align-items: center;

    margin-bottom: 17px;

    color: var(--leg-green-dark);

    font-size: .74rem;
    font-weight: 800;

    letter-spacing: .15em;
    text-transform: uppercase;
}


/* ==========================================================================
   TÍTULO
   ========================================================================== */

.legislacao-lei-hero h1 {

    max-width: 850px;

    margin: 0;

    color: var(--leg-ink);

    font-size:
        clamp(
            2.15rem,
            4.6vw,
            4.15rem
        );

    line-height: .98;

    letter-spacing: -.045em;

    font-weight: 800;
}


/* ==========================================================================
   NOME DA LEGISLAÇÃO
   ========================================================================== */

.legislacao-lei-hero__name {

    max-width: 760px;

    margin:
        20px 0
        0;

    color: var(--leg-green-dark);

    font-size:
        clamp(
            1.12rem,
            2vw,
            1.48rem
        );

    line-height: 1.35;

    font-weight: 700;
}


/* ==========================================================================
   RESUMO
   ========================================================================== */

.legislacao-lei-hero__summary {

    max-width: 790px;

    margin:
        17px 0
        0;

    color: var(--leg-ink-soft);

    font-size:
        clamp(
            .98rem,
            1.5vw,
            1.08rem
        );

    line-height: 1.75;
}


/* ==========================================================================
   CONTEÚDO PRINCIPAL
   ========================================================================== */

.legislacao-lei-content {

    padding:
        clamp(58px, 7vw, 92px)
        0
        clamp(72px, 8vw, 110px);

    background: var(--leg-bg);
}


.legislacao-lei-layout {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        clamp(285px, 27vw, 350px);

    gap:
        clamp(42px, 6vw, 82px);

    align-items: start;
}


/* ==========================================================================
   ARTIGO
   ========================================================================== */

.legislacao-lei-article {

    min-width: 0;
}


/* ==========================================================================
   SEÇÕES DO TEXTO
   ========================================================================== */

.legislacao-lei-section {

    display: grid;

    grid-template-columns: 58px minmax(0, 1fr);

    gap: 24px;

    padding:
        0
        0
        54px;

    margin:
        0
        0
        54px;

    border-bottom:
        1px solid var(--leg-border);
}


.legislacao-lei-section:last-of-type {

    margin-bottom: 0;

    border-bottom: 0;
}


/* ==========================================================================
   NUMERAÇÃO
   ========================================================================== */

.legislacao-lei-section__number {

    display: flex;

    align-items: flex-start;
    justify-content: center;

    padding-top: 5px;

    color: var(--leg-green);

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: .12em;
}


.legislacao-lei-section__number::after {

    content: "";

    display: block;

    width: 1px;
    height: 32px;

    margin:
        14px
        auto
        0;

    background:
        linear-gradient(
            to bottom,
            rgba(54,181,171,.45),
            rgba(54,181,171,0)
        );
}


/* ==========================================================================
   TÍTULOS DAS SEÇÕES
   ========================================================================== */

.legislacao-lei-section h2 {

    margin:
        0
        0
        18px;

    color: var(--leg-ink);

    font-size:
        clamp(
            1.45rem,
            2.4vw,
            2rem
        );

    line-height: 1.15;

    letter-spacing: -.025em;

    font-weight: 800;
}


/* ==========================================================================
   PARÁGRAFOS
   ========================================================================== */

.legislacao-lei-section p {

    max-width: 760px;

    margin:
        0
        0
        17px;

    color: var(--leg-ink-soft);

    font-size:
        clamp(
            .97rem,
            1.25vw,
            1.05rem
        );

    line-height: 1.86;
}


.legislacao-lei-section p:last-child {

    margin-bottom: 0;
}


/* ==========================================================================
   LISTA
   ========================================================================== */

.legislacao-lei-list {

    display: flex;

    flex-direction: column;

    gap: 13px;

    margin: 24px 0 0;

    padding: 0;

    list-style: none;
}


.legislacao-lei-list li {

    display: grid;

    grid-template-columns: 30px minmax(0, 1fr);

    align-items: start;

    gap: 12px;

    padding: 14px 16px;

    border:
        1px solid
        rgba(24,59,56,.08);

    border-radius:
        var(--raio-pequeno);

    background:
        rgba(255,255,255,.72);

    color: var(--leg-ink-soft);

    font-size: .96rem;

    line-height: 1.6;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.legislacao-lei-list li:hover {

    transform: translateX(4px);

    border-color:
        rgba(54,181,171,.25);

    box-shadow:
        0 10px 28px rgba(20,55,51,.06);
}


.legislacao-lei-list li i {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background:
        rgba(54,181,171,.12);

    color: var(--leg-green);

    font-size: .75rem;
}


/* ==========================================================================
   FONTE OFICIAL
   ========================================================================== */

.legislacao-lei-source {

    display: grid;

    grid-template-columns: 58px minmax(0, 1fr);

    gap: 24px;

    margin-top: 12px;

    padding: 30px;

    border:
        1px solid
        rgba(54,181,171,.20);

    border-radius:
        var(--raio-medio);

    background:
        linear-gradient(
            135deg,
            rgba(54,181,171,.08),
            rgba(255,255,255,.90)
        );

    box-shadow:
        0 14px 40px rgba(20,55,51,.05);
}


.legislacao-lei-source__icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 15px;

    background:
        var(--leg-green);

    color: white;

    font-size: 1.15rem;

    box-shadow:
        0 10px 22px rgba(54,181,171,.20);
}


.legislacao-lei-source span {

    display: block;

    margin-bottom: 7px;

    color: var(--leg-green-dark);

    font-size: .68rem;

    font-weight: 900;

    letter-spacing: .14em;
}


.legislacao-lei-source h2 {

    margin:
        0
        0
        8px;

    color: var(--leg-ink);

    font-size: 1.15rem;

    line-height: 1.3;
}


.legislacao-lei-source p {

    margin:
        0
        0
        17px;

    color: var(--leg-ink-soft);

    font-size: .9rem;

    line-height: 1.65;
}


.legislacao-lei-source a {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: var(--leg-green-dark);

    font-size: .88rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        color .25s ease,
        gap .25s ease;
}


.legislacao-lei-source a:hover {

    color: var(--leg-green);

    gap: 13px;
}


.legislacao-lei-source a i {

    font-size: .72rem;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.legislacao-lei-sidebar {

    min-width: 0;

    align-self: start;

    position: sticky;

    top: 105px;
}


/* ==========================================================================
   CAIXAS DO SIDEBAR
   ========================================================================== */

.legislacao-lei-sidebar__box {

    padding: 27px;

    border:
        1px solid
        rgba(24,59,56,.09);

    border-radius:
        var(--raio-medio);

    background:
        rgba(255,255,255,.86);

    box-shadow:
        var(--leg-shadow);

    backdrop-filter: blur(8px);
}


.legislacao-lei-sidebar__box + .legislacao-lei-sidebar__box {

    margin-top: 22px;
}


/* ==========================================================================
   LABEL SIDEBAR
   ========================================================================== */

.legislacao-lei-sidebar__label {

    display: block;

    margin-bottom: 8px;

    color: var(--leg-green-dark);

    font-size: .67rem;

    font-weight: 900;

    letter-spacing: .15em;
}


/* ==========================================================================
   TÍTULO SIDEBAR
   ========================================================================== */

.legislacao-lei-sidebar__box h2 {

    margin:
        0
        0
        20px;

    color: var(--leg-ink);

    font-size: 1.35rem;

    line-height: 1.2;

    letter-spacing: -.025em;
}


/* ==========================================================================
   NAVEGAÇÃO DAS LEGISLAÇÕES
   ========================================================================== */

.legislacao-lei-sidebar__nav {

    display: flex;

    flex-direction: column;

    gap: 6px;
}


.legislacao-lei-sidebar__nav > a {

    display: grid;

    grid-template-columns: 34px minmax(0, 1fr) 15px;

    align-items: center;

    gap: 11px;

    min-width: 0;

    padding: 11px 10px;

    border-radius:
        var(--raio-pequeno);

    color: var(--leg-ink-soft);

    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.legislacao-lei-sidebar__nav > a:hover {

    background:
        rgba(54,181,171,.08);

    color: var(--leg-ink);

    transform: translateX(3px);
}


/* ==========================================================================
   ÍCONE LEGISLAÇÃO
   ========================================================================== */

.legislacao-lei-sidebar__icon {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 10px;

    background:
        rgba(24,59,56,.06);

    color: var(--leg-green-dark);

    font-size: .78rem;

    transition:
        background .25s ease,
        color .25s ease;
}


.legislacao-lei-sidebar__nav > a:hover
.legislacao-lei-sidebar__icon {

    background:
        rgba(54,181,171,.15);

    color: var(--leg-green);
}


/* ==========================================================================
   TEXTO DO ITEM
   ========================================================================== */

.legislacao-lei-sidebar__text {

    display: flex;

    flex-direction: column;

    min-width: 0;

    gap: 3px;
}


.legislacao-lei-sidebar__text strong {

    overflow: hidden;

    color: var(--leg-ink);

    font-size: .82rem;

    line-height: 1.25;

    font-weight: 800;

    text-overflow: ellipsis;
}


.legislacao-lei-sidebar__text small {

    overflow: hidden;

    color: rgba(73,98,95,.78);

    font-size: .71rem;

    line-height: 1.3;

    text-overflow: ellipsis;
}


/* ==========================================================================
   SETA
   ========================================================================== */

.legislacao-lei-sidebar__arrow {

    color: rgba(24,59,56,.30);

    font-size: .62rem;

    transition:
        color .25s ease,
        transform .25s ease;
}


.legislacao-lei-sidebar__nav > a:hover
.legislacao-lei-sidebar__arrow {

    color: var(--leg-green);

    transform: translateX(3px);
}


/* ==========================================================================
   ITEM ATIVO
   ========================================================================== */

.legislacao-lei-sidebar__nav > a.is-active {

    background:
        linear-gradient(
            135deg,
            rgba(54,181,171,.15),
            rgba(54,181,171,.06)
        );

    box-shadow:
        inset 3px 0 0 var(--leg-green);

    color: var(--leg-ink);
}


.legislacao-lei-sidebar__nav > a.is-active
.legislacao-lei-sidebar__icon {

    background:
        var(--leg-green);

    color: white;
}


.legislacao-lei-sidebar__nav > a.is-active
.legislacao-lei-sidebar__arrow {

    color: var(--leg-green);
}


/* ==========================================================================
   BOTÃO "VER TODAS"
   ========================================================================== */

.legislacao-lei-sidebar__all {

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-top: 20px;

    padding-top: 18px;

    border-top:
        1px solid
        var(--leg-border);

    color: var(--leg-green-dark);

    font-size: .82rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        color .25s ease,
        gap .25s ease;
}


.legislacao-lei-sidebar__all:hover {

    color: var(--leg-green);
}


.legislacao-lei-sidebar__all i {

    font-size: .7rem;

    transition:
        transform .25s ease;
}


.legislacao-lei-sidebar__all:hover i {

    transform: translateX(4px);
}


/* ==========================================================================
   ÍNDICE DA PÁGINA
   ========================================================================== */

.legislacao-lei-sidebar__box--index {

    background:
        linear-gradient(
            145deg,
            var(--leg-ink),
            #24504b
        );

    border: 0;

    box-shadow:
        0 18px 45px rgba(24,59,56,.16);
}


.legislacao-lei-sidebar__box--index
.legislacao-lei-sidebar__label {

    color:
        rgba(255,255,255,.62);
}


.legislacao-lei-sidebar__box--index nav {

    display: flex;

    flex-direction: column;

    gap: 2px;
}


.legislacao-lei-sidebar__box--index nav a {

    display: flex;

    align-items: center;

    min-height: 37px;

    padding: 7px 10px;

    border-radius: 8px;

    color:
        rgba(255,255,255,.78);

    font-size: .79rem;

    line-height: 1.35;

    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease,
        padding .25s ease;
}


.legislacao-lei-sidebar__box--index nav a::before {

    content: "";

    width: 5px;
    height: 5px;

    flex: 0 0 5px;

    margin-right: 10px;

    border-radius: 50%;

    background:
        rgba(255,255,255,.38);

    transition:
        background .25s ease,
        transform .25s ease;
}


.legislacao-lei-sidebar__box--index nav a:hover {

    padding-left: 13px;

    background:
        rgba(255,255,255,.08);

    color: white;
}


.legislacao-lei-sidebar__box--index nav a:hover::before {

    background:
        var(--leg-water);

    transform: scale(1.3);
}


/* ==========================================================================
   PÁGINA NÃO ENCONTRADA
   ========================================================================== */

.legislacao-lei-not-found {

    display: flex;

    align-items: center;

    min-height: 60vh;

    padding:
        80px
        0;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            var(--leg-bg-warm),
            var(--leg-bg-soft)
        );
}


.legislacao-lei-not-found .container {

    display: flex;

    flex-direction: column;

    align-items: center;
}


.legislacao-lei-not-found .section-label {

    margin-bottom: 15px;
}


.legislacao-lei-not-found h1 {

    margin:
        0
        0
        14px;

    color: var(--leg-ink);

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    letter-spacing: -.035em;
}


.legislacao-lei-not-found p {

    max-width: 520px;

    margin:
        0
        0
        30px;

    color: var(--leg-ink-soft);

    line-height: 1.7;
}


/* ==========================================================================
   ACESSIBILIDADE
   ========================================================================== */

.legislacao-lei-page
a:focus-visible {

    outline:
        3px solid
        rgba(54,181,171,.35);

    outline-offset: 4px;

    border-radius: 5px;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1050px) {

    .legislacao-lei-layout {

        grid-template-columns:
            minmax(0, 1fr)
            285px;

        gap: 38px;
    }


    .legislacao-lei-sidebar__box {

        padding: 22px;
    }


    .legislacao-lei-sidebar__text small {

        display: none;
    }

}


/* ==========================================================================
   TABLET / MOBILE
   ========================================================================== */

@media (max-width: 820px) {

    .legislacao-lei-layout {

        grid-template-columns: 1fr;

        gap: 48px;
    }


    .legislacao-lei-sidebar {

        position: static;

        order: -1;
    }


    .legislacao-lei-sidebar__box {

        padding: 24px;
    }


    .legislacao-lei-sidebar__nav {

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 6px;
    }


    .legislacao-lei-sidebar__nav > a {

        min-width: 0;
    }


    .legislacao-lei-sidebar__text small {

        display: block;
    }


    .legislacao-lei-sidebar__box--index {

        display: none;
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 600px) {

    .legislacao-lei-hero {

        padding:
            42px
            0
            54px;
    }


    .legislacao-lei-back {

        margin-bottom: 27px;
    }


    .legislacao-lei-hero h1 {

        font-size:
            clamp(
                2rem,
                10vw,
                2.8rem
            );

        line-height: 1.02;
    }


    .legislacao-lei-hero__name {

        font-size: 1.05rem;

        margin-top: 16px;
    }


    .legislacao-lei-hero__summary {

        font-size: .94rem;

        line-height: 1.7;
    }


    .legislacao-lei-content {

        padding:
            48px
            0
            68px;
    }


    .legislacao-lei-sidebar__nav {

        grid-template-columns: 1fr;
    }


    .legislacao-lei-sidebar__text small {

        display: block;
    }


    .legislacao-lei-section {

        grid-template-columns: 38px minmax(0, 1fr);

        gap: 15px;

        padding-bottom: 40px;

        margin-bottom: 40px;
    }


    .legislacao-lei-section h2 {

        font-size: 1.42rem;
    }


    .legislacao-lei-section p {

        font-size: .94rem;

        line-height: 1.78;
    }


    .legislacao-lei-list li {

        padding: 12px;

        font-size: .9rem;
    }


    .legislacao-lei-source {

        grid-template-columns: 1fr;

        gap: 18px;

        padding: 23px;
    }


    .legislacao-lei-source__icon {

        width: 46px;
        height: 46px;
    }

}


/* ==========================================================================
   MOBILE PEQUENO
   ========================================================================== */

@media (max-width: 420px) {

    .legislacao-lei-hero {

        padding-top: 36px;
    }


    .legislacao-lei-hero h1 {

        font-size: 1.9rem;
    }


    .legislacao-lei-sidebar__box {

        padding: 20px;
    }


    .legislacao-lei-sidebar__nav > a {

        grid-template-columns:
            32px minmax(0, 1fr) 12px;

        gap: 9px;

        padding: 9px 7px;
    }


    .legislacao-lei-sidebar__icon {

        width: 32px;
        height: 32px;
    }


    .legislacao-lei-sidebar__text strong {

        font-size: .78rem;
    }


    .legislacao-lei-sidebar__text small {

        font-size: .67rem;
    }


    .legislacao-lei-section {

        grid-template-columns: 1fr;

        gap: 8px;
    }


    .legislacao-lei-section__number {

        justify-content: flex-start;

        padding: 0;
    }


    .legislacao-lei-section__number::after {

        display: none;
    }

}