@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

/* =========================
   VARIABLES (THEME TOKENS)
   ========================= */
:root {
    /* Paleta principal */
    --color-main1: #73299A; /* Purple */
    --color-main2: #E434EC; /* Pink */
    --color-main3: #000000; /* Black */
    --color-main4: #424242; /* Dark Gray */
    --color-main5: #FFFFFF; /* White */
    --color-main6: #FF0000; /* Red */
    --color-main7: #12A340; /* Green */
    /* Tons claros */
    --color-main8: #DCC9E6; /* Light Purple */
    --color-main9: #f6b6f9; /* Light Pink */
    --color-main10: #AAAAAA; /* Middle Gray */
    --color-main11: #D9D9D9; /* Light Gray */
    /* Links e botões */
    --link-color: #0071c1;
    --btn-primary-bg: #1b6ec2;
    --btn-primary-border: #1861ac;
    /* Estados e feedback */
    --valid-outline: #26b050;
    --safe-area-bg: #f7f7f7;
    --error-ui-bg: lightyellow;
    --error-ui-fg: #ffffff;
    --error-ui-panel: #b32121;
    /* Sombras (rgba) */
    --shadow-strong: rgba(0, 0, 0, 0.2);
    --shadow-soft: rgba(0, 0, 0, 0.06);
    /* Redes sociais */
    --facebook-color: rgba(59, 89, 152, 1);
    --twitter-color: #00acee;
    --whatsapp-color: #075e54;
    /* Gradientes */
    --instagram-gradient: radial-gradient(circle farthest-corner at 35% 90%, #fec564, transparent 50%), radial-gradient(circle farthest-corner at 0 140%, #fec564, transparent 50%), radial-gradient(ellipse farthest-corner at 0 -25%, #5258cf, transparent 50%), radial-gradient(ellipse farthest-corner at 20% -50%, #5258cf, transparent 50%), radial-gradient(ellipse farthest-corner at 100% 0, #893dc2, transparent 50%), radial-gradient(ellipse farthest-corner at 60% -20%, #893dc2, transparent 50%), radial-gradient(ellipse farthest-corner at 100% 100%, #d9317a, transparent), linear-gradient(#6559ca, #bc318f 30%, #e33f5f 50%, #f77638 70%, #fec66d 100%);
    --theme-blue-start: #0083FF;
    --theme-blue-end: #0049FF;
}

.bg1 {
    background-color: var(--color-main1) !important;
}

.bg2 {
    background-color: var(--color-main2) !important;
}

.bg3 {
    background-color: var(--color-main3) !important;
}

.bg4 {
    background-color: var(--color-main4) !important;
}

.bg5 {
    background-color: var(--color-main5) !important;
}

.bg6 {
    background-color: var(--color-main6) !important;
}

.bg7 {
    background-color: var(--color-main7) !important;
}

.bg8 {
    background-color: var(--color-main8) !important;
}

.bg9 {
    background-color: var(--color-main9) !important;
}

.bg10 {
    background-color: var(--color-main10) !important;
}

.bg11 {
    background-color: var(--color-main11) !important;
}

.cl1 {
    color: var(--color-main1) !important;
}

.cl2 {
    color: var(--color-main2) !important;
}

.cl3 {
    color: var(--color-main3) !important;
}

.cl4 {
    color: var(--color-main4) !important;
}

.cl5 {
    color: var(--color-main5) !important;
}

.cl6 {
    color: var(--color-main6) !important;
}

.cl7 {
    color: var(--color-main7) !important;
}

.cl8 {
    color: var(--color-main8) !important;
}

.cl9 {
    color: var(--color-main9) !important;
}

.cl10 {
    color: var(--color-main10) !important;
}

.cl11 {
    color: var(--color-main11) !important;
}


/* ####### ICONS ####### */
.icon-25 {
    width: 25px;
    height: 25px;
}

.icon-45 {
    width: 45px;
    height: 45px;
}

.icon-75 {
    width: 75px;
    height: 75px;
}

.white-icon,
.white-icon .material-icons,
.white-icon > svg {
    color: var(--color-main5) !important; /* fonte/ligature */
    fill: var(--color-main5) !important; /* SVG */
}

.black-icon,
.black-icon .material-icons,
.black-icon > svg {
    color: var(--color-main3) !important; /* fonte/ligature */
    fill: var(--color-main3) !important; /* SVG */
}

.purple-icon,
.purple-icon .material-icons,
.purple-icon > svg {
    color: var(--color-main1) !important; /* fonte/ligature */
    fill: var(--color-main1) !important; /* SVG */
}

.pink-icon,
.pink-icon .material-icons,
.pink-icon > svg {
    color: var(--color-main2) !important; /* fonte/ligature */
    fill: var(--color-main2) !important; /* SVG */
}

/* ####### END ICONS ####### */

/* ####### MOBILE MENU ####### */

/* Drawer: garante contraste (opcional) */
.app-drawer .mud-drawer {
    /* use a cor do tema; remova se já está ok */
    background: var(--color-main1);
}

/* Links do menu no drawer (mobile) */
.drawer-menu .mud-nav-link {
    color: var(--mud-palette-primary-contrast-text) !important; /* normalmente branco */
    text-decoration: none !important; /* tira sublinhado forçado por resets globais */
}

    /* Ícones herdam a cor do link (evita ícone preto) */
    .drawer-menu .mud-nav-link .mud-icon-root {
        color: inherit !important;
        fill: currentColor !important;
    }

    /* Estados hover/active sem sublinhado */
    .drawer-menu .mud-nav-link:hover,
    .drawer-menu .mud-nav-link:focus,
    .drawer-menu .mud-nav-link.active {
        text-decoration: none !important;
    }

    /* Opcional: destaque do item ativo no drawer */
    .drawer-menu .mud-nav-link.active {
        background: rgba(255,255,255,0.08);
        border-radius: 8px;
    }

/* ####### END MOBILE MENU ####### */

/* ####### DEFAULT BUTTON ####### */
.gd-inline {
    display: inline-flex;
    align-items: center; /* alinha verticalmente */
    gap: .5rem;
    flex-wrap: nowrap; /* mantém ícone e texto na mesma linha */
    white-space: nowrap; /* evita quebra entre ícone e texto */
}

.gd-btn-icon {
    line-height: 1;
    display: inline-flex;
}

.gd-btn-text {
    line-height: 1.2;
    display: inline-flex;
}
/* ####### END DEFAULT BUTTON ####### */

/* ####### ADD MYDOCUMENT ####### */
.header-strip {
    height: 6px;
    width: 100%;
    background: linear-gradient(90deg, #73299A 0%, #E434EC 100%);
    border-radius: 10px 10px 0 0;
}

.glass-card {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    border: 1px solid rgba(0,0,0,.03);
}

.upload-zone {
    border: 2px dashed #dcdfe6;
    border-radius: 14px;
    background: #fafbfe;
    padding: 22px;
    text-align: center;
    transition: .2s;
}

    .upload-zone:hover {
        border-color: #bfc3cf;
        box-shadow: 0 6px 18px rgba(0,0,0,.06);
        background: #fff;
    }

.muted {
    color: #6b7280;
}

.rounded-xl {
    border-radius: 14px;
}
/* ####### END ADD MYDOCUMENT #######*/

/* ####### SELECTOR #######*/
.mud-popover {
    background-color: white !important;
}

    .mud-popover .mud-list {
        background-color: white !important;
    }

    .mud-popover .mud-list-item {
        background-color: white !important;
        color: black !important;
    }

        .mud-popover .mud-list-item:hover {
            background-color: #f0f0f0 !important;
        }
/* ####### END SELECTOR #######*/

/* ####### FOOTER #######*/
/* ROW DO FOOTER: sempre em linha e sem wrap */
.footer-row {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row; /* linha */
    flex-wrap: nowrap; /* não quebra para a linha de baixo */
    gap: 1rem;
    padding: .35rem 0;
    min-height: 56px;
}

/* Esquerda: apenas logo + CNPJ empilhados */
.footer-left {
    display: flex;
    flex-direction: row; /* empilha logo e CNPJ */
    align-items: center; /* alinha à esquerda */
    gap: .8rem;
    flex: 0 0 auto; /* não expandir a 100% */
}

    .footer-left .mud-typography {
        line-height: 1.1;
        font-size: .7rem;
    }

/* Centro: 100% centralizado e sem ocupar espaço no fluxo */
.footer-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

    .footer-center .mud-typography {
        line-height: 1.2;
        font-size: .7rem;
    }

/* Direita: links + redes na mesma coluna, bloco não expansivo */
.footer-right {
    margin-left: auto; /* cola na direita da linha */
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex: 0 0 auto; /* não expandir a 100% */
}

.footer-links {
    display: flex;
    flex-direction: column;
    text-align: right;
    gap: .15rem;
}

.footer-socials {
    display: flex;
    align-items: center;
    gap: .6rem; /* dá respiro entre ícones */
}

/* ####### END FOOTER #######*/

/* ####### TERMS #######*/
.terms-wrapper {
    height: calc(100vh - 56px - 56px);
    max-height: calc(100vh - 56px - 56px);
    overflow: hidden;
}

.terms-iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

@media (max-width: 600px) {
    .terms-wrapper {
        height: calc(100vh - 56px - 64px);
    }
}
/* ####### END TERMS #######*/

body, html {
    font-family: 'Poppins', sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: var(--link-color);
}

.btn-primary {
    color: var(--color-main5) !important;
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-border) !important;
}

.content {
    padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--valid-outline);
}

