/* =========================================================
   CONSENTIMENTO DE COOKIES
   PORTAL PÚBLICO SEMED
   LARGURA TOTAL, RESPONSIVO E INSTITUCIONAL
========================================================= */

:root {
    --cookie-navy-1000: #020b18;
    --cookie-navy-950: #04172b;
    --cookie-navy-900: #082d4c;
    --cookie-navy-850: #075064;

    --cookie-blue: #2189ed;
    --cookie-blue-light: #8fd0ff;

    --cookie-teal: #12b6a1;
    --cookie-teal-light: #98f0e2;

    --cookie-violet: #7459d6;
    --cookie-green: #31c987;
    --cookie-red: #df6470;

    --cookie-title: #123654;
    --cookie-text: #506b82;
    --cookie-muted: #71869a;
}


/* =========================================================
   NORMALIZAÇÃO
========================================================= */

#semedCookieConsent,
#semedCookieConsent *,
#semedCookieConsent *::before,
#semedCookieConsent *::after,
#semedCookiePreferences,
#semedCookiePreferences *,
#semedCookiePreferences *::before,
#semedCookiePreferences *::after {
    box-sizing: border-box;
}

#semedCookieConsent button,
#semedCookiePreferences button,
#semedCookieManage {
    font: inherit;
}

#semedCookieConsent button,
#semedCookiePreferences button {
    appearance: none;
    -webkit-appearance: none;
}

#semedCookieConsent[hidden],
#semedCookiePreferences[hidden],
#semedCookieManage[hidden] {
    display: none !important;
}


/* =========================================================
   BANNER PRINCIPAL EM LARGURA TOTAL
========================================================= */

#semedCookieConsent.semed-cookie-consent {
    position: fixed;
    z-index: 1090;

    inset:
        auto
        0
        0
        0;

    display: block;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;

    pointer-events: none;
}


/* =========================================================
   FAIXA PRINCIPAL
========================================================= */

#semedCookieConsent
.semed-cookie-consent-shell {
    position: relative;
    isolation: isolate;

    display: grid;
    grid-template-columns:
        88px
        minmax(0, 1fr)
        minmax(370px, 470px);

    align-items: center;
    gap:
        clamp(1.2rem, 2.6vw, 2.8rem);

    width: 100%;
    max-width: none;
    min-height: 190px;

    margin: 0;

    padding:
        clamp(1.25rem, 2vw, 1.65rem)
        max(
            1.5rem,
            calc((100vw - 1280px) / 2)
        );

    overflow: hidden;

    border-top:
        1px solid rgba(143, 208, 255, 0.3);

    border-right: 0;
    border-bottom: 0;
    border-left: 0;

    border-radius:
        30px
        30px
        0
        0;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 5% -25%,
            rgba(33, 137, 237, 0.48),
            transparent 37%
        ),
        radial-gradient(
            circle at 93% 130%,
            rgba(18, 182, 161, 0.36),
            transparent 40%
        ),
        linear-gradient(
            112deg,
            rgba(2, 11, 24, 0.995) 0%,
            rgba(4, 27, 49, 0.995) 43%,
            rgba(5, 65, 79, 0.995) 100%
        );

    box-shadow:
        0 -30px 90px rgba(0, 8, 22, 0.48),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);

    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);

    pointer-events: auto;

    animation:
        semedCookieEnter
        500ms cubic-bezier(0.2, 0.8, 0.2, 1);
}


/* Linha luminosa superior */
#semedCookieConsent
.semed-cookie-consent-shell::before {
    content: "";

    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    left: 0;

    height: 5px;

    background:
        linear-gradient(
            90deg,
            var(--cookie-blue) 0%,
            var(--cookie-violet) 46%,
            var(--cookie-teal) 100%
        );

    box-shadow:
        0 0 27px rgba(33, 137, 237, 0.58);

    pointer-events: none;
}


