﻿:root {
    --bg-dark: #050a18;
    --bg-card: #0a1128;
    --bg-card-hover: #0e1a3d;
    /*--cyan-primary: #00E5FF;*/
    --cyan-primary: #2563eb;
    --cyan-glow: rgba(0, 212, 255, 0.3);
    --purple-accent: #8a2be2;
    --text-white: #ffffff;
    --text-muted: #94a3b8;
    --border-color: rgba(255, 255, 255, 0.08);
    --glass-bg: rgba(255, 255, 255, 0.03);
    /* ===== COLORS ===== */
    /* Brand */
    --color-primary: #2563eb;
    --color-primary-100: #E0FAFF;
    --color-primary-200: #B3F3FF;
    --color-primary-300: #80EBFF;
    --color-primary-400: #4DE3FF;
    --color-primary-500: #2563eb;
    --color-primary-600: #00B8CC;
    --color-primary-700: #008C99;
    --color-primary-800: #005F66;
    --color-primary-900: #003233;
    --color-secondary: #7C4DFF;
    --color-secondary-100: #EDE5FF;
    --color-secondary-200: #D1C2FF;
    --color-secondary-300: #B39DFF;
    --color-secondary-400: #9575FF;
    --color-secondary-500: #7C4DFF;
    --color-secondary-600: #5E35B1;
    --color-secondary-700: #4527A0;
    --color-secondary-800: #311B92;
    --color-secondary-900: #1A0D5A;
    /* Neutral / Base */
    --color-background: #0A0E1A;
    --color-surface: #12172A;
    --color-surface-2: #1A2035;
    --color-border: #2A3150;
    --color-white: #FFFFFF;
    --color-black: #000000;
    /* Gray scale */
    --color-gray-100: #F5F6FA;
    --color-gray-200: #E0E3EB;
    --color-gray-300: #C2C7D6;
    --color-gray-400: #9AA3B2;
    --color-gray-500: #6B7485;
    --color-gray-600: #4A5162;
    --color-gray-700: #2E3445;
    --color-gray-800: #1C2233;
    --color-gray-900: #0A0E1A;
    /* Text */
    --color-text-primary: #E6EDF3;
    --color-text-secondary: #AAB3C5;
    --color-text-muted: #6B7485;
    --color-text-inverse: #0A0E1A;
    /* States */
    --color-success: #00C853;
    --color-warning: #FFD600;
    --color-error: #FF5252;
    --color-info: #40C4FF;
    /* ===== TYPOGRAPHY ===== */

    --font-family-heading: "Manrope", sans-serif;
    --font-family-body: "Inter", sans-serif;
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-md: 16px;
    --font-size-lg: 20px;
    --font-size-xl: 28px;
    --font-size-xxl: 40px;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --line-height-tight: 1.2;
    --line-height-normal: 1.5;
    --line-height-loose: 1.8;
    /* ===== SPACING ===== */

    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 24px;
    --spacing-xxl: 32px;
    /* ===== RADIUS ===== */

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    /* ===== SHADOW ===== */

    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
    /* ===== COMPONENT TOKENS ===== */

    --button-primary-bg: var(--color-primary);
    --button-primary-text: var(--color-text-inverse);
    --button-secondary-bg: var(--color-secondary);
    --button-secondary-text: var(--color-white);
    --input-bg: var(--color-surface);
    --input-border: var(--color-border);
    --input-text: var(--color-text-primary);
    --input-placeholder: var(--color-text-muted);
    --card-bg: var(--color-surface);
    --card-border: var(--color-border);
    --shield-empty-color: #2f374d;
    --shield-full-color: #2563eb;
    --shield-size: 65px;
    --quem-somos-bg-dark: #020617;
    --quem-somos-card-bg: #0f172a;
    --quem-somos-primary-blue: #2563eb;
    --quem-somos-light-blue: #3b82f6;
    --quem-somos-text-muted: #94a3b8;
    --quem-somos-border-color: #1e293b;
    --bg: #081326;
    --bg2: #0D1830;
    --card: #0B1730;
    --border: #274B86;
    --borderHover: #1677FF;
    --primary: #1677FF;
    --text: #FFFFFF;
    --text2: #B8C3D9;
}

body {
    background: var(--color-background);
    background-image: linear-gradient(90deg, rgba(1, 8, 30, 0.96) 0%, rgba(1, 10, 40, 0.90) 35%, rgba(1, 18, 70, 0.45) 65%, rgba(1, 18, 70, 0.10) 100%);
    color: #fff
}

a, button {
    outline: none !important
}

.confyare-box {
    position: relative;
    overflow: hidden;
    min-height: 650px;
}

.confyare-overlay {
    position: absolute;
    inset: 0;
    /*background: linear-gradient(90deg, rgba(1, 8, 30, 0.96) 0%, rgba(1, 10, 40, 0.90) 35%, rgba(1, 18, 70, 0.45) 65%, rgba(1, 18, 70, 0.10) 100%);*/
}

.confyare-content {
    position: relative;
    z-index: 2;
    padding: 50px;
    height: 100%;
}

.confyare-logo {
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 50px;
    letter-spacing: 1px;
}

.confyare-menu {
    position: absolute;
    top: 50px;
    right: 50px;
}

    .confyare-menu a {
        color: #fff;
        margin-left: 25px;
        font-size: 15px;
        text-decoration: none;
        opacity: .9;
    }

.navbar-search {
    position: relative;
}

    .navbar-search .navbar-search-box {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 0;
        overflow: hidden;
        opacity: 0;
        transition: all .3s ease;
        z-index: 1
    }

        .navbar-search .navbar-search-box.open {
            width: 260px;
            opacity: 1;
        }

#btnSearch {
    z-index: 99
}


.login-card {
    background: rgba(10, 20, 50, 0.45);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    padding: 35px;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column
}

    .login-card form {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .login-card h3 {
        color: #fff;
        font-size: 37px;
        margin-bottom: 30px;
        font-weight: 900;
        line-height: 1.4;
    }

        .login-card h3 > span {
            color: #1D4FFF;
        }

    .login-card label {
        color: #cfd8ff;
        font-size: 18px;
        margin-bottom: 8px;
        display: block;
        width: 100%
    }

    .login-card input:-webkit-autofill ~ label,
    .login-card input:-webkit-autofill + label,
    .login-card .form-group label {
        color: #cfd8ff !important;
        -webkit-text-fill-color: #cfd8ff !important;
    }

    .login-card .form-control {
        height: 48px;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.08);
        color: #fff;
        border-radius: 10px;
        margin-bottom: 5px;
    }

        .login-card .form-control:-webkit-autofill,
        .login-card .form-control:-webkit-autofill:hover,
        .login-card .form-control:-webkit-autofill:focus,
        .login-card .form-control:-webkit-autofill:active {
            -webkit-text-fill-color: #fff !important;
            caret-color: #fff !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
            -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,0.06) inset !important;
            transition: background-color 5000s ease-in-out 0s;
        }

.input-group-icon {
    width: 100%;
    position: relative;
    margin-bottom: 5px;
}

    .input-group-icon .fa {
        position: absolute;
        left: 15px;
        top: 55%;
        transform: translateY(-50%);
        color: #999;
        font-size: 19px;
        pointer-events: none;
        z-index: 2;
    }





.sobre-indicacao {
    width: 90%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px
}

    .sobre-indicacao img {
        width: 150px
    }

    .sobre-indicacao h3 {
        margin-bottom: 5px
    }

    .sobre-indicacao p {
        max-width: 550px
    }

.sobre-indicacao-escudo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 25px
}

.citacao {
    position: relative
}

    .citacao p {
        color: #cfd8ff;
        font-size: 18px;
        margin-bottom: 10px
    }

    .citacao::before {
        content: "\f10d";
        font: normal normal normal 14px/1 FontAwesome;
        position: absolute;
        top: -20px;
        left: -45px;
        color: #1D4FFF;
        font-size: 35px
    }


@media (max-width: 767px) {
    .sobre-indicacao-escudo, .sobre-indicacao {
        flex-direction: column
    }

    .citacao {
        margin-left: 30px
    }
}

.numero-indicacao {
    background: #1D4FFF;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 15px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800;
}

.numero-indicacao-div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px
}

    .numero-indicacao-div h5 {
        margin-bottom: 0 !important
    }


.input-group-icon input.form-control {
    padding-left: 45px; /* Espaço para o ícone */
}

.input-group-icon label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

textarea {
    height: auto !important
}

.password-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

    .password-wrapper .password-input {
        padding-right: 45px;
    }

    .password-wrapper .toggle-password {
        position: absolute;
        right: 12px;
        top: 42px;
        background: transparent;
        border: none;
        color: #cfd8ff;
        cursor: pointer;
        font-size: 16px;
        padding: 0;
    }

        .password-wrapper .toggle-password:focus {
            outline: none;
        }


.login-card .form-control::placeholder {
    color: rgba(255,255,255,0.5);
}

.login-card .form-control:focus {
    border-color: #3d7dff;
    box-shadow: none;
    background: rgba(255,255,255,0.08);
}

.forgot-link {
    color: #8baeff;
    font-size: 13px;
    text-decoration: none;
    float: right
}

.btn-login {
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 12px;
    margin-top: 20px;
    background: linear-gradient( 180deg, #2378FF 0%, #1760F2 45%, #123FD5 100% );
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    transition: .3s;
    max-width: 240px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

    .btn-login:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0,123,255,0.4);
    }

.btn-conheca {
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 12px;
    margin-top: 0px;
    background: transparent;
    color: #1D4FFF;
    border: 2px solid #1D4FFF;
    font-weight: 600;
    font-size: 16px;
    transition: .3s;
}

    .btn-conheca:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0,123,255,0.4);
        color: #1D4FFF;
    }

.btn-confio {
    height: 50px;
    border: 0;
    border-radius: 12px;
    margin-top: 0px;
    background: transparent;
    color: #1D4FFF;
    border: 2px solid #1D4FFF;
    font-weight: 600;
    font-size: 16px;
    transition: .3s;
    padding: 0px 28px;
    margin-right: 10px;
}


    .btn-confio:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0,123,255,0.4);
        color: #1D4FFF;
    }

.register-text {
    margin-top: 25px;
    text-align: center;
    color: #cfd8ff;
    font-size: 14px;
}

    .register-text a {
        color: #4aa3ff;
        font-weight: 600;
        text-decoration: none;
    }

.hero-text {
    color: #fff;
    padding-left: 40px;
    padding-top: 70px;
}

    .hero-text h1 {
        font-size: 56px;
        line-height: 1.1;
        font-weight: 700;
        margin-bottom: 25px;
    }

    .hero-text p {
        color: rgba(255,255,255,0.8);
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: 35px;
        max-width: 600px;
    }

.btn-network {
    display: inline-block;
    padding: 15px 35px;
    border-radius: 12px;
    background: linear-gradient(90deg, #1d4fff, #4aa3ff);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    margin-bottom: 30px;
}

.hero-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

    .hero-list li {
        color: rgba(255,255,255,0.85);
        margin-bottom: 12px;
        font-size: 16px;
    }

        .hero-list li i {
            color: #4aa3ff;
            margin-right: 10px;
        }

@media(max-width:991px) {
    .hero-text {
        padding-left: 0;
        padding-top: 50px;
    }

        .hero-text h1 {
            font-size: 38px;
        }

    .confyare-content {
        padding: 30px;
    }

    .confyare-menu {
        position: relative;
        top: 0;
        right: 0;
        margin-bottom: 30px;
        text-align: right;
    }
}

.confyare-box {
    position: relative;
    overflow: hidden;
    min-height: 650px;
}

.confyare-overlay {
    position: absolute;
    inset: 0;
    /*background: linear-gradient(90deg, rgba(1, 8, 30, 0.96) 0%, rgba(1, 10, 40, 0.90) 35%, rgba(1, 18, 70, 0.45) 65%, rgba(1, 18, 70, 0.10) 100%);*/
}

.confyare-content {
    position: relative;
    z-index: 2;
    padding: 50px;
    height: 100%;
}

.confyare-logo {
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 50px;
    letter-spacing: 1px;
}

.confyare-menu {
    position: absolute;
    top: 50px;
    right: 50px;
}

    .confyare-menu a {
        color: #fff;
        margin-left: 25px;
        font-size: 15px;
        text-decoration: none;
        opacity: .9;
    }



.hero-text {
    color: #fff;
    padding-left: 40px;
    padding-top: 70px;
}

    .hero-text h1 {
        font-size: 56px;
        line-height: 1.1;
        font-weight: 700;
        margin-bottom: 25px;
    }

    .hero-text p {
        color: rgba(255,255,255,0.8);
        font-size: 18px;
        line-height: 1.8;
        margin-bottom: 35px;
        max-width: 600px;
    }

.btn-network {
    display: inline-block;
    padding: 15px 35px;
    border-radius: 12px;
    background: linear-gradient(90deg, #1d4fff, #4aa3ff);
    color: #fff !important;
    text-decoration: none;
    font-weight: 600;
    margin-bottom: 30px;
}

.hero-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

    .hero-list li {
        color: rgba(255,255,255,0.85);
        margin-bottom: 12px;
        font-size: 16px;
    }

        .hero-list li i {
            color: #4aa3ff;
            margin-right: 10px;
        }

@media(max-width:991px) {
    .hero-text {
        padding-left: 0;
        padding-top: 50px;
    }

        .hero-text h1 {
            font-size: 38px;
        }

    .confyare-content {
        padding: 30px;
    }

    .confyare-menu {
        position: relative;
        top: 0;
        right: 0;
        margin-bottom: 30px;
        text-align: right;
    }
}

.service-mode {
    display: flex;
    gap: 20px;
    flex-flow: wrap;
    margin-top: 10px;
}

.service-option {
    flex: 1;
    margin: 0;
    cursor: pointer;
    display: flex !important
}

.service-radio {
    display: none;
}

.serviceInput-card {
    flex: 1;
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(255,255,255,.06);
    border-radius: 18px;
    padding: 25px;
    text-align: center;
    transition: .25s;
}

    .serviceInput-card i {
        font-size: 34px;
        color: #1D4FFF;
        margin-bottom: 15px;
    }

    .serviceInput-card span {
        display: block;
        font-size: 18px;
        font-weight: 700;
        color: #fff;
    }

    .serviceInput-card small {
        display: block;
        margin-top: 8px;
        color: #9fb0c6;
        line-height: 1.5;
    }


.serviceAtendimento-option {
    flex: 1;
    margin: 0;
    cursor: pointer;
    display: flex !important;
    position: relative
}

.serviceAtendimentoInput-card {
    flex: 1;
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(255,255,255,.06);
    border-radius: 18px;
    padding: 25px;
    text-align: center;
    transition: .25s;
}

.serviceAtendimento-option input {
    display: none
}

.serviceAtendimentoInput-card i {
    font-size: 34px;
    color: #1D4FFF;
    margin-bottom: 15px;
}

.serviceAtendimentoInput-card span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.serviceAtendimentoInput-card small {
    display: block;
    margin-top: 8px;
    color: #9fb0c6;
    line-height: 1.5;
}

.serviceAtendimento-radio:checked + .serviceAtendimentoInput-card {
    background: rgba(17,217,255,.12);
    border-color: #1D4FFF;
    box-shadow: 0 0 0 3px rgba(17,217,255,.15);
}


    .serviceAtendimento-radio:checked + .serviceAtendimentoInput-card:after {
        content: "\f00c";
        font: normal normal normal 14px/1 FontAwesome;
        position: absolute;
        top: 12px;
        right: 15px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #1D4FFF;
        color: #031019;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
    }











.service-option:hover .serviceInput-card {
    transform: translateY(-3px);
    border-color: #1D4FFF;
}

.service-radio:checked + .serviceInput-card {
    background: rgba(17,217,255,.12);
    border-color: #1D4FFF;
    box-shadow: 0 0 0 3px rgba(17,217,255,.15);
}

    .service-radio:checked + .serviceInput-card i {
        color: #1D4FFF;
    }

    .service-radio:checked + .serviceInput-card:after {
        content: "\f00c";
        font: normal normal normal 14px/1 FontAwesome;
        position: absolute;
        top: 12px;
        right: 15px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #1D4FFF;
        color: #031019;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.serviceInput-card {
    position: relative;
}

@media(max-width:768px) {

    .service-mode {
        flex-direction: column;
    }
}


.segmentos-grid {
    display: flex;
    flex-flow: wrap;
    gap: 12px;
    margin-top: 10px;
    margin-bottom: 20px;
    width: 100%
}

.segmento-option {
    cursor: pointer;
    margin: 0;
    display: block;
    height: 100%;
    width: fit-content !important;
}

.segmento-checkbox {
    display: none;
}

.segmento-card {
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(255,255,255,.06);
    border-radius: 6px;
    padding: 11px 8px;
    text-align: center;
    transition: all 0.3s ease;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 45px;
    font-size: 14px;
    font-weight: 500;
}

    .segmento-card:hover {
        border-color: #1D4FFF;
    }



.segmento-checkbox:checked + .segmento-card {
    background: rgba(17,217,255,.12);
    border-color: #1D4FFF;
    box-shadow: 0 0 0 3px rgba(17,217,255,.15);
}

    .segmento-checkbox:checked + .segmento-card i {
        color: #1D4FFF;
    }


.step-indicator {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    justify-content: center;
    gap: 0;
    width: 100%
}


@media (max-width: 450px) {
    .step {
        display: none !important
    }

        .step.active {
            display: flex !important
        }

    .login-card h3 {
        font-size: 27px !important
    }
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 0 0 auto;
}

    .step.active .step-number {
        background-color: #1d4fff;
        color: white;
    }

    .step.completed .step-number {
        background-color: #00c853;
        color: white;
    }

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 8px;
    transition: background-color 0.3s ease;
    font-size: 14px;
    color: #cfd8ff;
}

.step-title {
    font-size: 14px;
    text-align: center;
    color: #fff;
    font-weight: 500;
}

.step.active .step-title {
    color: #4aa3ff;
    font-weight: 600;
}

.step.completed .step-title {
    color: #00c853;
    font-weight: 500;
}

.step-line {
    width: 60px;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.1);
    margin: 0 15px;
    margin-bottom: 28px;
}

.indicacao-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    flex: 1;
    max-width: 450px;
    min-width: 30%
}

    .indicacao-card:hover {
        background: rgba(255, 255, 255, 0.06);
        border-color: rgba(58, 123, 255, 0.3);
    }

    .indicacao-card h5 {
        margin-top: 0;
        margin-bottom: 20px;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        text-align: center
    }

    .indicacao-card label {
        font-size: 12px;
    }

    .indicacao-card .form-control {
        height: 40px;
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.08);
        color: #fff;
        border-radius: 8px;
        margin-bottom: 0;
        font-size: 13px;
        padding: 8px 12px;
    }

        .indicacao-card .form-control::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        .indicacao-card .form-control:focus {
            border-color: #3d7dff;
            box-shadow: none;
            background: rgba(255, 255, 255, 0.08);
            outline: none;
        }

    .indicacao-card .field-validation-error {
        font-size: 11px;
    }

.input-validation-error, .field-validation-valid {
    display: block;
    min-height: 19px
}

.modal-confyare {
    background: rgba(10, 20, 50, 0.85);
    color: #fff;
    border-radius: 24px;
    border: 1px solid rgba(60,120,255,.35);
    overflow: hidden;
    position: relative;
    padding: 15px;
}

.close-confyare {
    color: #fff;
    opacity: .7;
    position: absolute;
    right: 20px;
    top: 15px;
    z-index: 20;
    font-size: 30px;
}

    .close-confyare:hover {
        color: #fff;
        opacity: 1;
    }

.confyare-header {
    display: flex;
    align-items: center;
    margin-bottom: 35px;
}

.confyare-icon {
    width: 110px;
    min-width: 110px;
    min-height: 110px;
    border-radius: 50%;
    background: rgba(0,120,255,.12);
    border: 1px solid rgba(70,150,255,.3);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 25px;
}

    .confyare-icon i {
        font-size: 48px;
        color: #2f86ff;
    }

.confyare-header h1 {
    font-size: 38px;
    margin: 0 0 10px;
    font-weight: 700;
}

    .confyare-header h1 span {
        color: #2f86ff;
    }

.confyare-header p {
    color: #a6b4d0;
    font-size: 16px;
    line-height: 30px;
}

.confyare-cards {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: wrap
}

    .confyare-cards > div {
        display: flex;
    }