.invalid {
    outline: 1px solid var(--color-main6);
}

.validation-message {
    color: var(--color-main6);
}

#blazor-error-ui {
    background: var(--error-ui-bg);
    bottom: 0;
    box-shadow: 0 -1px 2px var(--shadow-strong);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, var(--error-ui-panel);
    padding: 1rem 1rem 1rem 3.7rem;
    color: var(--error-ui-fg);
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }

.status-bar-safe-area {
    display: none;
}

@supports (-webkit-touch-callout: none) {
    .status-bar-safe-area {
        display: flex;
        position: sticky;
        top: 0;
        height: env(safe-area-inset-top);
        background-color: var(--safe-area-bg);
        width: 100%;
        z-index: 1;
    }

    .flex-column, .navbar-brand {
        padding-left: env(safe-area-inset-left);
    }
}


.default-bottom-icon {
    color: var(--mud-palette-default) !important;
}

.hz-container {
    display: flex;
    overflow-x: auto;
}

    .hz-container::-webkit-scrollbar {
        display: none;
    }

.theme-background-color-blue {
    background: linear-gradient(0deg, var(--theme-blue-start) 0.11%, var(--theme-blue-end) 127.33%) !important;
    color: var(--color-main5) !important;
}

.fa-small {
    font-size: 1.1rem !important;
}