/* Brilho inferior */
#semedCookieConsent
.semed-cookie-consent-shell::after {
    content: "";

    position: absolute;
    z-index: -1;
    right: 8%;
    bottom: -190px;

    width: 520px;
    height: 340px;

    border-radius: 50%;

    background:
        rgba(18, 182, 161, 0.16);

    filter: blur(90px);

    pointer-events: none;
}


/* =========================================================
   DECORAÇÕES
========================================================= */

#semedCookieConsent
.semed-cookie-consent-decoration {
    position: absolute;
    z-index: -1;
    inset: 0;

    overflow: hidden;

    pointer-events: none;
}

#semedCookieConsent
.semed-cookie-consent-decoration span {
    position: absolute;

    border:
        1px solid rgba(255, 255, 255, 0.065);

    border-radius: 50%;
}

#semedCookieConsent
.semed-cookie-consent-decoration span:first-child {
    top: -230px;
    left: -130px;

    width: 440px;
    height: 440px;

    box-shadow:
        0 0 0 48px rgba(33, 137, 237, 0.017),
        0 0 0 96px rgba(33, 137, 237, 0.009);
}

#semedCookieConsent
.semed-cookie-consent-decoration span:last-child {
    right: -170px;
    bottom: -330px;

    width: 590px;
    height: 590px;

    border-color:
        rgba(18, 182, 161, 0.08);

    box-shadow:
        0 0 0 58px rgba(18, 182, 161, 0.017),
        0 0 0 116px rgba(18, 182, 161, 0.009);
}


/* =========================================================
   ÍCONE PRINCIPAL
========================================================= */

#semedCookieConsent
.semed-cookie-consent-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 88px;
    min-width: 88px;

    align-self: stretch;
}

#semedCookieConsent
.semed-cookie-consent-icon > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 80px;
    height: 80px;

    margin: 0;
    padding: 0;

    border:
        1px solid rgba(255, 255, 255, 0.2);

    border-radius: 25px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--cookie-blue) 0%,
            var(--cookie-violet) 52%,
            var(--cookie-teal) 100%
        );

    box-shadow:
        0 22px 48px rgba(38, 91, 201, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.19);

    font-size: 1.4rem;
}


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

#semedCookieConsent
.semed-cookie-consent-content {
    min-width: 0;
    max-width: 800px;
}

#semedCookieConsent
.semed-cookie-consent-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.46rem;

    color: var(--cookie-teal-light);

    font-size: 0.48rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

#semedCookieConsent
.semed-cookie-consent-eyebrow i {
    color: var(--cookie-blue-light);
}

#semedCookieConsent
.semed-cookie-consent-content h2 {
    margin:
        0.42rem
        0
        0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(1.85rem, 3vw, 2.8rem);

    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.045em;

    text-wrap: balance;
}

#semedCookieConsent
.semed-cookie-consent-content p {
    max-width: 790px;

    margin:
        0.6rem
        0
        0;

    color:
        rgba(255, 255, 255, 0.7);

    font-size: 0.66rem;
    line-height: 1.72;
}


/* =========================================================
   MARCADORES
========================================================= */

#semedCookieConsent
.semed-cookie-consent-features {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;

    margin-top: 0.82rem;
}

#semedCookieConsent
.semed-cookie-consent-features span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;

    width: auto;
    min-height: 32px;

    margin: 0;
    padding:
        0.36rem
        0.6rem;

    border:
        1px solid rgba(255, 255, 255, 0.12);

    border-radius: 999px;

    color:
        rgba(255, 255, 255, 0.7);

    background:
        rgba(255, 255, 255, 0.06);

    font-size: 0.41rem;
    font-weight: 720;
}

#semedCookieConsent
.semed-cookie-consent-features i {
    color: var(--cookie-teal-light);
}


/* =========================================================
   ÁREA DE DECISÃO
========================================================= */

#semedCookieConsent
.semed-cookie-consent-actions {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    align-content: center;
    gap: 0.72rem;

    min-width: 0;
}