.conf-card {
    flex: 1;
    background: rgba(10, 20, 50, 0.35);
    border: 1px solid rgba(80,120,255,.18);
    border-radius: 18px;
    padding: 25px;
    margin-bottom: 25px;
    min-height: 270px;
    box-shadow: 0 5px 35px rgba(0, 84, 255, .22), inset 0 1px 0 rgba(255, 255, 255, .08);
    border-color: rgba(0, 160, 255, .85);
    display: flex;
    justify-content: flex-start;
    align-items: center
}

    .conf-card h4 {
        margin-top: 0;
        font-size: 24px;
        margin-bottom: 5px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        line-height: 1.2;
        font-weight: 700
    }

        .conf-card h4 i {
            color: #2f86ff;
            margin-right: 10px;
            font-size: 30px
        }

    .conf-card img {
        width: 105px
    }

    .conf-card ul {
        padding-left: 20px;
        margin-top: 15px
    }

    .conf-card li {
        display: list-item;
        margin-bottom: 12px;
        color: #c8d3e6;
    }

        .conf-card li::before {
            display: inline-block;
            height: 5px;
            width: 10px;
            content: "\f058";
            font: normal normal normal 14px / 1 FontAwesome;
            margin-right: 15px;
            font-size: 20px;
            color: #2f86ff
        }

    .conf-card p {
        color: #c8d3e6;
        line-height: 28px;
        margin-left: 15px
    }

.conf-processo {
    background: #0d1b2e;
    border-radius: 20px;
    padding: 30px;
    margin: 25px 0;
    border: 1px solid rgba(80,120,255,.18);
}

    .conf-processo h3 {
        text-align: center;
        margin-bottom: 35px;
    }

    .conf-processo span {
        color: #2f86ff;
    }

.processo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

    .processo > .step {
        width: 160px;
        text-align: center;
    }

        .processo > .step > .circle {
            width: 58px;
            height: 58px;
            border-radius: 50%;
            background: #132b50;
            border: 2px solid #2f86ff;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: auto auto 15px;
            font-weight: bold;
            color: #fff;
        }

        .processo > .step strong {
            display: block;
            margin-bottom: 8px;
        }

        .processo > .step small {
            color: #9cb0cf;
            line-height: 20px;
        }

    .processo > .line {
        flex: 1;
        height: 2px;
        background: #214f92;
        margin: 28px 15px 0;
    }

.conf-card h3 {
    font-size: 35px !important;
    font-weight: 800;
    text-align: center
}

.motivo {
    min-height: auto;
    padding: 16px 25px;
    flex-direction: column;
    align-items: flex-start
}

    .motivo > p {
        margin: 0
    }


    .motivo span {
        color: #2f86ff;
    }

.btn-confyare {
    margin-top: 15px;
    width: 300px;
    height: 60px;
    border-radius: 14px;
    border: none;
    color: #fff;
    font-size: 16px;
    background: linear-gradient(90deg,#0f67ff,#2d4dff);
}

    .btn-confyare:hover {
        color: #fff;
        background: linear-gradient(90deg,#2277ff,#4460ff);
    }

@media(max-width:991px) {

    .confyare-header {
        display: block;
        text-align: center;
    }

    .confyare-icon {
        margin: 0 auto 20px;
    }

    .processo {
        display: block;
    }

        .processo > .line {
            display: none;
        }

        .processo > .step {
            width: 100%;
            margin-bottom: 30px;
        }

    .btn-confyare {
        width: 100%;
    }
}



.button-group-cadastro {
    display: flex;
    gap: 15px;
    justify-content: center;
    width: 100%
}

.btn-voltar {
    flex: 1;
    max-width: 200px;
    padding: 12px 30px;
    background-color: rgba(255, 255, 255, 0.08);
    color: #cfd8ff;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

    .btn-voltar:hover {
        background-color: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.25);
    }

@media (max-width: 1200px) {
    [style*="grid-template-columns: repeat(3"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 992px) {
    [style*="grid-template-columns: repeat(3"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .step-indicator {
        flex-wrap: wrap;
    }

    .step-line {
        display: none;
    }

    .step {
        margin: 10px;
    }
}

@media (max-width: 576px) {
    [style*="grid-template-columns: repeat(3"] {
        grid-template-columns: 1fr !important;
    }

    .login-card {
        padding: 25px;
    }

    .indicacao-card {
        padding: 15px;
    }

    .button-group-cadastro {
        flex-direction: column;
    }

    .btn-voltar {
        max-width: 100%;
    }
}


#section-down {
    padding: 45px 0
}

.text-danger {
    color: #ff5252 !important
}







/*layout/home incio*/

.notification-dropdown {
    width: 380px;
    padding: 0;
    border: 1px solid rgba(0,229,255,.15);
    border-radius: 12px;
    overflow: hidden;
    background: #08121E;
    box-shadow: 0 15px 40px rgba(0,0,0,.45);
    margin-top: 12px;
}

    .notification-dropdown .dropdown-header {
        background: #0d1b2a;
        color: #2563eb;
        font-weight: 700;
        font-size: 15px;
        padding: 15px 18px;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .notification-dropdown li {
        background: transparent;
    }

        .notification-dropdown li a {
            display: block;
            padding: 14px 18px;
            color: #fff;
            white-space: normal;
            transition: all .2s ease;
            border-bottom: 1px solid rgba(255,255,255,.05);
        }

            .notification-dropdown li a:hover {
                background: rgba(0,229,255,.08);
                color: #fff;
            }

            .notification-dropdown li a i {
                width: 20px;
                margin-left: 8px;
            }

    .notification-dropdown small {
        display: block;
        margin-top: 4px;
        color: rgba(255,255,255,.55);
    }

    .notification-dropdown .divider {
        display: none;
    }

    .notification-dropdown .notification-footer a {
        text-align: center;
        font-weight: 600;
        color: #2563eb;
        background: #0d1b2a;
        border-bottom: 0;
    }

        .notification-dropdown .notification-footer a:hover {
            background: rgba(0,229,255,.08);
        }

.notification-unread {
    position: relative;
}

    .notification-unread:before {
        content: "";
        position: absolute;
        left: 8px;
        top: 22px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #2563eb;
        box-shadow: 0 0 8px #2563eb;
    }

.navbar .dropdown.open > a {
    color: #2563eb !important;
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
}

.topbar {
    background: rgba(10, 14, 26, .92);
    border-bottom: 1px solid rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 999;
    border: none
}

.navbar-brand-custom {
    font-family: 'Manrope', sans-serif;
    font-size: 30px;
    font-weight: 800;
    color: #2563eb !important;
    letter-spacing: -1px;
    padding-top: 24px;
}

.navbar-brand > img {
    margin-top: -5px
}


@media (max-width: 767px) {
    .navbar-brand > img {
        margin-top: -20px
    }
}

.nav-custom > li > a {
    color: #95a3b8;
    font-weight: 600;
    padding-top: 30px;
}

    .nav-custom > li.active > a,
    .nav-custom > li > a:hover {
        background: transparent !important;
        color: #2563eb !important;
    }

.hero {
    min-height: 760px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding-top: 10px;
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

    .hero-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: .83;
    }

.hero-overlay {
    position: absolute;
    inset: 0;
    /*background: linear-gradient(to right,#0a0e1a 10%,rgba(10,14,26,.85) 45%,transparent);*/
    background: transparent
}

.hero-content {
    position: relative;
    z-index: 2;
}

.badge-custom {
    width: fit-content;
    /*background: rgba(0,229,255,.12);*/
    border: 1px solid #2563eb;
    color: #2563eb;
    padding: 10px 16px;
    border-radius: 50px;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px
}

.hero h1 {
    font-family: 'Manrope', sans-serif;
    font-size: 72px;
    line-height: 1.05;
    font-weight: 800;
    margin-bottom: 25px;
}

    .hero h1 span {
        color: #2563eb;
    }

.hero p {
    color: #bac9cc;
    font-size: 24px;
    font-weight: 400;
    max-width: 600px;
    margin-bottom: 40px;
}

.btn-primary-custom {
    background: #2563eb;
    border: none;
    color: #001f24;
    font-weight: 700;
    padding: 15px 28px;
    border-radius: 14px;
    box-shadow: 0 0 30px rgba(0,229,255,.25);
}

    .btn-primary-custom:hover {
        background: #12ebff;
        transform: translateY(-2px);
    }

.btn-secondary-custom {
    background: #262a37;
    border: 1px solid rgba(255,255,255,.08);
    color: #dfe2f3 !important;
    font-weight: 700;
    padding: 15px 28px;
    border-radius: 14px;
}

.section {
    padding: 40px 0;
}

.section-title {
    font-family: 'Manrope', sans-serif;
    font-size: 44px;
    font-weight: 900;
    margin-bottom: 10px;
}

    .section-title span {
        color: #2563eb;
    }

.section-subtitle {
    color: #9fb0b5;
    max-width: 700px;
    line-height: 1.7;
    font-size: 18px
}

.partners-home-feature {
    margin-top: 10px
}

/*.category-card {
    flex: 1;
    position: relative;
    border-radius: 28px;
    overflow: hidden;*/
/*height: 250px;*/
/*height: 220px;
    margin-bottom: 30px;
    cursor: pointer;
    display: block;*/
/*min-width: 250px;*/
/*border: 1px solid rgba(28,132,255,.36);
    margin: 7px;
    transition: .6s
}

    .category-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: .55;
    }

    .category-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 70px rgba(0,84,255,.22),inset 0 1px 0 rgba(255,255,255,.08);
        border-color: rgba(0,160,255,.85)
    }*/
.category-card {
    flex: 1;
    position: relative;
    height: 320px;
    overflow: hidden;
    border-radius: 18px;
    text-decoration: none;
    display: block;
    border: 1px solid transparent;
    background: linear-gradient(#09121f,#09121f) padding-box, linear-gradient(135deg,#146ef5,#40bfff) border-box;
    transition: .35s;
    margin-left: 10px;
    margin-top: 10px;
}

@media (max-width: 600px) {
    .category-card {
        min-width: 150px;
    }
}

@media (max-width: 700px) {
    .category-card {
        min-width: 180px;
        margin-left: 10px;
        margin-top: 10px;
    }
}

@media (max-width: 1000px) {
    .category-card {
        min-width: 200px;
    }

    .benefits-home-item {
        flex-direction: column;
        text-align: center;
        gap: 10px
    }

    .how-it-works-home-item {
        flex-direction: column;
        text-align: center;
        gap: 10px
    }

    .benefits-home-icon, .how-it-works-home-icon {
        margin-right: 0 !important
    }
}

.category-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}

.category-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient( rgba(5,12,22,.15), rgba(5,12,22,.82) );
}

.category-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 18px;
    z-index: 2;
    max-width: 230px;
    top: 0 !important;
    left: 50% !important;
    width: 100%;
    transform: translateX(-50%);
}

.category-icon {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #4ec6ff;
    background: rgba(255, 255, 255, .03);
    backdrop-filter: blur(2px);
    box-shadow: inset 0 0 20px rgba(255, 255, 255, .08), 0 0 25px rgba(31, 156, 255, .20);
    transition: .35s;
    margin-top: 54%;
    box-shadow: 0 0 20px rgba(64,191,255,.45), 0 20px 45px rgba(0,0,0,.55)
}

    .category-icon i {
        font-size: 56px;
        color: #25a3ff;
    }

.category-badge {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #12335d;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin-top: -12px;
    border: 2px solid rgba(255,255,255,.15);
    box-shadow: 0 0 15px rgba(31,156,255,.25);
    z-index: 9
}

.category-title {
    margin-top: 30px;
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.15;
    text-shadow: 0 3px 12px rgba(0,0,0,.5);
    min-height: 57px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0 20px rgba(64,191,255,.45), 0 20px 45px rgba(0,0,0,.55);
}

    .category-card:hover .category-bg {
        transform: scale(1.08);
    }

    .category-card:hover .category-icon {
        border-color: #4ec6ff;
        box-shadow: 0 0 40px rgba(64,191,255,.50), inset 0 0 18px rgba(255,255,255,.12);
    }

.category-card.active {
    box-shadow: 0 0 18px rgba(64,191,255,.55), 0 0 60px rgba(64,191,255,.18);
}

    .category-card.active::after {
        content: "";
        position: absolute;
        bottom: 18px;
        left: 50%;
        width: 50px;
        height: 3px;
        background: #25a3ff;
        transform: translateX(-50%);
    }


.category-content {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    /*background: rgba(0,0,0,.5);*/
}

    .category-content .material-symbols-outlined {
        font-size: 50px;
        color: #2563eb;
        margin-bottom: 10px;
    }

    .category-content h4 {
        /*font-size: 24px;*/
        font-size: 15px;
        font-weight: 700;
    }

.glass-card {
    background: rgba(49, 52, 66, .28);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 32px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    min-height: 340px;
}

    .glass-card:before {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        top: -50px;
        right: -50px;
        background: rgba(0,229,255,.08);
        border-radius: 50%;
        filter: blur(40px);
    }

.provider-top {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 25px;
}

    .provider-top img {
        width: 84px;
        height: 84px;
        object-fit: cover;
        border-radius: 24px;
    }

.provider-name {
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 5px;
}

.provider-role {
    color: #c3f5ff;
    font-weight: 600;
}

.provider-rating {
    margin-top: 10px;
    color: #2563eb;
    font-size: 14px;
}

.provider-desc {
    color: #b6c2c6;
    line-height: 1.8;
    min-height: 90px;
}

.provider-price {
    margin-top: 20px;
}

    .provider-price small {
        display: block;
        text-transform: uppercase;
        color: #8d9aa0;
        letter-spacing: 2px;
        margin-bottom: 5px;
    }

    .provider-price strong {
        font-size: 28px;
    }

.btn-outline-custom {
    background: rgba(0,229,255,.08);
    border: 1px solid rgba(0,229,255,.2);
    color: #2563eb;
    border-radius: 14px;
    padding: 12px 20px;
    font-weight: 700;
}

    .btn-outline-custom:hover {
        background: #2563eb;
        color: #001f24;
    }

.service-card {
    background: #171b28;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid transparent;
    margin-bottom: 30px;
}

    .service-card:hover {
        border-color: rgba(0,229,255,.3);
        transform: translateY(-4px);
    }

    .service-card img {
        width: 100%;
        height: 220px;
        object-fit: cover;
    }

.service-body {
    padding: 22px;
}

.service-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
}

.service-company {
    color: #9ca9b0;
    font-size: 13px;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 40px;
}

.service-footer {
    border-top: 1px solid rgba(255,255,255,.06);
    padding-top: 15px;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center
}

.footer {
    background: #0a0e1a;
    border-top: 1px solid rgba(255,255,255,.05);
    padding: 80px 0 40px;
}

.footer-title {
    font-weight: 700;
    margin-bottom: 25px;
}

.footer a {
    display: block;
    color: #9ea9b5;
    margin-bottom: 12px;
}

    .footer a:hover {
        color: #2563eb;
    }

.footer-brand {
    font-size: 34px;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    color: #2563eb;
    margin-bottom: 20px;
}

.footer-desc {
    color: #9ca7b2;
    line-height: 1.8;
    margin-bottom: 25px;
}

.mobile-bottom-nav {
    display: none;
}


.btn-conheca {
    max-width: 200px
}


@media (max-width: 991px) {

    .hero h1 {
        font-size: 48px;
    }

    .hero p {
        font-size: 19px;
    }

    .navbar-right {
        display: none;
    }

    .section-title {
        font-size: 28px;
    }
}

@media (max-width: 767px) {

    .hero {
        min-height: auto;
        padding-top: 140px;
        padding-bottom: 80px;
    }

        .hero h1 {
            font-size: 38px;
        }

        .hero p {
            font-size: 18px;
        }

    .hero-bg {
        left: -118%;
    }

        .hero-bg img {
            opacity: .53;
        }


    .hero-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to right, #0a0e1a 10%, rgba(10, 14, 26, .85) 45%, transparent);
    }

    .btn-primary-custom,
    .btn-secondary-custom,
    .btn-conheca {
        width: 100%;
        max-width: none;
        margin-bottom: 12px;
    }

    .provider-top {
        flex-direction: column;
    }

    .mobile-bottom-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: rgba(10,14,26,.96);
        border-top: 1px solid rgba(255,255,255,.05);
        z-index: 9999;
        justify-content: space-around;
        padding: 12px 0;
    }

        .mobile-bottom-nav a {
            color: #7c8794;
            text-align: center;
            font-size: 11px;
        }

            .mobile-bottom-nav a.active,
            .mobile-bottom-nav a:hover {
                color: #2563eb;
            }

        .mobile-bottom-nav span {
            display: block;
            margin-bottom: 4px;
        }

    body {
        padding-bottom: 90px;
    }
}


@media (max-width: 450px) {
    .hero-bg {
        left: -285%;
    }
}

/* MENU RIGHT */

.navbar-right > li > a {
    height: 80px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    color: #c7d1d6 !important;
    font-size: 20px;
    padding: 0 16px !important;
    background: transparent !important;
}

    .navbar-right > li > a:hover {
        color: #2563eb !important;
    }

    /* USER IMAGE */

    .navbar-right > li > a img {
        width: 44px;
        height: 44px;
        object-fit: cover;
        border-radius: 14px;
        border: 2px solid rgba(255,255,255,.08);
        box-shadow: 0 0 20px rgba(0,0,0,.25);
        background: var(--bg-card)
    }

    .navbar-right > li > a:hover img {
        border-color: #2563eb;
        transform: scale(1.05);
    }

/* MOBILE */

@media(max-width:767px) {

    .navbar-right {
        margin-top: 10px;
        margin-bottom: 10px;
    }

        .navbar-right > li > a {
            height: auto;
            justify-content: flex-start;
            padding: 14px 18px !important;
        }
}

/*layout fim*/



/*empresa inicio*/

.company-cover {
    margin-top: 55px;
    position: relative;
    height: 360px;
    overflow: hidden;
}

    .company-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: .55;
    }

.company-cover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(10,14,26,.1), rgba(10,14,26,.95));
}

.company-header {
    position: relative;
    margin-top: -110px;
    z-index: 5;
}

.company-card {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 30px;
    padding: 35px;
    box-shadow: 0 0 30px rgba(0,0,0,.25);
}

.company-logo {
    width: 130px;
    height: 130px;
    border-radius: 30px;
    object-fit: cover;
    border: 4px solid #0a0e1a;
    margin-top: -100px;
    background: #111;
}

.logo-service-company {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    border: 2px solid #0a0e1a;
    background: #111;
}

.company-shield {
    width: 130px;
    height: 130px;
    border-radius: 30px;
    object-fit: cover;
    border: 4px solid #0a0e1a;
    margin-top: -100px;
    background: #111;
}

.company-name {
    font-family: 'Manrope',sans-serif;
    font-size: 42px;
    font-weight: 800;
    margin-top: 20px;
    margin-bottom: 8px;
}

.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0,229,255,.12);
    border: 1px solid rgba(0,229,255,.2);
    color: #2563eb;
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.company-meta {
    margin-top: 18px;
    color: #aebcc1;
    line-height: 1.9;
    font-size: 15px;
}

.company-actions {
    margin-top: 28px;
}

.btn-primary-custom {
    background: #2563eb;
    border: none;
    color: #001f24;
    font-weight: 700;
    padding: 14px 26px;
    border-radius: 14px;
    margin-right: 10px;
}

    .btn-primary-custom:hover {
        color: #001f24;
        transform: translateY(-2px);
    }

.btn-dark-custom {
    background: #262a37;
    border: 1px solid rgba(255,255,255,.06);
    color: #dfe2f3;
    font-weight: 700;
    padding: 14px 26px;
    border-radius: 14px;
}

    .btn-dark-custom:hover {
        background: #313442;
    }

/* LAYOUT */

.main-content {
    padding: 40px 0 90px;
}

.content-card {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 26px;
    padding: 30px;
    margin-bottom: 30px;
}

.section-title {
    font-family: 'Manrope',sans-serif;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 24px;
}

    .section-title span {
        color: #2563eb;
    }

.about-text {
    color: #bac9cc;
    line-height: 2;
    font-size: 15px;
}

.stats-grid {
    margin-top: 25px;
    display: flex;
    flex-flow: wrap
}

.col-xs-6:has(.stat-box) {
    padding: 5px;
}

.stat-box {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.04);
    border-radius: 20px;
    padding: 24px;
    text-align: center;
    margin-bottom: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px
}

.stat-number {
    font-size: 34px;
    font-weight: 800;
    color: #2563eb;
    margin-bottom: 8px;
}