.fa-1x {
    font-size: 1em !important;
}

.fa-2x {
    font-size: 2em !important;
}

.fa-3x {
    font-size: 3em !important;
}

.fa-4x {
    font-size: 4em !important;
}

.fa-5x {
    font-size: 5em !important;
}

.fa-6x {
    font-size: 6em !important;
}

.fa-7x {
    font-size: 7em !important;
}

.fa-8x {
    font-size: 8em !important;
}

.mud-elevation-25 {
    box-shadow: 0 1px 2px var(--shadow-strong) !important;
    -webkit-box-shadow: 0 1px 2px var(--shadow-strong) !important;
}

.rounded-sm {
    border-radius: 6px !important;
}

.rounded-t-l-lg {
    border-top-left-radius: 8px !important;
}

.rounded-b-l-lg {
    border-bottom-left-radius: 8px !important;
}

.rounded-t-r-lg {
    border-top-right-radius: 8px !important;
}

.rounded-b-r-lg {
    border-bottom-right-radius: 8px !important;
}

.rounded-xl {
    border-radius: 12px !important;
}

.blink {
    animation: blink 2s steps(5, start) infinite;
    -webkit-animation: blink 2s steps(5, start) infinite;
}

@keyframes blink {
    to {
        visibility: hidden;
    }
}

@-webkit-keyframes blink {
    to {
        visibility: hidden;
    }
}

.facebook-color {
    background-color: var(--facebook-color) !important;
    color: var(--color-main5) !important;
}

.instagram-color {
    background: var(--instagram-gradient) !important;
    color: var(--color-main5) !important;
}

.twitter-color {
    background-color: var(--twitter-color) !important;
    color: var(--color-main5) !important;
}

.whatsapp-color {
    background-color: var(--whatsapp-color) !important;
    color: var(--color-main5) !important;
}

.max-line-2 {
    display: block; /* Fallback for non-webkit */
    display: -webkit-box;
    height: 2.6em; /* Fallback for non-webkit, line-height * 2 */
    line-height: 1.3em;
    -webkit-line-clamp: 2; /* if you change this, make sure to change the fallback line-height and height */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.max-line-3 {
    display: block; /* Fallback for non-webkit */
    display: -webkit-box;
    height: 3.9em; /* Fallback for non-webkit, line-height * 3 */
    line-height: 1.3em;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.max-line-4 {
    display: block; /* Fallback for non-webkit */
    display: -webkit-box;
    height: 5.2em; /* Fallback for non-webkit, line-height * 4 */
    line-height: 1.3em;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.max-line-6 {
    display: block; /* Fallback for non-webkit */
    display: -webkit-box;
    height: 7.8em; /* Fallback for non-webkit, line-height * 6 */
    line-height: 1.3em;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Remove sublinhado dos links do Drawer */
.app-drawer .mud-nav-link,
.app-drawer .mud-nav-link:visited,
.app-drawer .mud-nav-link:hover {
    text-decoration: none !important;
}

.app-drawer .mud-nav-link {
    color: inherit !important;
}