/* =========================================================
   BOTÕES PRINCIPAIS
========================================================= */

#semedCookieConsent
.semed-cookie-button {
    display: grid;
    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: center;
    gap: 0.62rem;

    width: 100%;
    min-width: 0;
    min-height: 69px;

    margin: 0;
    padding: 0.66rem;

    border-radius: 18px;

    cursor: pointer;

    text-align: left;

    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

#semedCookieConsent
.semed-cookie-button > span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    margin: 0;
    padding: 0;

    border:
        1px solid rgba(255, 255, 255, 0.17);

    border-radius: 14px;

    color: #ffffff;

    background:
        rgba(255, 255, 255, 0.13);

    font-size: 0.74rem;
}

#semedCookieConsent
.semed-cookie-button small,
#semedCookieConsent
.semed-cookie-button strong {
    display: block;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    background: transparent;
}

#semedCookieConsent
.semed-cookie-button small {
    color:
        rgba(255, 255, 255, 0.66);

    font-size: 0.34rem;
    font-weight: 820;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

#semedCookieConsent
.semed-cookie-button strong {
    margin-top: 0.1rem;

    color: #ffffff;

    font-size: 0.6rem;
    font-weight: 780;
}


/* Aceitar todos */
#semedCookieConsent
.semed-cookie-button.is-primary {
    border:
        1px solid rgba(143, 208, 255, 0.29);

    color: #ffffff;

    background:
        linear-gradient(
            105deg,
            var(--cookie-blue) 0%,
            var(--cookie-teal) 100%
        );

    box-shadow:
        0 18px 38px rgba(27, 111, 177, 0.34);
}


/* Apenas necessários */
#semedCookieConsent
.semed-cookie-button.is-secondary {
    border:
        1px solid rgba(255, 255, 255, 0.15);

    color: #ffffff;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.12),
            rgba(255, 255, 255, 0.055)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

#semedCookieConsent
.semed-cookie-button:hover {
    border-color:
        rgba(255, 255, 255, 0.28);

    box-shadow:
        0 25px 50px rgba(10, 58, 102, 0.4);

    transform: translateY(-4px);
}


/* =========================================================
   PERSONALIZAR PREFERÊNCIAS
========================================================= */

#semedCookieConsent
.semed-cookie-customize {
    grid-column: 1 / -1;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.46rem;

    width: 100%;
    min-height: 44px;

    margin: 0;
    padding: 0.56rem;

    border:
        1px solid rgba(152, 240, 226, 0.17);

    border-radius: 14px;

    color:
        rgba(255, 255, 255, 0.81);

    background:
        rgba(18, 182, 161, 0.08);

    cursor: pointer;

    font-size: 0.47rem;
    font-weight: 760;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

#semedCookieConsent
.semed-cookie-customize:hover {
    border-color:
        rgba(152, 240, 226, 0.28);

    color: #ffffff;

    background:
        rgba(18, 182, 161, 0.16);

    transform: translateY(-2px);
}


/* =========================================================
   PAINEL DE PREFERÊNCIAS
========================================================= */

#semedCookiePreferences.semed-cookie-preferences {
    position: fixed;
    z-index: 1100;
    inset: 0;

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

    padding: 1rem;
}

#semedCookiePreferences
.semed-cookie-preferences-backdrop {
    position: absolute;
    inset: 0;

    background:
        rgba(1, 9, 20, 0.82);

    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

#semedCookiePreferences
.semed-cookie-preferences-dialog {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    width: min(700px, 100%);
    max-height: calc(100dvh - 2rem);

    overflow: hidden;

    border:
        1px solid rgba(143, 208, 255, 0.24);

    border-radius: 28px;

    color: var(--cookie-title);

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #edf6fc
        );

    box-shadow:
        0 50px 140px rgba(1, 10, 24, 0.6);

    animation:
        semedCookieDialogEnter
        300ms ease;
}

#semedCookiePreferences
.semed-cookie-preferences-dialog::before {
    content: "";

    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    left: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            var(--cookie-blue),
            var(--cookie-violet),
            var(--cookie-teal)
        );
}


/* =========================================================
   CABEÇALHO DAS PREFERÊNCIAS
========================================================= */

#semedCookiePreferences
.semed-cookie-preferences-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    flex: 0 0 auto;

    padding: 1.2rem;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 9% 5%,
            rgba(33, 137, 237, 0.28),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--cookie-navy-1000),
            var(--cookie-navy-900)
        );
}