.stat-label {
    color: #8f9ea3;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* POSTS */

.post-card {
    background: #0f131f;
    border-radius: 22px;
    padding: 25px;
    border: 1px solid rgba(255,255,255,.04);
    margin-bottom: 22px;
}

.post-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

    .post-header img {
        width: 56px;
        height: 56px;
        border-radius: 16px;
        object-fit: cover;
    }

.post-company {
    font-weight: 700;
    font-size: 18px;
}

.post-date {
    color: #8d9aa0;
    font-size: 13px;
    margin-top: 4px;
}

.post-text {
    color: #c3cfd3;
    line-height: 1.9;
    margin-bottom: 20px;
}

.post-image {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
}

    .post-image img {
        width: 100%;
        height: 340px;
        object-fit: cover;
    }

.post-actions {
    margin-top: 18px;
    display: flex;
    gap: 25px;
    color: #92a1a8;
    font-size: 14px;
}

    .post-actions span {
        display: flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
    }

        .post-actions span:hover {
            color: #2563eb;
        }

/* SIDEBAR */

.sidebar-card {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 24px;
    padding: 26px;
    margin-bottom: 25px;
}

.sidebar-title {
    font-size: 22px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
    margin-bottom: 24px;
}

.job-card {
    background: #0f131f;
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,.04);
}

    .job-card:hover {
        border-color: rgba(0,229,255,.25);
        transform: translateY(-3px);
    }

.job-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.job-location {
    color: #93a0a7;
    font-size: 13px;
    margin-bottom: 14px;
}

.job-tag {
    display: inline-block;
    background: rgba(0,229,255,.1);
    color: #2563eb;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
}

/* TEAM */

.team-member {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

    .team-member img {
        width: 58px;
        height: 58px;
        border-radius: 18px;
        object-fit: cover;
    }

.team-name {
    font-weight: 700;
    font-size: 16px;
}

.team-role {
    color: #92a1a8;
    font-size: 13px;
    margin-top: 4px;
}

/* MOBILE */

@media(max-width:991px) {

    .company-name {
        font-size: 34px;
    }

    .company-cover {
        height: 280px;
    }
}

@media(max-width:767px) {

    .company-cover {
        height: 220px;
    }

    .company-logo {
        width: 100px;
        height: 100px;
        border-radius: 22px;
        margin-top: -70px;
    }

    .company-card {
        padding: 22px;
    }

    .company-name {
        font-size: 28px;
    }

    .company-actions .btn {
        width: 100%;
        margin-bottom: 12px;
    }

    .section-title {
        font-size: 24px;
    }

    .post-image img {
        height: 220px;
    }
}

/* REVIEWS */

.review-card {
    background: #0f131f;
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,.04);
}

    .review-card:hover {
        border-color: rgba(0,229,255,.25);
        transform: translateY(-3px);
    }

.review-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

    .review-top img {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        object-fit: cover;
    }

.review-name {
    font-size: 16px;
    font-weight: 700;
}

.review-role {
    color: #92a1a8;
    font-size: 12px;
    margin-top: 4px;
}

.review-stars {
    color: #2563eb;
    letter-spacing: 2px;
    margin-bottom: 14px;
    font-size: 15px;
}

.review-text {
    color: #bac9cc;
    line-height: 1.8;
    font-size: 14px;
}

.review-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.review-tag {
    background: rgba(37, 99, 235, .12);
    color: #2563eb;
    border-radius: 40px;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 600;
}

/*empresa fim*/

/*minha conta incio*/

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-size: 24px;
    line-height: 1;
    vertical-align: middle;
}

/* NAVBAR */

.topbar {
    background: rgba(10,14,26,.96);
    border-bottom: 1px solid rgba(255,255,255,.05);
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 999;
    backdrop-filter: blur(16px);
}

.navbar-brand-custom {
    font-family: 'Manrope',sans-serif;
    font-size: 30px;
    font-weight: 800;
    color: #2563eb !important;
    letter-spacing: -1px;
    padding-top: 24px;
}

.nav-custom > li > a {
    color: #95a3b8 !important;
    font-weight: 600;
    padding-top: 30px;
}

    .nav-custom > li > a:hover,
    .nav-custom > li.active > a {
        background: transparent !important;
        color: #2563eb !important;
    }

/* PAGE */

.account-page {
    padding-top: 120px;
    padding-bottom: 80px;
}

.page-title {
    font-family: 'Manrope',sans-serif;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 10px;
}

.page-subtitle {
    color: #95a3b8;
    margin-bottom: 40px;
}

/* SIDEBAR */

.account-sidebar-card {
    padding: 0;
    overflow: hidden
}

.profile-top {
    padding: 35px 15px 10px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.05);
    background: linear-gradient( to bottom, rgba(0,229,255,.12), rgba(0,229,255,.02));
}

.profile-avatar {
    width: 95px;
    height: 95px;
    border-radius: 24px;
    object-fit: cover;
    margin-bottom: 18px;
    border: 3px solid rgba(0,229,255,.2);
    background: var(--bg-card)
}

.profile-name {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 6px;
}

.profile-email {
    color: #97a3ab;
    font-size: 14px;
}

.menu-list {
    padding: 15px;
}

.menu-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 16px;
    color: #c8d2d6;
    font-weight: 600;
    margin-bottom: 8px;
    text-decoration: none !important
}

    .menu-item:hover {
        background: #0f131f;
        color: #2563eb;
    }

    .menu-item.active {
        background: rgba(0,229,255,.1);
        color: #fff;
        border: 1px solid rgba(0,229,255,.15);
    }

    .menu-item.logout {
        color: #ff8d8d;
    }

        .menu-item.logout:hover {
            background: rgba(255,0,0,.08);
            color: #ffb0b0;
        }

/* CONTENT */

.content-card {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 28px;
    padding: 35px;
    margin-bottom: 30px;
}

.section-title {
    font-family: 'Manrope',sans-serif;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 10px;
}

.section-subtitle {
    color: #95a3b8;
    margin-bottom: 35px;
}

/* FORM */

.form-group {
    margin-bottom: 24px;
}

    .form-group label {
        color: #b8c3c8;
        font-size: 13px;
        margin-bottom: 10px;
        display: block;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-left: 7px
    }

        .form-group label i {
            font-size: 17px
        }

.form-control, .form-control[readonly] {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    height: 52px;
    border-radius: 14px;
    color: #dfe2f3 !important;
    box-shadow: none !important;
    padding-left: 18px;
    background-clip: padding-box;
}

/* ===== FILE UPLOAD (anexos) ===== */
.file-upload-trigger {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--bg-card, #0a1128);
    border: 1.5px dashed rgba(37, 99, 235, .45);
    border-radius: 14px;
    padding: 14px 16px;
    cursor: pointer;
    transition: all .2s;
}

    .file-upload-trigger:hover {
        background: var(--bg-card-hover, #0e1a3d);
        border-color: rgba(37, 99, 235, .8);
    }

    .file-upload-trigger .file-upload-icon {
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        background: rgba(37, 99, 235, .15);
        color: #4da3ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
    }

    .file-upload-trigger .file-upload-text {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

        .file-upload-trigger .file-upload-text strong {
            color: #fff;
            font-size: 14px;
            font-weight: 700;
        }

        .file-upload-trigger .file-upload-text span {
            color: var(--text-muted, #94a3b8);
            font-size: 12px;
        }

    .file-upload-trigger .file-upload-arrow {
        flex: 0 0 auto;
        color: var(--text-muted, #94a3b8);
        font-size: 14px;
    }

.file-upload-list {
    margin-top: 10px;
}

.file-upload-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 10px;
    padding: 8px 12px;
    margin-bottom: 8px;
    font-size: 13px;
}

    .file-upload-item i.fa-file-o,
    .file-upload-item i.fa-file-image-o,
    .file-upload-item i.fa-file-pdf-o,
    .file-upload-item i.fa-file-word-o {
        color: #4da3ff;
        font-size: 15px;
        flex: 0 0 auto;
    }

    .file-upload-item .file-upload-item-name {
        flex: 1 1 auto;
        color: #dfe2f3;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .file-upload-item .file-upload-item-size {
        flex: 0 0 auto;
        color: var(--text-muted, #94a3b8);
        font-size: 11px;
    }

    .file-upload-item .file-upload-item-remove {
        flex: 0 0 auto;
        background: transparent;
        border: none;
        color: #94a3b8;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all .15s;
    }

        .file-upload-item .file-upload-item-remove:hover {
            background: rgba(239, 68, 68, .15);
            color: #f87171;
        }

    .form-control:-webkit-autofill,
    .form-control:-webkit-autofill:hover,
    .form-control:-webkit-autofill:focus,
    .form-control:-webkit-autofill:active {
        -webkit-text-fill-color: #fff !important;
        caret-color: #fff !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        -webkit-box-shadow: 0 0 0px 1000px rgba(255,255,255,0.0) inset !important;
        transition: background-color 5000s ease-in-out 0s;
    }

    .form-control:focus {
        border-color: #2563eb;
    }

    .form-control[disabled] {
        opacity: .6;
        background: #0f131f;
        border: 1px solid rgba(255,255,255,.05);
    }

textarea.form-control {
    height: 120px;
    padding-top: 14px;
    resize: none;
    overflow-y: auto;
}

    textarea.form-control::-webkit-scrollbar {
        width: 10px;
    }

    textarea.form-control::-webkit-scrollbar-track {
        background: #0F131F;
        border-radius: 14px;
        margin: 10px 0;
    }

    textarea.form-control::-webkit-scrollbar-thumb {
        background: #2563eb;
        border-radius: 14px;
        border: 2px solid #0f131f;
    }

        textarea.form-control::-webkit-scrollbar-thumb:hover {
            background: #2563eb;
        }


.custom-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    margin: 15px 0;
    user-select: none;
}

    .custom-checkbox input {
        display: none;
    }

    .custom-checkbox .checkmark {
        width: 22px;
        height: 22px;
        border: 2px solid rgba(255,255,255,.25);
        border-radius: 8px;
        background: #020c2d;
        position: relative;
        transition: all .25s ease;
    }

    .custom-checkbox:hover .checkmark {
        border-color: #00e676;
        box-shadow: 0 0 10px rgba(0,230,118,.3);
    }

    .custom-checkbox input:checked + .checkmark {
        background: #00e676;
        border-color: #00e676;
        box-shadow: 0 0 15px rgba(0,230,118,.5);
    }

        .custom-checkbox input:checked + .checkmark::after {
            content: "\f00c";
            font-family: FontAwesome;
            color: #fff;
            font-size: 12px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

.checkbox-text {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    transition: color .25s ease;
}

.custom-checkbox:hover .checkbox-text {
    color: #00e676;
}

.btn-save {
    background: #2563eb;
    border: none;
    color: #fff;
    height: 52px;
    border-radius: 14px;
    font-weight: 700;
    padding: 0 28px;
}

    .btn-save:hover {
        color: #fff;
        transform: translateY(-2px);
    }

/* ORDERS */

.order-card {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.04);
    border-radius: 22px;
    padding: 24px;
    margin-bottom: 20px;
}

.order-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.order-number {
    font-size: 18px;
    font-weight: 700;
}

.order-status {
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.status-complete {
    background: rgba(0,255,153,.1);
    color: #00ff99;
}

.status-progress {
    background: rgba(0,229,255,.1);
    color: #2563eb;
}

.status-cancel {
    background: rgba(255,0,0,.08);
    color: #ff9b9b;
}

.order-service {
    display: flex;
    align-items: center;
    gap: 18px;
}

    .order-service img {
        width: 82px;
        height: 82px;
        border-radius: 20px;
        object-fit: cover;
    }

.service-name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
}

.service-provider {
    color: #92a1a8;
    margin-bottom: 8px;
}

.service-price {
    color: #2563eb;
    font-weight: 700;
}

.btn-outline-custom {
    background: transparent;
    border: 1px solid rgba(255,255,255,.08);
    color: #dfe2f3;
    border-radius: 14px;
    padding: 12px 20px;
    font-weight: 600;
    margin-top: 20px;
}

    .btn-outline-custom:hover {
        border-color: #2563eb;
        color: #2563eb;
        background: rgba(0,229,255,.05);
    }

/* MOBILE */

@media(max-width:991px) {

    .page-title {
        font-size: 34px;
    }
}

@media(max-width:767px) {

    .account-page {
        padding-top: 105px;
    }

    .page-title {
        font-size: 28px;
    }

    .content-card {
        padding: 22px;
    }

    .section-title {
        font-size: 24px;
    }

    .order-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .order-service {
        flex-direction: column;
        align-items: flex-start;
    }

        .order-service img {
            width: 100%;
            height: 220px;
        }

    .btn-save {
        width: 100%;
    }
}

/* AVATAR UPLOAD */

.avatar-upload-area {
    margin-bottom: 35px;
}

.avatar-preview-wrapper {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.avatar-preview {
    width: 120px;
    height: 120px;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    border: 2px solid rgba(0,229,255,.18);
    background: #0f131f;
    box-shadow: 0 0 25px rgba(0,0,0,.25);
}

    .avatar-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.avatar-upload-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(0,229,255,.08);
    border: 1px solid rgba(0,229,255,.15);
    color: #2563eb;
    height: 52px;
    padding: 0 22px;
    border-radius: 16px;
    font-weight: 700;
    cursor: pointer;
}

    .avatar-upload-btn:hover {
        background: rgba(0,229,255,.14);
        transform: translateY(-2px);
    }

    .avatar-upload-btn input {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
    }

.avatar-delete-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 59, 92, .08);
    border: 1px solid rgba(255, 59, 92, .18);
    color: #FF3B5C !important;
    text-decoration: none !important;
    height: 52px;
    padding: 0 22px;
    border-radius: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all .25s ease;
}

    .avatar-delete-btn:hover {
        background: rgba(255, 59, 92, .14);
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(255, 59, 92, .18);
    }

    .avatar-delete-btn:active {
        transform: scale(.98);
    }

.avatar-helper {
    color: #93a0a7;
    margin-top: 12px;
    font-size: 13px;
}

/* MODAL */

.crop-modal .modal-content {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: none;
}

.crop-modal .modal-header {
    border-bottom: 1px solid rgba(255,255,255,.05);
    padding: 24px 28px;
}

.crop-modal .modal-title {
    font-family: 'Manrope',sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
}

.crop-modal .close {
    color: #fff;
    opacity: 1;
    text-shadow: none;
    font-size: 28px;
}

.crop-modal .modal-body {
    padding: 28px;
    background: #0f131f;
}

.crop-container {
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    border-radius: 22px;
}

    .crop-container img {
        max-width: 100%;
    }

.crop-modal .modal-footer {
    border-top: 1px solid rgba(255,255,255,.05);
    padding: 20px 28px;
}

.btn-cancel {
    background: #262a37;
    border: none;
    color: #dfe2f3;
    height: 48px;
    padding: 0 22px;
    border-radius: 14px;
    font-weight: 700;
}

    .btn-cancel:hover {
        background: #313442;
        color: #fff;
    }

.btn-crop {
    background: #2563eb;
    border: none;
    color: #001f24;
    height: 48px;
    padding: 0 24px;
    border-radius: 14px;
    font-weight: 700;
}

    .btn-crop:hover {
        background: var(--cyan-primary);
    }

@media(max-width:767px) {

    .avatar-preview-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .crop-modal .modal-body {
        padding: 18px;
    }
}


.menu-dropdown {
    width: 100%;
}

.menu-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-decoration: none !important;
    color: #fff !important
}

.submenu-list {
    display: none;
    padding-left: 18px;
    margin-top: 6px;
}

.submenu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    text-decoration: none;
    transition: all .2s;
    font-size: 14px;
    color: #fff;
    text-decoration: none
}

    .submenu-item:hover {
        background: #0f131f;
        color: #2563eb;
        text-decoration: none
    }

.arrow {
    transition: transform .3s;
    color: #fff;
    text-decoration: none
}

.menu-dropdown.open .arrow {
    transform: rotate(180deg);
}

.menu-item.active,
.submenu-item.active {
    background: #0f131f;
    color: #2563eb;
    font-weight: 600;
}

    .menu-item.active i,
    .submenu-item.active i {
        color: #2563eb;
    }

.indicacao-status {
    padding: 6px 18px;
    background: #0000ff;
    width: fit-content;
    border-radius: 15px
}

.indicacao-status-Pendente {
    background: #bb8c00
}

.indicacao-status-Confirmado {
    background: #198754
}

.indicacao-status-Negado, .indicacao-status-Erro {
    background: #dc3545
}

/*minha conta fim*/


.selected-items {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    border-radius: 8px;
    margin-bottom: 10px;
    width: 100%
}

.tag {
    background: #1D4FFF;
    color: #fff;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 8px;
}

    .tag button {
        background: transparent;
        border: none;
        color: #fff;
        cursor: pointer;
        font-size: 14px;
        font-weight: bold;
    }



option {
    background: #020923;
    color: #fff;
}


select:invalid {
    color: #94a3b8;
}

.login-card .form-control:disabled {
    opacity: .4
}



/* SERVICES */

.btn-new-service {
    width: 100%;
    max-width: 220px;
}

.services-filter {
    margin-top: 25px;
    margin-bottom: 30px;
}

.service-item {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 24px;
    padding: 24px;
    margin-bottom: 24px;
}

    .service-item:hover {
        border-color: rgba(0,229,255,.18);
        transform: translateY(-2px);
    }

.service-thumb {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 20px;
}

.service-category {
    display: inline-block;
    background: rgba(0,229,255,.1);
    color: #2563eb;
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    margin-bottom: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.service-title-small {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 14px;
    font-family: 'Manrope',sans-serif;
}

.service-description-small {
    color: #9bacb0;
    line-height: 1.8;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 42px;
}

.service-meta {
    display: flex;
    gap: 18px;
    color: #8f9ea4;
    font-size: 14px;
}

.service-price {
    font-size: 17px;
    font-weight: 800;
    color: #2563eb;
    margin-bottom: 14px;
}

    .service-price > span {
        font-size: 12px
    }

.service-status {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

    .service-status.active {
        background: rgba(0,255,153,.12);
        color: #00ff99;
    }

    .service-status.paused {
        background: rgba(255,193,7,.12);
        color: #ffc107;
    }

.service-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.btn-service-edit {
    background: #2563eb;
    color: #fff;
    border: none;
    height: 44px;
    border-radius: 12px;
    font-weight: 700;
}

    .btn-service-edit:hover {
        color: #fff;
    }

.btn-service-delete {
    background: #232736;
    color: #dfe2f3 !important;
    border: 1px solid rgba(255,255,255,.05);
    height: 44px;
    border-radius: 12px;
    font-weight: 700;
}

    .btn-service-delete:hover {
        background: #2d3142;
    }

/* MODAL */

.custom-modal {
    background: #171b28;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.06);
    overflow: hidden;
    box-shadow: 0 0 50px rgba(0,0,0,.45);
}

.custom-modal-header {
    border-bottom: 1px solid rgba(255,255,255,.05);
    padding: 30px;
}

.custom-modal-title {
    font-size: 32px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
}

.custom-modal-subtitle {
    color: #95a3b8;
    margin-top: 10px;
}

.custom-close {
    color: #fff;
    opacity: 1;
    text-shadow: none;
    font-size: 30px;
}

    .custom-close:hover {
        color: #2563eb;
    }

.custom-modal-footer {
    border-top: 1px solid rgba(255,255,255,.05);
    padding: 24px 30px;
}

.custom-textarea {
    height: 130px !important;
    resize: none;
    padding-top: 14px;
}

.upload-box {
    background: #0f131f;
    border: 2px dashed rgba(255,255,255,.08);
    border-radius: 22px;
    padding: 40px;
    text-align: center;
    color: #92a1a8;
    cursor: pointer;
}

    .upload-box:hover {
        border-color: #2563eb;
        color: #2563eb;
    }

    .upload-box .material-symbols-outlined {
        font-size: 42px;
        margin-bottom: 14px;
    }

.btn-service-cancel {
    background: #232736;
    border: 1px solid rgba(255,255,255,.05);
    color: #dfe2f3 !important;
    height: 50px;
    border-radius: 14px;
    padding: 0 24px;
    font-weight: 700;
    margin-right: 10px;
}

    .btn-service-cancel:hover {
        background: #2e3345;
    }

/* MOBILE */

@media(max-width:767px) {

    .btn-new-service {
        margin-top: 20px;
        max-width: 100%;
    }

    .service-thumb {
        margin-bottom: 20px;
    }

    .service-buttons {
        margin-top: 20px;
    }

    .service-price {
        margin-top: 20px;
    }

    .custom-modal-header,
    .custom-modal-footer {
        padding: 22px;
    }

    .custom-modal-title {
        font-size: 26px;
    }
}

.service-thumb-wrapper {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 18px;
}

.service-thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15,19,31,.75);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    transition: .25s;
    font-size: 13px;
    font-weight: 600;
}


    .service-thumb-overlay .fa {
        font-size: 24px;
        margin-bottom: 8px;
    }

.gallery-upload-area {
    margin-bottom: 25px;
    position: relative;
}

.gallery-upload-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(17,21,34,.92);
    border-radius: 14px;
    z-index: 5;
}

    .gallery-upload-overlay .fa-spinner {
        font-size: 32px;
        color: #fff;
    }

