/* ==========================================================
   COTRARE IA
   HEADER + HOME + MENUS + ÚLTIMO POST + FOOTER
   ========================================================== */

:root {
    --cotrare-navy: #08274C;
    --cotrare-navy-dark: #08274C;
    --cotrare-turquoise: #5DB9C6;
    --cotrare-turquoise-dark: #5DB9C6;
    --cotrare-slate: #08274C;
    --cotrare-light: #E9E9E9;
    --cotrare-background: #F5F8F9;
    --cotrare-background-2: #EEF4F5;
    --cotrare-white: #FFFFFF;
    --cotrare-border: rgba(8, 39, 76, .10);
}


/* ==========================================================
   PROTEÇÃO VISUAL CONTRA HELLO ELEMENTOR
   Mantém a identidade Cotrare mesmo quando as cores globais
   do tema ou do Elementor são carregadas depois deste arquivo.
   ========================================================== */

body #cotrare-header .cotrare-menu > li > a,
body #cotrare-header .cotrare-simple-dropdown a,
body #cotrare-header .cotrare-mega-column > a,
body #cotrare-header .cotrare-content-dropdown a {
    color: #08274C !important;
}

body #cotrare-header .cotrare-menu > li > a:hover,
body #cotrare-header .cotrare-simple-dropdown a:hover,
body #cotrare-header .cotrare-mega-column > a:hover,
body #cotrare-header .cotrare-content-dropdown a:hover {
    color: #5DB9C6 !important;
}

body #cotrare-header .cotrare-btn-cotar,
body #cotrare-header .cotrare-btn-cotar:link,
body #cotrare-header .cotrare-btn-cotar:visited {
    background: #5DB9C6 !important;
    border-color: #5DB9C6 !important;
    color: #08274C !important;
}

body #cotrare-header .cotrare-btn-cotar:hover,
body #cotrare-header .cotrare-btn-cotar:focus,
body #cotrare-header .cotrare-btn-cotar:active {
    background: #08274C !important;
    border-color: #08274C !important;
    color: #5DB9C6 !important;
}

/* ==========================================================
   CONTRATO GLOBAL DE CORES DOS BOTÕES COTRARE
   Turquesa = texto azul-marinho | Azul-marinho = texto turquesa
   ========================================================== */

body .cotrare-home-btn-primary,
body .cotrare-home-btn-primary:link,
body .cotrare-home-btn-primary:visited,
body .cotrare-business-btn,
body .cotrare-business-btn:link,
body .cotrare-business-btn:visited {
    background: #5DB9C6 !important;
    border-color: #5DB9C6 !important;
    color: #08274C !important;
}

body .cotrare-home-btn-primary:hover,
body .cotrare-home-btn-primary:focus,
body .cotrare-home-btn-primary:active,
body .cotrare-business-btn:hover,
body .cotrare-business-btn:focus,
body .cotrare-business-btn:active {
    background: #08274C !important;
    border-color: #08274C !important;
    color: #5DB9C6 !important;
}

body #cotrare-header .cotrare-btn-cotar *,
body .cotrare-home-btn-primary *,
body .cotrare-business-btn * {
    color: inherit !important;
}

body #cotrare-header .cotrare-btn-cotar svg,
body .cotrare-home-btn-primary svg,
body .cotrare-business-btn svg {
    fill: currentColor;
    stroke: currentColor;
}


/* ==========================================================
   CONTRATO GLOBAL — BOTÕES DAS PÁGINAS COTRARE
   Regra oficial:
   TURQUESA #5DB9C6 -> TEXTO/ÍCONE #08274C
   AZUL-MARINHO #08274C -> TEXTO/ÍCONE #5DB9C6
   Protege também hover, focus, active e visited.
   ========================================================== */

/* BOTÕES TURQUESA — ESTADO NORMAL */
body .cotrare-auto .ca-button-primary,
body .cotrare-cell .cs-primary,
body .cotrare-saude .cs-button-primary,
body .cotrare-contact .ctcontact-btn,
body .cotrare-thanks .cth-primary,
body .cotrare-quote .cq-submit,
body .cotrare-residencial .cr-btn-primary,
body .cotrare-viagem .cr-btn-primary,
body .ct-rc .rc-btn-primary,
body .ctp-page .ctp-btn-primary,
body .ctr-porto .ctr-btn-primary,
body .ctm-page .ctm-btn-primary,
body .cty-page .cty-btn-primary,
body .cty-page .cty-btn-whatsapp,
body .cotrare-vida .cv-button-primary,
body .cotrare-electric .ce-button-primary,
body .cotrare-phones .ctphones-btn,
body .cotrare-phones .ctphones-call,
body .cotrare-about .ctabout-btn:not(.ctabout-btn--outline),
body .cotrare-post .ctpost-ad--internal a {
    background: #5DB9C6 !important;
    border-color: #5DB9C6 !important;
    color: #08274C !important;
}

/* BOTÕES TURQUESA — HOVER/FOCUS/ACTIVE: INVERTE PARA AZUL-MARINHO */
body .cotrare-auto .ca-button-primary:hover,
body .cotrare-auto .ca-button-primary:focus,
body .cotrare-auto .ca-button-primary:active,
body .cotrare-cell .cs-primary:hover,
body .cotrare-cell .cs-primary:focus,
body .cotrare-cell .cs-primary:active,
body .cotrare-saude .cs-button-primary:hover,
body .cotrare-saude .cs-button-primary:focus,
body .cotrare-saude .cs-button-primary:active,
body .cotrare-contact .ctcontact-btn:hover,
body .cotrare-contact .ctcontact-btn:focus,
body .cotrare-contact .ctcontact-btn:active,
body .cotrare-thanks .cth-primary:hover,
body .cotrare-thanks .cth-primary:focus,
body .cotrare-thanks .cth-primary:active,
body .cotrare-quote .cq-submit:hover,
body .cotrare-quote .cq-submit:focus,
body .cotrare-quote .cq-submit:active,
body .cotrare-residencial .cr-btn-primary:hover,
body .cotrare-residencial .cr-btn-primary:focus,
body .cotrare-residencial .cr-btn-primary:active,
body .cotrare-viagem .cr-btn-primary:hover,
body .cotrare-viagem .cr-btn-primary:focus,
body .cotrare-viagem .cr-btn-primary:active,
body .ct-rc .rc-btn-primary:hover,
body .ct-rc .rc-btn-primary:focus,
body .ct-rc .rc-btn-primary:active,
body .ctp-page .ctp-btn-primary:hover,
body .ctp-page .ctp-btn-primary:focus,
body .ctp-page .ctp-btn-primary:active,
body .ctr-porto .ctr-btn-primary:hover,
body .ctr-porto .ctr-btn-primary:focus,
body .ctr-porto .ctr-btn-primary:active,
body .ctm-page .ctm-btn-primary:hover,
body .ctm-page .ctm-btn-primary:focus,
body .ctm-page .ctm-btn-primary:active,
body .cty-page .cty-btn-primary:hover,
body .cty-page .cty-btn-primary:focus,
body .cty-page .cty-btn-primary:active,
body .cty-page .cty-btn-whatsapp:hover,
body .cty-page .cty-btn-whatsapp:focus,
body .cty-page .cty-btn-whatsapp:active,
body .cotrare-vida .cv-button-primary:hover,
body .cotrare-vida .cv-button-primary:focus,
body .cotrare-vida .cv-button-primary:active,
body .cotrare-electric .ce-button-primary:hover,
body .cotrare-electric .ce-button-primary:focus,
body .cotrare-electric .ce-button-primary:active,
body .cotrare-phones .ctphones-btn:hover,
body .cotrare-phones .ctphones-btn:focus,
body .cotrare-phones .ctphones-btn:active,
body .cotrare-phones .ctphones-call:hover,
body .cotrare-phones .ctphones-call:focus,
body .cotrare-phones .ctphones-call:active,
body .cotrare-about .ctabout-btn:not(.ctabout-btn--outline):hover,
body .cotrare-about .ctabout-btn:not(.ctabout-btn--outline):focus,
body .cotrare-about .ctabout-btn:not(.ctabout-btn--outline):active,
body .cotrare-post .ctpost-ad--internal a:hover,
body .cotrare-post .ctpost-ad--internal a:focus,
body .cotrare-post .ctpost-ad--internal a:active {
    background: #08274C !important;
    border-color: #08274C !important;
    color: #5DB9C6 !important;
}

/* BOTÕES AZUL-MARINHO — ESTADO NORMAL */
body .ct-rc .rc-btn-dark,
body .cotrare-electric .ce-button-dark,
body .cotrare-thanks .cth-fast .cth-btn {
    background: #08274C !important;
    border-color: #08274C !important;
    color: #5DB9C6 !important;
}

/* BOTÕES AZUL-MARINHO — HOVER/FOCUS/ACTIVE: INVERTE PARA TURQUESA */
body .ct-rc .rc-btn-dark:hover,
body .ct-rc .rc-btn-dark:focus,
body .ct-rc .rc-btn-dark:active,
body .cotrare-electric .ce-button-dark:hover,
body .cotrare-electric .ce-button-dark:focus,
body .cotrare-electric .ce-button-dark:active,
body .cotrare-thanks .cth-fast .cth-btn:hover,
body .cotrare-thanks .cth-fast .cth-btn:focus,
body .cotrare-thanks .cth-fast .cth-btn:active {
    background: #5DB9C6 !important;
    border-color: #5DB9C6 !important;
    color: #08274C !important;
}

/* GHOSTS QUE VIRAM AZUL-MARINHO NO HOVER */
body .ctp-page .ctp-btn-ghost:hover,
body .ctp-page .ctp-btn-ghost:focus,
body .ctr-porto .ctr-btn-ghost:hover,
body .ctr-porto .ctr-btn-ghost:focus,
body .ctm-page .ctm-btn-ghost:hover,
body .ctm-page .ctm-btn-ghost:focus,
body .cty-page .cty-btn-ghost:hover,
body .cty-page .cty-btn-ghost:focus {
    background: #08274C !important;
    border-color: #08274C !important;
    color: #5DB9C6 !important;
}