#semedCookiePreferences
.semed-cookie-preferences-title {
    display: grid;
    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: center;
    gap: 0.75rem;
}

#semedCookiePreferences
.semed-cookie-preferences-title > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 16px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--cookie-blue),
            var(--cookie-violet),
            var(--cookie-teal)
        );

    box-shadow:
        0 14px 28px rgba(37, 105, 205, 0.28);

    font-size: 0.8rem;
}

#semedCookiePreferences
.semed-cookie-preferences-title small {
    display: block;

    color: var(--cookie-teal-light);

    font-size: 0.38rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#semedCookiePreferences
.semed-cookie-preferences-title h2 {
    margin:
        0.16rem
        0
        0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.6rem;
    font-weight: 600;
}

#semedCookiePreferences
.semed-cookie-preferences-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 41px;
    height: 41px;

    border:
        1px solid rgba(255, 255, 255, 0.13);

    border-radius: 13px;

    color: #ffffff;

    background:
        rgba(255, 255, 255, 0.07);

    cursor: pointer;

    transition:
        background-color 220ms ease,
        transform 220ms ease;
}

#semedCookiePreferences
.semed-cookie-preferences-close:hover {
    background:
        rgba(223, 100, 112, 0.18);

    transform: rotate(5deg);
}


/* =========================================================
   CORPO DAS PREFERÊNCIAS
========================================================= */

#semedCookiePreferences
.semed-cookie-preferences-body {
    flex: 1 1 auto;

    min-height: 0;

    padding: 1.2rem;

    overflow-y: auto;

    scrollbar-width: thin;
    scrollbar-color:
        rgba(33, 137, 237, 0.55)
        rgba(18, 59, 92, 0.08);
}

#semedCookiePreferences
.semed-cookie-preferences-body::-webkit-scrollbar {
    width: 8px;
}

#semedCookiePreferences
.semed-cookie-preferences-body::-webkit-scrollbar-track {
    background:
        rgba(18, 59, 92, 0.06);
}

#semedCookiePreferences
.semed-cookie-preferences-body::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;

    background:
        linear-gradient(
            var(--cookie-blue),
            var(--cookie-teal)
        );

    background-clip: padding-box;
}

#semedCookiePreferences
.semed-cookie-preferences-intro {
    margin:
        0
        0
        1rem;

    color: var(--cookie-text);

    font-size: 0.6rem;
    line-height: 1.7;
}


/* =========================================================
   CATEGORIAS
========================================================= */

#semedCookiePreferences
.semed-cookie-category {
    display: grid;
    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: start;
    gap: 0.78rem;

    padding: 0.92rem;

    border:
        1px solid rgba(20, 74, 120, 0.1);

    border-radius: 17px;

    background:
        rgba(255, 255, 255, 0.78);

    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms ease;
}

#semedCookiePreferences
.semed-cookie-category:hover {
    border-color:
        rgba(33, 137, 237, 0.2);

    box-shadow:
        0 13px 28px rgba(13, 60, 97, 0.08);

    transform: translateY(-2px);
}

#semedCookiePreferences
.semed-cookie-category
+ .semed-cookie-category {
    margin-top: 0.67rem;
}

#semedCookiePreferences
.semed-cookie-category.is-required {
    border-color:
        rgba(40, 201, 130, 0.17);

    background:
        linear-gradient(
            115deg,
            rgba(40, 201, 130, 0.08),
            rgba(255, 255, 255, 0.82)
        );
}