.gallery-upload-overlay-text {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.gallery-upload-btn {
    color: #fff;
    padding: 14px 20px;
    border-radius: 14px;
    cursor: pointer;
    display: inline-block;
    transition: .2s;
}

    .gallery-upload-btn:hover {
        background: #20263a;
    }

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(180px,1fr));
    gap: 18px;
}

.gallery-item {
    position: relative;
    background: #111522;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.05);
}

    .gallery-item img {
        width: 100%;
        height: 180px;
        object-fit: cover;
        display: block;
    }

.gallery-actions {
    padding: 10px;
    display: flex;
    justify-content: space-between;
}

.gallery-sort {
    cursor: move;
}

.gallery-remove {
    color: #ff6b6b;
    cursor: pointer;
}

.gallery-order {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 28px;
    height: 28px;
    background: rgba(0,0,0,.7);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.cropper-container-custom {
    width: 100%;
    max-height: 70vh;
    overflow: hidden;
    background: #0f131f;
}

#cropperImage {
    max-width: 100%;
    display: block;
}


.cropper-modal {
    background: rgba(0,0,0,.75);
}





/*locais e horarios*/

/* =========================
   SCHEDULE / HORÁRIOS
========================= */

.schedule-day {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 22px;
    padding: 22px;
    margin-bottom: 18px;
    transition: .25s ease;
}

    .schedule-day:hover {
        border-color: rgba(0,229,255,.15);
    }

.schedule-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.schedule-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

/* =========================
   SWITCH
========================= */

.switch {
    position: relative;
    display: inline-block;
    width: 56px;
    height: 30px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2d3447;
    border-radius: 50px;
    transition: .25s ease;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 4px;
        bottom: 4px;
        background: #fff;
        border-radius: 50%;
        transition: .25s ease;
    }

.switch input:checked + .slider {
    background: #2563eb;
}

    .switch input:checked + .slider:before {
        transform: translateX(26px);
    }

/* =========================
   INPUT TIME
========================= */

input[type="time"] {
    color-scheme: dark;
}

    input[type="time"]::-webkit-calendar-picker-indicator {
        filter: invert(1);
        opacity: .7;
        cursor: pointer;
    }

/* =========================
   RESPONSIVO
========================= */

@media(max-width:767px) {

    .schedule-header {
        margin-bottom: 18px;
    }

    .schedule-title {
        font-size: 16px;
    }
}


.company-location-card {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 26px;
    padding: 28px;
    margin-bottom: 30px;
}

    .location-card:hover {
        border-color: rgba(0,229,255,.18);
    }

.location-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px;
}

.location-name {
    font-size: 28px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
    margin-bottom: 8px;
}

.location-address {
    color: #98a7ac;
    line-height: 1.8;
}

.location-badge {
    background: rgba(0,229,255,.1);
    color: #2563eb;
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* DAYS */

.days-grid {
    margin-top: 20px;
    display: flex;
    flex-flow: wrap
}

    .days-grid::before, .days-grid::after {
        content: none
    }

@media (max-width: 1199px) {
    .day-item {
        min-width: 110px
    }
}

.day-item {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.04);
    border-radius: 18px;
    padding: 8px;
    margin-bottom: 16px;
    min-width: 90px;
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center
}

.day-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

.day-hours {
    color: #97a5ab;
    font-size: 14px;
}

.day-status {
    margin-top: 10px;
    display: inline-block;
    padding: 6px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.status-open {
    background: rgba(0,255,153,.12);
    color: #00ff99;
}

.status-closed {
    background: rgba(255,0,0,.08);
    color: #ff9d9d;
}

/* ACTIONS */

.location-actions {
    margin-top: 25px;
    display: flex;
    gap: 12px;
}

/* REGION */

.region-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.region-tag {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    padding: 12px 18px;
    border-radius: 50px;
    color: #dfe2f3;
    font-size: 14px;
    font-weight: 600;
}

    .region-tag:hover {
        border-color: #2563eb;
        color: #2563eb;
    }

.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #2d3446;
    transition: .3s;
    border-radius: 50px;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 3px;
        top: 3px;
        background: #fff;
        transition: .3s;
        border-radius: 50%;
    }

.switch input:checked + .slider {
    background: #5c7cfa;
}

    .switch input:checked + .slider:before {
        transform: translateX(24px);
    }


/*chat*/


.chat-page {
    height: 100vh;
    padding-top: 0px;
}

.chat-wrapper {
    height: 100vh;
    display: flex;
}

/* ======================================
           SIDEBAR
        ====================================== */

.chat-sidebar {
    width: 380px;
    background: #171b28;
    border-right: 1px solid rgba(255,255,255,.05);
    display: flex;
    flex-direction: column;
}

.chat-sidebar-header {
    padding: 26px;
    border-bottom: 1px solid rgba(255,255,255,.05);
}

.chat-sidebar-title {
    font-size: 28px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.chat-search {
    position: relative;
}

    .chat-search span {
        position: absolute;
        left: 16px;
        top: 13px;
        color: #7e8d96;
        font-size: 20px;
    }

    .chat-search input {
        width: 100%;
        height: 50px;
        background: #0f131f;
        border: 1px solid rgba(255,255,255,.05);
        border-radius: 16px;
        padding-left: 48px;
        color: #fff;
        outline: none;
    }

        .chat-search input:focus {
            border-color: #2563eb;
        }

/* ======================================
           SEARCH EMPTY STATE
        ====================================== */

.chat-search-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #8fa0a6;
    text-align: center;
    font-size: 14px;
}

    .chat-search-empty p {
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

        .chat-search-empty p:before {
            content: '\f06a';
            font-family: 'FontAwesome';
            font-size: 32px;
            color: #6b7485;
        }

/* ======================================
           CONTACTS
        ====================================== */

.chat-contacts {
    flex: 1;
    overflow-y: auto;
}

.chat-contact {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255,255,255,.03);
    cursor: pointer;
    text-decoration: none !important;
}

    .chat-contact:hover {
        background: #111623;
    }

    .chat-contact.active {
        background: rgba(0,229,255,.08);
    }

.chat-contact-avatar {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--bg-card)
}

.chat-contact-content {
    flex: 1;
    min-width: 0;
}

.chat-contact-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    color: #fff !important
}

.chat-contact-name {
    font-size: 16px;
    font-weight: 700;
}

.chat-contact-time {
    color: #7d8b92;
    font-size: 12px;
}

.chat-contact-message {
    color: #8fa0a6;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-contact-badge {
    background: #2563eb;
    color: #001f24;
    min-width: 22px;
    height: 22px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    margin-left: 10px;
}

/* Serviços List Modal */
.service-list {
    max-height: 400px;
    overflow-y: auto;
    padding: 10px 0;
}

.servico-card-chat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

    .servico-card-chat:hover {
        background: rgba(255,255,255,0.06);
        border-color: rgba(59,130,246,0.3);
    }

    .servico-card-chat img {
        width: 60px;
        height: 60px;
        border-radius: 8px;
        object-fit: cover;
    }

.servico-card-info {
    flex: 1;
}

    .servico-card-info h4 {
        margin: 0 0 4px;
        font-size: 14px;
        color: #fff;
    }

    .servico-card-info .servico-preco {
        color: #60a5fa;
        font-weight: 600;
        font-size: 13px;
    }
/* ======================================
           CHAT CONTENT
        ====================================== */

.chat-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #0f131f;
}

/* Container do botão */
.chat-options-container {
    position: relative;
}

/* Botão dos três pontos */
.chat-header-btn {
    width: 44px;
    height: 44px;
    border: 1px solid #3d72ff;
    background: #f7f8fb;
    color: #1769ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s ease;
    padding: 0;
    border-color: #5a87ff !important;
}

    .chat-header-btn:hover {        
        border-color: #5a87ff;
        box-shadow: 0 0 0 3px rgba(23, 105, 255, .10);
    }

    .chat-header-btn:focus {
        outline: none;
    }

    .chat-header-btn .fa {
        font-size: 16px;
    }


/* =========================
   MENU DE OPÇÕES
   ========================= */

.chat-options-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 230px;
    background: #171b29;
    border: 1px solid #292e3d;
    border-radius: 12px;
    padding: 7px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .40), 0 4px 12px rgba(0, 0, 0, .25);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px) scale(.98);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}


    /* Menu aberto */
    .chat-options-menu.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
    }


/* =========================
   ITEM
   ========================= */

.chat-option-item {
    width: 100%;
    border: 0;
    background: transparent;
    color: #d9dce5;
    padding: 11px 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    transition: background .15s ease, color .15s ease;
}


    /* Hover */
    .chat-option-item:hover {
        background: #222737;
        color: #ffffff;
    }


    /* Ícones */
    .chat-option-item span:first-child {
        width: 18px;
        text-align: center;
        color: #8d94a5;
        font-size: 14px;
        transition: color .15s ease;
    }


    /* Ícone no hover */
    .chat-option-item:hover span:first-child {
        color: #4c83ff;
    }


/* =========================
   DIVISOR
   ========================= */

.chat-option-divider {
    height: 1px;
    background: #2b3040;
    margin: 5px 4px;
}


/* =========================
   OPÇÃO PERIGOSA
   ========================= */

.chat-option-danger {
    color: #ff6666;
}

    .chat-option-danger span:first-child {
        color: #ff5c5c;
    }

    .chat-option-danger:hover {
        background: rgba(255, 70, 70, .10);
        color: #ff6b6b;
    }

        .chat-option-danger:hover span:first-child {
            color: #ff6b6b;
        }

/* ======================================
           FILE MESSAGE
        ====================================== */

.message-file {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(0, 229, 255, 0.1);
    border: 1px solid rgba(0, 229, 255, 0.3);
    border-radius: 12px;
    text-decoration: none;
    color: #2563eb;
    transition: all 0.2s ease;
}

.message-row.sent .message-file {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: inherit;
}

.message-file:hover {
    background: rgba(0, 229, 255, 0.2);
    border-color: rgba(0, 229, 255, 0.5);
    transform: translateX(4px);
}

.message-row.sent .message-file:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
}

.message-file-icon {
    font-size: 18px;
    flex-shrink: 0;
}

.message-file-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.message-file-name {
    font-weight: 600;
    font-size: 13px;
    word-break: break-word;
}

.message-file-size {
    font-size: 11px;
    opacity: 0.7;
}

/* ======================================
           CHAT HEADER
        ====================================== */

.chat-header {
    height: 86px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #171b28;
}

.chat-user {
    display: flex;
    align-items: center;
    gap: 16px;
}

.chat-user-avatar {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    object-fit: cover;
}

.chat-user-name {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
}

.chat-user-status {
    color: #00ff99;
    font-size: 13px;
}

.chat-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.chat-header-btn {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #c7d1d6;
}

    .chat-header-btn:hover {
        border-color: #2563eb;
        color: #2563eb;
    }

/* ======================================
           MESSAGES
        ====================================== */

.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 30px;
}

.message-row {
    margin-bottom: 22px;
    display: flex;
}

    .message-row.sent {
        justify-content: flex-end;
    }

.message-bubble {
    max-width: 420px;
    padding: 10px 18px;
    border-radius: 22px;
    position: relative;
}

.message-row.sent .message-bubble {
    text-align: right
}

.message-row.received .message-bubble {
    background: #171b28;
    border-top-left-radius: 8px;
    text-align: left
}

    .message-row.received .message-bubble > .message-time {
        text-align: left
    }

.message-row.sent .message-bubble {
    background: #2563eb;
    color: #fff;
    border-top-right-radius: 8px;
}

.message-text {
    line-height: 1.7;
    font-size: 14px;
}

.message-time {
    margin-top: 4px;
    font-size: 11px;
    opacity: .7;
    text-align: right;
}

/* ======================================
           CHAT FOOTER
        ====================================== */

.chat-footer {
    padding: 22px 26px;
    border-top: 1px solid rgba(255,255,255,.05);
    background: #171b28;
}

.chat-input-wrapper {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* INPUT */

.chat-input {
    flex: 1;
    position: relative;
}

    .chat-input input {
        width: 100%;
        height: 58px;
        background: #0f131f;
        border: 1px solid rgba(255,255,255,.05);
        border-radius: 18px;
        padding: 0 70px 0 22px;
        color: #fff;
        outline: none;
        font-size: 14px;
    }

        .chat-input input:focus {
            border-color: #2563eb;
        }

/* EMOJI BUTTON */

.chat-input-inside-btn {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 12px;
    background: #171b28;
    color: #c8d2d6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px
}

    .chat-input-inside-btn:hover {
        background: #1e2433;
        color: #2563eb;
    }


.chat-input-left-btn {
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 12px;
    background: #0F131F;
    color: #c8d2d6;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px
}

    .chat-input-left-btn:hover {
        background: #1e2433;
        color: #2563eb;
    }


/* SEND BUTTON */

.chat-send-btn {
    width: 58px;
    height: 58px;
    border: none;
    border-radius: 18px;
    background: #2563eb;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.chat-send-btn:disabled {
    background: #3b4252;
    color: #8b93a1;
    cursor: not-allowed;
    opacity: 0.7;
}


/* ======================================
           EMOJI PICKER
        ====================================== */

.emoji-picker {
    position: absolute;
    left: 0;
    bottom: 50px;
    width: 260px;
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 20px;
    padding: 16px;
    display: none;
    flex-wrap: wrap;
    gap: 10px;
    z-index: 50;
    box-shadow: 0 10px 40px rgba(0,0,0,.35);
}

    .emoji-picker.active {
        display: flex;
    }

.emoji-item {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 22px;
    background: #0f131f;
}

    .emoji-item:hover {
        background: #232b3d;
        transform: scale(1.08);
    }

/* ======================================
           RESPONSIVE
        ====================================== */

@media(max-width:991px) {

    .chat-sidebar {
        width: 320px;
    }
}

@media(max-width:767px) {


    .chat-wrapper {
        flex-direction: column;
        height: auto;
    }

    .chat-sidebar {
        width: 100%;
        height: 380px;
    }

    .chat-content {
        height: calc(100vh - 460px);
    }

    .chat-header {
        padding: 0 16px;
    }

    .chat-messages {
        padding: 18px;
    }

    .chat-footer {
        padding: 18px;
    }

    .message-bubble {
        max-width: 90%;
    }

    .chat-sidebar-title {
        font-size: 24px;
    }

    .emoji-picker {
        width: 220px;
    }
}

/* Mobile Sidebar Toggle Styles */
.chat-mobile-menu-btn {
    display: none;
    width: 50px;
    height: 50px;
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 14px;
    color: #2563eb;
    font-size: 20px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

.chat-sidebar-close {
    display: none !important;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
}

@media(max-width:767px) {

    .chat-wrapper {
        flex-direction: column;
        height: 100vh;
        position: relative;
    }

    .chat-mobile-menu-btn {
        display: flex;
    }

    .chat-sidebar {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.5);
    }

        .chat-sidebar.open {
            transform: translateX(0);
        }

    .chat-sidebar-close {
        display: block !important;
    }

    .chat-content {
        width: 100%;
        height: calc(100vh - 0px);
        position: relative;
    }

    .chat-header {
        padding: 0 16px;
    }

    .chat-messages {
        padding: 18px;
    }

    .chat-footer {
        padding: 18px;
    }

    .message-bubble {
        max-width: 90%;
    }

    .chat-sidebar-title {
        font-size: 24px;
    }

    .emoji-picker {
        width: 220px;
    }
}

.orcamento-servico {
    display: flex;
    gap: 15px;
    align-items: center;
}

    .orcamento-servico img {
        width: 120px;
        height: 80px;
        object-fit: cover;
        border-radius: 10px;
    }

.orcamento-info h3 {
    margin: 0;
    font-size: 20px;
    color: #fff;
}

.orcamento-valor {
    margin-top: 8px;
    color: #00c896;
    font-weight: bold;
    font-size: 18px;
}

.chat-orcamento {
    margin-bottom: 22px
}

.chat-messages {
    padding-bottom: 30px;
    scrollbar-width: thin;
    scrollbar-color: #2563EB #0b1220;
}

    /* Chrome, Edge e Safari */
    .chat-messages::-webkit-scrollbar, .chat-contacts::-webkit-scrollbar {
        width: 8px;
    }

    .chat-messages::-webkit-scrollbar-track, .chat-contacts::-webkit-scrollbar-track {
        background: #0b1220;
        border-radius: 10px;
    }

    .chat-messages::-webkit-scrollbar-thumb, .chat-contacts::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, #2563EB, #2563EB);
        border-radius: 10px;
        transition: 0.3s;
    }

        .chat-messages::-webkit-scrollbar-thumb:hover, .chat-contacts::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, #67e8f9, #38bdf8);
        }



/*orçamento */



.orcamento-page {
    padding: 100px 0 80px;
}

.page-title {
    font-size: 42px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
    margin-bottom: 10px;
    color: #fff;
}

.page-description {
    color: #91a0a7;
    font-size: 15px;
    margin-bottom: 40px;
}

/* ======================================
           CARD
        ====================================== */

.card-dark {
    background: #171b28;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 28px;
    padding: 30px;
    margin-bottom: 24px;
}

.card-title {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 25px;
    color: #fff;
}

/* ======================================
           SERVICE
        ====================================== */

.service-preview {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.service-image {
    width: 140px;
    height: 140px;
    border-radius: 24px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.06);
}

.service-info {
    flex: 1;
}

.service-name {
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #fff;
}

.service-category {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,229,255,.12);
    color: #2563eb;
    border-radius: 40px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 18px;
}



.info-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.info-box {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 22px;
    padding: 24px;
}

.info-label {
    color: #8ea0a6;
    font-size: 13px;
    margin-bottom: 10px;
}

.info-value {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.text-descricao-orcamento {
    margin-left: 15px;
    font-size: 19px
}

@media (max-width: 600px) {
    .info-grid {
        display: grid;
        grid-template-columns: repeat(1,1fr);
        gap: 20px;
    }
}

/* ACEITO */
.status-aceito {
    background: linear-gradient(180deg,#2f7fff,#0f5ee5);
    color: #fff;
}

/* PAGO */
.status-pago {
    background: #123524;
    color: #39ff88;
}

/* SERVIÇO REALIZADO */
.status-realizado {
    background: linear-gradient(180deg, #fbbf24, #f59e0b);
    color: #fff;
}

/* CONCLUÍDO */
.status-concluido {
    background: linear-gradient(180deg, #22c55e, #16a34a);
    color: #ffffff;
}

/* CANCELADO */
.status-cancelado {
    background: linear-gradient(175deg, #ff3b3b, #a91616);
    box-shadow: 0 4px 12px rgba(255, 59, 59, 0.20);
    color: #ffffff
}

/* APROVAÇÃO */
.status-aprovacao {
    background: linear-gradient(180deg, #ffd43b -3%, #e6a800 56%);
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.22);
    color: #fff;
}

/* PENDENTE */
.status-pendente {
    background: linear-gradient(180deg, #6b7280, #374151);
    color: #d6d6d6;
}

/* SACADO */
.status-sacado {
    background: #1d4d2b;
    color: #7dff9b;
}

/* =========================================
   FILE PREVIEW MODAL
========================================= */

.file-preview-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    z-index: 99999;
    display: none;
    justify-content: center;
    align-items: center;
    padding: 20px;
    backdrop-filter: blur(4px);
}

.file-preview-content {
    width: 100%;
    max-width: 620px;
    background: #111827;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.08);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.45);
    animation: previewFade .2s ease;
    position: relative;
}

@keyframes previewFade {
    from {
        opacity: 0;
        transform: translateY(10px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.file-preview-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.08);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    transition: .2s;
    z-index: 2;
}

    .file-preview-close:hover {
        background: rgba(255,255,255,0.18);
        transform: rotate(90deg);
    }

/* =========================================
   PREVIEW AREA
========================================= */

.file-preview-container {
    padding: 20px;
    min-height: 260px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0f172a;
}

/* =========================================
   IMAGE PREVIEW
========================================= */

.preview-image-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.preview-image {
    width: 100%;
    max-height: 420px;
    object-fit: contain;
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

/* =========================================
   FILE PREVIEW
========================================= */

.preview-file-wrapper {
    width: 100%;
    padding: 30px 20px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    display: flex;
    align-items: center;
    gap: 18px;
}

.preview-file-icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 18px;
    background: linear-gradient(135deg,#2563eb,#3b82f6);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 30px;
}

.preview-file-info {
    overflow: hidden;
}

.preview-file-name {
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    word-break: break-word;
}

.preview-file-type {
    margin-top: 6px;
    color: #94a3b8;
    font-size: 14px;
}
/* =========================================
   MESSAGE INPUT
========================================= */

.file-message-input {
    width: calc(100% - 40px);
    margin: 0 20px 20px;
    height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.04);
    color: #fff;
    padding: 0 16px;
    outline: none;
    transition: .2s;
}

    .file-message-input:focus {
        border-color: #3b82f6;
        background: rgba(255,255,255,0.06);
    }

    .file-message-input::placeholder {
        color: #94a3b8;
    }

/* =========================================
   ACTION BUTTONS
========================================= */

.file-preview-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px 20px;
}


.image-viewer {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.96);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    overflow: auto;
}

    .image-viewer.active {
        display: flex;
    }

.image-viewer-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    overflow: auto;
}

.image-viewer-img {
    max-width: 95%;
    max-height: 95%;
    object-fit: contain;
    transition: transform 0.2s ease;
    cursor: grab;
    user-select: none;
}

.image-viewer-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 22px;
    z-index: 2;
}

.image-viewer-zoom-btn {
    position: fixed;
    bottom: 30px;
    right: 90px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 18px;
    z-index: 2;
}

    .image-viewer-zoom-btn.zoom-in {
        right: 30px;
    }

.open-image-viewer {
    display: block;
    cursor: zoom-in;
}

.message-image {
    transition: 0.2s ease;
}

    .message-image:hover {
        opacity: 0.92;
        transform: scale(1.01);
    }

.image-viewer {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.96);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    overflow: auto;
}

    .image-viewer.active {
        display: flex;
    }

.image-viewer-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    overflow: auto;
}