/* TEXTO, SPAN, ÍCONE E SVG HERDAM SEMPRE A COR DO BOTÃO */
body .ca-button-primary *,
body .cs-primary *,
body .cs-button-primary *,
body .ctcontact-btn *,
body .cth-primary *,
body .cq-submit *,
body .cr-btn-primary *,
body .rc-btn-primary *,
body .rc-btn-dark *,
body .ctp-btn-primary *,
body .ctp-btn-ghost *,
body .ctr-btn-primary *,
body .ctr-btn-ghost *,
body .ctm-btn-primary *,
body .ctm-btn-ghost *,
body .cty-btn-primary *,
body .cty-btn-whatsapp *,
body .cty-btn-ghost *,
body .cv-button-primary *,
body .ce-button-primary *,
body .ce-button-dark *,
body .ctphones-btn *,
body .ctphones-call *,
body .ctabout-btn *,
body .ctpost-ad--internal a * {
    color: inherit !important;
}

body .ca-button-primary svg,
body .cs-primary svg,
body .cs-button-primary svg,
body .ctcontact-btn svg,
body .cth-primary svg,
body .cr-btn-primary svg,
body .rc-btn-primary svg,
body .rc-btn-dark svg,
body .ctp-btn-primary svg,
body .ctp-btn-ghost svg,
body .ctr-btn-primary svg,
body .ctr-btn-ghost svg,
body .ctm-btn-primary svg,
body .ctm-btn-ghost svg,
body .cty-btn-primary svg,
body .cty-btn-whatsapp svg,
body .cty-btn-ghost svg,
body .cv-button-primary svg,
body .ce-button-primary svg,
body .ce-button-dark svg,
body .ctphones-btn svg,
body .ctphones-call svg,
body .ctabout-btn svg,
body .ctpost-ad--internal a svg {
    fill: currentColor !important;
    stroke: currentColor !important;
}

body .cotrare-home .cotrare-text-link,
body .cotrare-home .cotrare-text-link:link,
body .cotrare-home .cotrare-text-link:visited {
    color: #08274C !important;
}

body .cotrare-home .cotrare-text-link:hover,
body .cotrare-home .cotrare-text-link:focus {
    color: #5DB9C6 !important;
}

body .cotrare-footer a,
body .cotrare-footer a:link,
body .cotrare-footer a:visited {
    color: rgba(255,255,255,.78) !important;
}

body .cotrare-footer a:hover,
body .cotrare-footer a:focus {
    color: #5DB9C6 !important;
}


/* ==========================================================
   BASE
   ========================================================== */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    color: var(--cotrare-slate);
    background: #FFFFFF;

    font-family: "Inter", "Segoe UI", Arial, sans-serif;

    overflow-x: hidden;
}

img {
    max-width: 100%;
}

#cotrare-header a,
.cotrare-home a,
.cotrare-footer a,
.cotrare-latest-content a {
    text-decoration: none;
}


/* ==========================================================
   HEADER
   ========================================================== */

#cotrare-header {
    position: relative;
    z-index: 9999;

    width: 100%;

    background: #FFFFFF;
}


/* ==========================================================
   TOPBAR
   ========================================================== */

.cotrare-topbar {
    width: 100%;

    background: var(--cotrare-navy-dark);

    color: #FFFFFF;
}

.cotrare-topbar-inner {
    width: min(1240px, calc(100% - 48px));

    min-height: 36px;

    margin: 0 auto;

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

    gap: 25px;

    font-size: 12px;
}

.cotrare-topbar-left {
    opacity: .92;
}

.cotrare-topbar-right a {
    color: #FFFFFF;

    font-weight: 700;
}

.cotrare-topbar-right a:hover {
    color: var(--cotrare-turquoise);
}


/* ==========================================================
   HEADER PRINCIPAL
   ========================================================== */

.cotrare-header-main {
    position: relative;

    width: 100%;

    background: #FFFFFF;

    border-bottom: 1px solid var(--cotrare-border);

    box-shadow:
        0 5px 20px rgba(8, 39, 76, .05);
}

.cotrare-header-inner {
    position: relative;

    width: min(1240px, calc(100% - 48px));

    height: 92px;

    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 28px;
}


/* ==========================================================
   LOGO
   ========================================================== */

.cotrare-logo {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
}

.cotrare-logo-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 0;
}

.cotrare-logo .cotrare-logo-img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 225px !important;
    max-height: 68px !important;
    object-fit: contain !important;
}

.cotrare-logo .custom-logo-link {
    display: flex;
    align-items: center;
}

.cotrare-logo img.custom-logo {
    display: block;

    width: auto;
    height: auto;

    max-width: 225px;
    max-height: 68px;

    object-fit: contain;
}

.cotrare-logo-fallback {
    color: var(--cotrare-navy);

    font-size: 30px;
    font-weight: 900;

    letter-spacing: 1px;
}


/* ==========================================================
   NAVEGAÇÃO
   ========================================================== */

.cotrare-navigation {
    flex: 1 1 auto;
}