#semedCookiePreferences
.semed-cookie-category-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border-radius: 14px;

    color: var(--cookie-blue);

    background:
        rgba(33, 137, 237, 0.09);

    font-size: 0.7rem;
}

#semedCookiePreferences
.semed-cookie-category.is-required
.semed-cookie-category-icon {
    color: #15985f;

    background:
        rgba(40, 201, 130, 0.1);
}

#semedCookiePreferences
.semed-cookie-category-content {
    min-width: 0;
}

#semedCookiePreferences
.semed-cookie-category-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

#semedCookiePreferences
.semed-cookie-category-heading small,
#semedCookiePreferences
.semed-cookie-category-heading strong {
    display: block;
}

#semedCookiePreferences
.semed-cookie-category-heading small {
    color: var(--cookie-teal);

    font-size: 0.35rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

#semedCookiePreferences
.semed-cookie-category-heading strong {
    margin-top: 0.1rem;

    color: var(--cookie-title);

    font-size: 0.61rem;
    font-weight: 760;
}

#semedCookiePreferences
.semed-cookie-category p {
    margin:
        0.36rem
        0
        0;

    color: var(--cookie-muted);

    font-size: 0.48rem;
    line-height: 1.57;
}


/* =========================================================
   INTERRUPTOR
========================================================= */

#semedCookiePreferences
.semed-cookie-switch {
    position: relative;

    display: inline-flex;

    flex: 0 0 auto;

    cursor: pointer;
}

#semedCookiePreferences
.semed-cookie-switch input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
}

#semedCookiePreferences
.semed-cookie-switch > span:first-of-type {
    position: relative;

    display: block;

    width: 48px;
    height: 26px;

    border:
        1px solid rgba(70, 99, 125, 0.16);

    border-radius: 999px;

    background: #d7e2eb;

    transition:
        background-color 220ms ease,
        box-shadow 220ms ease;
}

#semedCookiePreferences
.semed-cookie-switch > span:first-of-type::after {
    content: "";

    position: absolute;
    top: 3px;
    left: 3px;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 4px 10px rgba(25, 58, 87, 0.22);

    transition:
        transform 220ms ease;
}

#semedCookiePreferences
.semed-cookie-switch input:checked
+ span {
    background:
        linear-gradient(
            90deg,
            var(--cookie-blue),
            var(--cookie-teal)
        );

    box-shadow:
        0 7px 16px rgba(27, 124, 183, 0.2);
}

#semedCookiePreferences
.semed-cookie-switch input:checked
+ span::after {
    transform: translateX(22px);
}

#semedCookiePreferences
.semed-cookie-switch.is-disabled {
    cursor: not-allowed;

    opacity: 0.8;
}


/* =========================================================
   RODAPÉ DAS PREFERÊNCIAS
========================================================= */

#semedCookiePreferences
.semed-cookie-preferences-footer {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 0.57rem;

    flex: 0 0 auto;

    padding:
        1rem
        1.2rem;

    border-top:
        1px solid rgba(20, 74, 120, 0.09);

    background:
        rgba(244, 249, 253, 0.97);
}

#semedCookiePreferences
.semed-cookie-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.43rem;

    min-height: 47px;

    padding: 0.56rem;

    border-radius: 13px;

    cursor: pointer;

    font-size: 0.47rem;
    font-weight: 780;

    transition:
        box-shadow 220ms ease,
        transform 220ms ease;
}

#semedCookiePreferences
.semed-cookie-save.is-essential {
    border:
        1px solid rgba(20, 74, 120, 0.12);

    color: var(--cookie-title);

    background: #ffffff;
}

#semedCookiePreferences
.semed-cookie-save.is-custom {
    border:
        1px solid rgba(33, 137, 237, 0.17);

    color: #ffffff;

    background:
        linear-gradient(
            105deg,
            var(--cookie-blue),
            var(--cookie-violet)
        );
}