.image-viewer-img {
    max-width: 95%;
    max-height: 95%;
    object-fit: contain;
    transition: transform 0.2s ease;
    cursor: grab;
    user-select: none;
}

.image-viewer-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 22px;
    z-index: 2;
}

.image-viewer-zoom-btn {
    position: fixed;
    bottom: 30px;
    right: 90px;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    font-size: 18px;
    z-index: 2;
}

    .image-viewer-zoom-btn.zoom-in {
        right: 30px;
    }

.open-image-viewer {
    display: block;
    cursor: zoom-in;
}

.message-image {
    transition: 0.2s ease;
}

    .message-image:hover {
        opacity: 0.92;
        transform: scale(1.01);
    }

/*serviço*/
.page-wrapper {
    padding: 110px 0 80px;
}

/* SERVICE TOP */

.service-top {
    margin-bottom: 35px;
}

.service-top-card {
    background: linear-gradient(145deg, #171d34, #101525);
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 36px;
    overflow: hidden;
    position: relative;
}

    .service-top-card:before {
        content: '';
        position: absolute;
        width: 420px;
        height: 420px;
        background: rgba(107,231,255,.08);
        border-radius: 50%;
        top: -180px;
        right: -140px;
    }

.service-content {
    padding: 50px;
    position: relative;
    z-index: 2;
}

.service-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(107,231,255,.1);
    color: #6BE7FF;
    border: 1px solid rgba(107,231,255,.15);
    padding: 10px 18px;
    border-radius: 60px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.service-title {
    font-family: 'Manrope',sans-serif;
    font-weight: 800;
    line-height: 1.05;
    margin-bottom: 20px;
}

.service-description {
    font-size: 17px;
    color: #aeb9d4 !important;
    line-height: 2;
    max-width: 780px;
    margin-bottom: 35px;
}

.service-actions .btn {
    margin-right: 12px;
}

.btn-primary-custom {
    background: #2563eb;
    border: none;
    color: #fff;
    font-weight: 700;
    padding: 16px 28px;
    border-radius: 16px;
}

    .btn-primary-custom:hover {
        background: #2563eb;
        transform: translateY(-2px);
        color: #fff;
    }

.btn-dark-custom {
    background: #20263c;
    border: 1px solid rgba(255,255,255,.06);
    color: #ecf1ff;
    font-weight: 700;
    padding: 16px 28px;
    border-radius: 16px;
}

/* GRID */

.service-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

/* CARD */

.glass-card {
    background: rgba(20,26,45,.95);
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 30px;
    padding: 32px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.section-title {
    font-family: 'Manrope',sans-serif;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 25px;
}

    .section-title span {
        color: #2563eb;
    }



.close-gallery {
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: #1f263a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

.modal-gallery-item {
    border-radius: 22px;
    overflow: hidden;
    cursor: pointer;
    background: #111;
}

    .modal-gallery-item img {
        width: 100%;
        height: 320px;
        object-fit: cover;
    }

    .modal-gallery-item:hover img {
        transform: scale(1.03);
    }

/* IMAGE VIEWER */

.image-viewer {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.98);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

    .image-viewer.active {
        display: flex;
    }

.viewer-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 54px;
    height: 54px;
    border: none;
    border-radius: 50%;
    background: #1e2437;
    color: #fff;
    z-index: 20;
}

.viewer-wrapper {
    overflow: hidden;
    max-width: 100%;
    max-height: 100%;
    cursor: grab;
}

.viewer-image {
    max-width: 90vw;
    max-height: 85vh;
    transform: scale(1);
    transition: transform .15s ease;
    user-select: none;
    -webkit-user-drag: none;
}

/* CAROUSEL */

.viewer-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 64px;
    height: 64px;
    border: none;
    border-radius: 50%;
    background: rgba(25,30,45,.9);
    color: #fff;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .viewer-nav:hover {
        background: #31384f;
    }

.viewer-prev {
    left: 25px;
}

.viewer-next {
    right: 25px;
}

.viewer-nav .material-symbols-outlined {
    font-size: 34px;
}

/* ZOOM */

.zoom-controls {
    position: absolute;
    bottom: 25px;
    display: flex;
    gap: 12px;
}

.zoom-btn {
    width: 54px;
    height: 54px;
    border: none;
    border-radius: 18px;
    background: #1e2437;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}

    .zoom-btn:hover {
        background: #31384f;
    }

/* MOBILE */

@media(max-width:991px) {

    .content-grid {
        grid-template-columns: 1fr;
    }

    .sidebar-card {
        position: relative;
        top: auto;
    }

    .service-title {
        font-size: 42px;
    }

    .modal-gallery-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:767px) {

    .service-title {
        font-size: 34px;
    }

    .service-description {
        font-size: 15px;
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 220px 120px 120px;
    }

    .gallery-main {
        grid-column: 1 / 3;
    }

    .glass-card {
        padding: 22px;
    }

    .modal-gallery-grid {
        grid-template-columns: 1fr;
    }

    .modal-gallery-item img {
        height: 240px;
    }

    .viewer-nav {
        width: 52px;
        height: 52px;
    }

    .viewer-prev {
        left: 10px;
    }

    .viewer-next {
        right: 10px;
    }
}


/* AIRBNB GALLERY */

.airbnb-gallery {
    margin-top: 40px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 230px 230px;
    gap: 4px;
    border-radius: 28px;
    overflow: hidden;
}

    .gallery-grid > .gallery-item {
        position: relative;
        overflow: hidden;
        cursor: pointer;
        background: #111;
        border-radius: 0
    }

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-item:hover img {
    transform: scale(1.03);
}



.gallery-main {
    grid-row: 1 / 3;
}

.show-all-btn {
    position: absolute;
    right: 10px;
    bottom: 18px;
    z-index: 3;
    background: #fff;
    color: #111;
    border: none;
    padding: 9px 14px;
    border-radius: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}



/* MODAL GALLERY */

.gallery-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.96);
    z-index: 99999;
    display: none;
    overflow: auto;
    padding: 30px;
}

    .gallery-modal.active {
        display: block;
    }



/* ======================================
           PAGE
        ====================================== */

.avaliacao-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 15px;
    position: relative;
    overflow: hidden;
    margin-top: 80px
}

/* ======================================
           BACKGROUND
        ====================================== */

.bg-glow {
    position: fixed;
    border-radius: 50%;
    filter: blur(90px);
    opacity: .15;
}

.bg-glow-1 {
    width: 420px;
    height: 420px;
    background: #2563eb;
    top: -120px;
    left: -120px;
}

.bg-glow-2 {
    width: 320px;
    height: 320px;
    background: #6b5cff;
    bottom: -100px;
    right: -100px;
}

/* ======================================
           CARD
        ====================================== */


.avaliacao-card {
    width: 100%;
    max-width: 720px;
    background: rgba(23,27,40,.95);
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 34px;
    padding: 50px;
    position: relative;
    z-index: 2;
    backdrop-filter: blur(20px);
    box-shadow: 0 20px 80px rgba(0,0,0,.35);
    border: 1px solid rgba(75, 135, 210, .35);
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(9, 20, 40, .98), rgba(4, 10, 24, .99));
    box-shadow: 0 32px 90px rgba(0, 0, 0, .55), 0 0 50px rgba(18, 111, 255, .1);
}


/* ======================================
           HEADER
        ====================================== */

.avaliacao-header {
    text-align: center;
    margin-bottom: 40px;
}

.avaliacao-icon {
    width: 100px;
    height: 100px;
    margin: 0 auto 24px;
    border-radius: 28px;
    background: linear-gradient( 135deg, rgba(0,229,255,.18), rgba(0,229,255,.05));
    border: 1px solid rgba(0,229,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .avaliacao-icon span {
        font-size: 48px;
        color: #2563eb;
    }

.avaliacao-title {
    font-size: 42px;
    font-weight: 800;
    font-family: 'Manrope',sans-serif;
    margin-bottom: 12px;
    color: #fff;
}

.avaliacao-description {
    max-width: 520px;
    margin: 0 auto;
    color: #91a0a7;
    font-size: 15px;
    line-height: 1.8;
}


.service-box {
    background: #0f131f;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 24px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 35px;
}

/* ======================================
           RATING
        ====================================== */

.rating-wrapper {
    text-align: center;
    margin-bottom: 40px;
}

.rating-label {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #fff;
}

.rating-stars {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.star {
    position: relative;
    width: 52px;
    height: 52px;
    cursor: pointer;
    font-size: 52px;
    line-height: 1;
    color: #2f374d;
    user-select: none;
}

.star-full,
.star-half {
    position: absolute;
    inset: 0;
    overflow: hidden;
    color: #FFD54A;
    opacity: 0;
}

.star-half {
    width: 42%;
    left: 4px
}

.star.active .star-full,
.star.half-active .star-half {
    opacity: 1;
}

.rating-value {
    font-size: 34px;
    font-weight: 800;
    color: #FFD54A;
    font-family: 'Manrope',sans-serif;
}


.review-stars {
    --rating: 0;
    position: relative;
    display: inline-block;
    font-size: 24px;
    line-height: 1;
    color: #5d5d5d; /* estrelas vazias */
}

    .review-stars::before {
        content: "★★★★★";
    }

    .review-stars::after {
        content: "★★★★★";
        position: absolute;
        top: 0;
        left: 0;
        width: calc(var(--rating) / 5 * 100%);
        overflow: hidden;
        color: #6BE7FF; /* estrelas preenchidas */
    }



.company-actions {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 25px;
}

/* ESTADO PADRÃO */
.favorite-btn {
    height: 54px;
    padding: 0 22px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255,255,255,.03);
    color: #d4d8e3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 14px;
    transition: .3s ease;
    cursor: pointer;
    backdrop-filter: blur(10px);
}

    .favorite-btn i {
        font-size: 18px;
        transition: .3s ease;
    }

    .favorite-btn:hover {
        transform: translateY(-2px);
        border-color: #ff4d6d;
        color: #fff;
        box-shadow: 0 0 25px rgba(255,77,109,.25);
    }

    /* FAVORITADO */
    .favorite-btn.active {
        background: linear-gradient(135deg,#ff4d6d,#ff6b81);
        border-color: transparent;
        color: #fff;
        box-shadow: 0 10px 25px rgba(255,77,109,.35), 0 0 20px rgba(255,77,109,.25);
    }

        .favorite-btn.active i {
            animation: heartBeat .5s ease;
        }

/* ANIMAÇÃO */
@keyframes heartBeat {
    0% {
        transform: scale(1);
    }

    30% {
        transform: scale(1.3);
    }

    60% {
        transform: scale(.95);
    }

    100% {
        transform: scale(1);
    }
}



.account-content {
    color: #fff;
}

.content-header h1 {
    font-size: 52px;
    font-weight: 800;
    margin-bottom: 10px;
}

.content-header p {
    color: #8ea0b6;
    margin-bottom: 35px;
}

.favorites-toolbar {
    margin-bottom: 30px;
}

.search-box {
    position: relative;
    margin-bottom: 20px;
}

    .search-box i {
        position: absolute;
        left: 18px;
        top: 15px;
        color: #7c8ca5;
    }

    .search-box input {
        width: 100%;
        height: 50px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,.08);
        background: #111827;
        color: #fff;
        padding-left: 48px;
    }

.favorite-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

    .favorite-filters button {
        border: none;
        height: 40px;
        padding: 0 18px;
        border-radius: 30px;
        background: #141d30;
        color: #aeb8c8;
    }

        .favorite-filters button.active {
            background: #11d9ff;
            color: #04111d;
            font-weight: 700;
        }

.favorites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(320px,1fr));
    gap: 25px;
}

.favorite-card {
    overflow: hidden;
    border-radius: 22px;
    background: #151c2e;
    border: 1px solid rgba(255,255,255,.05);
    transition: .3s;
}

    .favorite-card:hover {
        transform: translateY(-5px);
        border-color: rgba(17,217,255,.3);
        box-shadow: 0 15px 35px rgba(0,0,0,.25);
    }

.favorite-cover {
    position: relative;
    height: 200px;
}

    .favorite-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.favorite-remove {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,.45);
    color: #ff5577;
}

    .favorite-remove:hover {
        transform: scale(1.1);
    }

.favorite-body {
    padding: 25px;
}

.favorite-category {
    color: #11d9ff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 10px;
}

.favorite-body h3 {
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 700;
}

.favorite-body p {
    color: #9fb0c6;
    line-height: 1.7;
    margin-bottom: 20px;
}

.favorite-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffc94d;
    margin-bottom: 20px;
}

    .favorite-rating small {
        color: #8ea0b6;
    }

.favorite-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.favorite-price {
    color: #11d9ff;
    font-weight: 700;
}

.btn-view {
    background: #11d9ff;
    color: #06131d;
    padding: 10px 18px;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none !important;
}

    .btn-view:hover {
        color: #06131d;
        background: #2ce1ff;
    }

@media(max-width:768px) {

    .content-header h1 {
        font-size: 38px;
    }

    .favorite-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .btn-view {
        width: 100%;
        text-align: center;
    }
}







.payment-card-container {
    padding: 35px;
}

.payment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

    .payment-header h3 {
        color: #fff;
        margin: 0;
        font-size: 32px;
        font-weight: 700;
    }

    .payment-header span {
        color: #9ea7c3;
    }

.payment-total {
    text-align: right;
}

    .payment-total small {
        display: block;
        color: #9ea7c3;
    }

    .payment-total strong {
        font-size: 32px;
        color: #fff;
    }

.payment-methods {
    display: flex;
    gap: 20px;
    margin-bottom: 35px;
}

.method-card {
    flex: 1;
    min-height: 130px;
    background: linear-gradient( 145deg, rgba(255,255,255,.04), rgba(255,255,255,.02) );
    border: 2px solid rgba(255,255,255,.08);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: .25s;
}

    .method-card:hover {
        transform: translateY(-3px);
    }

.method-card {
    position: relative;
}

    .method-card input {
        position: absolute;
        opacity: 0;
    }

    .method-card:has(input:checked) {
        border-color: #00E676;
        box-shadow: 0 0 0 1px #00E676, 0 0 25px rgba(0,230,118,.25);
        background: linear-gradient( 145deg, rgba(0,230,118,.12), rgba(255,255,255,.03) );
    }

        .method-card:has(input:checked) i {
            color: #00E676;
        }

        .method-card:has(input:checked)::after {
            content: "\f00c";
            font-family: FontAwesome;
            position: absolute;
            top: 12px;
            right: 12px;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: #00E676;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
        }

    .method-card input {
        display: none;
    }

    .method-card i {
        font-size: 34px;
        color: #2563eb;
        margin-bottom: 10px;
    }

    .method-card span {
        color: white;
        font-size: 18px;
        font-weight: 700;
    }

    .method-card small {
        color: #8c96b4;
        margin-top: 5px;
    }

.dark-input {
    background: #090f22;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    height: 55px;
    color: white;
    margin-bottom: 20px;
}

    .dark-input:focus {
        border-color: #2563eb;
        box-shadow: 0 0 15px rgba(0,229,255,.2);
    }

.btn-pay {
    width: 100%;
    height: 60px;
    border: none;
    border-radius: 14px;
    background: linear-gradient( 90deg, #00C853, #00E676 );
    color: white;
    font-size: 18px;
    font-weight: 700;
    margin-top: 15px;
    transition: .25s;
}

    .btn-pay:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0,230,118,.35);
    }



.withdraw-card {
    padding: 35px;
}

.divider-dark {
    border-color: rgba(255,255,255,.08);
    margin: 30px 0;
}

.withdraw-info {
    margin-top: 35px;
    color: #7f8ba8;
}

    .withdraw-info i {
        color: #2563eb;
    }

.btn-withdraw {
    width: 100%;
    height: 60px;
    margin-top: 25px;
    border: none;
    border-radius: 14px;
    background: linear-gradient( 90deg, #00b8ff, #2563eb );
    color: white;
    font-size: 18px;
    font-weight: 700;
    transition: .3s;
}

    .btn-withdraw:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0,229,255,.25);
    }




.conclude-card {
    padding: 30px;
}

.conclude-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

    .conclude-header h3 {
        margin: 0;
        color: #fff;
        font-size: 28px;
        font-weight: 700;
    }

    .conclude-header p {
        margin-top: 8px;
        color: #9ba7c7;
    }

.status-badge {
    background: rgba(255,193,7,.15);
    color: #ffc107;
    padding: 10px 18px;
    border-radius: 30px;
    font-weight: 600;
}