.cotrare-menu {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 3px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cotrare-menu > li {
    position: relative;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cotrare-menu > li.cotrare-has-mega {
    position: static;
}

.cotrare-menu > li > a {
    position: relative;

    display: flex;
    align-items: center;

    height: 92px;

    padding: 0 12px;

    color: var(--cotrare-navy);

    font-size: 14px;
    font-weight: 600;

    white-space: nowrap;

    transition:
        color .18s ease;
}

.cotrare-menu > li > a:hover {
    color: var(--cotrare-turquoise-dark);
}

.cotrare-menu-arrow {
    display: inline-block;

    margin-left: 6px;

    color: currentColor;

    font-size: 15px;

    transition:
        transform .18s ease;
}

.cotrare-has-mega:hover .cotrare-menu-arrow,
.cotrare-has-dropdown:hover .cotrare-menu-arrow {
    transform: rotate(180deg);
}


/* LINHA MENU */

.cotrare-menu > li > a::after {
    content: "";

    position: absolute;

    left: 12px;
    right: 12px;
    bottom: 0;

    height: 3px;

    background: var(--cotrare-turquoise);

    border-radius: 3px 3px 0 0;

    transform: scaleX(0);

    transform-origin: center;

    transition:
        transform .18s ease;
}

.cotrare-menu > li > a:hover::after,
.cotrare-has-mega:hover > a::after,
.cotrare-has-dropdown:hover > a::after {
    transform: scaleX(1);
}


/* ==========================================================
   MEGA MENU
   ========================================================== */

.cotrare-mega-menu {
    position: absolute;

    top: 100%;
    left: 50%;

    z-index: 1000;

    width: min(1040px, calc(100vw - 60px));

    background: #FFFFFF;

    border: 1px solid var(--cotrare-border);

    border-radius: 0 0 18px 18px;

    box-shadow:
        0 22px 60px rgba(8, 39, 76, .17);

    opacity: 0;
    visibility: hidden;

    transform:
        translate(-50%, 10px);

    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.cotrare-has-mega:hover > .cotrare-mega-menu,
.cotrare-has-mega:focus-within > .cotrare-mega-menu {
    opacity: 1;
    visibility: visible;

    transform:
        translate(-50%, 0);

    pointer-events: auto;
}

.cotrare-mega-grid {
    display: grid;

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

.cotrare-mega-column {
    min-height: 230px;

    padding: 28px;

    border-right:
        1px solid var(--cotrare-border);
}

.cotrare-mega-column:last-child {
    border-right: 0;
}

.cotrare-mega-label,
.cotrare-section-eyebrow {
    display: block;

    margin-bottom: 9px;

    color: var(--cotrare-turquoise-dark);

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}

.cotrare-mega-column h3 {
    margin: 0 0 15px;

    color: var(--cotrare-navy);

    font-size: 16px;
    font-weight: 800;

    line-height: 1.3;
}

.cotrare-mega-column > a {
    display: block;

    margin-bottom: 10px;

    color: var(--cotrare-slate);

    font-size: 14px;
    font-weight: 500;

    line-height: 1.4;
}

.cotrare-mega-column > a:hover {
    color: var(--cotrare-turquoise-dark);
}

.cotrare-mega-highlight {
    background: var(--cotrare-background-2);

    border-radius: 0 0 18px 0;
}

.cotrare-mega-highlight h3 {
    font-size: 19px;

    line-height: 1.35;
}

.cotrare-mega-highlight p {
    margin: 0 0 20px;

    color: var(--cotrare-slate);

    font-size: 13px;
    line-height: 1.6;
}

.cotrare-mega-highlight a.cotrare-mega-cta {
    color: var(--cotrare-turquoise-dark);

    font-weight: 800;
}


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

.cotrare-content-dropdown {
    position: absolute;

    top: 100%;
    left: 50%;

    z-index: 1000;

    width: 670px;

    padding: 28px;

    background: #FFFFFF;

    border: 1px solid var(--cotrare-border);

    border-radius: 0 0 16px 16px;

    box-shadow:
        0 20px 50px rgba(8, 39, 76, .16);

    opacity: 0;
    visibility: hidden;

    transform:
        translate(-50%, 10px);

    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.cotrare-has-dropdown:hover
> .cotrare-content-dropdown,
.cotrare-has-dropdown:focus-within
> .cotrare-content-dropdown {
    opacity: 1;
    visibility: visible;

    transform:
        translate(-50%, 0);

    pointer-events: auto;
}

.cotrare-content-grid {
    display: grid;

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

    gap: 32px;
}

.cotrare-content-grid a {
    display: block;

    margin-bottom: 10px;

    color: var(--cotrare-slate);

    font-size: 14px;
    font-weight: 500;
}

.cotrare-content-grid a:hover {
    color: var(--cotrare-turquoise-dark);
}


/* ==========================================================
   ATENDIMENTO
   ========================================================== */

.cotrare-simple-dropdown {
    position: absolute;

    top: 100%;
    left: 50%;

    z-index: 1000;

    width: 245px;

    padding: 10px;

    background: #FFFFFF;

    border: 1px solid var(--cotrare-border);

    border-radius: 0 0 14px 14px;

    box-shadow:
        0 18px 42px rgba(8, 39, 76, .15);

    opacity: 0;
    visibility: hidden;

    transform:
        translate(-50%, 8px);

    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}

.cotrare-has-dropdown:hover
> .cotrare-simple-dropdown,
.cotrare-has-dropdown:focus-within
> .cotrare-simple-dropdown {
    opacity: 1;
    visibility: visible;

    transform:
        translate(-50%, 0);

    pointer-events: auto;
}

.cotrare-simple-dropdown a {
    display: block;

    padding: 11px 13px;

    color: var(--cotrare-navy);

    border-radius: 8px;

    font-size: 14px;
    font-weight: 500;
}

.cotrare-simple-dropdown a:hover {
    background: rgba(94, 185, 197, .14);

    color: var(--cotrare-navy);
}


/* ==========================================================
   BOTÃO HEADER
   ========================================================== */

.cotrare-header-action {
    flex: 0 0 auto;
}

.cotrare-btn-cotar {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 50px;

    padding: 0 24px;

    background: var(--cotrare-turquoise);

    color: var(--cotrare-navy);

    border-radius: 999px;

    font-size: 13px;
    font-weight: 900;

    text-transform: uppercase;

    box-shadow:
        0 7px 18px rgba(94, 185, 197, .22);

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

.cotrare-btn-cotar:hover,
.cotrare-btn-cotar:focus,
.cotrare-btn-cotar:active {
    background: var(--cotrare-navy);

    color: var(--cotrare-turquoise);

    transform: translateY(-1px);
}


/* ==========================================================
   MOBILE MENU BUTTON
   ========================================================== */

.cotrare-menu-toggle {
    display: none;

    width: 44px;
    height: 44px;

    margin-left: auto;
    padding: 9px;

    border: 0;
    border-radius: 8px;

    background: transparent;

    cursor: pointer;
}

.cotrare-menu-toggle span {
    display: block;

    width: 100%;
    height: 2px;

    margin: 5px 0;

    background: var(--cotrare-navy);

    border-radius: 99px;
}


/* ==========================================================
   HOME
   ========================================================== */

.cotrare-home {
    width: 100%;

    overflow: hidden;
}

.cotrare-eyebrow {
    display: block;

    margin-bottom: 15px;

    color: var(--cotrare-turquoise-dark);

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 1.6px;

    text-transform: uppercase;
}


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

.cotrare-hero {
    position: relative;

    width: 100%;

    padding: 58px 24px 62px;

    background: #F7FAFB;
}

.cotrare-hero-inner {
    width: min(1240px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(420px, .92fr)
        minmax(520px, 1.08fr);

    gap: 55px;

    align-items: center;
}

.cotrare-hero-content {
    position: relative;

    z-index: 2;

    padding: 10px 0;
}

.cotrare-hero-content h1 {
    max-width: 670px;

    margin: 0;

    color: var(--cotrare-navy);

    font-size:
        clamp(43px, 5vw, 68px);

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -2.3px;
}

.cotrare-hero-content > p {
    max-width: 620px;

    margin: 25px 0 0;

    color: var(--cotrare-slate);

    font-size: 18px;
    font-weight: 400;

    line-height: 1.65;
}


/* BOTÕES HERO */

.cotrare-hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 13px;

    margin-top: 31px;
}

.cotrare-home-btn {
    display: inline-flex;

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

    gap: 10px;

    min-height: 54px;

    padding: 0 26px;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 900;

    text-transform: uppercase;

    transition:
        transform .18s ease,
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}

.cotrare-home-btn:hover {
    transform: translateY(-2px);
}

.cotrare-home-btn-primary {
    background: var(--cotrare-turquoise);

    color: var(--cotrare-navy);

    border:
        1px solid var(--cotrare-turquoise);
}

.cotrare-home-btn-primary:hover,
.cotrare-home-btn-primary:focus,
.cotrare-home-btn-primary:active {
    background: var(--cotrare-navy);

    border-color: var(--cotrare-navy);

    color: var(--cotrare-turquoise);
}

.cotrare-home-btn-secondary {
    background: #FFFFFF;

    color: var(--cotrare-navy);

    border:
        1px solid rgba(8, 39, 76, .18);
}

.cotrare-home-btn-secondary:hover {
    border-color: var(--cotrare-turquoise);

    color: var(--cotrare-turquoise-dark);
}


/* CONFIANÇA DENTRO HERO */

.cotrare-hero-trust {
    display: grid;

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

    gap: 17px;

    margin-top: 43px;
}

.cotrare-hero-trust > div {
    padding-top: 15px;

    border-top:
        2px solid rgba(94, 185, 197, .45);
}

.cotrare-hero-trust strong {
    display: block;

    margin-bottom: 5px;

    color: var(--cotrare-navy);

    font-size: 13px;
    font-weight: 800;
}

.cotrare-hero-trust span {
    display: block;

    color: #71808F;

    font-size: 11px;
    line-height: 1.45;
}


/* FOTO HERO */

.cotrare-hero-visual {
    position: relative;

    min-width: 0;
}

.cotrare-hero-image {
    position: relative;

    width: 100%;
    height: 590px;

    overflow: hidden;

    background: var(--cotrare-light);

    border-radius: 30px 30px 30px 90px;

    box-shadow:
        0 25px 60px rgba(8, 39, 76, .15);
}

.cotrare-hero-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center center;
}


/* CARTÃO SOBRE FOTO */

.cotrare-hero-floating-card {
    position: absolute;

    left: -30px;
    bottom: 32px;

    display: flex;
    align-items: center;

    gap: 13px;

    min-width: 260px;

    padding: 17px 20px;

    background: #FFFFFF;

    border:
        1px solid rgba(8, 39, 76, .08);

    border-radius: 16px;

    box-shadow:
        0 18px 45px rgba(8, 39, 76, .17);
}

.cotrare-floating-icon {
    flex: 0 0 auto;

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

    width: 42px;
    height: 42px;

    background: var(--cotrare-turquoise);

    color: var(--cotrare-navy);

    border-radius: 50%;

    font-size: 18px;
    font-weight: 900;
}

.cotrare-hero-floating-card strong {
    display: block;

    margin-bottom: 3px;

    color: var(--cotrare-navy);

    font-size: 14px;
    font-weight: 800;
}

.cotrare-hero-floating-card div span {
    display: block;

    color: #71808F;

    font-size: 12px;
}


/* ==========================================================
   PROVA / CONFIANÇA
   ========================================================== */

.cotrare-proof {
    width: 100%;

    padding: 26px 24px;

    background: #FFFFFF;

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

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

.cotrare-proof-inner {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1fr auto 1fr auto 1fr;

    align-items: center;

    gap: 30px;
}

.cotrare-proof-item {
    text-align: center;
}

.cotrare-proof-item strong {
    display: block;

    margin-bottom: 5px;

    color: var(--cotrare-navy);

    font-size: 14px;
    font-weight: 800;
}

.cotrare-proof-item span {
    display: block;

    color: #71808F;

    font-size: 12px;
    line-height: 1.45;
}

.cotrare-proof-divider {
    width: 1px;
    height: 42px;

    background:
        rgba(8, 39, 76, .11);
}


/* ==========================================================
   SOLUÇÕES
   ========================================================== */

.cotrare-solutions {
    width: 100%;

    padding: 95px 24px 105px;

    background: #FFFFFF;
}

.cotrare-section-heading {
    width: min(1180px, 100%);

    margin: 0 auto 44px;

    text-align: center;
}

.cotrare-section-heading h2 {
    margin: 0;

    color: var(--cotrare-navy);

    font-size:
        clamp(34px, 4vw, 49px);

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.3px;
}

.cotrare-section-heading p {
    margin: 14px auto 0;

    color: #71808F;

    font-size: 16px;
}

.cotrare-solutions-grid {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

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

    gap: 18px;
}

.cotrare-solution-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 350px;

    padding: 27px;

    overflow: hidden;

    background: #FFFFFF;

    color: var(--cotrare-slate);

    border:
        1px solid rgba(8, 39, 76, .10);

    border-radius: 20px;

    box-shadow:
        0 10px 28px rgba(8, 39, 76, .05);

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

.cotrare-solution-card:hover {
    transform: translateY(-6px);

    border-color:
        rgba(94, 185, 197, .50);

    box-shadow:
        0 22px 45px rgba(8, 39, 76, .11);
}

.cotrare-solution-number {
    position: absolute;

    top: 25px;
    right: 25px;

    color:
        rgba(8, 39, 76, .22);

    font-size: 12px;
    font-weight: 900;
}

.cotrare-solution-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 28px;

    background:
        rgba(94, 185, 197, .15);

    color: var(--cotrare-turquoise-dark);

    border-radius: 50%;

    font-size: 24px;
    font-weight: 800;
}

.cotrare-solution-card h3 {
    margin: 0 0 13px;

    color: var(--cotrare-navy);

    font-size: 23px;
    font-weight: 800;

    line-height: 1.2;
}

.cotrare-solution-card p {
    margin: 0;

    color: #6E7D8C;

    font-size: 14px;
    line-height: 1.65;
}

.cotrare-card-link {
    display: block;

    margin-top: auto;
    padding-top: 25px;

    color: var(--cotrare-turquoise-dark);

    font-size: 13px;
    font-weight: 800;
}

.cotrare-solution-featured {
    background: var(--cotrare-navy);

    border-color: var(--cotrare-navy);
}

.cotrare-solution-featured
.cotrare-solution-number {
    color:
        rgba(255, 255, 255, .28);
}

.cotrare-solution-featured
.cotrare-solution-icon {
    background:
        rgba(94, 185, 197, .17);

    color: var(--cotrare-turquoise);
}

.cotrare-solution-featured h3 {
    color: #FFFFFF;
}

.cotrare-solution-featured p {
    color:
        rgba(255, 255, 255, .72);
}

.cotrare-solution-featured
.cotrare-card-link {
    color: var(--cotrare-turquoise);
}


/* ==========================================================
   JEITO COTRARE
   ========================================================== */

.cotrare-way {
    width: 100%;

    padding: 100px 24px;

    background: var(--cotrare-background);
}

.cotrare-way-inner {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(320px, .75fr);

    gap: 75px;

    align-items: center;
}

.cotrare-way-content h2 {
    max-width: 720px;

    margin: 0;

    color: var(--cotrare-navy);

    font-size:
        clamp(34px, 4vw, 50px);

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.4px;
}

.cotrare-way-content > p {
    max-width: 680px;

    margin: 23px 0 0;

    color: #687888;

    font-size: 16px;
    line-height: 1.7;
}

.cotrare-way-list {
    margin-top: 36px;

    border-top:
        1px solid rgba(8, 39, 76, .10);
}

.cotrare-way-list > div {
    display: grid;

    grid-template-columns:
        55px 1fr;

    gap: 18px;

    padding: 20px 0;

    border-bottom:
        1px solid rgba(8, 39, 76, .10);
}

.cotrare-way-list > div > span {
    color: var(--cotrare-turquoise-dark);

    font-size: 12px;
    font-weight: 900;
}

.cotrare-way-list p {
    margin: 0;

    color: #71808F;

    font-size: 14px;
    line-height: 1.55;
}

.cotrare-way-list strong {
    display: block;

    margin-bottom: 3px;

    color: var(--cotrare-navy);

    font-size: 15px;
    font-weight: 800;
}

.cotrare-text-link {
    display: inline-flex;

    margin-top: 28px;

    color: var(--cotrare-turquoise-dark);

    font-size: 14px;
    font-weight: 900;
}


/* BLOCO SEM SEGURO */

.cotrare-way-panel {
    padding: 45px 38px;

    background: var(--cotrare-navy);

    border-radius: 24px;

    box-shadow:
        0 25px 55px rgba(8, 39, 76, .16);
}

.cotrare-way-panel > span {
    display: block;

    margin-bottom: 16px;

    color: var(--cotrare-turquoise);

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 1.5px;
}

.cotrare-way-panel h3 {
    margin: 0;

    color: #FFFFFF;

    font-size: 31px;
    font-weight: 800;

    line-height: 1.13;
}

.cotrare-way-panel p {
    margin: 19px 0 25px;

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

    font-size: 14px;
    line-height: 1.65;
}

.cotrare-way-panel a {
    color: var(--cotrare-turquoise);

    font-size: 13px;
    font-weight: 900;
}


/* ==========================================================
   EMPRESAS
   ========================================================== */

.cotrare-business {
    width: 100%;

    padding: 88px 24px;

    background: var(--cotrare-navy-dark);
}

.cotrare-business-inner {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(320px, .85fr);

    gap: 90px;

    align-items: center;
}

.cotrare-eyebrow-light {
    color: var(--cotrare-turquoise);
}

.cotrare-business h2 {
    max-width: 720px;

    margin: 0;

    color: #FFFFFF;

    font-size:
        clamp(36px, 4vw, 52px);

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.4px;
}

.cotrare-business-inner > div:last-child > p {
    margin: 0 0 26px;

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

    font-size: 15px;
    line-height: 1.7;
}

.cotrare-business-btn {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    min-height: 51px;

    padding: 0 24px;

    background: var(--cotrare-turquoise);

    color: var(--cotrare-navy);

    border-radius: 999px;

    font-size: 12px;
    font-weight: 900;

    text-transform: uppercase;
}

.cotrare-business-btn:hover,
.cotrare-business-btn:focus,
.cotrare-business-btn:active {
    background: var(--cotrare-navy);

    color: var(--cotrare-turquoise);
}


/* ==========================================================
   CTA FINAL
   ========================================================== */

.cotrare-final-cta {
    width: 100%;

    padding: 75px 24px;

    background: #FFFFFF;
}

.cotrare-final-cta-inner {
    width: min(1180px, 100%);

    margin: 0 auto;

    padding: 44px 48px;

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

    gap: 45px;

    background: var(--cotrare-background-2);

    border:
        1px solid rgba(94, 185, 197, .24);

    border-radius: 24px;
}

.cotrare-final-cta h2 {
    margin: 0;

    color: var(--cotrare-navy);

    font-size:
        clamp(29px, 3.5vw, 42px);

    font-weight: 800;

    line-height: 1.1;
}

.cotrare-final-cta p {
    margin: 12px 0 0;

    color: #71808F;

    font-size: 15px;
}


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

.cotrare-latest-content {
    width: 100%;

    margin: 0;

    padding: 64px 24px;

    background: var(--cotrare-background);

    border-top:
        1px solid rgba(8, 39, 76, .08);
}

.cotrare-latest-inner {
    width: min(1180px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(300px, .92fr)
        minmax(340px, 1.08fr);

    gap: 52px;

    align-items: center;
}

.cotrare-latest-image {
    display: block;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    background: #FFFFFF;

    border-radius: 20px;

    box-shadow:
        0 14px 35px rgba(8, 39, 76, .09);
}

.cotrare-latest-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .25s ease;
}

.cotrare-latest-image:hover img {
    transform: scale(1.025);
}

.cotrare-latest-category {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--cotrare-turquoise-dark);

    font-size: 13px;
    font-weight: 800;
}

.cotrare-latest-text h2 {
    max-width: 650px;

    margin: 0 0 14px;

    font-size:
        clamp(26px, 3vw, 39px);

    line-height: 1.12;

    font-weight: 800;
}

.cotrare-latest-text h2 a {
    color: var(--cotrare-navy);
}

.cotrare-latest-text p {
    max-width: 620px;

    margin: 0 0 20px;

    color: var(--cotrare-slate);

    font-size: 15px;
    line-height: 1.65;
}

.cotrare-latest-link {
    color: var(--cotrare-turquoise-dark);

    font-size: 14px;
    font-weight: 900;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.cotrare-footer {
    width: 100%;

    margin: 0;

    padding: 58px 24px 0;

    background: var(--cotrare-navy-dark);

    color: #FFFFFF;
}

.cotrare-footer-inner {
    width: min(1180px, 100%);

    margin: 0 auto 45px;

    display: grid;

    grid-template-columns:
        1.7fr 1fr 1fr 1fr;

    gap: 50px;
}

.cotrare-footer-name {
    color: #FFFFFF;

    font-size: 30px;
    font-weight: 900;

    letter-spacing: 1px;
}

.cotrare-footer-subtitle {
    margin-top: 3px;

    color: var(--cotrare-turquoise);

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 2px;
}

.cotrare-footer-brand p {
    max-width: 330px;

    margin-top: 20px;

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

    font-size: 14px;
    line-height: 1.65;
}

.cotrare-footer-column h3 {
    margin: 3px 0 17px;

    color: #FFFFFF;

    font-size: 14px;
    font-weight: 800;
}

.cotrare-footer-column a {
    display: block;

    margin-bottom: 10px;

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

    font-size: 13px;
}

.cotrare-footer-column a:hover {
    color: var(--cotrare-turquoise);
}

.cotrare-footer-bottom {
    width: min(1180px, 100%);

    min-height: 65px;

    margin: 0 auto;

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

    gap: 25px;

    border-top:
        1px solid rgba(255, 255, 255, .12);

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

    font-size: 12px;
}

.cotrare-footer-legal {
    display: flex;

    gap: 22px;
}

.cotrare-footer-legal a {
    color:
        rgba(255, 255, 255, .6);
}

.cotrare-footer-legal a:hover {
    color: var(--cotrare-turquoise);
}


/* ==========================================================
   NOTEBOOK / TABLET GRANDE
   ========================================================== */

@media (max-width: 1180px) {

    .cotrare-header-inner {
        gap: 14px;
    }

    .cotrare-logo img.custom-logo {
        max-width: 185px;
    }

    .cotrare-menu > li > a {
        padding: 0 8px;

        font-size: 13px;
    }

    .cotrare-btn-cotar {
        padding: 0 17px;
    }

    .cotrare-hero-inner {
        grid-template-columns:
            minmax(380px, .95fr)
            minmax(440px, 1.05fr);

        gap: 38px;
    }

    .cotrare-hero-image {
        height: 540px;
    }

}


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

@media (max-width: 980px) {

    .cotrare-hero-inner {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .cotrare-hero-content {
        max-width: 760px;

        margin: 0 auto;

        text-align: center;
    }

    .cotrare-hero-content h1,
    .cotrare-hero-content > p {
        margin-left: auto;
        margin-right: auto;
    }

    .cotrare-hero-actions {
        justify-content: center;
    }

    .cotrare-hero-trust {
        text-align: left;
    }

    .cotrare-hero-visual {
        width: min(760px, 100%);

        margin: 0 auto;
    }

    .cotrare-hero-image {
        height: 520px;

        border-radius: 28px;
    }

    .cotrare-hero-floating-card {
        left: 25px;
    }

    .cotrare-solutions-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .cotrare-way-inner {
        grid-template-columns: 1fr;

        gap: 48px;
    }

    .cotrare-business-inner {
        grid-template-columns: 1fr;

        gap: 30px;
    }

}


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

@media (max-width: 900px) {

    .cotrare-topbar-inner {
        width: calc(100% - 30px);
    }

    .cotrare-header-inner {
        width: calc(100% - 30px);

        height: auto;
        min-height: 76px;

        flex-wrap: wrap;
    }

    .cotrare-logo img.custom-logo {
        max-width: 175px;
    }

    .cotrare-menu-toggle {
        display: block;
    }

    .cotrare-header-action {
        display: none;
    }

    .cotrare-navigation {
        display: none;

        flex: 0 0 100%;

        width: 100%;

        padding-bottom: 18px;
    }

    #cotrare-header.is-open
    .cotrare-navigation {
        display: block;
    }

    .cotrare-menu {
        display: block;

        width: 100%;
    }

    .cotrare-menu > li {
        width: 100%;
    }

    .cotrare-menu > li > a {
        width: 100%;
        height: 50px;

        justify-content: flex-start;

        padding: 0;

        border-bottom:
            1px solid rgba(8, 39, 76, .08);
    }

    .cotrare-menu > li > a::after {
        display: none;
    }

    .cotrare-mega-menu,
    .cotrare-content-dropdown,
    .cotrare-simple-dropdown {
        position: static;

        display: none !important;

        width: 100%;

        margin: 0;

        padding: 0;

        border: 0;
        border-radius: 0;

        box-shadow: none;

        opacity: 1;
        visibility: visible;

        transform: none;

        pointer-events: auto;
    }

    .cotrare-has-mega.submenu-open
    > .cotrare-mega-menu,

    .cotrare-has-dropdown.submenu-open
    > .cotrare-content-dropdown,

    .cotrare-has-dropdown.submenu-open
    > .cotrare-simple-dropdown {
        display: block !important;
    }

    .cotrare-mega-grid,
    .cotrare-content-grid {
        grid-template-columns: 1fr;
    }

    .cotrare-mega-column {
        min-height: 0;

        padding: 18px 15px;

        border-right: 0;

        border-bottom:
            1px solid rgba(8, 39, 76, .08);
    }

    .cotrare-content-grid > div {
        padding: 18px 15px;

        border-bottom:
            1px solid rgba(8, 39, 76, .08);
    }

    .cotrare-simple-dropdown {
        padding: 8px 10px 12px;
    }

}


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

@media (max-width: 760px) {

    .cotrare-hero {
        padding:
            45px 20px 50px;
    }

    .cotrare-hero-content h1 {
        font-size: 42px;

        letter-spacing: -1.4px;
    }

    .cotrare-hero-content > p {
        font-size: 16px;
    }

    .cotrare-hero-actions {
        flex-direction: column;

        align-items: stretch;
    }

    .cotrare-home-btn {
        width: 100%;
    }

    .cotrare-hero-trust {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-top: 32px;
    }

    .cotrare-hero-image {
        height: 430px;
    }

    .cotrare-hero-floating-card {
        left: 18px;
        right: 18px;
        bottom: 18px;

        width: auto;
        min-width: 0;
    }

    .cotrare-proof-inner {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .cotrare-proof-divider {
        width: 70px;
        height: 1px;

        margin: 0 auto;
    }

    .cotrare-solutions {
        padding:
            70px 20px 78px;
    }

    .cotrare-solutions-grid {
        grid-template-columns: 1fr;
    }

    .cotrare-solution-card {
        min-height: 300px;
    }

    .cotrare-way {
        padding:
            75px 20px;
    }

    .cotrare-way-list > div {
        grid-template-columns:
            42px 1fr;
    }

    .cotrare-way-panel {
        padding:
            36px 28px;
    }

    .cotrare-business {
        padding:
            70px 20px;
    }

    .cotrare-final-cta {
        padding:
            55px 20px;
    }

    .cotrare-final-cta-inner {
        padding:
            34px 28px;

        flex-direction: column;

        align-items: flex-start;
    }

    .cotrare-final-cta-inner
    > .cotrare-home-btn {
        width: 100%;
    }

    .cotrare-latest-inner {
        grid-template-columns: 1fr;

        gap: 28px;
    }

    .cotrare-footer-inner {
        grid-template-columns:
            1fr 1fr;

        gap: 35px;
    }

}


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

@media (max-width: 520px) {

    .cotrare-logo .cotrare-logo-img {
        max-width: 180px !important;
        max-height: 56px !important;
    }

    .cotrare-topbar-left {
        display: none;
    }

    .cotrare-topbar-inner {
        justify-content: center;
    }

    .cotrare-hero-content h1 {
        font-size: 36px;
    }

    .cotrare-hero-image {
        height: 360px;

        border-radius: 22px;
    }

    .cotrare-way-content h2,
    .cotrare-business h2 {
        font-size: 34px;
    }

    .cotrare-latest-content {
        padding:
            48px 20px;
    }

    .cotrare-footer-inner {
        grid-template-columns: 1fr;
    }

    .cotrare-footer-bottom {
        padding: 20px 0;

        flex-direction: column;

        align-items: flex-start;
    }

    .cotrare-footer-legal {
        flex-wrap: wrap;
    }

}

/* ==========================================================
   COTRARE — BARRA FIXA INFERIOR INTELIGENTE 2026
   Barra baixa + abas laterais + conteúdo central dinâmico
   Atendimento realmente flutuante
   ========================================================== */

:root {
    --ctb-navy: #08274C;
    --ctb-turq: #5DB9C6;
    --ctb-white: #FFFFFF;
    --ctb-gold: #C89B3E;
    --ctb-desktop-h: 64px;
    --ctb-mobile-h: 58px;
    --ctb-shadow: 0 -10px 30px rgba(8,39,76,.18);
}

html.ctb-lock,
html.ctb-lock body { overflow: hidden !important; }

body {
    padding-bottom: calc(var(--ctb-desktop-h) + env(safe-area-inset-bottom, 0px)) !important;
}

#cotrare-bottom-bar,
#cotrare-bottom-bar * { box-sizing: border-box; }

#cotrare-bottom-bar {
    position: relative;
    z-index: 99990;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

#cotrare-bottom-bar a,
#cotrare-bottom-bar button {
    -webkit-tap-highlight-color: transparent;
}

/* ---------- DESKTOP ---------- */

.ctb-desktop {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99990;
    height: var(--ctb-desktop-h);
    display: grid;
    grid-template-columns: clamp(168px, 11.5vw, 195px) minmax(0, 1fr) clamp(154px, 10vw, 176px);
    background: var(--ctb-navy);
    box-shadow: var(--ctb-shadow);
    overflow: visible;
}

/* Menu lateral esquerdo: translúcido e saindo da barra */
.ctb-profile {
    position: absolute;
    left: 8px;
    bottom: 6px;
    z-index: 99992;
    width: clamp(160px, 11vw, 188px);
    height: 84px;
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    overflow: hidden;
    background: rgba(8,39,76,.80);
    border: 1px solid rgba(93,185,198,.44);
    border-radius: 12px;
    box-shadow: 0 15px 34px rgba(8,39,76,.25);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    backdrop-filter: blur(14px) saturate(125%);
}

.ctb-profile-link {
    appearance: none;
    width: 100%;
    min-width: 0;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    cursor: pointer;
    background: rgba(8,39,76,.14);
    color: rgba(255,255,255,.92) !important;
    font: inherit;
    font-size: clamp(9px,.62vw,11px);
    font-weight: 800;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color .18s ease,color .18s ease;
}

.ctb-profile-link:last-child { border-bottom: 0; }

.ctb-profile-link:hover,
.ctb-profile-link:focus-visible {
    background: rgba(93,185,198,.18);
    color: var(--ctb-white) !important;
    outline: none;
}

.ctb-profile-link.is-active {
    background: rgba(93,185,198,.94);
    color: var(--ctb-navy) !important;
}

.ctb-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--ctb-turq);
    box-shadow: 0 0 0 3px rgba(93,185,198,.10);
}

.ctb-profile-link.is-active .ctb-dot {
    background: var(--ctb-navy);
    box-shadow: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .ctb-profile { background: rgba(8,39,76,.96); }
}

/* Área central: apenas UMA linha, conteúdo trocado pelas abas */
.ctb-center {
    grid-column: 2;
    min-width: 0;
    height: var(--ctb-desktop-h);
    background: var(--ctb-navy);
    overflow: hidden;
}

.ctb-panel {
    width: 100%;
    height: 100%;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(72px,1fr);
    align-items: stretch;
}

.ctb-panel[hidden] { display: none !important; }

.ctb-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 4px 5px;
    border-right: 1px solid rgba(255,255,255,.035);
    color: var(--ctb-white) !important;
    text-align: center;
    font-size: clamp(8px,.58vw,10.5px);
    font-weight: 800;
    line-height: 1.06;
    transition: background-color .16s ease,color .16s ease,transform .16s ease;
}

.ctb-item:last-child { border-right: 0; }

.ctb-item:hover,
.ctb-item:focus-visible {
    background: rgba(93,185,198,.13) !important;
    color: var(--ctb-turq) !important;
    transform: translateY(-1px);
    outline: none;
}

.ctb-item--overview,
.ctb-item--quick {
    color: var(--ctb-turq) !important;
}

.ctb-item-icon {
    width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    color: inherit;
}

.ctb-item-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor !important;
}

/* Atendimento: card realmente flutuante e independente */
.ctb-service {
    position: absolute;
    right: 12px;
    bottom: 7px;
    z-index: 99994;
    width: clamp(148px,9.7vw,170px);
    height: 106px;
    display: grid;
    grid-template-rows: repeat(3,1fr);
    overflow: hidden;
    background: var(--ctb-turq);
    border: 1px solid rgba(93,185,198,.72);
    border-radius: 13px;
    box-shadow: 0 18px 42px rgba(8,39,76,.32),0 0 0 1px rgba(255,255,255,.08) inset;
}

.ctb-service-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 8px;
    background: var(--ctb-turq) !important;
    border-bottom: 1px solid rgba(8,39,76,.18);
    color: var(--ctb-navy) !important;
    font-size: clamp(8.5px,.60vw,10.5px);
    font-weight: 800;
    text-align: center;
    transition: background-color .16s ease,color .16s ease;
}

.ctb-service-link:last-child { border-bottom: 0; }

.ctb-service-link--top {
    background: var(--ctb-navy) !important;
    color: var(--ctb-turq) !important;
}

.ctb-service-link:hover,
.ctb-service-link:focus-visible {
    background: var(--ctb-white) !important;
    color: var(--ctb-navy) !important;
    outline: none;
}

.ctb-service-link--top:hover,
.ctb-service-link--top:focus-visible {
    background: var(--ctb-gold) !important;
    color: var(--ctb-navy) !important;
}

.ctb-service-icon {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    display: grid;
    place-items: center;
}

.ctb-service-icon svg {
    width: 12px;
    height: 12px;
    fill: currentColor !important;
}

/* Desktop intermediário */
@media (max-width: 1240px) and (min-width: 1025px) {
    :root { --ctb-desktop-h: 60px; }

    .ctb-desktop {
        grid-template-columns: 164px minmax(0,1fr) 150px;
    }

    .ctb-profile {
        left: 6px;
        bottom: 5px;
        width: 158px;
        height: 78px;
    }

    .ctb-profile-link { padding-inline: 10px; font-size: 8.5px; }

    .ctb-service {
        right: 8px;
        bottom: 6px;
        width: 144px;
        height: 98px;
    }

    .ctb-item { font-size: 8.2px; padding-inline: 2px; }
    .ctb-item-icon,
    .ctb-item-icon svg { width: 18px; height: 18px; }
}

/* ---------- TABLET + CELULAR ---------- */

.ctb-mobile { display: none; }

@media (max-width: 1024px) {
    :root { --ctb-mobile-h: 58px; }

    body {
        padding-bottom: calc(var(--ctb-mobile-h) + env(safe-area-inset-bottom,0px)) !important;
    }

    .ctb-desktop { display: none !important; }
    .ctb-mobile { display: block; }

    .ctb-mobile-dock {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99995;
        min-height: calc(var(--ctb-mobile-h) + env(safe-area-inset-bottom,0px));
        padding: 3px 5px env(safe-area-inset-bottom,0px);
        display: grid;
        grid-template-columns: repeat(5,minmax(0,1fr));
        align-items: stretch;
        background: rgba(8,39,76,.97);
        border-top: 1px solid rgba(93,185,198,.30);
        box-shadow: 0 -10px 28px rgba(8,39,76,.22);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }

    .ctb-mobile-nav {
        appearance: none;
        min-width: 0;
        min-height: 50px;
        border: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        padding: 2px;
        background: transparent !important;
        color: rgba(255,255,255,.78) !important;
        font: inherit;
        font-size: 8px;
        font-weight: 800;
        line-height: 1;
        cursor: pointer;
    }

    .ctb-mobile-nav:hover,
    .ctb-mobile-nav:focus-visible,
    .ctb-mobile-nav.is-active {
        color: var(--ctb-turq) !important;
        outline: none;
    }

    .ctb-mobile-nav--center {
        position: relative;
        min-height: 56px;
        margin-top: -7px;
        border-radius: 12px 12px 0 0;
        background: var(--ctb-turq) !important;
        color: var(--ctb-navy) !important;
        box-shadow: 0 -6px 18px rgba(8,39,76,.18);
    }

    .ctb-mobile-nav--center:hover,
    .ctb-mobile-nav--center:focus-visible,
    .ctb-mobile-nav--center.is-active {
        background: var(--ctb-turq) !important;
        color: var(--ctb-navy) !important;
    }

    .ctb-mobile-nav-icon {
        width: 19px;
        height: 19px;
        display: grid;
        place-items: center;
    }

    .ctb-mobile-nav-icon svg {
        width: 18px;
        height: 18px;
        fill: currentColor !important;
    }

    .ctb-mobile-backdrop {
        position: fixed;
        inset: 0;
        z-index: 99991;
        background: rgba(8,39,76,.32);
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
    }

    .ctb-mobile-sheet {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: calc(var(--ctb-mobile-h) + env(safe-area-inset-bottom,0px) + 8px);
        z-index: 99994;
        max-height: min(66vh,520px);
        padding: 14px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: rgba(255,255,255,.985);
        border: 1px solid rgba(8,39,76,.10);
        border-radius: 16px;
        box-shadow: 0 22px 48px rgba(8,39,76,.28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(12px) scale(.985);
        transition: opacity .18s ease,transform .18s ease,visibility .18s ease;
    }

    .ctb-mobile-open .ctb-mobile-sheet {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
    }

    .ctb-mobile-sheet-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 11px;
        padding-bottom: 10px;
        border-bottom: 1px solid #E1E7EC;
    }

    .ctb-mobile-sheet-head strong {
        display: block;
        color: var(--ctb-navy);
        font-family: "Montserrat","Inter",Arial,sans-serif;
        font-size: 16px;
        line-height: 1.15;
    }

    .ctb-mobile-sheet-head span {
        display: block;
        margin-top: 2px;
        color: #667786;
        font-size: 10px;
    }

    .ctb-mobile-close {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        display: grid;
        place-items: center;
        border: 1px solid #DFE7EC;
        border-radius: 50%;
        background: #FFFFFF;
        color: var(--ctb-navy);
        font-size: 23px;
        line-height: 1;
        cursor: pointer;
    }

    .ctb-mobile-panel {
        display: grid;
        grid-template-columns: repeat(4,minmax(0,1fr));
        gap: 7px;
    }

    .ctb-mobile-panel[hidden] { display: none !important; }

    .ctb-mobile-panel a {
        min-width: 0;
        min-height: 68px;
        padding: 7px 3px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        background: #F4F8FA;
        border: 1px solid #E1E7EC;
        border-radius: 10px;
        color: var(--ctb-navy) !important;
        text-align: center;
    }

    .ctb-mobile-panel a:active,
    .ctb-mobile-panel a:focus-visible {
        background: #EAF6F8;
        border-color: var(--ctb-turq);
        outline: none;
    }

    .ctb-mobile-panel a > span {
        min-height: 22px;
        display: grid;
        place-items: center;
        color: var(--ctb-turq);
        font-size: 20px;
        font-weight: 800;
        line-height: 1;
    }

    .ctb-mobile-panel strong {
        display: block;
        color: var(--ctb-navy);
        font-size: 8.5px;
        line-height: 1.12;
    }
}

@media (max-width: 560px) {
    .ctb-mobile-sheet { left: 8px; right: 8px; padding: 12px; border-radius: 14px; }
    .ctb-mobile-panel { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
    .ctb-mobile-panel a { min-height: 64px; padding-inline: 2px; }
    .ctb-mobile-panel strong { font-size: 8px; }
}

@media (max-width: 380px) {
    .ctb-mobile-nav { font-size: 7.2px; }
    .ctb-mobile-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Voltar ao topo */
.ctb-back-top {
    position: fixed;
    left: 12px;
    bottom: calc(var(--ctb-desktop-h) + 12px);
    z-index: 99989;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(8,39,76,.10);
    border-radius: 50%;
    background: var(--ctb-white);
    color: var(--ctb-navy);
    box-shadow: 0 8px 22px rgba(8,39,76,.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease,color .18s ease;
    cursor: pointer;
}

.ctb-back-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ctb-back-top:hover,
.ctb-back-top:focus-visible {
    background: var(--ctb-navy) !important;
    color: var(--ctb-turq) !important;
    outline: none;
}

.ctb-back-top svg {
    width: 18px;
    height: 18px;
    fill: currentColor !important;
}

@media (max-width: 1024px) {
    .ctb-back-top {
        left: 9px;
        bottom: calc(var(--ctb-mobile-h) + env(safe-area-inset-bottom,0px) + 9px);
        width: 36px;
        height: 36px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cotrare-bottom-bar *,
    #cotrare-bottom-bar *::before,
    #cotrare-bottom-bar *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* === COTRARE FOOTER PREMIUM SYNC 2026-09-20 === */
/* ==========================================================
   COTRARE — FOOTER PREMIUM V2
   Mudança visual forte e deliberada: painel de marca turquesa,
   navegação em módulos, órbitas de proteção e cadeado institucional.
   ========================================================== */
.cotrare-footer,
.cotrare-footer *{box-sizing:border-box}

.cotrare-footer{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    width:100%;
    padding:34px 24px 18px;
    background:#08274C!important;
    border-top:4px solid #5DB9C6;
    color:#FFFFFF;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
}

/* moldura superior bem visível */
.cotrare-footer::before{
    content:"";
    position:absolute;
    z-index:1;
    left:50%;
    top:17px;
    width:min(1180px,calc(100% - 48px));
    height:1px;
    transform:translateX(-50%);
    background:rgba(255,255,255,.14);
    pointer-events:none;
}

/* grande órbita de proteção no fundo */
.cotrare-footer::after{
    content:"";
    position:absolute;
    z-index:0;
    right:-250px;
    top:-108px;
    width:760px;
    height:310px;
    border:1px solid rgba(93,185,198,.18);
    border-radius:50%;
    transform:rotate(-11deg);
    pointer-events:none;
}

.cotrare-footer-premium-art{
    position:absolute;
    z-index:0;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.cotrare-footer-ring{
    position:absolute;
    display:block;
    border:1px solid rgba(93,185,198,.19);
    border-radius:50%;
    transform-origin:center;
}
.cotrare-footer-ring--a{
    width:560px;height:190px;left:-190px;top:40px;transform:rotate(12deg)
}
.cotrare-footer-ring--b{
    width:430px;height:145px;left:-110px;top:112px;
    border-color:rgba(255,255,255,.10);transform:rotate(-10deg)
}
.cotrare-footer-ring--c{
    width:520px;height:170px;right:-170px;bottom:8px;
    border-color:rgba(93,185,198,.14);transform:rotate(-14deg)
}

.cotrare-footer-orbit-dot{
    position:absolute;
    width:7px;height:7px;border-radius:50%;
    background:#5DB9C6;
    box-shadow:0 0 0 5px rgba(93,185,198,.08);
    opacity:.82
}
.cotrare-footer-orbit-dot--1{left:5%;top:34%}
.cotrare-footer-orbit-dot--2{right:7%;top:18%;width:5px;height:5px}
.cotrare-footer-orbit-dot--3{right:19%;bottom:15%;width:4px;height:4px;opacity:.55}

.cotrare-footer-orbit-lock{
    position:absolute;
    right:3.5%;
    top:17%;
    width:72px;height:72px;
    display:grid;place-items:center;
    border:1px solid rgba(93,185,198,.38);
    border-radius:50%;
    color:#5DB9C6;
    opacity:.55
}
.cotrare-footer-orbit-lock::before,
.cotrare-footer-orbit-lock::after{
    content:"";
    position:absolute;
    border:1px solid rgba(93,185,198,.15);
    border-radius:50%
}
.cotrare-footer-orbit-lock::before{width:108px;height:108px}
.cotrare-footer-orbit-lock::after{width:152px;height:152px;border-color:rgba(255,255,255,.07)}
.cotrare-footer-orbit-lock svg{width:34px;height:34px;display:block}

/* estrutura: 1 painel de marca + 3 módulos de navegação */
.cotrare-footer-inner{
    position:relative;
    z-index:2;
    width:min(1180px,100%);
    margin:0 auto;
    padding-top:18px;
    display:grid;
    grid-template-columns:minmax(300px,1.55fr) repeat(3,minmax(160px,.75fr));
    gap:12px;
    align-items:stretch
}

/* painel de assinatura — mudança visual principal */
.cotrare-footer .cotrare-footer-brand{
    position:relative;
    min-height:220px;
    padding:30px 30px 26px;
    overflow:hidden;
    background:#5DB9C6!important;
    border:1px solid #5DB9C6;
    border-radius:22px;
    box-shadow:0 22px 54px rgba(0,0,0,.19)
}
.cotrare-footer .cotrare-footer-brand::before{
    content:"";
    position:absolute;
    width:188px;height:188px;
    right:-58px;bottom:-82px;
    border:1px solid rgba(8,39,76,.19);
    border-radius:50%
}
.cotrare-footer .cotrare-footer-brand::after{
    content:"PROTEÇÃO  •  CLAREZA  •  CONFIANÇA";
    position:absolute;
    left:30px;bottom:23px;
    color:rgba(8,39,76,.68);
    font-family:"Montserrat","Inter",Arial,sans-serif;
    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    white-space:nowrap
}
.cotrare-footer .cotrare-footer-name{
    position:relative;z-index:1;
    margin:0 0 5px!important;
    color:#08274C!important;
    font-family:"Montserrat","Inter",Arial,sans-serif;
    font-size:clamp(34px,3.2vw,46px)!important;
    font-weight:850!important;
    line-height:.95!important;
    letter-spacing:.035em!important
}
.cotrare-footer .cotrare-footer-subtitle{
    position:relative;z-index:1;
    margin:0 0 26px!important;
    color:#08274C!important;
    font-family:"Montserrat","Inter",Arial,sans-serif;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1.25!important;
    letter-spacing:.18em!important
}
.cotrare-footer .cotrare-footer-brand p{
    position:relative;z-index:1;
    max-width:330px;
    margin:0 0 34px!important;
    color:rgba(8,39,76,.88)!important;
    font-size:12.5px!important;
    font-weight:600!important;
    line-height:1.62!important
}

/* módulos de navegação */
.cotrare-footer .cotrare-footer-column{
    position:relative;
    min-width:0;
    min-height:220px;
    padding:24px 18px 18px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    box-shadow:0 18px 42px rgba(0,0,0,.12);
    overflow:hidden;
    transition:transform .2s ease,border-color .2s ease,background-color .2s ease
}
.cotrare-footer .cotrare-footer-column::before{
    content:"";
    position:absolute;
    left:18px;right:18px;top:0;
    height:3px;
    background:#5DB9C6;
    border-radius:0 0 4px 4px;
    opacity:.95
}
.cotrare-footer .cotrare-footer-column:hover{
    transform:translateY(-3px);
    border-color:rgba(93,185,198,.58);
    background:rgba(255,255,255,.065)
}
.cotrare-footer .cotrare-footer-column h3{
    position:relative;
    margin:0 0 18px!important;
    padding:0 0 13px;
    color:#FFFFFF!important;
    font-family:"Montserrat","Inter",Arial,sans-serif;
    font-size:13px!important;
    font-weight:850!important;
    line-height:1.2!important;
    letter-spacing:.055em!important;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.12)
}
.cotrare-footer .cotrare-footer-column h3::after{
    content:"";
    position:absolute;
    left:0;bottom:-1px;
    width:34px;height:2px;
    background:#5DB9C6
}
.cotrare-footer .cotrare-footer-column a,
.cotrare-footer .cotrare-footer-column a:link,
.cotrare-footer .cotrare-footer-column a:visited{
    position:relative;
    display:flex;
    align-items:center;
    min-height:39px;
    margin:0!important;
    padding:8px 22px 8px 14px;
    border-bottom:1px solid rgba(255,255,255,.075);
    border-radius:0;
    color:rgba(255,255,255,.82)!important;
    font-size:11.5px!important;
    font-weight:650!important;
    line-height:1.35!important;
    text-decoration:none!important;
    transition:color .18s ease,background-color .18s ease,padding-left .18s ease
}
.cotrare-footer .cotrare-footer-column a:last-child{border-bottom:0}
.cotrare-footer .cotrare-footer-column a::before{
    content:"";
    position:absolute;left:1px;
    width:5px;height:5px;border-radius:50%;
    background:#5DB9C6;
    box-shadow:0 0 0 4px rgba(93,185,198,.07)
}
.cotrare-footer .cotrare-footer-column a::after{
    content:"→";
    position:absolute;right:2px;
    color:#5DB9C6;
    opacity:0;
    transform:translateX(-5px);
    transition:opacity .18s ease,transform .18s ease
}
.cotrare-footer .cotrare-footer-column a:hover,
.cotrare-footer .cotrare-footer-column a:focus-visible{
    padding-left:18px;
    background:rgba(93,185,198,.09);
    color:#FFFFFF!important;
    text-decoration:none!important;
    outline:none
}
.cotrare-footer .cotrare-footer-column a:hover::after,
.cotrare-footer .cotrare-footer-column a:focus-visible::after{
    opacity:1;transform:translateX(0)
}

/* base legal em cápsula escura */
.cotrare-footer .cotrare-footer-bottom{
    position:relative;
    z-index:2;
    width:min(1180px,100%);
    min-height:50px;
    margin:12px auto 0;
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    color:rgba(255,255,255,.56)!important;
    font-size:10px!important;
    line-height:1.45!important
}
.cotrare-footer .cotrare-footer-legal{
    display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px
}
.cotrare-footer .cotrare-footer-legal a,
.cotrare-footer .cotrare-footer-legal a:visited{
    color:rgba(255,255,255,.70)!important;
    font-size:10px!important;
    font-weight:700!important;
    text-decoration:none!important
}
.cotrare-footer .cotrare-footer-legal a:hover,
.cotrare-footer .cotrare-footer-legal a:focus-visible{
    color:#5DB9C6!important;
    text-decoration:none!important;
    outline:none
}

/* carrossel de seguradoras conectado visualmente ao novo rodapé */
.ct-footer-partners{
    position:relative;
    background:#08274C!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    padding-top:30px!important
}
.ct-footer-partners::before{
    content:"";
    position:absolute;
    left:50%;top:0;
    width:min(1180px,calc(100% - 48px));
    height:1px;
    transform:translateX(-50%);
    background:rgba(93,185,198,.40)
}
.ct-footer-partners-kicker{letter-spacing:.17em!important}
.ct-footer-partner-card{
    background:rgba(255,255,255,.035)!important;
    border-color:rgba(93,185,198,.25)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.16)!important
}
.ct-footer-partner-card:hover,
.ct-footer-partner-card:focus-visible{
    background:rgba(255,255,255,.07)!important;
    border-color:#5DB9C6!important;
    transform:translateY(-3px)
}

@media(max-width:1000px){
    .cotrare-footer-inner{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px
    }
    .cotrare-footer .cotrare-footer-brand{
        grid-column:1/-1;
        min-height:190px
    }
    .cotrare-footer .cotrare-footer-column{min-height:205px}
}

@media(max-width:720px){
    .cotrare-footer{padding:24px 14px 14px}
    .cotrare-footer::before{top:12px;width:calc(100% - 28px)}
    .cotrare-footer-inner{
        padding-top:12px;
        grid-template-columns:1fr;
        gap:10px
    }
    .cotrare-footer .cotrare-footer-brand{
        grid-column:auto;
        min-height:0;
        padding:25px 22px 23px;
        border-radius:18px
    }
    .cotrare-footer .cotrare-footer-brand::after{
        left:22px;bottom:18px;font-size:7px;letter-spacing:.11em
    }
    .cotrare-footer .cotrare-footer-brand p{margin-bottom:32px!important}
    .cotrare-footer .cotrare-footer-column{
        min-height:0;
        padding:20px 17px 15px;
        border-radius:15px
    }
    .cotrare-footer .cotrare-footer-column a{min-height:38px}
    .cotrare-footer .cotrare-footer-bottom{
        margin-top:10px;
        padding:14px 16px;
        align-items:flex-start;
        flex-direction:column;
        gap:8px
    }
    .cotrare-footer-orbit-lock{right:-22px;top:28%;opacity:.32}
    .cotrare-footer-ring--a{left:-340px}
    .cotrare-footer-ring--b{left:-270px}
    .cotrare-footer-ring--c{right:-330px}
}

@media(prefers-reduced-motion:no-preference){
    .cotrare-footer-ring--a{animation:cotrareFooterOrbitA 18s ease-in-out infinite alternate}
    .cotrare-footer-ring--b{animation:cotrareFooterOrbitB 22s ease-in-out infinite alternate}
    .cotrare-footer-orbit-lock{animation:cotrareFooterLockPulse 5.5s ease-in-out infinite}
}
@keyframes cotrareFooterOrbitA{
    from{transform:rotate(12deg) translate3d(0,0,0)}
    to{transform:rotate(17deg) translate3d(16px,-6px,0)}
}
@keyframes cotrareFooterOrbitB{
    from{transform:rotate(-10deg) translate3d(0,0,0)}
    to{transform:rotate(-14deg) translate3d(-10px,8px,0)}
}
@keyframes cotrareFooterLockPulse{
    0%,100%{transform:scale(1);opacity:.42}
    50%{transform:scale(1.06);opacity:.68}
}
@media(prefers-reduced-motion:reduce){
    .cotrare-footer-ring,
    .cotrare-footer-orbit-lock,
    .cotrare-footer .cotrare-footer-column,
    .cotrare-footer .cotrare-footer-column a{animation:none!important;transition:none!important}
}


/* COTRARE — DOCK FIXO PREMIUM V3 — SINCRONIZADO COM FOOTER.PHP */
/* ==========================================================
   COTRARE — DOCK FIXO PREMIUM V3
   Máscara visual desktop/notebook. Mantém a navegação e o JS.
   ========================================================== */
@media (min-width:1025px){
    :root{--ctbp-desktop-h:62px!important}
    html body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))!important}

    #cotrare-bottom-bar .ctb-desktop{
        height:62px!important;
        min-height:62px!important;
        max-height:62px!important;
        overflow:visible!important;
        background:transparent!important;
    }
    #cotrare-bottom-bar .ctb-desktop::before{
        content:"";
        position:absolute;
        left:0;right:0;bottom:0;
        height:8px;
        background:#08274C;
        border-top:1px solid rgba(93,185,198,.26);
        box-shadow:0 -8px 22px rgba(8,39,76,.08);
        pointer-events:none;
    }

    /* trilho central — flutua discretamente acima do rodapé da tela */
    #cotrare-bottom-bar .ctb-center{
        left:138px!important;
        right:176px!important;
        bottom:6px!important;
        height:54px!important;
        min-height:54px!important;
        max-height:54px!important;
        overflow:hidden!important;
        background:#08274C!important;
        border:1px solid rgba(93,185,198,.34)!important;
        border-radius:16px!important;
        box-shadow:0 14px 32px rgba(8,39,76,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
    }
    #cotrare-bottom-bar .ctb-center::before{
        content:"";
        position:absolute;
        z-index:0;
        left:50%;top:-1px;
        width:72px;height:2px;
        transform:translateX(-50%);
        border-radius:0 0 999px 999px;
        background:#5DB9C6;
        opacity:.92;
        pointer-events:none;
    }
    #cotrare-bottom-bar .ctb-center::after{
        content:"";
        position:absolute;
        z-index:0;
        right:5%;top:50%;
        width:260px;height:72px;
        transform:translateY(-50%) rotate(-6deg);
        border:1px solid rgba(93,185,198,.09);
        border-radius:50%;
        pointer-events:none;
    }
    #cotrare-bottom-bar[data-ctb-active="rapido"] .ctb-center{
        background:#08274C!important;
    }
    #cotrare-bottom-bar .ctb-panel{position:relative!important;z-index:1!important}

    #cotrare-bottom-bar .ctb-item{
        position:relative!important;
        height:52px!important;
        max-height:52px!important;
        min-height:52px!important;
        margin:0 2px!important;
        padding:4px 4px!important;
        gap:3px!important;
        background:transparent!important;
        border:0!important;
        border-radius:11px!important;
        color:#FFFFFF!important;
        font-size:8.6px!important;
        font-weight:800!important;
        letter-spacing:.01em!important;
        transition:background-color .18s ease,color .18s ease,transform .18s ease!important;
    }
    #cotrare-bottom-bar .ctb-item + .ctb-item::before{
        content:"";
        position:absolute;
        left:-2px;top:13px;bottom:13px;
        width:1px;
        background:rgba(255,255,255,.055);
        pointer-events:none;
    }
    #cotrare-bottom-bar .ctb-item:hover,
    #cotrare-bottom-bar .ctb-item:focus-visible{
        background:rgba(93,185,198,.13)!important;
        color:#5DB9C6!important;
        transform:translateY(-1px)!important;
        outline:none!important;
    }
    #cotrare-bottom-bar .ctb-item-icon{
        width:24px!important;height:24px!important;
        min-width:24px!important;min-height:24px!important;
        border:1px solid rgba(93,185,198,.24)!important;
        border-radius:50%!important;
        background:rgba(93,185,198,.07)!important;
        color:#5DB9C6!important;
        transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
    }
    #cotrare-bottom-bar .ctb-item-icon svg{width:14px!important;height:14px!important}
    #cotrare-bottom-bar .ctb-item:hover .ctb-item-icon,
    #cotrare-bottom-bar .ctb-item:focus-visible .ctb-item-icon{
        background:#5DB9C6!important;
        border-color:#5DB9C6!important;
        color:#08274C!important;
    }
    #cotrare-bottom-bar[data-ctb-active="rapido"] .ctb-item{
        color:#FFFFFF!important;
    }
    #cotrare-bottom-bar[data-ctb-active="rapido"] .ctb-item:hover,
    #cotrare-bottom-bar[data-ctb-active="rapido"] .ctb-item:focus-visible{
        background:rgba(93,185,198,.13)!important;
        color:#5DB9C6!important;
    }

    /* seletor esquerdo — pequeno módulo premium */
    #cotrare-bottom-bar .ctb-profile{
        left:8px!important;
        bottom:6px!important;
        width:122px!important;
        height:74px!important;
        min-height:74px!important;
        max-height:74px!important;
        grid-template-rows:repeat(3,1fr)!important;
        overflow:hidden!important;
        background:#08274C!important;
        border:1px solid rgba(93,185,198,.42)!important;
        border-radius:16px!important;
        box-shadow:0 16px 34px rgba(8,39,76,.24),inset 0 1px 0 rgba(255,255,255,.055)!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
    }
    #cotrare-bottom-bar .ctb-profile::before{
        content:"";
        position:absolute;
        left:16px;right:16px;top:0;
        height:2px;
        border-radius:0 0 999px 999px;
        background:#5DB9C6;
        opacity:.9;
        pointer-events:none;
    }
    #cotrare-bottom-bar .ctb-profile-link{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        padding:0 10px!important;
        gap:7px!important;
        background:transparent!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.07)!important;
        color:rgba(255,255,255,.84)!important;
        font-size:7.6px!important;
        font-weight:850!important;
        letter-spacing:.035em!important;
        text-transform:uppercase!important;
        transition:background-color .16s ease,color .16s ease,padding-left .16s ease!important;
    }
    #cotrare-bottom-bar .ctb-profile-link:hover,
    #cotrare-bottom-bar .ctb-profile-link:focus-visible{
        padding-left:13px!important;
        background:rgba(93,185,198,.10)!important;
        color:#FFFFFF!important;
        outline:none!important;
    }
    #cotrare-bottom-bar .ctb-profile-link.is-active{
        padding-left:13px!important;
        background:#5DB9C6!important;
        color:#08274C!important;
        box-shadow:none!important;
    }
    #cotrare-bottom-bar .ctb-dot{
        width:5px!important;height:5px!important;
        min-width:5px!important;min-height:5px!important;flex:0 0 5px!important;
        background:#5DB9C6!important;
        box-shadow:0 0 0 4px rgba(93,185,198,.07)!important;
    }
    #cotrare-bottom-bar .ctb-profile-link.is-active .ctb-dot{
        background:#08274C!important;
        box-shadow:0 0 0 4px rgba(8,39,76,.08)!important;
    }

    /* atendimento à direita — menos bloco, mais cartão de concierge */
    #cotrare-bottom-bar .ctb-service{
        right:8px!important;
        bottom:6px!important;
        width:160px!important;
        height:102px!important;
        min-height:102px!important;
        max-height:102px!important;
        grid-template-rows:38px 32px 32px!important;
        overflow:hidden!important;
        background:#08274C!important;
        border:1px solid rgba(93,185,198,.48)!important;
        border-radius:18px!important;
        box-shadow:0 18px 40px rgba(8,39,76,.30),inset 0 1px 0 rgba(255,255,255,.06)!important;
    }
    #cotrare-bottom-bar .ctb-service::before{
        content:"";
        position:absolute;
        z-index:0;
        right:-24px;top:-28px;
        width:92px;height:92px;
        border:1px solid rgba(93,185,198,.13);
        border-radius:50%;
        pointer-events:none;
    }
    #cotrare-bottom-bar .ctb-service-link{
        position:relative!important;
        z-index:1!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        justify-content:flex-start!important;
        padding:0 14px!important;
        gap:7px!important;
        background:transparent!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.08)!important;
        color:#FFFFFF!important;
        font-size:8.4px!important;
        font-weight:800!important;
        letter-spacing:.01em!important;
    }
    #cotrare-bottom-bar .ctb-service-link--top{
        background:#5DB9C6!important;
        color:#08274C!important;
        font-size:9px!important;
        text-transform:uppercase!important;
        letter-spacing:.055em!important;
    }
    #cotrare-bottom-bar .ctb-service-link:hover,
    #cotrare-bottom-bar .ctb-service-link:focus-visible{
        background:rgba(93,185,198,.14)!important;
        color:#5DB9C6!important;
        outline:none!important;
    }
    #cotrare-bottom-bar .ctb-service-link--top:hover,
    #cotrare-bottom-bar .ctb-service-link--top:focus-visible{
        background:#FFFFFF!important;
        color:#08274C!important;
    }
    #cotrare-bottom-bar .ctb-service-icon{
        width:16px!important;height:16px!important;
        min-width:16px!important;flex:0 0 16px!important;
        display:grid!important;place-items:center!important;
        color:inherit!important;
    }
    #cotrare-bottom-bar .ctb-service-icon svg{width:13px!important;height:13px!important}

    #cotrare-bottom-bar .ctb-back-top{
        bottom:74px!important;
        box-shadow:0 10px 26px rgba(8,39,76,.18)!important;
    }
}

@media (min-width:1025px) and (max-width:1180px){
    #cotrare-bottom-bar .ctb-center{left:128px!important;right:158px!important}
    #cotrare-bottom-bar .ctb-profile{width:114px!important}
    #cotrare-bottom-bar .ctb-profile-link{font-size:7px!important;padding-inline:8px!important}
    #cotrare-bottom-bar .ctb-service{width:148px!important;right:6px!important}
    #cotrare-bottom-bar .ctb-item{font-size:7.7px!important;margin-inline:1px!important}
    #cotrare-bottom-bar .ctb-item-icon{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}
    #cotrare-bottom-bar .ctb-item-icon svg{width:13px!important;height:13px!important}
}

@media (prefers-reduced-motion:reduce){
    #cotrare-bottom-bar .ctb-item,
    #cotrare-bottom-bar .ctb-item-icon,
    #cotrare-bottom-bar .ctb-profile-link{transition:none!important}
}