#semedCookiePreferences
.semed-cookie-save.is-all {
    border:
        1px solid rgba(18, 182, 161, 0.19);

    color: #ffffff;

    background:
        linear-gradient(
            105deg,
            var(--cookie-teal),
            var(--cookie-green)
        );
}

#semedCookiePreferences
.semed-cookie-save:hover {
    box-shadow:
        0 14px 28px rgba(18, 72, 116, 0.18);

    transform: translateY(-2px);
}


/* =========================================================
   BOTÃO PARA REABRIR AS PREFERÊNCIAS
========================================================= */

#semedCookieManage.semed-cookie-manage {
    position: fixed;
    z-index: 1045;
    right: 1rem;
    bottom: 5.2rem;

    display: inline-flex;
    align-items: center;
    gap: 0.43rem;

    min-height: 43px;

    padding:
        0.46rem
        0.68rem;

    border:
        1px solid rgba(143, 208, 255, 0.22);

    border-radius: 14px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--cookie-navy-950),
            var(--cookie-navy-900)
        );

    box-shadow:
        0 14px 34px rgba(1, 10, 24, 0.3);

    cursor: pointer;

    font-size: 0.44rem;
    font-weight: 760;

    transition:
        box-shadow 220ms ease,
        transform 220ms ease;
}

#semedCookieManage.semed-cookie-manage:hover {
    box-shadow:
        0 19px 40px rgba(1, 10, 24, 0.4);

    transform: translateY(-3px);
}

#semedCookieManage.semed-cookie-manage i {
    color: var(--cookie-teal-light);
}


/* =========================================================
   CONTROLE DO BODY
========================================================= */

body.semed-cookie-preferences-open {
    overflow: hidden;
}

body:not(.semed-cookie-consent-saved) {
    padding-bottom: 190px;
}


/* =========================================================
   ANIMAÇÕES
========================================================= */