.service-summary {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.summary-item {
    flex: 1;
    min-width: 200px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
    padding: 20px;
}

    .summary-item span {
        display: block;
        color: #8b97b7;
        margin-bottom: 10px;
    }

    .summary-item strong {
        color: white;
        font-size: 18px;
    }

.alert-finish {
    background: rgba(0,229,255,.08);
    border-left: 4px solid #2563eb;
    padding: 15px 20px;
    border-radius: 10px;
    color: #d7e2ff;
    margin-bottom: 25px;
}

    .alert-finish i {
        color: #2563eb;
        margin-right: 8px;
    }

.confirmation-box {
    margin-bottom: 25px;
}

.actions {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
}

.btn-dispute {
    height: 50px;
    padding: 0 25px;
    border: 1px solid #ff5252;
    background: transparent;
    color: #ff5252;
    border-radius: 12px;
}

.btn-finish {
    height: 50px;
    padding: 0 25px;
    border: none;
    border-radius: 12px;
    color: white;
    font-weight: 600;
    background: linear-gradient( 90deg, #00C853, #00E676 );
}

    .btn-finish:disabled {
        opacity: .5;
        cursor: not-allowed;
    }





/* Search Header Refined */
.search-hero {
    padding: 120px 0 60px 0;
    background: radial-gradient(circle at top right, #0a1941 0%, var(--bg-dark) 60%);
    border-bottom: 0px solid var(--border-color);
    position: relative
}

.hero-tag {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(0, 212, 255, 0.1);
    border: 1px solid var(--cyan-primary);
    color: var(--cyan-primary);
    border-radius: 30px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.hero-title {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 30px;
    line-height: 1.2;
}

    .hero-title span {
        background: linear-gradient(90deg, #fff 0%, var(--cyan-primary) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

/* Tabs for Type Differentiation */
.search-type-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.type-tab {
    padding: 10px 25px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: 0.3s;
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    color: var(--text-muted);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px
}

    .type-tab.active {
        background: var(--cyan-primary);
        color: #fff;
        border-color: var(--cyan-primary);
        box-shadow: 0 0 20px var(--cyan-glow);
    }

    .type-tab i {
        margin-right: 8px;
    }

    .type-tab img {
        width: 30px
    }

/* Search Bar Refined */
.search-box-wrapper {
    background: #0D121F;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 8px;
    display: flex;
    align-items: center;
    max-width: 900px;
    z-index: 9;
    position: relative
}

    .search-box-wrapper input {
        background: #0D121F;
        border: none;
        flex: 1;
        padding: 15px 20px;
        color: white;
        font-size: 16px;
    }

        .search-box-wrapper input:focus {
            outline: none;
        }

        .search-box-wrapper input:-webkit-autofill,
        .search-box-wrapper input:-webkit-autofill:hover,
        .search-box-wrapper input:-webkit-autofill:focus,
        .search-box-wrapper input:-webkit-autofill:active {
            -webkit-text-fill-color: #fff !important;
            caret-color: #fff !important;
            border: 0px solid rgba(255,255,255,0.08) !important;
            -webkit-box-shadow: 0 0 0px 1000px #0D121F inset !important;
            transition: background-color 5000s ease-in-out 0s;
        }


.btn-search-refined {
    background: var(--cyan-primary);
    color: #fff;
    border: none;
    padding: 15px 40px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    transition: 0.3s;
}

    .btn-search-refined:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px var(--cyan-glow);
    }


.search-container {
    position: relative;
    width: 100%;
    z-index: 999
}

#suggestions {
    position: absolute;
    top: 65%;
    left: 0;
    right: 0;
    background: #141b2d;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 0 0 15px 15px;
    margin-top: 5px;
    display: none;
    overflow: hidden;
    z-index: 1;
    max-width: 900px;
    width: 100%;
    padding-top: 20px;
}

.suggestion-item {
    padding: 14px 18px;
    color: white;
    cursor: pointer;
    transition: .2s;
}

    .suggestion-item:hover {
        background: #1d2945;
    }

    .suggestion-item i {
        margin-right: 10px;
        color: #888;
    }

    .suggestion-item.active {
        background: rgba(255,255,255,.1);
    }


/* Sidebar Refined */
.searchSidebar-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 25px;
    position: sticky;
    top: 100px;
    margin-bottom: 40px
}

.filter-label-main {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    display: block;
}

/* Card Differentiation: Empresa vs Serviço */
.result-card {
    position: relative;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 30px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
}

    .result-card:hover {
        transform: translateY(-10px);
        border-color: var(--cyan-primary);
        background: var(--bg-card-hover);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    }


    .result-card > .shildIcon {
        position: absolute;
        top: 10px;
        right: 10px;
        max-width: 50px;
        max-height: 50px;
        z-index: 2
    }

        .result-card > .shildIcon > img {
            width: 100%
        }

/* Badge Differentiation */
.type-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    z-index: 10;
    letter-spacing: 0.5px;
}

.badge-servico {
    background: rgba(0, 212, 255, 0.2);
    color: var(--cyan-primary);
    border: 1px solid var(--cyan-primary);
}

.badge-empresa {
    background: rgba(0, 212, 255, 0.2);
    color: var(--cyan-primary);
    border: 1px solid var(--cyan-primary);
}

.card-visual {
    height: 200px;
    position: relative;
    background: #1e293b;
}

    .card-visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.7;
        transition: 0.5s;
    }

.result-card:hover .card-visual img {
    opacity: 1;
    transform: scale(1.05);
}
/* Content for Service */
.card-content {
    padding: 25px;
}

.card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.category-tag {
    font-size: 11px;
    font-weight: 600;
    color: var(--cyan-primary);
    text-transform: uppercase;
}

.rating {
    font-size: 15px;
    color: #fbbf24;
    min-width: 80px
}

.result-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.3;
    margin-top: 5px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.result-created {
    font-size: 12px;
}

.result-desc {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 42px
}
/* Footer of Card */
.card-action-area {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
}

.price-tag {
    font-size: 18px;
    font-weight: 700;
    color: white;
}

    .price-tag small {
        font-size: 12px;
        color: var(--text-muted);
        font-weight: 400;
    }

.btn-view {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

    .btn-view:hover {
        background: var(--cyan-primary);
        color: #fff;
        border-color: var(--cyan-primary);
    }
/* Company Specific Style */
.company-logo-overlay {
    position: absolute;
    bottom: -15px;
    left: 25px;
    width: 60px;
    height: 60px;
    background: var(--bg-card);
    border-radius: 15px;
    border: 2px solid var(--cyan-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
    overflow: hidden
}

    .company-logo-overlay img {
        opacity: 1 !important;
        transform: none !important;
    }


.company-user-overlay {
    position: absolute;
    bottom: -15px;
    left: 100px;
    width: 60px;
    height: 60px;
    background: var(--bg-card);
    border-radius: 15px;
    border: 2px solid var(--cyan-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
    overflow: hidden
}

    .company-user-overlay img {
        opacity: 1 !important;
        transform: none !important;
    }
/* Footer Refined */
.site-footer {
    background: #030712;
    padding: 80px 0 40px;
    border-top: 1px solid var(--border-color);
    margin-top: 100px;
}
/* Checkbox Refined */
.custom-control {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    cursor: pointer;
    color: var(--text-muted);
    transition: 0.2s;
}

    .custom-control:hover {
        color: white;
    }

.custom-box {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid var(--border-color);
    border-radius: 6px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.custom-control input:checked + .custom-box {
    background: var(--cyan-primary);
    border-color: var(--cyan-primary);
}

    .custom-control input:checked + .custom-box i {
        display: block;
        color: #000;
        font-size: 10px;
    }

.custom-box i {
    display: none;
}

.custom-control input {
    display: none;
}
/* Sidebar Filters */
.filter-section {
    background: var(--bg-card);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--border-color);
}

.filter-title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 15px;
    border-left: 3px solid var(--cyan-primary);
    padding-left: 10px;
}

.filter-group {
    margin-bottom: 20px;
}

.filter-label {
    display: block;
    color: var(--text-muted);
    font-size: 13px;
    margin-bottom: 8px;
}

.checkbox-custom {
    display: block;
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
    color: var(--text-white);
}

    .checkbox-custom input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
    }

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 18px;
    width: 18px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.checkbox-custom:hover input ~ .checkmark {
    background-color: rgba(255, 255, 255, 0.2);
}

.checkbox-custom input:checked ~ .checkmark {
    background-color: var(--cyan-primary);
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-custom input:checked ~ .checkmark:after {
    display: block;
}

.checkbox-custom .checkmark:after {
    left: 5px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid black;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/*.pagination-custom {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
}

    .pagination-custom > li {
        display: inline;
    }

        .pagination-custom > li > a, .pagination-custom > li > span {
            position: relative;
            float: left;
            padding: 6px 12px;
            margin-left: -1px;
            line-height: 1.42857143;
            color: var(--text-muted);
            text-decoration: none;
            background-color: rgba(255,255,255,.05);
            border: 1px solid #cccccc6e;
            font-size: 20px
        }


        .pagination-custom > li:first-child > a, .pagination-custom > li:first-child > span {
            margin-left: 0;
            border-top-left-radius: 4px;
            border-bottom-left-radius: 4px;
        }

        .pagination-custom > li:last-child > a, .pagination > li:last-child > span {
            border-top-right-radius: 4px;
            border-bottom-right-radius: 4px;
        }

    .pagination-custom .page-item-custom.active > .page-link {
        color: var(--cyan-primary);
        background-color: rgba(255,255,255,.05);
    }*/



.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.pagination-custom {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.page-item-custom {
    list-style: none;
}

.page-link {
    min-width: 42px;
    height: 42px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #111b3d;
    border: 1px solid rgba(255,255,255,.08);
    color: #c7d4ff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: .25s;
    text-decoration: none !important
}

    .page-link:hover {
        background: #1d2c61;
        border-color: #4d7cff;
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(77,124,255,.25);
    }

.page-item-custom.active .page-link {
    background: linear-gradient(135deg,#4d7cff,#2d63f0);
    color: #fff;
    border-color: #4d7cff;
    box-shadow: 0 0 15px rgba(77,124,255,.45), 0 8px 20px rgba(77,124,255,.30);
}


.disabled-link {
    opacity: .45;
    pointer-events: none;
    cursor: default;
}


.disabled-link {
    pointer-events: none;
    opacity: .5;
    cursor: not-allowed;
}




.benefits-home {
    background: #07142d;
    border: 1px solid rgba(45, 88, 190, .18);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 0 35px rgba(0, 0, 0, .35);
    position: relative;
    margin-top: -5%
}

    .benefits-home .row {
        margin: 0;
    }

.benefits-home-item {
    display: flex;
    align-items: center;
    padding: 26px 28px;
    min-height: 130px;
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.benefits-home-item-last {
    border-right: none;
}

.benefits-home-icon {
    width: 56px;
    height: 56px;
    margin-right: 18px;
    flex-shrink: 0;
    /*border: 1px solid rgba(40, 120, 255, .45);*/
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 12px rgba(40, 120, 255, .12), 0 0 12px rgba(40, 120, 255, .08);
}

    .benefits-home-icon i {
        color: #2d7cff;
        font-size: 22px;
    }

    .benefits-home-icon img {
        width: 100%
    }

.benefits-home-content small {
    display: block;
    margin-bottom: 2px;
    color: #b7c0d5;
    font-size: 13px;
    font-weight: 400;
}

.benefits-home-content h4 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.benefits-home-content p {
    margin: 0;
    color: #a9b3c8;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 767px) {

    .benefits-home-item {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

        .benefits-home-item:last-child {
            border-bottom: none;
        }
}




.how-it-works-home {
    position: relative;
    margin: 0 0 60px 0;
    padding: 35px 30px;
    background: #06152b;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 18px;
}

    .how-it-works-home > .row > div:not(:last-child) {
        border-right: 1px solid rgba(255, 255, 255, .08)
    }

.how-it-works-home-title {
    margin: 0 0 35px;
    text-align: left;
    color: #FFF;
    font-size: 36px;
    font-weight: 700;
}

.how-it-works-home-item {
    position: relative;
    display: flex;
    align-items: center;
}

.how-it-works-home-arrow {
    position: absolute;
    right: -22px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    color: #2d7cff;
    font-size: 24px;
}

.col-sm-3:last-child .how-it-works-home-arrow {
    display: none;
}

.how-it-works-home-icon {
    width: 58px;
    height: 58px;
    margin-right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    /*border: 1px solid rgba(45,124,255,.45);*/
    box-shadow: inset 0 0 12px rgba(45,124,255,.15), 0 0 12px rgba(45,124,255,.08);
    flex-shrink: 0;
}

    .how-it-works-home-icon i {
        color: #2d7cff;
        font-size: 24px;
    }

    .how-it-works-home-icon img {
        width: 100%
    }

.how-it-works-home-content h4 {
    margin: 0 0 8px;
    color: #FFF;
    font-size: 20px;
    font-weight: 700;
}

.how-it-works-home-content p {
    margin: 0;
    color: #B5C0D6;
    font-size: 15px;
    line-height: 1.5;
}

@media(max-width:767px) {

    .how-it-works-home-item {
        margin-bottom: 30px;
    }

    .how-it-works-home-arrow {
        display: none;
    }

    .how-it-works-home-title {
        font-size: 28px;
    }
}



.partners-home {
    position: relative;
    background: #06152b;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 28px;
}

.partners-home-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 25px;
}

.partners-home-title h2 {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    color: #FFF;
}

    .partners-home-title h2 span {
        color: #3d7dff;
    }

.partners-home-title p {
    margin-top: 8px;
    color: #B8C1D6;
    font-size: 17px;
}

.partners-home-button {
    padding: 14px 22px;
    border-radius: 12px;
    border: 1px solid rgba(61,125,255,.85);
    color: #FFF;
    text-decoration: none;
    transition: .3s;
    box-shadow: 0 0 40px rgba(64,191,255,.50), inset 0 0 18px rgba(255,255,255,.12)
}

    .partners-home-button:hover {
        color: #FFF;
        background: rgba(61,125,255,.08);
        text-decoration: none;
    }

    .partners-home-button i {
        margin-left: 8px;
    }
/* Logos */

.partners-home-brand {
    text-align: center;
    flex: 1;
    min-width: 100px
}

    .partners-home-brand img {
        height: 110px;
        width: 100%;
        object-fit: contain;
        background: #FFF;
        border-radius: 12px;
        padding: 18px;
    }

    .partners-home-brand span {
        display: block;
        margin-top: 12px;
        color: #D2D8E6;
        font-size: 15px;
    }
/* Benefícios */

.partners-home-features {
    margin-top: 30px;
}

.partners-home-feature {
    display: flex;
    align-items: center;
    background: #081a35;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    padding: 16px;
}

.partners-home-feature-icon {
    width: 44px;
    height: 44px;
    margin-right: 15px;
    border-radius: 50%;
    /*border: 1px solid rgba(61,125,255,.45);*/
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .partners-home-feature-icon i {
        color: #3d7dff;
        font-size: 18px;
    }

    .partners-home-feature-icon img {
        width: 100%
    }

.partners-home-feature span {
    color: #FFF;
    line-height: 1.5;
    font-size: 15px;
}

@media(max-width:767px) {

    .partners-home-header {
        display: block;
        text-align: center;
    }

    .partners-home-button {
        display: inline-block;
        margin-top: 20px;
    }

    .partners-home-brand {
        margin-bottom: 25px;
    }

    .partners-home-feature {
        margin-bottom: 15px;
    }
}




.shield-rating-container {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-family: sans-serif;
}

.shield-rating-stars {
    display: flex;
    gap: 18px;
    position: relative;
}

.shield-rating-item {
    position: relative;
    width: var(--shield-size);
    height: var(--shield-size);
    color: var(--shield-empty-color);
    cursor: pointer;
}

    /* SVG Base */
    .shield-rating-item svg {
        width: var(--shield-size);
        height: var(--shield-size);
        fill: currentColor;
        display: block;
    }

/* Camadas de preenchimento */
.shield-rating-half,
.shield-rating-full {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    display: none;
    color: var(--shield-full-color);
    pointer-events: none;
}

/* Metade: Div tem 50%, SVG tem 100% (para ser cortado) */
.shield-rating-half {
    width: 50%;
}

    .shield-rating-half svg {
        width: var(--shield-size);
    }

.shield-rating-full {
    width: 100%;
}

/* Estados ativos */
.shield-rating-item.is-half .shield-rating-half {
    display: block;
}

.shield-rating-item.is-full .shield-rating-full {
    display: block;
}

/* Áreas de clique invisíveis */
.shield-rating-click-area {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    z-index: 10;
}

.shield-rating-click-left {
    left: 0;
}

.shield-rating-click-right {
    left: 50%;
}

.shield-rating-value {
    margin-top: 10px;
    color: var(--shield-full-color);
    font-weight: bold;
    font-size: 1.2rem;
    font-size: 25px
}

.users-confio {
    width: fit-content;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px
}

.users-confio-avatars {
    display: flex;
    justify-content: center;
    align-items: center
}

.users-confio-avatar {
    width: 44px;
    height: 44px;
    margin-left: -12px;
    object-fit: cover;
    border-radius: 14px;
    border: 2px solid #292D39;
    overflow: hidden;
    background: var(--bg-card)
}

    .users-confio-avatar:nth-child(1) {
        z-index: 1;
    }

    .users-confio-avatar:nth-child(2) {
        z-index: 2;
    }

    .users-confio-avatar:nth-child(3) {
        z-index: 3;
    }



    .users-confio-avatar:first-child {
        margin-left: 0;
    }

    .users-confio-avatar > img {
        width: 100%
    }

.users-confio > a {
    margin-bottom: 0;
    color: #fff !important
}

@media screen and (max-width: 340px) {
    .users-confio {
        align-items: flex-start;
        flex-direction: column;
    }
}

.review-shield {
    --rating: 0;
    --shield-size: 24px;
    --shield-gap: 4px;
    position: relative;
    display: inline-block;
    width: calc(var(--shield-size) * 5 + var(--shield-gap) * 4);
    height: var(--shield-size);
    line-height: 1;
    vertical-align: middle;
}

    .review-shield::before,
    .review-shield::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background-repeat: repeat-x;
        background-size: calc(var(--shield-size) + var(--shield-gap)) var(--shield-size);
        background-position: left center;
    }

    /* ESCUDO VAZIO (#5d5d5d) */
    .review-shield::before {
        width: 100%;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%235d5d5d' d='M11.302 21.6149C11.5234 21.744 11.6341 21.8086 11.7903 21.8421C11.9116 21.8681 12.0884 21.8681 12.2097 21.8421C12.3659 21.8086 12.4766 21.744 12.698 21.6149C14.646 20.4784 20 16.9084 20 12V6.6C20 6.04207 20 5.7631 19.8926 5.55048C19.7974 5.36198 19.6487 5.21152 19.4613 5.11409C19.25 5.00419 18.9663 5.00084 18.3988 4.99413C15.4272 4.95899 13.7136 4.71361 12 3C10.2864 4.71361 8.57279 4.95899 5.6012 4.99413C5.03373 5.00084 4.74999 5.00419 4.53865 5.11409C4.35129 5.21152 4.20259 5.36198 4.10739 5.55048C4 5.7631 4 6.04207 4 6.6V12C4 16.9084 9.35396 20.4784 11.302 21.6149Z'/%3E%3C/svg%3E");
    }

    /* ESCUDO PREENCHIDO (#6BE7FF) */
    .review-shield::after {
        width: calc(var(--rating) / 5 * 103%);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%232563EB' d='M11.302 21.6149C11.5234 21.744 11.6341 21.8086 11.7903 21.8421C11.9116 21.8681 12.0884 21.8681 12.2097 21.8421C12.3659 21.8086 12.4766 21.744 12.698 21.6149C14.646 20.4784 20 16.9084 20 12V6.6C20 6.04207 20 5.7631 19.8926 5.55048C19.7974 5.36198 19.6487 5.21152 19.4613 5.11409C19.25 5.00419 18.9663 5.00084 18.3988 4.99413C15.4272 4.95899 13.7136 4.71361 12 3C10.2864 4.71361 8.57279 4.95899 5.6012 4.99413C5.03373 5.00084 4.74999 5.00419 4.53865 5.11409C4.35129 5.21152 4.20259 5.36198 4.10739 5.55048C4 5.7631 4 6.04207 4 6.6V12C4 16.9084 9.35396 20.4784 11.302 21.6149Z'/%3E%3C/svg%3E");
        overflow: hidden;
    }





.cadastro-avatar-upload-area {
    margin-bottom: 35px;
}

.cadastro-avatar-preview-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.cadastro-avatar-preview {
    width: 210px;
    height: 210px;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    border: 2px solid rgba(0,229,255,.18);
    background: #0f131f;
    box-shadow: 0 0 25px rgba(0,0,0,.25);
}

    .cadastro-avatar-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.cadastro-avatar-upload-btn {
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(0,229,255,.08);
    border: 1px solid rgba(0,229,255,.15);
    color: #2563eb;
    height: 52px;
    padding: 0 22px;
    border-radius: 16px;
    font-weight: 700;
    cursor: pointer;
    width: fit-content !important;
    margin-bottom: 0 !important;
}

    .cadastro-avatar-upload-btn:hover {
        background: rgba(0,229,255,.14);
        transform: translateY(-2px);
    }

.cadastro-avatar-foto-btn {
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(0,229,255,.08);
    border: 1px solid rgba(0,229,255,.15);
    color: #fff;
    height: 52px;
    padding: 0 22px;
    border-radius: 16px;
    font-weight: 700;
    cursor: pointer;
}

    .cadastro-avatar-foto-btn:hover {
        background: rgba(0,229,255,.14);
        transform: translateY(-2px);
    }

.cadastro-avatar-upload-btn input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}




.btn-camera {
    background: var(--cyan-primary);
    width: 70px;
    height: 70px;
    font-size: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 50%;
    position: absolute;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
}


.trust-net {
    position: absolute;
    width: 501px;
    top: 55%;
    right: 0;
    z-index: 999
}



.quem-somos-hero-section {
    padding: 140px 0;
    background-image: url(/image/quem_somos_banner.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    background-color: #000006;
    background-position-y: 40px;
}

@media (max-width: 1000px) {
    .quem-somos-hero-section {
        background-position-x: right -135px
    }

    .trust-net {
        position: absolute;
        width: 440px;
    }
}

@media (max-width: 800px) {
    .trust-net {
        position: absolute;
        width: 352px;
        top: 72%;
        right: 50%;
        transform: translateX(50%);
    }
}

@media (max-width: 510px) {
    .trust-net {        
        top: 78%;
    }
}

@media (max-width: 340px) {
    .trust-net {        
        top: 85%;
    }
}


.quem-somos-section-label {
    color: var(--quem-somos-light-blue);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 24px;
}

.quem-somos-hero-title {
    font-size: 64px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 30px;
    letter-spacing: -1px;
}

.quem-somos-text-blue-glow {
    color: var(--quem-somos-light-blue);
    text-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}

.quem-somos-hero-description {
    color: var(--quem-somos-text-muted);
    font-size: 16px;
    line-height: 1.6;
    max-width: 520px;
    margin-bottom: 48px;
}

.quem-somos-hero-features {
    display: flex;
    gap: 40px;
}

quem-somos-feature-item {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.quem-somos-feature-item i {
    color: var(--quem-somos-light-blue);
    font-size: 40px;
    margin-bottom: 12px;
    display: block;
}

.quem-somos-feature-item img {
    width: 90px
}

.quem-somos-feature-title {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 4px;
    text-align: center
}

.quem-somos-feature-desc {
    color: var(--quem-somos-text-muted);
    font-size: 12px;
    text-align: center
}

.quem-somos-hero-image-wrapper {
    position: relative;
}

.quem-somos-hero-main-image {
    max-width: 100%;
    position: relative;
    z-index: 2;
}

.quem-somos-hero-glow-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.15) 0%, transparent 70%);
    z-index: 1;
}

/* Why We Exist Card Precision */
.quem-somos-why-card {
    background-color: #00081B;
    border: 1px solid var(--quem-somos-border-color);
    border-radius: 16px;
    margin-top: 20px;
    overflow: hidden;
    display: flex;
}

.quem-somos-why-image-side {
    width: 45%;
    position: relative;
    min-height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .quem-somos-why-image-side img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

.quem-somos-glass-badge {
    position: absolute;
    bottom: 30px;
    left: -20px;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    max-width: 240px;
    z-index: 10;
}

    .quem-somos-glass-badge i {
        font-size: 28px;
        color: var(--quem-somos-light-blue);
        margin-right: 15px;
    }

    .quem-somos-glass-badge span {
        font-weight: 700;
        font-size: 15px;
        line-height: 1.3;
    }

.quem-somos-why-content-side {
    width: 55%;
    padding: 30px 60px;
}

    .quem-somos-why-content-side h3 {
        font-size: 32px;
        font-weight: 700;
        margin-bottom: 30px;
    }

    .quem-somos-why-content-side p {
        color: var(--quem-somos-text-muted);
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 20px;
    }

.quem-somos-btn-manifesto-outline {
    background: transparent;
    border: 1px solid var(--quem-somos-border-color);
    color: #ffffff;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 20px;
    display: inline-block;
    text-decoration: none !important;
}

/* Beliefs Grid Precision */
.quem-somos-beliefs-section {
    padding: 30px 0;
}

.quem-somos-section-header-center {
    text-align: left;
    margin-bottom: 50px;
}

    .quem-somos-section-header-center h2 {
        font-size: 36px;
        font-weight: 700;
    }

.quem-somos-belief-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.quem-somos-belief-box {
    background: #00081B;
    border: 1px solid var(--quem-somos-border-color);
    border-radius: 12px;
    padding: 35px 20px;
    transition: all 0.3s;
}

    .quem-somos-belief-box > div {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
        margin-bottom: 15px
    }

        .quem-somos-belief-box > div > img {
            width: 60px
        }

    .quem-somos-belief-box:hover {
        border-color: var(--quem-somos-light-blue);
        transform: translateY(-5px);
    }

    .quem-somos-belief-box i {
        font-size: 32px;
        color: var(--quem-somos-light-blue);
        margin-bottom: 25px;
        display: block;
    }

    .quem-somos-belief-box h4 {
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 0;
        margin-top: 0
    }

    .quem-somos-belief-box p {
        color: var(--quem-somos-text-muted);
        font-size: 14px;
        line-height: 1.6;
        margin: 0;
    }

@media (max-width: 600px) {
    .quem-somos-belief-box > div {
        flex-direction: column
    }
}


/* Manifesto Precision */
.quem-somos-manifesto-section {
    padding: 30px 0 60px 0;
}

.quem-somos-manifesto-cotainer {
    background-color: #00081B;
    border: 1px solid var(--quem-somos-border-color);
    border-radius: 16px;
    padding: 20px 55px 65px 55px
}

.quem-somos-manifesto-title {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 30px;
}

.quem-somos-manifesto-flex {
    display: flex;
    justify-content: space-between;
}

.quem-somos-manifesto-text {
    width: 50%;
}

    .quem-somos-manifesto-text h2 {
        font-size: 42px;
        font-weight: 800;
        margin-bottom: 35px;
        line-height: 1.2;
    }

    .quem-somos-manifesto-text p {
        color: var(--quem-somos-text-muted);
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 25px;
    }

.quem-somos-manifesto-highlight {
    font-size: 22px;
    font-weight: 800;
    margin-top: 40px;
}

.quem-somos-manifesto-list {
    width: 42%;
    margin-top: 50px
}

.quem-somos-manifesto-item {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #2563eb6b
}

    .quem-somos-manifesto-item i {
        font-size: 45px;
        width: 5px;
        color: var(--quem-somos-light-blue);
        margin-right: 32px;
        padding-top: 5px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .quem-somos-manifesto-item img {
        width: 65px;
        margin-right: 25px;
    }

    .quem-somos-manifesto-item h4 {
        font-size: 17px;
        font-weight: 700;
        margin-bottom: 8px;
    }

    .quem-somos-manifesto-item p {
        color: #64748b;
        font-size: 14px;
        line-height: 1.5;
        margin: 0;
    }
/* Footer CTA Precision */
.quem-somos-cta-footer {
    margin: 80px 0;
    padding: 50px;
    background: #0b1120;
    border: 1px solid var(--quem-somos-border-color);
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.quem-somos-cta-left {
    display: flex;
    align-items: center;
}

.quem-somos-cta-icon-circle {
    width: 70px;
    height: 70px;
    background: rgba(37, 99, 235, 0.1);
    border: 1px solid var(--quem-somos-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 25px;
}

    .quem-somos-cta-icon-circle i {
        font-size: 30px;
        color: var(--quem-somos-light-blue);
    }

.quem-somos-cta-info h3 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 8px;
}

.quem-somos-cta-info p {
    color: var(--quem-somos-text-muted);
    font-size: 15px;
    margin: 0;
}

.quem-somos-cta-right {
    display: flex;
    gap: 15px;
}

.quem-somos-btn-outline-white {
    background: transparent;
    border: 1px solid var(--quem-somos-border-color);
    color: #ffffff;
    padding: 14px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
}
/* Responsive Fixes */
@media (max-width: 991px) {
    .quem-somos-hero-title {
        font-size: 48px;
    }

    .quem-somos-why-card {
        flex-direction: column;
    }

    .quem-somos-why-image-side, .quem-somos-why-content-side {
        width: 100%;
    }

    .quem-somos-belief-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .quem-somos-manifesto-flex {
        flex-direction: column;
    }

    .quem-somos-manifesto-text, .quem-somos-manifesto-list {
        width: 100%;
    }

    .quem-somos-cta-footer {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .quem-somos-cta-left {
        flex-direction: column;
    }

    .quem-somos-cta-icon-circle {
        margin-right: 0;
        margin-bottom: 20px;
    }
}

@media (max-width: 450px) {
    .quem-somos-belief-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


.company-alert {
    margin: 25px 0;
    background: linear-gradient(135deg,#1f2937,#182235);
    border: 1px solid rgba(255,193,7,.35);
    border-left: 5px solid #ffc107;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 25px;
}

.company-alert2 {
    margin: 10px 0;
    background: linear-gradient(135deg,#1f2937,#182235);
    border: 1px solid rgba(255,193,7,.35);   
    border-radius: 16px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    flex-direction: column;
    flex: 1;
    min-width: 160px
}

    .company-alert2.success {
        border: 1px solid rgba(34, 197, 94, .45);
    }

    .company-alert2 > .company-alert-content{
        flex: 0
    }

    .company-alert-icon {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        background: rgba(255,193,7,.12);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

.company-success-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(34, 197, 94, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .company-alert-icon i {
        color: #ffc107;
        font-size: 34px;
    }

.company-success-icon i {
    color: #22c55e;
    font-size: 34px;
}

.company-alert-content {
    flex: 1;
}

    .company-alert-content h4 {
        margin: 0 0 10px;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
    }

    .company-alert-content p {
        color: #aeb8c8;
        margin-bottom: 18px;
        line-height: 1.7;
    }

.company-alert-progress small {
    display: block;
    margin-top: 8px;
    color: #9aa8bc;
}

.company-alert .progress {
    height: 10px;
    margin-bottom: 0;
    background: #101522;
    border-radius: 20px;
}

.company-alert .progress-bar {
    background: #18d7ff;
    font-weight: 600;
    line-height: 10px;
}

.btn-complete-profile {
    background: var(--cyan-primary);
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 10px;
    font-weight: 700;
}

    .btn-complete-profile:hover {
        background: var(--cyan-primary);
        color: #fff;
    }

@media(max-width:768px) {

    .company-alert {
        flex-direction: column;
        text-align: center;
    }

    .company-alert-action {
        width: 100%;
    }

    .btn-complete-profile {
        width: 100%;
    }
}




.gallery-empty,
.reviews-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 360px;
    padding: 40px;
    color: rgba(255,255,255,.75);
}

    .gallery-empty i,
    .reviews-empty i {
        font-size: 56px;
        color: #2F6BFF;
        margin-bottom: 20px;
    }

    .gallery-empty h3,
    .reviews-empty h4 {
        color: #fff;
        font-weight: 700;
        margin-bottom: 12px;
    }

    .gallery-empty p,
    .reviews-empty p {
        max-width: 320px;
        color: rgba(255,255,255,.6);
        line-height: 1.7;
        margin: 0;
    }

.gallery-empty {
    grid-column: 1 / -1;
}

.reviews-empty {
    min-height: 260px;
}


.search-empty {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    padding: 60px 30px;
}

.search-empty-icon {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(47,107,255,.12);
    border: 1px solid rgba(47,107,255,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

    .search-empty-icon i {
        font-size: 38px;
        color: #2F6BFF;
    }

.search-empty h2 {
    margin: 0 0 15px;
    font-size: 34px;
    font-weight: 700;
    color: #fff;
}

.search-empty p {
    max-width: 520px;
    color: rgba(255,255,255,.75);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 10px;
}

.search-empty strong {
    color: #fff;
}

.search-empty-tip {
    color: rgba(255,255,255,.55);
    margin-bottom: 30px !important;
}




/* Extra Large Modal - Bootstrap 3.3.7 */

.modal-xlg {
    width: auto;
    margin: 10px;
}

@media (min-width: 768px) {
    .modal-xlg {
        width: 95%;
        max-width: 1150px;
        margin: 30px auto;
    }
}

@media (min-width: 992px) {
    .modal-xlg {
        width: 95%;
        max-width: 1150px;
    }
}

@media (min-width: 1200px) {
    .modal-xlg {
        width: 1150px;
    }
}


.process-card {
    display: block;
    padding: 40px;
    text-align: center;
    position: relative;
}

    .process-card h3 {
        margin: 0 0 45px;
        font-size: 54px;
        font-weight: 700;
        color: #FFF;
    }

        .process-card h3 span {
            color: #1b8fff;
        }

.processo {
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    position: relative;
}

    .processo .line {
        position: absolute;
        top: 0px;
        left: 6%;
        right: 6%;
        height: 3px;
        z-index: 0;
        background: transparent;
        background-image: radial-gradient(circle, #2f9bff 1.4px, transparent 1.6px);
        background-size: 14px 3px;
        background-repeat: repeat-x;
        background-position: center;
        filter: drop-shadow(0 0 3px rgba(47,155,255,.7));
    }

.step {
    width: 18%;
    position: relative;
    z-index: 2;
}

    .step .circle {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        border: 2px solid #2196ff;
        background: #071326;
        color: #FFF;
        margin: auto;
        font-size: 24px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 18px rgba(33,150,255,.45);
    }

    .step .icon {
        width: 116px;
        height: 116px;
        margin: 0;
        /*border: 2px solid #1d7cff;
    border-radius: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #2f9bff;
    font-size: 44px;
    background: linear-gradient(180deg,#0d1f45,#071326);
    box-shadow: 0 0 25px rgba(33,150,255,.25), inset 0 0 18px rgba(33,150,255,.15);*/
    }

        .step .icon > img {
            width: 100%
        }

    .step strong {
        display: block;
        margin-bottom: 12px;
        font-size: 22px;
        color: #FFF;
        line-height: 1.2;
    }

    .step small {
        display: block;
        color: #c5d4e9;
        font-size: 14px;
        line-height: 1.5;
        max-width: 220px;
        margin: auto;
    }











.modal-service .form-control {
    height: 58px;
    background: #091A34;
    border: 1px solid #284A88;
    color: white;
    border-radius: 14px;
    box-shadow: none;
    font-size: 16px;
}

.modal-service textarea.form-control {
    height: 170px;
    resize: none;
    padding-top: 18px;
}

.modal-service .form-control:focus {
    border-color: #1677FF;
    box-shadow: 0 0 20px rgba(22,119,255,.15);
}

.modal-service hr {
    margin: 35px 0;
    border-color: rgba(255,255,255,.06);
}

.price-range {
    width: 100%
}

.price-card {
    background: #0C1832;
    border: 1px solid #284A88;
    border-radius: 18px;
    padding: 25px;
    min-height: 220px;
    transition: .25s;
    cursor: pointer;
    position: relative;
}

    .price-card:hover {
        border-color: #1677FF;
        transform: translateY(-3px);
    }

    .price-card.active {
        border-color: #1677FF;
        box-shadow: 0 0 30px rgba(22,119,255,.25);
    }

    .price-card input[type=radio] {
        position: absolute;
        top: 20px;
        left: 20px;
    }

    .price-card h5 {
        margin-top: 60px;
        font-size: 28px;
        font-weight: 700;
    }

    .price-card p {
        color: #9EB0C9;
        min-height: 55px;
    }


.service-option:hover {
    border-color: #1677FF;
}

.service-option.active {
    background: #0D2E63;
    border-color: #1677FF;
}

.location-card {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid #2D4E8D;
    background: #0C1730;
    cursor: pointer;
    transition: .25s;
}

    .location-card.active {
        background: #0F2E61;
        border-color: #1677FF;
    }

    .location-card:hover {
        border-color: #1677FF;
    }





.serviceValor-option {
    flex: 1;
    margin: 0;
    cursor: pointer;
    display: flex !important;
    position: relative
}

.serviceValor-card {
    flex: 1;
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(255,255,255,.06);
    border-radius: 18px;
    padding: 25px;
    text-align: center;
    transition: .25s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 200px
}

.serviceValor-option input[type="radio"] {
    display: none
}

.serviceValor-card i {
    font-size: 34px;
    color: #1D4FFF;
    margin-bottom: 15px;
}

.serviceValor-card span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.serviceValor-card small {
    display: block;
    margin-top: 8px;
    color: #9fb0c6;
    line-height: 1.5;
}

.serviceValor-radio:checked + .serviceValor-card {
    background: rgba(17,217,255,.12);
    border-color: #1D4FFF;
    box-shadow: 0 0 0 3px rgba(17,217,255,.15);
}


    .serviceValor-radio:checked + .serviceValor-card:after {
        content: "\f00c";
        font: normal normal normal 14px/1 FontAwesome;
        position: absolute;
        top: 12px;
        right: 15px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #1D4FFF;
        color: #031019;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
    }





.incluso-option {
    cursor: pointer;
    margin: 0;
    display: block;
    height: 100%;
    width: fit-content !important;
}

.incluso-checkbox {
    display: none;
}

.incluso-card {
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(255,255,255,.06);
    border-radius: 6px;
    padding: 11px 15px;
    text-align: center;
    transition: all 0.3s ease;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 45px;
    font-size: 14px;
    font-weight: 500;
}

    .incluso-card:hover {
        border-color: #1D4FFF;
    }



.incluso-checkbox:checked + .incluso-card {
    background: rgba(17,217,255,.12);
    border-color: #1D4FFF;
    box-shadow: 0 0 0 3px rgba(17,217,255,.15);
}





.gallery-guide {
    margin-bottom: 25px;
    display: none
}

.gallery-guide-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
}

.gallery-guide-subtitle {
    color: #b5b5b5;
    margin-bottom: 20px;
}

.gallery-tip-box {
/*    height: 110px;
    border: 2px dashed var(--cyan-primary);
    border-radius: 10px;
    padding: 18px 15px;
    text-align: center;
    transition: .2s;
    margin-bottom: 15px;
    background: rgba(255,255,255,0.02);*/
}

    .gallery-tip-box:hover {
        transform: translateY(-2px);
    }

    .gallery-tip-box i {
        font-size: 28px;
        margin-bottom: 12px;
        display: block;
        color: var(--cyan-primary);
        display: none
    }

    .gallery-tip-box strong {
        display: block;
        font-size: 15px;
        margin-bottom: 8px;
        font-weight: 600;
        color: var(--cyan-primary)
    }

    .gallery-tip-box span {
        display: block;
        font-size: 12px;
        color: #fff;
        line-height: 1.5;
    }

@media (max-width:767px) {

    .gallery-tip-box {
        height: auto;
        min-height: 140px;
    }
}






.modal-confio .modal-dialog {
    width: 650px;
}

.modal-confio .modal-content {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
}

.modal-confio .modal-header .close {
    color: #fff;
    opacity: 1
}

.modal-confio .modal-header {
    padding: 22px 28px;
    border-bottom: none;
    color: #fff;
    position: absolute;
    z-index: 999;
    width: 100%
}

.modal-confio .modal-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 24px;
    font-weight: 700;
}

.modal-confio .modal-body {
    padding: 0;
}

.confio-header {
    padding: 40px 30px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.confio-counter {
    width: 95px;
    height: 95px;
    margin: auto;
    margin-bottom: 18px;
    border-radius: 50%;
    background: linear-gradient(135deg,#2057ff,#0b8cff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 46px;
    font-weight: 700;
    color: #fff;
    box-shadow: 0 0 35px rgba(32,87,255,.35), inset 0 1px 0 rgba(255,255,255,.2);
}

.confio-title {
    font-size: 19px;
    font-weight: 600;
    margin-top: 5px;
}

.confio-subtitle {
    margin-top: 6px;
    font-size: 15px;
    color: #9ca3af;
}

.confio-list {
    max-height: 430px;
    overflow-y: auto;
}

.confio-user {
    display: flex;
    align-items: center;
    padding: 18px 26px;
    transition: .25s;
}

    .confio-user + .confio-user {
        border-top: 1px solid rgba(255,255,255,.05);
    }

    .confio-user:hover {
        background: rgba(255,255,255,.03);
    }

.confio-avatar {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 18px;
    border: 2px solid rgba(255,255,255,.08);
    background: var(--bg-card);
}

.confio-info {
    flex: 1;
}

.confio-name {
    font-size: 17px;
    font-weight: 600;
}

.confio-date {
    margin-top: 4px;
    font-size: 13px;
    color: #8b95a7;
}

.confio-badge {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(37,99,235,.12);
    color: var(--cyan-primary);
    font-size: 20px;
}

    .confio-badge i {
        transform: translateY(-1px);
    }

.modal-confio .modal-footer {
    padding: 18px 24px;
    border-top: 1px solid rgba(255,255,255,.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.confio-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #8f98aa;
    font-size: 14px;
}

    .confio-footer i {
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(32,87,255,.08);
        color: #2f6bff;
        font-size: 18px;
    }

.confio-list::-webkit-scrollbar {
    width: 8px;
}

.confio-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.12);
    border-radius: 20px;
}


.confyare-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 72px;
    background: #09111f;
    border-top: 1px solid rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: space-around;
    z-index: 99999;
    backdrop-filter: blur(18px);
    box-shadow: 0 -8px 30px rgba(0,0,0,.35);
}

.confyare-bottom-item {
    flex: 1;
    text-align: center;
    color: #8a95a7;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 11px;
    transition: .25s;
    gap: 5px;
}

    .confyare-bottom-item i {
        font-size: 22px;
    }

    .confyare-bottom-item:hover {
        text-decoration: none;
        color: #ffffff;
    }

    .confyare-bottom-item.active {
        color: #2f7cff;
    }

        .confyare-bottom-item.active i {
            text-shadow: 0 0 18px rgba(47,124,255,.6);
        }

.confyare-bottom-icon {
    position: relative;
}

.confyare-bottom-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 30px;
    background: #ff4d4f;
    color: #fff;
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #09111f;
    font-weight: 600;
}

.social-media-footer {
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 25px;
    max-width: 350px;
    width: 100%;
}

    .social-media-footer > a {
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;        
        border: 2px solid rgba(255, 255, 255, .8);
        text-decoration: none
    }




    @media(max-width:992px) {
        body {
            padding-bottom: 72px;
        }
    }

@media(min-width:992px) {
    .confyare-bottom-nav {
        display: none;
    }
}



@media (max-width: 767px) {
    .indicacao-card {
        min-width: 240px
    }
}

@media (max-width: 576px) {
    .btn-login {
        max-width: none
    }

    .processo > .step {
        display: flex !important;
    }
    .quem-somos-feature-item img {
        width: 70px
    }
}


#custom-alert-notifications {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 400px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 999999;
}

.custom-alert-notification {
    display: flex;
    align-items: flex-start;
    border-radius: 14px;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 15px 35px rgba(0,0,0,.18);
    animation: custom-alert-show .35s ease;
    position: relative;
}

    .custom-alert-notification.success {
        background: #16a34a;
    }

    .custom-alert-notification.error {
        background: #dc2626;
    }

    .custom-alert-notification.warning {
        background: #f59e0b;
    }

    .custom-alert-notification.info {
        background: #2563eb;
    }

.custom-alert-icon {
    width: 72px;
    align-self: stretch; /* Faz o elemento esticar na vertical */
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    background: rgba(255,255,255,.12);
    padding: 22px 0;
}

.custom-alert-content {
    flex: 1;
    padding: 16px 20px;
}

.custom-alert-title {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 0px;
}

.custom-alert-text {
    font-size: 14px;
    line-height: 20px;
    opacity: .95;
}

.custom-alert-close {
    width: 45px;
    align-self: stretch; /* Faz o elemento esticar na vertical */
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 18px;
    transition: .2s;
}

    .custom-alert-close:hover {
        background: rgba(255,255,255,.15);
    }

.custom-alert-progress {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    background: rgba(255,255,255,.55);
    animation: custom-alert-progress 15s linear forwards;
}

@keyframes custom-alert-progress {

    from {
        width: 100%;
    }

    to {
        width: 0;
    }
}

@keyframes custom-alert-show {

    from {
        opacity: 0;
        transform: translateX(80px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes custom-alert-hide {

    to {
        opacity: 0;
        transform: translateX(120px);
    }
}



@media only screen and (max-width: 450px) {
    #custom-alert-notifications {        
        top: 20px;
        right: 10px;
        width: 290px;
    }
}





/* =========================================
   CONFYARE RESULT CARD
   ========================================= */

.confyare-result-card {
    position: relative;
    /*background: #08111f;*/
    border: 1px solid #263447;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 30px;
    color: #fff;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .20);
    transition: all .25s ease;
}

    .confyare-result-card:hover {
        transform: translateY(-3px);
        border-color: #2d78e8;
        box-shadow: 0 18px 45px rgba(0, 85, 200, .18);
    }


/* =========================================
   IMAGEM
   ========================================= */

.confyare-card-image {
    position: relative;
    height: 285px;
    overflow: hidden;
    background: #101a29;
}

.confyare-main-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.confyare-result-card:hover .confyare-main-image {
    transform: scale(1.03);
}


/* Gradiente inferior */




/* =========================================
   SELO
   ========================================= */

.confyare-trust-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 58px;
    height: 58px;
    padding: 7px;
    border-radius: 0 0 0 18px;
    background: rgba(5, 12, 23, .82);
    backdrop-filter: blur(8px);
    z-index: 3;
}

    .confyare-trust-badge img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


/* =========================================
   IDENTIDADE
   ========================================= */

.confyare-identity {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 120px;
    padding: 0 22px;
    margin-top: -2px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) -1%, rgba(8, 17, 31, 0.49) 19%, rgba(8, 17, 31, 1) 45%);
    margin-top: -56px;
}


/* Logo */

.confyare-company-logo {
    position: relative;
    width: 98px;
    height: 98px;
    min-width: 98px;
    margin-top: -38px;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    border: 3px solid #2878ee;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .35);
    z-index: 4;
}

    .confyare-company-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


/* Responsável */

.confyare-responsible {
    display: flex;
    align-items: center;
    margin-top: 18px;
    min-width: 0;
}

.confyare-responsible-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #2679ed;
    background: #172235;
}

    .confyare-responsible-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.confyare-responsible-info {
    margin-left: 12px;
    min-width: 0;
}

.confyare-responsible-name {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.confyare-responsible-label {
    margin-top: 3px;
    font-size: 13px;
    color: #aeb9c9;
}

.confyare-online {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    border-radius: 50%;
    background: #28c76f;
}


/* =========================================
   CONTEÚDO
   ========================================= */

.confyare-card-content {
    padding: 0px 22px 22px;
    background: #08111f
}


/* Categoria */

.confyare-card-category {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 5px;
}

.confyare-category {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 13px;
    border-radius: 20px;
    background: linear-gradient( 135deg, #1765d8, #347ff0 );
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

    .confyare-category i {
        font-size: 12px;
    }


/* Rating */

.confyare-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #aeb9c9;
}

    .confyare-rating i {
        color: #f6a900;
        font-size: 14px;
    }

    .confyare-rating strong {
        color: #fff;
        font-size: 14px;
    }


/* =========================================
   TÍTULO
   ========================================= */

.confyare-card-title {
    margin: 0 0 10px;
    color: #fff;
    font-size: 25px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.4px;    
}


/* =========================================
   DESCRIÇÃO
   ========================================= */

.confyare-card-description {
    margin: 0;
    color: #c0c9d6;
    font-size: 13px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* =========================================
   PROVA SOCIAL
   ========================================= */

.confyare-social-proof {
    margin-top: 10px;
    padding: 8px;
    border: 1px solid #2a394d;
    border-radius: 16px;
    background: rgba(255, 255, 255, .015);
}

.confyare-social-users {
    display: flex;
    align-items: center;
}


/* Avatares */

.confyare-avatar-group {
    display: flex;
    align-items: center;
    padding-left: 3px;
}

.confyare-trust-avatar {
    width: 48px;
    height: 48px;
    margin-left: -7px;
    border-radius: 50%;
    overflow: hidden;
    background: #172235;
    border: 2px solid #08111f;
}

    .confyare-trust-avatar:first-child {
        margin-left: 0;
    }

    .confyare-trust-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


/* Texto */

.confyare-social-text {
    margin-left: 14px;
}

.confyare-trust-count {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
}

.confyare-stars {
    display: flex;
    align-items: center;
    margin-top: 4px;
}

    .confyare-stars i {
        margin-right: 2px;
        color: #f5a900;
        font-size: 16px;
    }

    .confyare-stars span {
        margin-left: 8px;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
    }


/* =========================================
   CTA
   ========================================= */

.confyare-card-action {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.confyare-card-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 58px;
    padding: 0 20px;
    border-radius: 14px;
    border: 1px solid #3b91ff;
    background: linear-gradient( 135deg, #1465d9, #0754c8 );
    color: #fff !important;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 5px 18px rgba(0, 92, 220, .28);
    transition: all .2s ease;
}

    .confyare-card-button:hover {
        background: linear-gradient( 135deg, #2479ef, #1262d6 );
        box-shadow: 0 8px 25px rgba(0, 92, 220, .40);
        transform: translateY(-1px);
    }

.confyare-card-button-secondary {
    min-height: 48px;
    background: transparent;
    border: 1px solid #2a394d;
    color: #c0c9d6 !important;
    font-size: 14px;
    box-shadow: none;
}

    .confyare-card-button-secondary:hover {
        background: rgba(255, 255, 255, .04);
        border-color: #3b91ff;
        box-shadow: none;
        transform: translateY(-1px);
    }

    .confyare-card-button span {
        display: flex;
        align-items: center;
        gap: 12px;
    }

        .confyare-card-button span i {
            font-size: 20px;
        }

    .confyare-card-button > i {
        font-size: 26px;
        line-height: 1;
    }


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .confyare-result-card {
        border-radius: 18px;
    }

    .confyare-card-image {
        height: 210px;
    }

    .confyare-identity {
        padding: 0 15px;
        min-height: 80px;
    }

    .confyare-company-logo {
        width: 88px;
        height: 88px;
        min-width: 88px;
        margin-top: -30px;
        border-radius: 18px;
    }

    .confyare-responsible {
        margin-left: 12px;
    }

    .confyare-responsible-avatar {
        width: 48px;
        height: 48px;
        min-width: 48px;
    }

    .confyare-responsible-name {
        font-size: 14px;
    }

    .confyare-responsible-label {
        font-size: 11px;
    }

    .confyare-card-content {
        padding: 15px;
    }

    .confyare-card-title {
        font-size: 23px;
    }

    .confyare-card-description {
        font-size: 15px;
    }

    .confyare-social-proof {
        padding: 12px;
    }

    .confyare-trust-avatar {
        width: 42px;
        height: 42px;
    }

    .confyare-trust-count {
        font-size: 13px;
    }

    .confyare-card-button {
        min-height: 54px;
        font-size: 16px;
    }

    .confyare-card-button-secondary {
        min-height: 46px;
        font-size: 14px;
    }
}


/* =========================================
   TELAS MUITO PEQUENAS
   ========================================= */

@media (max-width: 380px) {

    .confyare-company-logo {
        width: 75px;
        height: 75px;
        min-width: 75px;
    }

    .confyare-responsible-avatar {
        display: none;
    }

    .confyare-card-title {
        font-size: 21px;
    }

    .confyare-card-category {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 1199px) {
    .topbar > .container {
        width: 100% !important
    }
}



/* =========================================
       SELETOR DE PERFIL
    ========================================= */

.profile-switcher {
    padding: 18px 16px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.profile-switcher-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: #7f8799;
    margin-bottom: 8px;
    padding-left: 4px;
}

.profile-switcher-control {
    display: flex;
    width: 100%;
    background: #0f1422;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 28px;
    padding: 4px;
    gap: 4px;
    margin-top: 15px
}

.profile-switcher-item {
    flex: 1;
    min-width: 0;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 25px;
    color: #8992a6 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .profile-switcher-item i {
        font-size: 13px;
    }

    .profile-switcher-item:hover {
        color: #ffffff !important;
        background: rgba(255,255,255,0.04);
    }

    .profile-switcher-item.active {
        color: #ffffff !important;
        background: linear-gradient(135deg,#0b78ff,#1246d9);
        box-shadow: 0 0 55px -8px #0b78ff;
    }


    .profile-switcher-item:not(.active):active {
        transform: scale(.98);
    }


/* =========================================
       CADASTRO DE EMPRESA - ALERTA
    ========================================= */

.menu-item-company-alert {
    position: relative;
    background: rgba(255, 193, 7, 0.08);
    border: 1px solid rgba(255, 193, 7, 0.45);
    border-radius: 18px;
    color: #ffc107 !important;
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    margin: 8px 0;
    transition: all 0.25s ease;
}

    .menu-item-company-alert i {
        color: #ffc107 !important;
        margin-right: 14px;
        font-size: 15px;
    }

    .menu-item-company-alert span:first-of-type {
        color: #f5f5f5;
        font-weight: 600;
    }

    .menu-item-company-alert:hover {
        background: rgba(255, 193, 7, 0.14);
        border-color: #ffc107;
        box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.12), 0 0 18px rgba(255, 193, 7, 0.10);
        text-decoration: none;
    }

.badge-company-alert {
    margin-left: auto;
    background: #ffc107;
    color: #151923 !important;
    font-size: 10px;
    font-weight: 800;
    padding: 5px 10px;
    border-radius: 14px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .badge-company-alert > i {
        color: #fff !important;
        margin-right: 0 !important;
    }

.menu-item-company-alert {
    animation: companyAlertPulse 2s ease-in-out infinite;
}

@keyframes companyAlertPulse {
    0%, 100% {
        border-color: rgba(255, 193, 7, 0.35);
    }

    50% {
        border-color: rgba(255, 193, 7, 0.8);
        box-shadow: 0 0 14px rgba(255, 193, 7, 0.12);
    }
}


/* =========================================
       MOBILE
    ========================================= */

@media (max-width: 767px) {

    .profile-switcher {
        padding-left: 14px;
        padding-right: 14px;
    }

    .profile-switcher-item {
        height: 44px;
    }
}



.btn-saque-total {
    background: transparent;
    border: 1px solid #2563eb;
    color: #2563eb;
    position: absolute;
    top: 9px;
    right: 15px;    
    padding: 5px 10px;
    font-size: 15px;
    border-radius: 7px
}



/* ================================
   ANEXOS
================================ */

.attachments-card {
    padding: 22px 28px !important;
}

.attachments-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

    .attachments-header h6 {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 0;
        font-size: 16px;
        font-weight: 500;
        color: #fff;
    }

    .attachments-header .mini-icon {
        color: #dce7f5;
        font-size: 15px;
    }

.attachments-count {
    min-width: 25px;
    height: 25px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(53, 145, 255, .35);
    border-radius: 20px;
    color: #8fc5ff;
    background: rgba(30, 110, 220, .08);
    font-size: 11px;
    font-weight: 600;
}


/* LISTA */

.attachments-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}


/* ARQUIVO */

.attachment-item {
    display: flex;
    align-items: center;
    min-height: 72px;
    padding: 10px 12px;
    border: 1px solid rgba(48, 115, 205, .28);
    border-radius: 10px;
    background: rgba(8, 28, 67, .42);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

    .attachment-item:hover {
        background: rgba(18, 50, 105, .55);
        border-color: rgba(55, 145, 255, .55);
        transform: translateY(-1px);
    }


/* ÍCONE */

.attachment-file-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 19px;
    margin-right: 13px;
}

.file-image {
    color: #62b0ff;
    background: rgba(35, 125, 235, .15);
    border: 1px solid rgba(55, 145, 255, .22);
}

.file-pdf {
    color: #ff6b6b;
    background: rgba(220, 45, 45, .13);
    border: 1px solid rgba(220, 45, 45, .22);
}

.file-word {
    color: #55a8ff;
    background: rgba(45, 110, 220, .13);
    border: 1px solid rgba(45, 110, 220, .22);
}

.file-excel {
    color: #5dd69a;
    background: rgba(35, 170, 105, .13);
    border: 1px solid rgba(35, 170, 105, .22);
}

.file-archive,
.file-default {
    color: #aabbd3;
    background: rgba(130, 150, 180, .10);
    border: 1px solid rgba(130, 150, 180, .18);
}


/* INFORMAÇÕES */

.attachment-info {
    min-width: 0;
    flex: 1;
}

.attachment-name {
    display: block;
    color: #eaf2ff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none !important;
    margin-bottom: 5px;
}

    .attachment-name:hover {
        color: #65adff;
    }

.attachment-meta {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #7086a8;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .2px;
}

.attachment-dot {
    color: #405574;
}


/* AÇÕES */

.attachment-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: 15px;
}

.attachment-action {
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(105, 135, 175, .30);
    border-radius: 9px;
    color: #b7c7dc;
    background: rgba(255, 255, 255, .025);
    text-decoration: none !important;
    transition: all .2s ease;
}

    .attachment-action:hover {
        color: #fff;
        border-color: rgba(60, 150, 255, .65);
        background: rgba(35, 125, 235, .15);
    }


/* MOBILE */

@media (max-width: 576px) {

    .attachments-card {
        padding: 18px !important;
    }

    .attachment-item {
        min-height: 64px;
        padding: 9px;
    }

    .attachment-file-icon {
        width: 40px;
        height: 40px;
        margin-right: 10px;
        font-size: 17px;
    }

    .attachment-name {
        font-size: 13px;
    }

    .attachment-meta {
        font-size: 10px;
    }

    .attachment-actions {
        margin-left: 8px;
    }

    .attachment-action {
        width: 34px;
        height: 34px;
    }

        .attachment-action .fa {
            font-size: 12px;
        }
}


.btn-solicitar {
    background: linear-gradient(270deg, #2563eb, #25a2f5);
    box-shadow: 0 0 34px -5px #25a2f5;
}



/* =========================================
   AGUARDANDO PRESTADOR
========================================= */

.waiting-provider-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 28px 32px;
    margin-bottom: 25px;
    border: 1px solid rgba(45, 123, 230, .45);
    border-radius: 25px;
    background: linear-gradient( 135deg, rgba(17, 42, 92, .92), rgba(10, 27, 65, .96) );
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 8px 30px rgba(0,0,0,.12);
    overflow: hidden;
}


    /* brilho discreto no fundo */

    .waiting-provider-card::before {
        content: "";
        position: absolute;
        width: 180px;
        height: 180px;
        left: -70px;
        top: -90px;
        border-radius: 50%;
        background: rgba(30, 130, 255, .10);
        filter: blur(30px);
        pointer-events: none;
    }


/* =========================================
   ÍCONE
========================================= */

.waiting-provider-icon {
    position: relative;
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    border-radius: 50%;
    color: #62adff;
    background: rgba(31, 123, 235, .13);
    border: 1px solid rgba(67, 151, 255, .35);
    box-shadow: 0 0 22px rgba(32, 132, 255, .18);
}

    .waiting-provider-icon i {
        font-size: 23px;
    }


/* =========================================
   CONTEÚDO
========================================= */

.waiting-provider-content {
    position: relative;
    flex: 1;
    min-width: 0;
}


/* =========================================
   HEADER
========================================= */

.waiting-provider-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 8px;
}

    .waiting-provider-header h3 {
        margin: 0 0 6px 0;
        color: #fff;
        font-size: 21px;
        font-weight: 700;
    }


/* =========================================
   STATUS
========================================= */

.waiting-provider-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #79baff;
    font-size: 11px;
    font-weight: 600;
}

.status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3295ff;
    box-shadow: 0 0 8px rgba(50,149,255,.8);
}


/* =========================================
   DESCRIÇÃO
========================================= */

.waiting-provider-description {
    max-width: 950px;
    margin: 0;
    color: #b7c7dc;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================
   INFORMAÇÕES
========================================= */

.waiting-provider-info {
    display: flex;
    align-items: center;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(104, 137, 180, .16);
}


/* item */

.waiting-info-item {
    display: flex;
    align-items: center;
    gap: 11px;
}

    .waiting-info-item > i {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        color: #69adff;
        background: rgba(35, 125, 235, .10);
        font-size: 14px;
    }

    .waiting-info-item strong {
        display: block;
        margin-bottom: 2px;
        color: #e7f0fc;
        font-size: 12px;
        font-weight: 600;
    }

    .waiting-info-item span {
        display: block;
        color: #7087a9;
        font-size: 11px;
    }


/* divisor */

.waiting-info-divider {
    width: 1px;
    height: 32px;
    margin: 0 30px;
    background: rgba(104, 137, 180, .18);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .waiting-provider-card {
        padding: 22px 20px;
        border-radius: 20px;
    }

    .waiting-provider-icon {
        width: 48px;
        height: 48px;
        margin-right: 14px;
    }

        .waiting-provider-icon i {
            font-size: 19px;
        }

    .waiting-provider-header h3 {
        font-size: 17px;
    }

    .waiting-provider-description {
        font-size: 13px;
        line-height: 1.55;
    }

    .waiting-provider-info {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .waiting-info-divider {
        display: none;
    }
}

/* ALERTA - MEUS PEDIDOS */

.orders-alert {
    display: flex;
    align-items: center;
    gap: 24px;
    background: rgba(255, 193, 7, 0.04);
    border: 1.5px solid rgba(255, 193, 7, 0.75);
    border-radius: 18px;
    padding: 24px 22px 24px 30px;
    margin-bottom: 24px;
}

.orders-alert-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffc107;
    font-size: 26px;
    font-weight: 800;
    box-shadow: 0 0 18px rgba(255, 193, 7, 0.18);
}

.orders-alert-text {
    flex: 1;
    min-width: 0;
}

.orders-alert-title {
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 6px;
}

.orders-alert-description {
    color: #b8c3d9;
    font-size: 15px;
    line-height: 1.6;
}

    .orders-alert-description span {
        display: block;
    }

.orders-alert-btn {
    flex-shrink: 0;
    background: #1677ff;
    color: #fff !important;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding: 15px 20px;
    border-radius: 16px;
    box-shadow: 0 6px 22px rgba(22, 119, 255, 0.35);
    transition: .25s;
    text-decoration: none !important;
}

    .orders-alert-btn:hover {
        background: #2a86ff;
        transform: translateY(-2px);
    }

.menu-item-badge-alert {
    margin-left: auto;
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    border-radius: 13px;
    background: #ffc107;
    color: #111;
    font-size: 13px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    .orders-alert {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }

    .orders-alert-btn {
        width: 100%;
        text-align: center;
    }
}

/* AÇÕES DO PEDIDO - MEUS PEDIDOS */

.order-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}

.order-btn-primary,
.order-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding: 16px 32px;
    border-radius: 16px;
    transition: .25s;
    text-decoration: none !important;
}

.order-btn-primary {
    background: #1677ff;
    border: 1.5px solid #1677ff;
    color: #fff !important;
    box-shadow: 0 6px 22px rgba(22, 119, 255, 0.35);
}

    .order-btn-primary:hover {
        background: #2a86ff;
        transform: translateY(-2px);
    }

.order-btn-outline {
    background: transparent;
    border: 1.5px solid #1677ff;
    color: #4d9aff !important;
}

    .order-btn-outline:hover {
        background: rgba(22, 119, 255, 0.1);
        transform: translateY(-2px);
    }

    .order-btn-outline i {
        font-size: 18px;
    }

@media (max-width: 767px) {
    .order-btn-primary,
    .order-btn-outline {
        width: 100%;
    }
}

/* BORDA DE STATUS - MEUS PEDIDOS */

.order-card-status {
    border-left: 5px solid #6b7280;
}

.order-status-pendente { border-left-color: #6b7280; }
.order-status-aprovacao { border-left-color: #ffc107; }
.order-status-aceito { border-left-color: #1677ff; }
.order-status-pago { border-left-color: #39ff88; }
.order-status-sacado { border-left-color: #7dff9b; }
.order-status-realizado { border-left-color: #f59e0b; }
.order-status-concluido { border-left-color: #22c55e; }
.order-status-cancelado { border-left-color: #ff3b3b; }