@keyframes semedCookieEnter {
    from {
        opacity: 0;
        transform: translateY(42px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes semedCookieDialogEnter {
    from {
        opacity: 0;

        transform:
            translateY(20px)
            scale(0.97);
    }

    to {
        opacity: 1;

        transform:
            translateY(0)
            scale(1);
    }
}


/* =========================================================
   NOTEBOOK
========================================================= */

@media (max-width: 1199.98px) {
    #semedCookieConsent
    .semed-cookie-consent-shell {
        grid-template-columns:
            76px
            minmax(0, 1fr);

        min-height: 0;

        padding:
            1.2rem
            1.5rem;
    }

    #semedCookieConsent
    .semed-cookie-consent-icon {
        width: 76px;
        min-width: 76px;
    }

    #semedCookieConsent
    .semed-cookie-consent-icon > span {
        width: 69px;
        height: 69px;

        border-radius: 21px;
    }

    #semedCookieConsent
    .semed-cookie-consent-actions {
        grid-column: 1 / -1;

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

    #semedCookieConsent
    .semed-cookie-customize {
        grid-column: auto;
    }

    body:not(.semed-cookie-consent-saved) {
        padding-bottom: 280px;
    }
}


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

@media (max-width: 991.98px) {
    #semedCookieConsent
    .semed-cookie-consent-content h2 {
        font-size:
            clamp(1.7rem, 4vw, 2.35rem);
    }

    #semedCookieConsent
    .semed-cookie-consent-content p {
        font-size: 0.62rem;
    }
}


/* =========================================================
   CELULAR
========================================================= */

@media (max-width: 767.98px) {
    #semedCookieConsent
    .semed-cookie-consent-shell {
        grid-template-columns: 1fr;

        width: 100%;
        max-height: 92dvh;
        min-height: 0;

        padding:
            1.15rem
            1rem;

        overflow-y: auto;

        border-radius:
            24px
            24px
            0
            0;

        scrollbar-width: thin;
        scrollbar-color:
            rgba(143, 208, 255, 0.6)
            rgba(255, 255, 255, 0.08);
    }

    #semedCookieConsent
    .semed-cookie-consent-icon {
        display: none;
    }

    #semedCookieConsent
    .semed-cookie-consent-content {
        max-width: none;
    }

    #semedCookieConsent
    .semed-cookie-consent-content h2 {
        font-size:
            clamp(1.5rem, 8vw, 2.15rem);
    }

    #semedCookieConsent
    .semed-cookie-consent-content p {
        font-size: 0.59rem;
    }

    #semedCookieConsent
    .semed-cookie-consent-actions {
        grid-column: auto;

        grid-template-columns: 1fr;
    }

    #semedCookieConsent
    .semed-cookie-customize {
        grid-column: auto;
    }

    #semedCookieConsent
    .semed-cookie-button {
        min-height: 61px;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-footer {
        grid-template-columns: 1fr;
    }

    #semedCookieManage.semed-cookie-manage {
        right: 0.7rem;
        bottom: 4.7rem;
    }

    body:not(.semed-cookie-consent-saved) {
        padding-bottom: 440px;
    }
}


/* =========================================================
   TELAS PEQUENAS
========================================================= */

@media (max-width: 575.98px) {
    #semedCookieConsent
    .semed-cookie-consent-features {
        align-items: stretch;
        flex-direction: column;
    }

    #semedCookieConsent
    .semed-cookie-consent-features span {
        width: 100%;
    }

    #semedCookiePreferences.semed-cookie-preferences {
        padding: 0.45rem;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-dialog {
        max-height: calc(100dvh - 0.9rem);

        border-radius: 22px;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-header {
        padding: 1rem;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-title > span {
        width: 44px;
        height: 44px;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-title h2 {
        font-size: 1.32rem;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-body {
        padding: 0.86rem;
    }

    #semedCookiePreferences
    .semed-cookie-category {
        grid-template-columns: 1fr;

        padding: 0.78rem;
    }

    #semedCookiePreferences
    .semed-cookie-category-icon {
        width: 39px;
        height: 39px;
    }

    #semedCookiePreferences
    .semed-cookie-category-heading {
        align-items: flex-start;
    }

    #semedCookiePreferences
    .semed-cookie-preferences-footer {
        padding: 0.86rem;
    }

    #semedCookieManage.semed-cookie-manage {
        justify-content: center;

        width: 43px;
        padding: 0;
    }

    #semedCookieManage.semed-cookie-manage span {
        display: none;
    }
}


/* =========================================================
   TELAS MUITO PEQUENAS
========================================================= */

@media (max-width: 420px) {
    #semedCookieConsent
    .semed-cookie-consent-features {
        display: none;
    }

    #semedCookieConsent
    .semed-cookie-consent-shell {
        padding:
            1rem
            0.85rem;
    }

    body:not(.semed-cookie-consent-saved) {
        padding-bottom: 395px;
    }
}


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

#semedCookieConsent button:focus-visible,
#semedCookiePreferences button:focus-visible,
#semedCookiePreferences
.semed-cookie-switch input:focus-visible
+ span,
#semedCookieManage:focus-visible {
    outline:
        4px solid rgba(143, 208, 255, 0.38);

    outline-offset: 3px;
}


/* =========================================================
   MOVIMENTO REDUZIDO
========================================================= */

@media (prefers-reduced-motion: reduce) {
    #semedCookieConsent
    .semed-cookie-consent-shell,
    #semedCookiePreferences
    .semed-cookie-preferences-dialog {
        animation: none !important;
    }

    #semedCookieConsent
    .semed-cookie-button,
    #semedCookieConsent
    .semed-cookie-customize,
    #semedCookiePreferences
    .semed-cookie-save,
    #semedCookiePreferences
    .semed-cookie-switch > span:first-of-type,
    #semedCookiePreferences
    .semed-cookie-switch > span:first-of-type::after,
    #semedCookieManage.semed-cookie-manage {
        transition: none !important;
    }
}