/* @import "public/fonts/fonts.css"; */
@import "../fonts/fonts.css";

/* Root Vars */
:root {
    --primary:              #2D5292;
    --primary-hover:        #336cce;
    --success:              #34AF23;
    --success-hover:        #218f13;
    --info:                 #39B5FC;
    --alert:                #FFA600;
    --danger:               #FE494C;

    --primary-background2:  #F9F7FF;
    --primary-background:   #EFE5FF;
    --success-background:   #DEF5EA;
    --info-background:      #E0F3FD;
    --alert-background:     #FCF0D8;
    --danger-background:    #FFE5E5;

    --white:            #FFFFFF;
    --black:            #000000;

    --gray-600:         #616161;
    --gray-950:         #262626;

    --emerald-500:      #15BC60;

    --gray-background:  #F2F6FC;
}

/* Master Reset */
* {
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    vertical-align: baseline;
    box-sizing: border-box;
    font-weight: inherit;
    font-family: inherit;
    font-style: inherit;
    font-size: 100%;
}

/* Default & Bootstrap */
body {
    padding: 0 !important;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -fx-text-fill:white;
    overflow: auto !important; /* Para projetos Next.js */
}
body, html {
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: var(--gray-600);
    font-size: 16px;
}
a {
    color: var(--primary);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
    color: var(--primary-hover);
}
h1 {
    font-size: 48px;
    font-weight: bold;
    color: var(--gray-950);
}
h2 {
    font-size: 40px;
    font-weight: bold;
    color: var(--gray-950);
}
h3 {
    font-size: 20px;
    font-weight: bold;
    color: var(--gray-950);
}
figure {
    margin: 0;
}


/* JS Scroll */
.js-scroll {
    opacity: 0;
}

/* Animations */
.anime-show-up {
    opacity: 0;
    animation: show-up 1.5s forwards;
}
.anime-show-down {
    opacity: 0;
    animation: show-down 1.5s forwards;
}
.anime-show-rotate-right {
    opacity: 0;
    animation: show-rotate-right 1.5s forwards;
}
.anime-show-zoom {
    opacity: 0;
    animation: show-zoom 1.5s forwards;
}
@keyframes show-up {
    0% { opacity: 0; transform: translateY(50px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes show-down {
    0% { opacity: 0; transform: translateY(-50px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes show-rotate-right {
    0% { opacity: 0; transform: translateY(-100px) rotate(20deg) scale(1.7); }
    100% { opacity: 1; transform: translateY(0) rotate(0deg) scale(1); }
}
@keyframes show-zoom {
    0% { opacity: 0; transform: scale(.6); }
    100% { opacity: 1; transform: scale(1); }
}

.navbar-toggler {
    border: 1px solid var(--gray-800);
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.offcanvas-header {
    padding: 28px 28px 0;
}
.offcanvas-header h5 {
    font-weight: bold;
    color: var(--gray-600);
}
.offcanvas-backdrop {
    backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, .6);
}
.offcanvas-backdrop.show {
    opacity: 1;
}

.custom-tabs .nav-tabs {
    border-bottom-color: #d3d7e4;
    /* border-bottom: none; */
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 8px;
}
.custom-tabs .nav-tabs .nav-link {
    padding: 12px 24px;
    color: var(--primary);
    font-weight: bold;
}
.custom-tabs .nav-tabs .nav-item.show .nav-link,
.custom-tabs .nav-tabs .nav-link.active,
.custom-tabs .nav-tabs .nav-link {
    border: 2px solid transparent;
    position: relative;
    border-radius: 8px;
    text-wrap: nowrap;
}
.custom-tabs .nav-tabs .nav-item.show .nav-link,
.custom-tabs .nav-tabs .nav-link.active {
    color: var(--primary);
    border: 2px solid var(--primary);
}

.custom-carousel-nav-wrapper {
    padding: 0 80px;
}
.custom-carousel-nav .owl-nav {
    display: flex;
    justify-content: center;
    top: 0;
    width: 100%;
}
.custom-carousel-nav .owl-nav button {
    width: 56px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.custom-carousel-nav .owl-nav button i {
    font-size: 48px;
}
.custom-carousel-nav .owl-nav button:hover i {
    color: var(--primary-hover);
}
.custom-carousel-nav .owl-nav .owl-prev {
    left: -80px;
}
.custom-carousel-nav .owl-nav .owl-prev i {
    margin: 0 0 0 5px;
    color: var(--primary);
}
.custom-carousel-nav .owl-nav .owl-next {
    right: -80px;
}
.custom-carousel-nav .owl-nav .owl-next i {
    margin: 0 5px 0 0;
    color: var(--primary);
}

.custom-carousel-nav2 .owl-stage-outer {
    padding-left: 2px;
}
.custom-carousel-nav2 .owl-nav {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}
.custom-carousel-nav2 .owl-nav button {
    width: 56px;
    height: 48px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
}
.custom-carousel-nav2 .owl-nav button:hover {
    color: var(--primary-hover);
    border-color: var(--primary-hover);
}
.custom-carousel-nav2 .owl-nav .owl-prev {
    border: 2px solid var(--primary) !important;
    border-radius: 100px 0 0 100px;
    border-right: none !important;
}
.custom-carousel-nav2 .owl-nav .owl-prev i {
    margin: 0 0 0 5px;
    color: var(--primary);
}
.custom-carousel-nav2 .owl-nav .owl-next i {
    margin: 0 5px 0 0;
    color: var(--primary);
}
.custom-carousel-nav2 .owl-nav .owl-next {
    border: 2px solid var(--primary) !important;
    border-radius: 0 100px 100px 0;
    border-left: none !important;
}

.fontsize20 {
    font-size: 20px;
}

/* ###### WEBSITE SECTIONS BEGIN ###### */

/* Main Header */
#main-header {
    margin-bottom: 0;
    background: var(--primary);
}
#main-header .content {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-radius: 16px;
    position: relative;
    transition: .2s;
    height: 96px;
    flex-wrap: nowrap;
}
#main-header.compact .content {
    border-radius: 0 0 16px 16px;
    height: 64px;
}
#main-header .content .navbar-toggler {
    padding-top: 4px;
    padding-bottom: 4px;
    border: none;
}
#main-header .navbar {
    transition: .2s;
    padding: 0;
    background: none;
}
#main-header.compact .navbar {
    background: var(--primary);
}
#main-header .navbar .navbar-brand {
    display: flex;
    align-items: center;
}
#main-header .navbar .navbar-brand img {
    transition: .2s;
    max-width: 100%;
}
#main-header .navbar-collapse {
    justify-content: end;
}
#main-header .navbar-nav {
    justify-content: center;
}
#main-header li a {
    font-weight: 500;
    padding-left: 12px;
    padding-right: 12px;
    position: relative;
    color: var(--white);
}
#main-header li a:hover {
    text-decoration: underline;
    color: var(--white);
}
#main-header li.cta-item {
    display: none;
}
#main-header .endbuttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Main Hero Section */
.main-hero-section {
    background: var(--primary);
    background-image: url(../img/bg-hero.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--white);
}
.main-hero-section .content {
    display: flex;
    align-items: center;
    padding-top: 200px;
    padding-bottom: 150px;
    position: relative;
    justify-content: space-between;
}
.main-hero-section .content .hero-text {
    max-width: 634px;
    min-width: 634px;
    padding: 40px 0;
}
.main-hero-section .content .hero-text .hat {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 16px;
    color: #61E7FF;
}
.main-hero-section .content .hero-text h1 {
    margin-bottom: 24px;
    color: var(--white);
}
.main-hero-section .content .hero-text p {
    margin: 0;
}
.main-hero-section .content .hero-text .list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.main-hero-section .content .hero-text .item {
    display: flex;
    align-items: center;
    gap: 16px;
}
.main-hero-section .content .hero-text .item i {
    color: #30CC22;
    font-size: 32px;
}
.main-hero-section .content .hero-text .btn {
    margin-top: 40px;
}
.main-hero-section .content .hero-fig {
    width: 100%;
    display: flex;
    justify-content: center;
}
.main-hero-section .content .hero-fig img {
    max-width: 100%;
}
.main-hero-section .content .support {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(45, 82, 146, .85);
    border-radius: 32px;
    padding: 40px 32px;
    display: flex;
    color: var(--white);
    backdrop-filter: blur(10px);
}
.main-hero-section .content .support .left {
    display: flex;
    gap: 24px;
}
.main-hero-section .content .support .left i {
    font-size: 105px;
}
.main-hero-section .content .support .left h2 {
    color: var(--white);
    margin-bottom: 16px;
    font-size: 32px;
}
.main-hero-section .content .support .left p {
    margin-bottom: 0;
    line-height: 28px;
}
.main-hero-section .content .support .right {
    display: flex;
    justify-content: flex-end;
    min-width: 200px;
    max-width: 200px;
}

/* Default Section */
.default-section {
    padding: 100px 0;
}
.default-section.bg-gray-section {
    background: var(--gray-background);
}
.default-section .section-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 64px;
}
.default-section .section-header.align-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
}
.default-section .section-header .hat {
    text-transform: uppercase;
    color: var(--primary);
    font-weight: 500;
}
.default-section .endbutton {
    margin-top: 50px;
    text-align: center;
}

/* Map Section */
.map-section .content {
    display: flex;
    align-items: center;
    gap: 56px;
}
.map-section .content h2 {
    margin-bottom: 40px;
}

/* Products Section */
.products-section {
    background: var(--primary);
}
.products-section h2 {
    color: var(--white);
}
.products-section .products-carousel {
    display: flex;
}
.products-section .owl-stage-outer {
    padding-left: 2px;
}
.products-section .owl-stage {
    display: flex;
    justify-content: center;
}
.products-section .owl-stage .owl-item {
    flex: 1;
}
.products-section .item {
    border: 2px solid #BBEEFB;
    border-radius: 16px;
    background-image: linear-gradient(#2D5292, #19376A);
    color: var(--white);
    padding: 32px;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.products-section .item figure {
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 24px;
}
.products-section .item h3 {
    color: var(--white);
    font-size: 24px;
    background: -webkit-linear-gradient(#FFF, #BBEEFB);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.products-section .item ul {
    padding: 0 0 0 14px;
    margin: 0;
}
.products-section .custom-carousel-nav .owl-nav button i {
    color: var(--white);
}

/* Logos Sections */
.logos-section .logos-carousel {
    display: flex;
}
.logos-section .logos-carousel .owl-stage-outer {
    padding-left: 2px;
}
.logos-section .logos-carousel .owl-stage {
    display: flex;
    justify-content: center;
}
.logos-section .logos-carousel .owl-stage .owl-item {
    flex: 1;
}
.logos-section .logos-carousel .item {
    display: flex;
    align-items: center;
    height: 100%;
}
.logos-section .logos-carousel .item img {
    max-width: 100%;
    max-height: 120px;
    height: auto;
    width: auto;
}

/* Systems Section */
.systems-section .list .item {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.systems-section .list .item .figs-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
}
.systems-section .list .item .figs-wrapper::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(45, 82, 146, 0), #2D5292);
}
.systems-section .list .item .figs-wrapper .print {
    width: 100%;
}
.systems-section .list .item .figs-wrapper .print img {
    width: 100%;
}
.systems-section .list .item .figs-wrapper .logo {
    width: 144px;
    height: 77px;
    position: absolute;
    background: var(--white);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px 16px 0 0;
}
.systems-section .list .item .endbuttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* Features Section */
.features-section .list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.features-section .list .item {
    display: flex;
    flex-direction: column;
    width: calc(33.33% - 16px);
    background: var(--white);
    box-shadow: 0 40px 40px #E3EAF5;
    border-radius: 16px;
    overflow: hidden;
    padding: 32px;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 32px;
    box-sizing: border-box;
}
.features-section .list .item i {
    font-size: 100px;
    color: var(--primary);
}

/* Union Section */
.union-section .content {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: center;
}
.union-section .content .section-header {
    align-items: flex-start;
    text-align: left;
    margin: 0;
    max-width: 570px;
}
.union-section .content .section-header p {
    margin: 0;
}
.union-section .content .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas de tamanho igual */
    grid-template-rows: repeat(2, auto);  /* 2 linhas com altura automática */
    gap: 24px; /* Espaçamento opcional */
}
.union-section .content .list .item {
    background: var(--white);
    border: 1px solid #E2E8F1;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-direction: column;
    text-align: center;
    min-width: 170px;
    border-radius: 16px;
}
.union-section .content .list .item i {
    display: flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    background: var(--primary-background);
    border-radius: 200px;
    color: var(--white);
}
.union-section .content .list .item h3 {
    font-size: 16px;
    text-wrap: nowrap;
}

/* Benefits Sections */
.benefits-section .section-header h2 {
    max-width: 700px;
    margin: 0 auto;
}
.benefits-section .list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.benefits-section .list .item {
    display: flex;
    width: calc(33.33% - 16px);
    background: var(--primary);
    color: var(--white);
    box-shadow: 0 40px 40px rgba(0, 0, 0, .15);
    border-radius: 16px;
    overflow: hidden;
    padding: 32px;
    gap: 24px;
    box-sizing: border-box;
    border-bottom: 10px solid #0D357A;
}
.benefits-section .list .item i {
    font-size: 40px;
    color: #BBEEFB;
}
.benefits-section .list .item .text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px;
}
.benefits-section .list .item .text h3 {
    color: var(--white);
}
.benefits-section .list .item .text p {
    margin: 0;
    line-height: 30px;
}

/* Evolution Section */
.evolution-section .section-header {
    max-width: 780px;
    margin: 0 auto;
}
.evolution-section .section-header .hat {
    background: var(--primary);
    color: var(--white);
    font-size: 20px;
    padding: 8px 20px;
    border-radius: 100px;
    margin-bottom: 40px;
}
.evolution-section .section-header h2 {
    margin-bottom: 32px;
}
.evolution-section .section-header p {
    margin: 0;
}

/* App Section */
.app-section .content {
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: center;
}
.app-section .content .text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 400px;
    min-width: 400px;
}
.app-section .content .text .buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.app-section .content .text .buttons a {
    width: fit-content;
    transition: .2s;
}
.app-section .content .text .buttons a:hover {
    transform: scale(1.1);
}
.app-section img {
    max-width: 100%;
}

/* Presence Section */
.presence-section {
    background: var(--primary);
    color: var(--white);
    padding: 0;
}
.presence-section .content {
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: center;
}
.presence-section .text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding:  100px 0;
}
.presence-section .text .hat {
    background: var(--white);
    color: var(--primary);
    font-size: 20px;
    padding: 8px 20px;
    border-radius: 100px;
    width: fit-content;
    margin-bottom: 24px;
}
.presence-section .text h2 {
    color: var(--white);
    margin-bottom: 24px;
}
.presence-section figure {
    min-width: 551px;
    max-width: 551px;
    align-self: flex-end;
}
.presence-section figure img {
    max-width: 100%;
}

/* API Section */
.api-section .content {
    display: flex;
    align-items: center;
    gap: 40px;
}
.api-section .content h2 {
    margin-bottom: 32px;
}
.api-section .content .list {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 32px;
    margin-bottom: 32px;
}
.api-section .content .list .item {
    width: calc(50% - 12px);
}
.api-section .content .list .item p {
    margin: 0;
}
.api-section .content figure {
    max-width: 663px;
    min-width: 663px;
}
.api-section .content figure img {
    max-width: 100%;
}
.api-section .content .endbutton {
    text-align: left;
}

/* Plans Section */
.plans-section .list {
    display: flex;
    gap: 24px;
}
.plans-section .list .item {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1;
    background: var(--white);
    border-radius: 32px;
    border: 1px solid #CEDBEF;
    padding: 32px;
    box-shadow: 0px 40px 40px #E6EEFA;
}
.plans-section .list .item .main-text {
    display: flex;
    flex-direction: column;
    gap: 48px;
    height: 100%;
}
.plans-section .list .item .main-text header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.plans-section .list .item .main-text header .hat {
    font-size: 24px;
    color: #616161;
    font-weight: bold;
}
.plans-section .list .item .main-text header h3 {
    font-size: 56px;
    color: var(--primary);
    font-weight: bold;
}
.plans-section .list .item .main-text header .desc {
    color: #B4B4B4;
    text-transform: uppercase;
}
.plans-section .list .item .main-text .checklist {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.plans-section .list .item .main-text .checklist .checkitem {
    display: flex;
    align-items: center;
    gap: 12px;
}
.plans-section .list .item .main-text .checklist .checkitem i {
    color: var(--success);
}

.pdv-section .content {
    display: flex;
    align-items: center;
    gap: 80px;
}
.pdv-section .content figure {
    display: flex;
    align-items: center;
    gap: 80px;
    overflow: hidden;
    border: 1px solid #DEE9FC;
    border-radius: 56px;
    max-width: 600px;
    min-width: 600px;
}
.pdv-section .content figure img {
    width: 100%;
}
.pdv-section .content .text h2 {
    margin-bottom: 40px;
}
.pdv-section .content .text .btn {
    margin-top: 32px;
}

/* Modules Section */
.modules-section .section-header p {
    max-width: 780px;
}
.modules-section .pane-content {
    padding-top: 40px;
    display: flex;
    gap: 48px;
}
.modules-section .pane-content figure {
    max-width: 650px;
    min-width: 650px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modules-section .pane-content figure img {
    max-width: 100%;
}
.modules-section .pane-content .text h3 {
    font-size: 32px;
    color: var(--primary);
    margin-bottom: 40px;
}
.modules-section .pane-content .text .btn {
    margin-top: 32px;
}

/* Machines Section */
.machines-section .list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    row-gap: 40px;
}
.machines-section .list .item {
    width: calc(33.33% - 16px);
    background: var(--white);
    box-shadow: 0 40px 40px #E3EAF5;
    border-radius: 16px;
    padding: 32px;
    box-sizing: border-box;
    position: relative;
    min-height: 208px;
}
.machines-section .list .item h3 {
    color: var(--primary);
    max-width: 180px;
}
.machines-section .list .item .details p {
    margin: 0;
    color: #B4B4B4;
}
.machines-section .list .item figure {
    position: absolute;
    right: 12px;
    top: -24px;
    transition: .3s;
}
.machines-section .list .item:hover figure {
    top: -36px;
}
.machines-section .endtext {
    text-align: center;
    margin-top: 48px;
}
.machines-section .endbutton {
    text-align: center;
    margin-top: 24px;
}

/* Platforms Section */
.platforms-section .section-header p {
    max-width: 580px;
}
.platforms-section .item {
    text-align: center;
    margin-bottom: 24px;
}
.platforms-section .item i {
    font-size: 100px;
    color: var(--primary);
    margin-bottom: 32px;
}
.platforms-section .item p {
    margin: 24px 0 0;
}

/* Depositions Section */
.depositions-section .carousel-wrapper {
    max-width: 856px;
    margin: 0 auto;
    background: var(--white);
    box-shadow: 0 40px 40px #E3EAF5;
    border: 4px solid #DFE8F5;
    border-radius: 16px;
    padding-bottom: 32px;
}
.depositions-section .item {
    display: flex;
    padding: 32px;
    gap: 40px;
}
.depositions-section .item .texts-container {
    max-width: 396px;
    min-width: 396px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.depositions-section .item .texts-container .stars-rating i {
    color: #FFC444;
}
.depositions-section .item .texts-container .avatar {
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 200px;
}
.depositions-section .item .texts-container .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.depositions-section .item .texts-container .personal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.depositions-section .item .texts-container .personal .business {
    color: #BFC9D9;
}
.depositions-section .item .print {
    display: flex;
    align-items: center;
    justify-content: center;
}
.depositions-section .item .print img {
    width: 100%;
}

/* Main Footer */
#contato {
    background: var(--primary);
    color: var(--white);
    padding-top: 64px;
}
#contato .top {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}
#contato .top .left figure {
    margin-bottom: 24px;
}
#contato .top .left figure img {
    max-width: 100%;
}
#contato .top .left .address {
    margin-bottom: 24px;
}
#contato .top .left .list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#contato .top .left .list .item {
    display: flex;
    align-items: center;
    gap: 8px;
}
#contato .top .left .list a[href^=tel]{ 
    color:#FFF; 
    text-decoration:none;
}
#contato .top .links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#contato .top .links a {
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 8px;
}
#contato .bottom {
    padding: 32px 0;
    text-align: center;
    border-top: 1px solid #466CAC;
    margin-top: 32px;
}
#contato .bottom .links {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
#contato .bottom .links a {
    color: var(--white);
}
#contato .bottom p {
    margin: 0;
}

/* ###### WEBSITE SECTIONS END ###### */

.whatsapp-floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: #0EC143;
    color: var(--white) !important;
    font-size: 40px;
    text-decoration: none;
    border-radius: 200px;
    box-shadow: 0 40px 40px rgba(0, 0, 0, .2);
    transition: .2s;
    z-index: 9;
}
.whatsapp-floating i {
    font-size: 40px;
}
.whatsapp-floating:hover {
    background: #13d84e;
    text-decoration: none;
    color: var(--white) !important;
    box-shadow: 0 40px 40px rgba(0, 0, 0, .25);
}

/* xxl */
@media only screen and (min-width:1400px)  {
}

/* xl */
@media only screen and (max-width:1399px)  {
    #main-header li a {
        color: var(--primary);
    }
    #main-header li a:hover {
        color: var(--primary);
    }
    #main-header li.cta-item {
        display: block;
    }

    .main-hero-section .content {
        padding-top: 100px;
    }
    .main-hero-section .content {
        padding-bottom: 100px;
    }
    .main-hero-section .content .hero-text {
        max-width: none;
        min-width: auto;
        text-align: center;
    }
    .main-hero-section .content .hero-text .hat {
        display: block;
    }
}

/* lg */
@media only screen and (max-width:1199px)  {
    .main-hero-section .content .hero-text {
        margin: 0;
    }
    .main-hero-section .content {
        flex-direction: column;
    }
    .main-hero-section .content .hero-fig img {
        max-width: 100%;
    }

    .map-section .content {
        flex-direction: column;
        gap: 16px;
    }
    .map-section .content figure {
        order: 2;
    }
    .map-section .content figure img {
        max-width: 100%;
    }

    .presence-section .text {
        padding-bottom: 0;
    }
    .presence-section .content {
        flex-direction: column;
        gap: 16px;
    }
    .presence-section figure {
        max-width: none;
        min-width: auto;
        justify-self: center;
        align-self: center;
    }

    .api-section .content figure {
        max-width: 400px;
        min-width: 400px;
    }

    .pdv-section .content {
        flex-direction: column;
        gap: 40px;
    }
    .pdv-section .content figure {
        max-width: none;
        min-width: auto;
        width: 100%;
    }

    .modules-section .pane-content {
        flex-direction: column;
        gap: 40px;
    }
    .modules-section .pane-content figure {
        max-width: none;
        min-width: auto;
        width: 100%;
    }

    .machines-section .list .item {
        width: calc(50% - 16px);
    }
}

/* md */
@media only screen and (max-width:991px)  {
    .main-hero-section .content .support {
        flex-direction: column;
        gap: 32px;
    }
    .main-hero-section .content .support .right {
        margin-left: 102px;
    }

    .features-section .list .item {
        width: calc(50% - 16px);
    }

    .union-section .content {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        align-items: center;
    }
    .union-section .content .section-header {
        text-align: center;
        justify-content: center;
        align-items: center;
    }

    .benefits-section .list .item {
        width: calc(50% - 16px);
    }

    .api-section .content {
        flex-direction: column;
    }

    .plans-section .list {
        flex-direction: column;
    }

    .machines-section .list .item {
        width: 100%;
    }

    .depositions-section .item .texts-container {
        max-width: 320px;
        min-width: 320px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }
}

/* sm */
@media only screen and (max-width:767px)  {
    #main-header .cta-button {
        display: none;
    }
    #main-header li.cta-item {
        display: block;
    }

    .main-hero-section .content .support {
        position: static;
        background: var(--primary);
        margin-top: -130px;
        animation: none !important;
        opacity: 1 !important;
    }
    .main-hero-section .content .support .left i {
        text-align: center;
    }
    .main-hero-section .content .support .left {
        flex-direction: column;
    }
    .main-hero-section .content .support .right {
        margin: 0;
        min-width: auto;
        max-width: none;
        justify-content: center;
    }

    .systems-section .list {
        margin-bottom: -48px;
    }
    .systems-section .list .item {
        margin-bottom: 48px;
        gap: 24px;
    }

    .union-section .content .list {
        gap: 16px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
    }

    .benefits-section .list .item {
        width: 100%;
        min-width: auto;
    }

    .app-section .content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .app-section .content .text {
        max-width: none;
        min-width: auto;
    }
    .app-section .content .text .buttons {
        align-items: center;
    }

    .depositions-section .item {
        flex-direction: column;
        gap: 8px;
    }
    .depositions-section .item .texts-container {
        max-width: none;
        min-width: auto;
    }

    #contato .top {
        flex-direction: column;
    }
}

/* xs */
@media only screen and (max-width:575px)  {
    h1 {
        font-size: 32px;
    }
    h2 {
        font-size: 28px;
    }
    .fontsize20 {
        font-size: 16px;
    }

    .main-hero-section .content {
        padding-bottom: 50px;
    }
    .main-hero-section .content .hero-text {
        padding-top: 0;
    }

    .default-section {
        padding: 50px 0;
    }
    .default-section .section-header {
        margin-bottom: 32px;
    }

    .main-hero-section .content .support .left h2 {
        font-size: 28px;
    }

    .map-section .content h2 {
        margin-bottom: 24px;
    }

    .custom-carousel-nav-wrapper {
        padding: 0;
    }

    .products-section .container {
        padding: 0;
    }
    .custom-carousel-nav-wrapper .owl-carousel .owl-stage-outer .owl-stage {
        padding-left: 0 !important;
    }

    .features-section .list .item {
        gap: 16px;
        padding: 16px;
    }
    .features-section .list .item i {
        font-size: 50px;
    }
    .features-section .list .item h3 {
        font-size: 16px;
    }

    .union-section .content .list .item {
        width: 100%;
        min-width: auto;
    }
    .union-section .content .list .item h3 {
        text-wrap: wrap;
    }

    .evolution-section .section-header {
        margin-bottom: 0;
    }
    .evolution-section .section-header .hat {
        font-size: 16px;
        margin-bottom: 24px;
    }
    .evolution-section .section-header h2 {
        margin-bottom: 24px;
    }

    .presence-section {
        padding-bottom: 0;
    }
    .presence-section .text {
        padding: 0;
    }

    .api-section .content figure {
        max-width: none;
        min-width: auto;
    }

    .pdv-section .content .text h2 {
        margin-bottom: 24px;
    }
    .pdv-section .content .text .btn {
        margin-top: 16px;
    }

    .modules-section .pane-content .text h3 {
        margin-bottom: 24px;
        font-size: 24px;
    }
    .modules-section .pane-content .text .btn {
        margin-top: 16px;
    }

    .depositions-section .item {
        padding: 24px;
    }
}

/* 400 */
@media only screen and (max-width:400px)  {
    .machines-section .list .item figure {
        width: 40%;
    }
    .machines-section .list .item figure img {
        max-width: 100%;
    }
}

/* ==========================================================
   B2B LAYOUT FINAL CONSOLIDADO
   Ajustes finais de layout, menu desktop/mobile e animações.
   Mantém o HTML e os conteúdos originais.
   ========================================================== */

:root {
    --primary-dark: #17386D;
    --primary-deep: #102A56;
    --surface: #FFFFFF;
    --surface-soft: #F7FAFF;
    --border-soft: #DDE8F7;
    --text-soft: #6B7890;
    --shadow-soft: 0 18px 45px rgba(24, 55, 106, .10);
    --shadow-card: 0 24px 60px rgba(24, 55, 106, .14);
    --shadow-hover: 0 32px 70px rgba(24, 55, 106, .20);
    --radius-lg: 24px;
    --radius-xl: 32px;
}

html {
    scroll-padding-top: 96px;
}

body {
    background: var(--surface);
    color: var(--text-soft);
}

h1,
h2,
h3 {
    letter-spacing: -0.035em;
}

h1 {
    font-size: clamp(2.45rem, 4.4vw, 4.25rem);
    line-height: 1.02;
}

h2 {
    font-size: clamp(2rem, 3.2vw, 3.15rem);
    line-height: 1.08;
}

h3 {
    line-height: 1.2;
}

p,
.fontsize20 {
    line-height: 1.7;
}

.btn-custom {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 999px !important;
    min-height: 52px;
    padding: 14px 24px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .12);
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}

.btn-custom > * {
    position: relative;
    z-index: 1;
}

.btn-custom::before {
    content: '';
    position: absolute;
    top: 0;
    left: -90%;
    width: 55%;
    height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.42) 50%, transparent 100%);
    transform: skewX(-20deg);
    transition: left .65s ease;
    z-index: 0;
}

.btn-custom:hover {
    transform: translateY(-3px);
    text-decoration: none;
    box-shadow: 0 22px 46px rgba(0, 0, 0, .18);
}

.btn-custom:hover::before {
    left: 130%;
}

.btn-custom-success {
    background: linear-gradient(135deg, #32C852 0%, #159C34 100%) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
}

.btn-custom-white {
    background: rgba(255, 255, 255, .96) !important;
    color: var(--primary) !important;
}

/* Header */
#main-header .navbar {
    background: transparent;
}

#main-header .content {
    gap: 24px;
    height: 92px;
}

#main-header.compact .navbar {
    background: rgba(23, 56, 109, .88);
    backdrop-filter: blur(18px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .16);
}

#main-header.compact .content {
    height: 68px;
}

#main-header .navbar .navbar-brand {
    flex: 0 0 auto;
}

#main-header .navbar .navbar-brand img {
    max-height: 54px;
}

#main-header.compact .navbar .navbar-brand img {
    max-height: 42px;
}

#main-header .endbuttons {
    flex: 0 0 auto;
}

#main-header .navbar-toggler {
    background: rgba(255, 255, 255, .10);
    border-radius: 12px;
    min-width: 44px;
    min-height: 44px;
}

#main-header li a {
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

#main-header li a:hover {
    background: rgba(255, 255, 255, .13);
    text-decoration: none;
    transform: translateY(-1px);
}

#main-header li a::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 4px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(.4);
    transform-origin: center;
    transition: opacity .2s ease, transform .2s ease;
}

#main-header li a:hover::after {
    opacity: .55;
    transform: scaleX(1);
}

/* Menu desktop definitivo */
@media only screen and (min-width: 1400px) {
    #offcanvasNavbar.offcanvas {
        position: static !important;
        visibility: visible !important;
        transform: none !important;
        flex: 1 1 auto !important;
        width: auto !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 16px !important;
        padding: 0 !important;
        background: rgba(255, 255, 255, .94) !important;
        border: 1px solid rgba(255, 255, 255, .45) !important;
        border-radius: 999px !important;
        box-shadow: 0 18px 42px rgba(16, 42, 86, .12) !important;
        backdrop-filter: blur(18px);
        overflow: visible !important;
    }

    #offcanvasNavbar .offcanvas-header {
        display: none !important;
    }

    #offcanvasNavbar .offcanvas-body {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 52px !important;
        max-height: none !important;
        padding: 0 36px !important;
        overflow: visible !important;
    }

    #offcanvasNavbar .navbar-nav {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #offcanvasNavbar .navbar-nav .nav-item {
        width: auto !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        width: auto !important;
        height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 14px !important;
        border-radius: 999px !important;
        color: var(--primary) !important;
        background: transparent !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link:hover {
        background: rgba(45, 82, 146, .10) !important;
        color: var(--primary-dark) !important;
        transform: translateY(-1px);
    }

    #offcanvasNavbar .navbar-nav .nav-link::after {
        display: none !important;
    }

    #main-header .cta-button {
        height: 52px !important;
        min-height: 52px !important;
        padding: 0 28px !important;
        white-space: nowrap !important;
    }
}

@media only screen and (min-width: 1400px) and (max-width: 1480px) {
    #offcanvasNavbar.offcanvas {
        margin: 0 10px !important;
    }

    #offcanvasNavbar .offcanvas-body {
        padding: 0 24px !important;
    }

    #offcanvasNavbar .navbar-nav {
        gap: 4px !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        padding: 0 10px !important;
        font-size: 15px !important;
    }

    #main-header .cta-button {
        padding: 0 22px !important;
    }
}

/* Menu mobile/tablet */
@media only screen and (max-width: 1399px) {
    #main-header li a,
    #main-header li a:hover {
        color: var(--primary);
    }

    #main-header li a:hover {
        background: rgba(45, 82, 146, .08);
    }

    #offcanvasNavbar.offcanvas {
        width: min(86vw, 360px) !important;
        height: auto !important;
        max-height: none !important;
        top: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        border-radius: 24px !important;
        overflow: hidden !important;
        background: radial-gradient(circle at top right, rgba(57,181,252,.14), transparent 38%), linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
        border: 1px solid rgba(45, 82, 146, .12);
        box-shadow: -24px 0 60px rgba(16, 42, 86, .20);
    }

    #offcanvasNavbar .offcanvas-header {
        min-height: 78px;
        padding: 24px 24px 18px !important;
        border-bottom: 1px solid #E6EEF9;
        flex: 0 0 auto;
    }

    #offcanvasNavbar .offcanvas-header h5 {
        color: var(--primary-dark);
        font-size: 22px;
        font-weight: 800;
    }

    #offcanvasNavbar .offcanvas-body {
        height: calc(100vh - 24px - 78px) !important;
        max-height: calc(100vh - 24px - 78px) !important;
        overflow-y: auto !important;
        padding: 18px 18px 24px !important;
    }

    #offcanvasNavbar .navbar-nav {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    #offcanvasNavbar .navbar-nav .nav-item {
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 14px 16px !important;
        border-radius: 16px !important;
        color: var(--primary) !important;
        background: transparent !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link:hover {
        background: #EDF4FF !important;
        color: var(--primary-dark) !important;
        transform: translateX(4px);
    }

    #offcanvasNavbar .navbar-nav .nav-link::after {
        display: none !important;
    }
}

/* Hero */
.main-hero-section {
    position: relative;
    isolation: isolate;
    background-position: center;
    overflow: hidden;
    background-blend-mode: overlay;
}

.main-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: radial-gradient(circle at 78% 38%, rgba(57, 181, 252, .28), transparent 34%), linear-gradient(115deg, rgba(16, 42, 86, .96) 0%, rgba(45, 82, 146, .90) 46%, rgba(16, 42, 86, .74) 100%);
    pointer-events: none;
}

.main-hero-section::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -260px;
    width: 840px;
    height: 420px;
    transform: translateX(-50%);
    z-index: 0;
    background: rgba(255, 255, 255, .12);
    filter: blur(90px);
    border-radius: 999px;
    pointer-events: none;
}

.main-hero-section .content {
    min-height: 760px;
    padding-top: 150px;
    padding-bottom: 110px;
    gap: 56px;
    z-index: 1;
}

.main-hero-section .content::before {
    content: '';
    position: absolute;
    inset: 110px -120px 70px;
    background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 45%, #000 0%, transparent 72%);
    pointer-events: none;
    z-index: 0;
}

.main-hero-section .content .hero-text,
.main-hero-section .content .hero-fig {
    position: relative;
    z-index: 1;
}

.main-hero-section .content .hero-text {
    max-width: 650px;
    min-width: 520px;
}

.main-hero-section .content .hero-text h1 {
    text-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}

.main-hero-section .content .hero-text p {
    max-width: 560px;
    color: rgba(255, 255, 255, .86);
}

.main-hero-section .content .hero-fig img {
    filter: drop-shadow(0 36px 55px rgba(0, 0, 0, .35));
    animation: heroFloatModern 5.5s ease-in-out infinite;
}

@keyframes heroFloatModern {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
}

/* Seções e títulos */
.default-section {
    padding: 112px 0;
}

.default-section.bg-gray-section {
    background: radial-gradient(circle at top left, rgba(45, 82, 146, .07), transparent 32%), var(--gray-background);
}

.default-section .section-header {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.default-section .section-header h2 {
    position: relative;
    padding-bottom: 20px;
}

.default-section .section-header h2::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 78px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary), var(--info));
    transform: translateX(-50%);
    box-shadow: 0 8px 20px rgba(45, 82, 146, .24);
}

.default-section .section-header.align-left h2::after {
    left: 0;
    transform: none;
}

.default-section .section-header p {
    color: var(--text-soft);
}

.modules-section,
.depositions-section,
.platforms-section,
.features-section,
.machines-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.modules-section::before,
.depositions-section::before,
.platforms-section::before,
.features-section::before,
.machines-section::before {
    content: '';
    position: absolute;
    width: 380px;
    height: 380px;
    border-radius: 999px;
    background: rgba(57, 181, 252, .10);
    filter: blur(72px);
    pointer-events: none;
    z-index: -1;
}

.modules-section::before { top: 90px; right: -130px; }
.depositions-section::before { bottom: -140px; left: -140px; }
.platforms-section::before { top: -160px; left: 12%; }
.features-section::before { top: 80px; left: -140px; }
.machines-section::before { right: -160px; bottom: 160px; }

/* Cards e microinterações */
.features-section .list .item,
.benefits-section .list .item,
.machines-section .list .item,
.platforms-section .item {
    position: relative;
    overflow: hidden;
}

.features-section .list .item::before,
.benefits-section .list .item::before,
.machines-section .list .item::before,
.platforms-section .item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -130%;
    width: 70%;
    height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.34) 48%, transparent 100%);
    transform: skewX(-18deg);
    transition: left .75s ease;
    pointer-events: none;
    z-index: 1;
}

.features-section .list .item:hover::before,
.benefits-section .list .item:hover::before,
.machines-section .list .item:hover::before,
.platforms-section .item:hover::before {
    left: 135%;
}

.features-section .list .item > *,
.benefits-section .list .item > *,
.machines-section .list .item > *,
.platforms-section .item > * {
    position: relative;
    z-index: 2;
}

.features-section .list .item,
.machines-section .list .item,
.depositions-section .carousel-wrapper,
.plans-section .list .item {
    border: 1px solid var(--border-soft);
    box-shadow: var(--shadow-soft);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.features-section .list .item:hover,
.machines-section .list .item:hover,
.plans-section .list .item:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(45, 82, 146, .28);
}

.features-section .list .item {
    border-radius: var(--radius-lg);
    padding: 38px 28px;
    min-height: 245px;
}

.features-section .list .item i {
    font-size: 78px;
    width: 116px;
    height: 116px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background: linear-gradient(180deg, #F4F8FF 0%, #E8F1FF 100%);
    border-radius: 28px;
    transition: transform .32s ease, box-shadow .32s ease;
}

.features-section .list .item:hover i,
.platforms-section .item:hover i {
    transform: translateY(-7px) scale(1.04);
    box-shadow: 0 18px 34px rgba(45, 82, 146, .16);
}

.features-section .list .item h3 {
    max-width: 250px;
    margin: 0 auto;
}

/* Benefícios */
.benefits-section .list .item {
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, .14);
    border-bottom: 0;
    border-radius: var(--radius-lg);
    background: radial-gradient(circle at 100% 0, rgba(187, 238, 251, .18), transparent 32%), linear-gradient(145deg, #315C9C 0%, #193E79 52%, #102A56 100%);
    box-shadow: 0 24px 60px rgba(16, 42, 86, .22);
    min-height: 250px;
    transition: transform .28s ease, box-shadow .28s ease;
}

.benefits-section .list .item::after {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: calc(var(--radius-lg) - 1px);
    background: linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,0));
    pointer-events: none;
}

.benefits-section .list .item::before {
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.20) 48%, transparent 100%);
}

.benefits-section .list .item:hover {
    transform: translateY(-8px);
    box-shadow: 0 32px 76px rgba(16, 42, 86, .30);
}

.benefits-section .list .item i {
    min-width: 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    font-size: 30px;
    transition: transform .32s ease, box-shadow .32s ease, background .32s ease;
}

.benefits-section .list .item:hover i {
    transform: translateY(-7px) scale(1.04);
    background: rgba(255, 255, 255, .18);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .14);
}

.benefits-section .list .item .text p {
    color: rgba(255, 255, 255, .80);
}

/* PDV */
.pdv-section .content {
    gap: 72px;
}

.pdv-section .content figure {
    position: relative;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(45, 82, 146, .16);
    box-shadow: var(--shadow-card);
    background: linear-gradient(135deg, #FFFFFF 0%, #EAF2FF 100%);
}

.pdv-section .content figure::after {
    content: '';
    position: absolute;
    inset: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, .65);
    pointer-events: none;
}

.pdv-section .content .text {
    max-width: 560px;
}

.pdv-section .content .text h2 {
    color: var(--primary-dark);
}

.pdv-section .content figure img,
.modules-section .pane-content figure img,
.depositions-section .item .print img {
    transition: transform .35s ease, filter .35s ease;
}

.pdv-section .content figure:hover img,
.modules-section .pane-content figure:hover img,
.depositions-section .item .print:hover img {
    transform: scale(1.025);
}

/* Módulos */
.custom-tabs .nav-tabs {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 8px;
    gap: 8px;
    border: 1px solid var(--border-soft);
    border-radius: 999px;
    background: #F5F8FE;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
    scrollbar-width: none;
}

.custom-tabs .nav-tabs::-webkit-scrollbar {
    display: none;
}

.custom-tabs .nav-tabs .nav-link {
    border-radius: 999px;
    padding: 12px 22px;
    color: var(--primary);
    border: none !important;
    background: transparent;
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.custom-tabs .nav-tabs .nav-link:hover {
    background: rgba(45, 82, 146, .08);
    transform: translateY(-2px);
}

.custom-tabs .nav-tabs .nav-link.active {
    color: var(--white);
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    box-shadow: 0 12px 28px rgba(45, 82, 146, .24);
}

.modules-section .pane-content {
    position: relative;
    align-items: center;
    margin-top: 18px;
    padding: 42px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
    box-shadow: var(--shadow-soft);
}

.modules-section .pane-content::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius-xl);
    padding: 1px;
    background: linear-gradient(135deg, rgba(57,181,252,.55), rgba(255,255,255,0), rgba(45,82,146,.28));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.modules-section .pane-content figure {
    padding: 16px;
    border-radius: 26px;
    background: #FFFFFF;
    box-shadow: inset 0 0 0 1px #E8F0FB;
}

.modules-section .pane-content figure img {
    border-radius: 18px;
    box-shadow: 0 18px 36px rgba(24, 55, 106, .12);
}

.modules-section .pane-content .text h3 {
    color: var(--primary-dark);
}

.tab-pane.fade {
    transition: opacity .36s ease, transform .36s ease;
    transform: translateY(14px);
}

.tab-pane.fade.show {
    transform: translateY(0);
}

/* Maquininhas */
.machines-section .list .item {
    min-height: 245px;
    border-radius: var(--radius-lg);
    overflow: hidden !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
    padding-right: 150px;
    padding-bottom: 52px;
}

.machines-section .list .item h3 {
    max-width: 100%;
    padding-right: 0;
}

.machines-section .list .item .type {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(45, 82, 146, .08);
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 16px;
}

.machines-section .list .item .details {
    max-width: 100%;
}

.machines-section .list .item .details p {
    color: #8794AA;
}

.machines-section .list .item figure {
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 120px;
    max-width: 120px;
    height: auto;
    filter: drop-shadow(0 18px 22px rgba(24, 55, 106, .18));
}

.machines-section .list .item:hover figure {
    top: 50%;
    transform: translateY(-50%) scale(1.04);
}

.machines-section .list .item figure img {
    max-width: 100%;
    height: auto;
    display: block;
}

.machines-section .list .item::after {
    content: 'SmartPOS';
    position: absolute;
    left: 26px;
    bottom: 22px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(45, 82, 146, .42);
    z-index: 2;
}

/* Plataformas */
.platforms-section .item {
    padding: 26px 18px;
    border-radius: 22px;
    transition: transform .25s ease, background-color .25s ease;
}

.platforms-section .item:hover {
    transform: translateY(-6px);
    background: #F6F9FE;
}

.platforms-section .item i {
    width: 112px;
    height: 112px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 28px;
    background: linear-gradient(180deg, #F4F8FF 0%, #E8F1FF 100%);
    font-size: 64px;
    transition: transform .32s ease, box-shadow .32s ease;
}

/* Depoimentos */
.depositions-section .carousel-wrapper {
    max-width: 980px;
    border-radius: var(--radius-xl);
    padding-bottom: 24px;
    overflow: hidden;
    background: radial-gradient(circle at 18% 0, rgba(57, 181, 252, .12), transparent 30%), #FFFFFF;
}

.depositions-section .item {
    align-items: center;
    padding: 42px;
}

.depositions-section .item .texts-container {
    min-width: 420px;
    max-width: 420px;
}

.depositions-section .item .texts-container .deposition {
    position: relative;
    padding: 22px;
    border-radius: 22px;
    background: #F7FAFF;
    color: var(--text-soft);
}

.depositions-section .item .texts-container .deposition::before {
    content: '“';
    position: absolute;
    top: -18px;
    left: 18px;
    font-size: 64px;
    line-height: 1;
    color: rgba(45, 82, 146, .20);
    font-weight: 800;
}

.depositions-section .item .print img {
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(24, 55, 106, .16);
}

.custom-carousel-nav2 .owl-nav button {
    background: #FFFFFF !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.custom-carousel-nav2 .owl-nav button:hover {
    transform: translateY(-2px);
    background: #F5F8FE !important;
}

/* Footer */
#contato {
    background: radial-gradient(circle at top right, rgba(57, 181, 252, .18), transparent 32%), linear-gradient(145deg, #17386D 0%, #102A56 100%);
}

#contato .top {
    padding-bottom: 8px;
}

#contato .top .links a {
    width: fit-content;
    border-radius: 999px;
    padding: 4px 10px;
    margin-left: -10px;
    transition: background-color .2s ease;
}

#contato .top .links a:hover {
    background: rgba(255,255,255,.12);
    text-decoration: none;
}

#contato .top .left .list .item {
    padding: 8px 0;
}

#contato .top .left .list .item i {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    display: flex;
    align-items: center;
    justify-content: center;
}

.whatsapp-floating {
    box-shadow: 0 20px 46px rgba(14, 193, 67, .35);
}

.whatsapp-floating:hover {
    transform: translateY(-4px) scale(1.03);
}

/* Animações */
.js-scroll {
    opacity: 0;
    will-change: opacity, transform;
}

.anime-show-up {
    animation: show-up .85s cubic-bezier(.22, 1, .36, 1) forwards;
}

.anime-show-down {
    animation: show-down .85s cubic-bezier(.22, 1, .36, 1) forwards;
}

.anime-show-rotate-right {
    animation: show-rotate-right .95s cubic-bezier(.22, 1, .36, 1) forwards;
}

.anime-show-zoom {
    animation: show-zoom .85s cubic-bezier(.22, 1, .36, 1) forwards;
}

.features-section .list .item:nth-child(1),
.benefits-section .list .item:nth-child(1),
.machines-section .list .item:nth-child(1),
.platforms-section .row > div:nth-child(1) .item { animation-delay: .05s; }
.features-section .list .item:nth-child(2),
.benefits-section .list .item:nth-child(2),
.machines-section .list .item:nth-child(2),
.platforms-section .row > div:nth-child(2) .item { animation-delay: .12s; }
.features-section .list .item:nth-child(3),
.benefits-section .list .item:nth-child(3),
.machines-section .list .item:nth-child(3),
.platforms-section .row > div:nth-child(3) .item { animation-delay: .19s; }
.features-section .list .item:nth-child(4),
.benefits-section .list .item:nth-child(4),
.machines-section .list .item:nth-child(4),
.platforms-section .row > div:nth-child(4) .item { animation-delay: .26s; }
.features-section .list .item:nth-child(5),
.benefits-section .list .item:nth-child(5),
.machines-section .list .item:nth-child(5) { animation-delay: .33s; }
.features-section .list .item:nth-child(6),
.benefits-section .list .item:nth-child(6),
.machines-section .list .item:nth-child(6) { animation-delay: .40s; }
.benefits-section .list .item:nth-child(7),
.machines-section .list .item:nth-child(7) { animation-delay: .47s; }
.benefits-section .list .item:nth-child(8),
.machines-section .list .item:nth-child(8) { animation-delay: .54s; }
.machines-section .list .item:nth-child(9) { animation-delay: .61s; }
.machines-section .list .item:nth-child(10) { animation-delay: .68s; }
.machines-section .list .item:nth-child(11) { animation-delay: .75s; }
.machines-section .list .item:nth-child(12) { animation-delay: .82s; }

/* Responsividade final */
@media only screen and (max-width: 1399px) {
    .main-hero-section .content {
        min-height: auto;
        padding-top: 132px;
        padding-bottom: 90px;
    }
}

@media only screen and (max-width: 1199px) {
    .main-hero-section .content {
        gap: 34px;
        text-align: center;
    }

    .main-hero-section .content .hero-text {
        min-width: auto;
        max-width: 780px;
    }

    .main-hero-section .content .hero-text p {
        margin-left: auto;
        margin-right: auto;
    }

    .pdv-section .content,
    .modules-section .pane-content {
        gap: 38px;
    }

    .modules-section .pane-content {
        padding: 32px;
    }
}

@media only screen and (max-width: 991px) {
    .default-section {
        padding: 82px 0;
    }

    .features-section .list,
    .benefits-section .list,
    .machines-section .list {
        gap: 18px;
    }

    .features-section .list .item,
    .benefits-section .list .item {
        width: calc(50% - 9px);
    }

    .machines-section .list .item {
        width: 100%;
        padding-right: 170px;
        min-height: 230px;
    }

    .machines-section .list .item figure {
        width: 130px;
        max-width: 130px;
    }

    .depositions-section .item {
        gap: 24px;
    }

    .depositions-section .item .texts-container {
        min-width: 330px;
        max-width: 330px;
    }

    .main-hero-section .content::before {
        inset: 80px -80px 40px;
        background-size: 44px 44px;
    }

    .modules-section::before,
    .depositions-section::before,
    .platforms-section::before,
    .features-section::before,
    .machines-section::before {
        width: 280px;
        height: 280px;
        filter: blur(62px);
    }
}

@media only screen and (max-width: 767px) {
    html {
        scroll-padding-top: 76px;
    }

    #main-header .content {
        height: 76px;
    }

    #main-header .navbar .navbar-brand img {
        max-height: 42px;
    }

    .main-hero-section .content {
        padding-top: 112px;
        padding-bottom: 58px;
    }

    .main-hero-section .content .hero-text {
        padding: 18px 0 0;
    }

    .main-hero-section .content .hero-fig img {
        max-width: 86%;
        animation: none;
    }

    .features-section .list .item,
    .benefits-section .list .item {
        width: 100%;
    }

    .benefits-section .list .item {
        flex-direction: column;
        gap: 18px;
    }

    .custom-tabs .nav-tabs {
        width: 100%;
        justify-content: flex-start;
        border-radius: 22px;
    }

    .modules-section .pane-content {
        padding: 24px;
        border-radius: 24px;
    }

    .depositions-section .item {
        padding: 28px;
    }

    .depositions-section .item .texts-container {
        min-width: auto;
        max-width: none;
        width: 100%;
    }

    .default-section .section-header h2 {
        padding-bottom: 16px;
    }

    .default-section .section-header h2::after {
        width: 58px;
        height: 3px;
    }

    #offcanvasNavbar.offcanvas {
        width: calc(100vw - 24px) !important;
        max-width: 360px !important;
        top: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
    }

    #offcanvasNavbar .offcanvas-header {
        min-height: 72px;
        padding: 20px 20px 16px !important;
    }

    #offcanvasNavbar .offcanvas-body {
        height: calc(100vh - 24px - 72px) !important;
        max-height: calc(100vh - 24px - 72px) !important;
        padding: 16px 16px 22px !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        padding: 13px 15px !important;
        font-size: 16px !important;
    }

    .machines-section .list .item::after {
        left: 22px;
        bottom: 20px;
    }
}

@media only screen and (max-width: 575px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .default-section {
        padding: 64px 0;
    }

    .default-section .section-header {
        margin-bottom: 34px;
    }

    .btn-custom {
        width: 100%;
        min-height: 50px;
    }

    .features-section .list .item {
        min-height: auto;
        padding: 28px 22px;
    }

    .features-section .list .item i,
    .platforms-section .item i {
        width: 86px;
        height: 86px;
        font-size: 48px;
        border-radius: 22px;
    }

    .pdv-section .content figure {
        border-radius: 24px;
    }

    .modules-section .pane-content {
        padding: 18px;
    }

    .modules-section .pane-content figure {
        padding: 10px;
    }

    .modules-section .pane-content::before {
        border-radius: 24px;
    }

    .machines-section .list .item {
        padding: 24px 120px 52px 22px;
        min-height: 220px;
    }

    .machines-section .list .item figure {
        width: 92px;
        max-width: 92px;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
    }

    .machines-section .list .item:hover figure {
        top: 50%;
        transform: translateY(-50%) scale(1.03);
    }

    .machines-section .list .item h3 {
        max-width: 100%;
        font-size: 18px;
    }

    .machines-section .list .item .details p {
        font-size: 14px;
        line-height: 1.5;
    }

    .depositions-section .carousel-wrapper {
        border-radius: 24px;
    }

    .depositions-section .item .texts-container .deposition {
        padding: 20px 18px;
    }

    .whatsapp-floating {
        width: 58px;
        height: 58px;
        right: 18px;
        bottom: 18px;
    }

    .features-section .list .item::before,
    .benefits-section .list .item::before,
    .machines-section .list .item::before,
    .platforms-section .item::before,
    .btn-custom::before {
        display: none;
    }

    .main-hero-section .content::before {
        opacity: .45;
    }
}

@media only screen and (max-width: 400px) {
    .machines-section .list .item {
        padding-right: 105px;
    }

    .machines-section .list .item figure {
        width: 78px;
        max-width: 78px;
        right: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .js-scroll {
        opacity: 1 !important;
    }

    .main-hero-section .content .hero-fig img {
        animation: none !important;
    }

    .features-section .list .item::before,
    .benefits-section .list .item::before,
    .machines-section .list .item::before,
    .platforms-section .item::before,
    .btn-custom::before {
        display: none !important;
    }
}

/* ==========================================================
   REFINAMENTO FINAL - TIPOGRAFIA E PALETA DE CORES
   Fonte mais leve, visual mais delicado e cores padronizadas.
   Cole no FINAL do main.css.
   ========================================================== */

:root {
    /* Paleta refinada */
    --primary: #244A86;
    --primary-hover: #2F62B3;
    --primary-dark: #163866;
    --primary-deep: #0F274B;

    --success: #22A843;
    --success-hover: #188938;

    --info: #4DB7F5;

    --gray-950: #1F2937;
    --gray-800: #334155;
    --gray-700: #475569;
    --gray-600: #64748B;
    --gray-500: #7B8798;

    --gray-background: #F4F7FB;
    --surface-soft: #F8FAFD;
    --border-soft: #E1EAF5;

    --text-title: #1F2937;
    --text-body: #64748B;
    --text-muted: #8491A5;
}

/* Base tipográfica mais refinada */
body,
html {
    color: var(--text-body);
    font-weight: 400;
    letter-spacing: -0.01em;
}

/* Títulos mais elegantes */
h1,
h2,
h3 {
    color: var(--text-title);
    font-weight: 650;
    letter-spacing: -0.045em;
}

/* Título principal mais premium */
h1 {
    font-weight: 680;
    line-height: 1.03;
}

/* Títulos de seção mais delicados */
h2 {
    font-weight: 650;
    line-height: 1.08;
}

/* Títulos dos cards */
h3 {
    font-weight: 650;
    letter-spacing: -0.025em;
}

/* Parágrafos mais leves */
p,
.fontsize20 {
    color: var(--text-body);
    font-weight: 400;
    letter-spacing: -0.012em;
}

/* Textos maiores com mais elegância */
.fontsize20 {
    font-size: 19px;
    line-height: 1.75;
}

/* Hero: contraste elegante */
.main-hero-section .content .hero-text h1 {
    font-weight: 680;
    letter-spacing: -0.055em;
    color: #FFFFFF;
}

.main-hero-section .content .hero-text p {
    font-weight: 400;
    color: rgba(255, 255, 255, .82);
}

/* Menu mais refinado */
#main-header li a,
#offcanvasNavbar .navbar-nav .nav-link {
    font-weight: 600 !important;
    letter-spacing: -0.015em;
}

/* Botões mais delicados */
.btn-custom {
    font-weight: 650;
    letter-spacing: -0.015em;
}

.btn-custom-success {
    background: linear-gradient(135deg, #27B84A 0%, #15943A 100%) !important;
}

.btn-custom-white {
    color: var(--primary) !important;
}

/* Cards com texto mais suave */
.features-section .list .item h3,
.benefits-section .list .item .text h3,
.machines-section .list .item h3,
.modules-section .pane-content .text h3 {
    font-weight: 650;
}

.features-section .list .item h3 {
    color: var(--gray-800);
}

.benefits-section .list .item .text p {
    color: rgba(255, 255, 255, .76);
    font-weight: 400;
}

.machines-section .list .item .details p {
    color: var(--text-muted);
    font-weight: 400;
}

/* Abas dos módulos mais elegantes */
.custom-tabs .nav-tabs .nav-link {
    font-weight: 600;
    letter-spacing: -0.015em;
}

/* Depoimentos mais delicados */
.depositions-section .item .texts-container .personal .name {
    color: var(--gray-800);
    font-weight: 650;
}

.depositions-section .item .texts-container .personal .business {
    color: var(--text-muted);
}

.depositions-section .item .texts-container .deposition p {
    color: var(--text-body);
    font-weight: 400;
}

/* Footer com leitura mais leve */
#contato {
    color: rgba(255, 255, 255, .84);
}

#contato .top .links a,
#contato .top .left .list .item,
#contato .address {
    font-weight: 400;
    color: rgba(255, 255, 255, .82);
}

#contato .top .links a:hover {
    color: #FFFFFF;
}

/* Ajuste fino no mobile */
@media only screen and (max-width: 575px) {
    h1 {
        font-weight: 670;
        letter-spacing: -0.045em;
    }

    h2 {
        font-weight: 650;
        letter-spacing: -0.035em;
    }

    h3 {
        font-weight: 650;
    }

    .fontsize20 {
        font-size: 16px;
        line-height: 1.7;
    }

    p {
        line-height: 1.7;
    }
}

/* ==========================================================
   REFINAMENTO DELICADO - TIPOGRAFIA, PESOS E TAMANHOS
   Deixa o site mais leve, elegante e menos grosseiro.
   Cole no FINAL do main.css.
   ========================================================== */

:root {
    --primary: #244A86;
    --primary-hover: #2F62B3;
    --primary-dark: #163866;
    --primary-deep: #0F274B;

    --success: #22A843;
    --success-hover: #188938;

    --text-title: #1F2937;
    --text-body: #667085;
    --text-muted: #8A96A8;

    --gray-background: #F5F8FC;
    --surface-soft: #FAFCFF;
    --border-soft: #E4ECF7;

    --shadow-soft: 0 16px 38px rgba(24, 55, 106, .08);
    --shadow-card: 0 20px 46px rgba(24, 55, 106, .10);
    --shadow-hover: 0 26px 56px rgba(24, 55, 106, .14);
}

/* Base geral mais delicada */
body,
html {
    color: var(--text-body);
    font-weight: 400;
    letter-spacing: -0.006em;
}

/* Títulos com menos peso e tamanho mais elegante */
h1,
h2,
h3 {
    color: var(--text-title);
    font-weight: 560 !important;
    letter-spacing: -0.035em;
}

h1 {
    font-size: clamp(2.15rem, 3.55vw, 3.45rem) !important;
    line-height: 1.08 !important;
}

h2 {
    font-size: clamp(1.75rem, 2.55vw, 2.45rem) !important;
    line-height: 1.14 !important;
}

h3 {
    font-size: clamp(1.05rem, 1.45vw, 1.28rem) !important;
    line-height: 1.28 !important;
}

/* Parágrafos mais suaves */
p,
.fontsize20 {
    color: var(--text-body);
    font-weight: 400 !important;
    letter-spacing: -0.006em;
    line-height: 1.72 !important;
}

.fontsize20 {
    font-size: 18px !important;
}

/* Hero menos pesado e mais elegante */
.main-hero-section .content {
    min-height: 680px;
    padding-top: 130px !important;
    padding-bottom: 90px !important;
}

.main-hero-section .content .hero-text {
    max-width: 610px;
}

.main-hero-section .content .hero-text h1 {
    font-weight: 580 !important;
    font-size: clamp(2.35rem, 4vw, 3.8rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em;
    text-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

.main-hero-section .content .hero-text p {
    max-width: 540px;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, .80);
}

/* Menus mais delicados */
#main-header li a,
#offcanvasNavbar .navbar-nav .nav-link {
    font-weight: 520 !important;
    letter-spacing: -0.01em;
}

#offcanvasNavbar .navbar-nav .nav-link {
    font-size: 15px !important;
}

/* Botões menos pesados */
.btn-custom {
    min-height: 50px;
    padding: 13px 22px !important;
    font-weight: 560 !important;
    letter-spacing: -0.01em;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .10);
}

.btn-custom:hover {
    box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
}

/* Seções com menos peso visual */
.default-section {
    padding: 88px 0 !important;
}

.default-section .section-header {
    margin-bottom: 48px !important;
}

.default-section .section-header h2 {
    font-weight: 560 !important;
}

/* Linha decorativa mais sutil */
.default-section .section-header h2::after {
    width: 58px !important;
    height: 3px !important;
    opacity: .82;
}

/* Cards de segmentos mais leves */
.features-section .list .item {
    min-height: 210px !important;
    padding: 30px 24px !important;
    gap: 22px !important;
    border-radius: 22px !important;
    box-shadow: var(--shadow-soft) !important;
}

.features-section .list .item i {
    width: 92px !important;
    height: 92px !important;
    font-size: 52px !important;
    border-radius: 24px !important;
}

.features-section .list .item h3 {
    font-weight: 560 !important;
    color: var(--text-title);
}

/* Cards de diferenciais menos agressivos */
.benefits-section .list .item {
    min-height: 220px !important;
    padding: 28px !important;
    gap: 20px !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(16, 42, 86, .18) !important;
}

.benefits-section .list .item i {
    min-width: 50px !important;
    width: 50px !important;
    height: 50px !important;
    font-size: 26px !important;
    border-radius: 16px !important;
}

.benefits-section .list .item .text {
    gap: 12px !important;
}

.benefits-section .list .item .text h3 {
    font-weight: 560 !important;
}

.benefits-section .list .item .text p {
    color: rgba(255, 255, 255, .74);
    font-size: 15.5px;
}

/* Seção PDV mais elegante */
.pdv-section .content {
    gap: 58px !important;
}

.pdv-section .content .text h2 {
    font-weight: 560 !important;
    margin-bottom: 28px !important;
}

.pdv-section .content figure {
    border-radius: 28px !important;
    box-shadow: var(--shadow-card) !important;
}

/* Módulos mais leves */
.modules-section .pane-content {
    padding: 34px !important;
    border-radius: 28px !important;
    box-shadow: var(--shadow-soft) !important;
}

.modules-section .pane-content .text h3 {
    font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
    font-weight: 560 !important;
    margin-bottom: 28px !important;
}

.custom-tabs .nav-tabs .nav-link {
    font-weight: 540 !important;
    font-size: 15px !important;
}

/* Maquininhas menos pesadas */
.machines-section .list .item {
    min-height: 220px !important;
    border-radius: 22px !important;
    box-shadow: var(--shadow-soft) !important;
}

.machines-section .list .item h3 {
    font-size: 1.08rem !important;
    font-weight: 560 !important;
}

.machines-section .list .item .type {
    font-weight: 520 !important;
}

.machines-section .list .item .details p {
    color: var(--text-muted) !important;
    font-size: 15px;
}

/* Plataformas mais delicadas */
.platforms-section .item i {
    width: 92px !important;
    height: 92px !important;
    font-size: 48px !important;
    border-radius: 24px !important;
}

.platforms-section .item p {
    font-weight: 450 !important;
}

/* Depoimentos mais suaves */
.depositions-section .carousel-wrapper {
    box-shadow: var(--shadow-soft) !important;
    border-width: 1px !important;
}

.depositions-section .item .texts-container .personal .name {
    font-weight: 560 !important;
}

.depositions-section .item .texts-container .deposition p {
    font-size: 15.5px;
    line-height: 1.72 !important;
}

/* FAQ mais delicado */
.faq-section .accordion-button {
    font-weight: 540 !important;
    font-size: 16px !important;
    letter-spacing: -0.015em;
}

.faq-section .accordion-body {
    color: var(--text-body);
    font-size: 15.5px;
    line-height: 1.72;
}

/* Footer mais leve */
#contato,
#contato .top .links a,
#contato .address,
#contato .top .left .list .item {
    font-weight: 400 !important;
}

/* Mobile mais equilibrado */
@media only screen and (max-width: 767px) {
    .main-hero-section .content {
        padding-top: 106px !important;
        padding-bottom: 54px !important;
    }

    .main-hero-section .content .hero-text h1 {
        font-size: 2.05rem !important;
        line-height: 1.12 !important;
    }

    .main-hero-section .content .hero-text p {
        font-size: 16px !important;
    }

    .default-section {
        padding: 64px 0 !important;
    }

    .default-section .section-header {
        margin-bottom: 36px !important;
    }

    h2 {
        font-size: 1.8rem !important;
    }
}

@media only screen and (max-width: 575px) {
    h1 {
        font-size: 2rem !important;
    }

    h2 {
        font-size: 1.65rem !important;
    }

    h3 {
        font-size: 1.05rem !important;
    }

    .fontsize20 {
        font-size: 15.8px !important;
    }

    .btn-custom {
        min-height: 48px;
        font-size: 15px;
    }

    .features-section .list .item {
        padding: 24px 20px !important;
    }

    .benefits-section .list .item {
        padding: 24px !important;
    }

    .modules-section .pane-content {
        padding: 22px !important;
    }
}

/* ==========================================================
   REFINAMENTO DE FONTE - VISUAL MAIS DELICADO
   Troca Inter por Manrope e reduz pesos/tamanhos.
   Cole no FINAL do main.css.
   ========================================================== */

body,
html {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    color: #667085;
    letter-spacing: -0.01em;
}

/* Títulos mais leves e delicados */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.035em;
}

/* Hero menos pesado */
h1,
.main-hero-section .content .hero-text h1 {
    font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.045em !important;
}

/* Títulos de seção mais elegantes */
h2,
.default-section .section-header h2,
.pdv-section .content .text h2 {
    font-size: clamp(1.55rem, 2.25vw, 2.15rem) !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
}

/* Títulos de cards e módulos */
h3,
.features-section .list .item h3,
.benefits-section .list .item .text h3,
.modules-section .pane-content .text h3,
.machines-section .list .item h3,
.accordion-header button {
    font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
    font-weight: 500 !important;
    line-height: 1.32 !important;
    letter-spacing: -0.025em !important;
}

/* Textos gerais */
p,
.fontsize20,
.accordion-body,
.machines-section .list .item .details p,
.depositions-section .item .texts-container .deposition p {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    letter-spacing: -0.005em !important;
}

/* Texto do hero */
.main-hero-section .content .hero-text p {
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.72 !important;
    color: rgba(255, 255, 255, .80) !important;
}

/* Menu mais fino */
#main-header li a,
#offcanvasNavbar .navbar-nav .nav-link {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
}

/* Botões mais delicados */
.btn-custom,
.btn-custom .text {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
}

/* Reduz um pouco a presença visual dos botões */
.btn-custom {
    min-height: 48px !important;
    padding: 12px 21px !important;
}

/* Abas */
.custom-tabs .nav-tabs .nav-link {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-size: 14.8px !important;
    font-weight: 500 !important;
}

/* FAQ */
.faq-section .accordion-button {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-weight: 500 !important;
}

.faq-section .accordion-body {
    font-weight: 400 !important;
}

/* Footer */
#contato,
#contato a,
#contato p,
#contato span {
    font-family: 'Manrope', Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
}

/* Ajustes mobile */
@media only screen and (max-width: 767px) {
    h1,
    .main-hero-section .content .hero-text h1 {
        font-size: 1.9rem !important;
        line-height: 1.16 !important;
        font-weight: 500 !important;
    }

    h2,
    .default-section .section-header h2 {
        font-size: 1.55rem !important;
        line-height: 1.22 !important;
    }

    p,
    .fontsize20 {
        font-size: 15.5px !important;
    }
}

@media only screen and (max-width: 575px) {
    h1,
    .main-hero-section .content .hero-text h1 {
        font-size: 1.78rem !important;
    }

    h2,
    .default-section .section-header h2 {
        font-size: 1.45rem !important;
    }

    h3 {
        font-size: 1rem !important;
    }

    .btn-custom,
    .btn-custom .text {
        font-size: 15px !important;
    }
}

/* ==========================================================
   REVENDA / PARCEIROS - VERSÃO DE IMPACTO COMERCIAL
   Seção no site + página exclusiva de revenda.
   ========================================================== */
:root {
    --partner-accent: #39B5FC;
    --partner-accent-dark: #244A86;
    --partner-green: #18B65A;
    --partner-blue-soft: #EAF3FF;
    --partner-ink: #0F274B;
}
#main-header .endbuttons .cta-partner-button {
    background: linear-gradient(135deg, var(--partner-accent) 0%, var(--partner-accent-dark) 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 36px rgba(232, 117, 0, .26) !important;
}
#main-header .endbuttons .cta-partner-button:hover { color: #fff !important; box-shadow: 0 22px 48px rgba(45,82,146,.28) !important; }
.partner-badge { width: fit-content; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(57,181,252,.12); color: #B95F00; font-size: 13px; font-weight: 600; letter-spacing: .01em; margin-bottom: 18px; }
.partner-badge i { font-size: 18px; }
.revenda-section { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 10% 10%, rgba(57,181,252,.12), transparent 30%), radial-gradient(circle at 90% 0%, rgba(57,181,252,.12), transparent 32%), linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%); }
.revenda-section::before { content: ''; position: absolute; right: -150px; top: 90px; width: 380px; height: 380px; border-radius: 999px; background: rgba(255,159,28,.12); filter: blur(80px); z-index: -1; }
.revenda-section .content { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px; }
.revenda-section .section-header { text-align: left; align-items: flex-start; margin-bottom: 0 !important; max-width: 680px; }
.revenda-section .section-header h2 { max-width: 680px; }
.revenda-section .section-header p { max-width: 620px; }
.revenda-section .partner-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.btn-custom-partner { background: linear-gradient(135deg, var(--partner-accent) 0%, var(--partner-accent-dark) 100%) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.18) !important; box-shadow: 0 16px 36px rgba(45,82,146,.22) !important; }
.btn-custom-partner:hover { color: #fff !important; box-shadow: 0 24px 52px rgba(45,82,146,.28) !important; }
.btn-custom-outline-partner { background: #fff !important; color: var(--primary-dark) !important; border: 1px solid rgba(36,74,134,.18) !important; box-shadow: 0 14px 34px rgba(24,55,106,.08) !important; }
.partner-impact-card { position: relative; padding: 34px; border-radius: 30px; background: radial-gradient(circle at 100% 0%, rgba(57,181,252,.18), transparent 32%), linear-gradient(145deg, #17386D 0%, #102A56 100%); color: #fff; box-shadow: 0 30px 80px rgba(16,42,86,.26); border: 1px solid rgba(255,255,255,.13); }
.partner-impact-card h3 { color: #fff !important; margin-bottom: 16px; }
.partner-impact-card p { color: rgba(255,255,255,.78) !important; }
.partner-impact-card .number-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 28px; }
.partner-impact-card .number-box { padding: 18px 14px; border-radius: 20px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.14); }
.partner-impact-card .number-box strong { display: block; color: #fff; font-size: 1.55rem; line-height: 1.1; font-weight: 700; }
.partner-impact-card .number-box span { display: block; margin-top: 4px; color: rgba(255,255,255,.72); font-size: 13px; }
.partner-mini-list { display: grid; gap: 10px; margin-top: 24px; }
.partner-mini-list .mini-item { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.86); }
.partner-mini-list .mini-item i { color: #7CFFB2; font-size: 19px; }
.partner-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.partner-card { height: 100%; padding: 28px; border-radius: 24px; background: #fff; border: 1px solid var(--border-soft); box-shadow: var(--shadow-soft); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.partner-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); border-color: rgba(255,159,28,.35); }
.partner-card i { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; border-radius: 18px; margin-bottom: 18px; color: var(--primary); background: linear-gradient(180deg, #F3F8FF 0%, #E8F1FF 100%); font-size: 28px; }
.partner-card h3 { margin-bottom: 10px; }
.partner-card p { margin: 0; color: var(--text-soft); }
.partner-quote-section { background: linear-gradient(145deg, rgba(16,42,86,.96) 0%, rgba(23,56,109,.94) 100%), url('../img/bg-hero.jpg') center/cover no-repeat; color: #fff; }
.partner-quote-section h2, .partner-quote-section p { color: #fff !important; }
.partner-quote-section p { color: rgba(255,255,255,.78) !important; }
.partner-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; counter-reset: partnerstep; }
.partner-step { position: relative; min-height: 190px; padding: 28px 22px; border-radius: 24px; background: #fff; border: 1px solid var(--border-soft); box-shadow: var(--shadow-soft); }
.partner-step::before { counter-increment: partnerstep; content: counter(partnerstep); width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 999px; margin-bottom: 18px; color: #fff; font-weight: 700; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); }
.partner-final-cta { position: relative; overflow: hidden; background: radial-gradient(circle at 20% 0%, rgba(57,181,252,.14), transparent 34%), linear-gradient(145deg, #F8FBFF 0%, #FFFFFF 100%); }
.partner-final-box { padding: 46px; border-radius: 34px; text-align: center; background: #fff; border: 1px solid var(--border-soft); box-shadow: var(--shadow-card); }
.partner-final-box h2 { max-width: 850px; margin: 0 auto 16px; }
.partner-final-box p { max-width: 720px; margin: 0 auto 28px; }
.revenda-hero-section { position: relative; overflow: hidden; isolation: isolate; min-height: 720px; padding-top: 142px; padding-bottom: 86px; display: flex; align-items: center; color: #fff; background: radial-gradient(circle at 18% 20%, rgba(57,181,252,.20), transparent 26%), radial-gradient(circle at 78% 12%, rgba(57,181,252,.24), transparent 30%), linear-gradient(135deg, #0F274B 0%, #17386D 52%, #102A56 100%); }
.revenda-hero-section::after { content: ''; position: absolute; right: -180px; bottom: -190px; width: 560px; height: 560px; border-radius: 999px; background: rgba(255,255,255,.10); filter: blur(60px); z-index: -1; }
.revenda-hero-section .content { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px; }
.revenda-hero-section h1 { color: #fff !important; max-width: 760px; margin-bottom: 22px; }
.revenda-hero-section p { color: rgba(255,255,255,.80) !important; max-width: 640px; }
.revenda-hero-section .partner-badge { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.15); color: #fff; }
.revenda-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.revenda-visual-card { padding: 28px; border-radius: 32px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 32px 80px rgba(0,0,0,.22); backdrop-filter: blur(16px); }
.revenda-visual-card .screen-card { padding: 22px; border-radius: 24px; background: rgba(255,255,255,.96); color: var(--primary-dark); }
.revenda-visual-card .screen-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.revenda-visual-card .screen-pill { padding: 5px 10px; border-radius: 999px; background: rgba(24,182,90,.12); color: #108C43; font-size: 12px; font-weight: 700; }
.revenda-visual-card .fake-chart { height: 150px; display: flex; align-items: flex-end; gap: 10px; padding: 16px; border-radius: 18px; background: #F2F7FF; margin-bottom: 16px; }
.revenda-visual-card .fake-chart span { flex: 1; border-radius: 999px 999px 6px 6px; background: linear-gradient(180deg, #39B5FC 0%, #244A86 100%); }
.revenda-visual-card .fake-chart span:nth-child(1){height:42%;}.revenda-visual-card .fake-chart span:nth-child(2){height:64%;}.revenda-visual-card .fake-chart span:nth-child(3){height:50%;}.revenda-visual-card .fake-chart span:nth-child(4){height:82%;}.revenda-visual-card .fake-chart span:nth-child(5){height:72%;}.revenda-visual-card .fake-chart span:nth-child(6){height:94%;}
.revenda-visual-card .deal-list { display: grid; gap: 10px; }
.revenda-visual-card .deal-list div { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 16px; background: #F8FBFF; }
.revenda-visual-card .deal-list strong { color: var(--primary-dark); font-size: 14px; }
.revenda-visual-card .deal-list small { color: var(--text-soft); }
.revenda-faq .accordion-item { border-radius: 18px !important; overflow: hidden; margin-bottom: 14px; border: 1px solid var(--border-soft) !important; box-shadow: var(--shadow-soft); }
@media only screen and (max-width:1399px){ #main-header .endbuttons .cta-partner-button{ display:none !important; } }
@media only screen and (max-width:1199px){ .revenda-section .content,.revenda-hero-section .content{ grid-template-columns:1fr; text-align:center; } .revenda-section .section-header{ align-items:center; text-align:center; margin:0 auto !important; } .revenda-section .partner-actions,.revenda-hero-actions{ justify-content:center; } .partner-card-grid{ grid-template-columns:repeat(2,1fr); } .partner-steps{ grid-template-columns:repeat(2,1fr); } }
@media only screen and (max-width:767px){ .revenda-hero-section{ min-height:auto; padding-top:104px; padding-bottom:58px; } .partner-card-grid,.partner-steps,.partner-impact-card .number-row{ grid-template-columns:1fr; } .partner-impact-card,.partner-final-box,.revenda-visual-card{ padding:24px; border-radius:24px; } .revenda-section .partner-actions .btn-custom,.revenda-hero-actions .btn-custom,.partner-final-box .btn-custom{ width:100% !important; } }


/* ==========================================================
   CORREÇÕES FINAIS - REVENDAS SEM LARANJA + MENU COMPACTO
   ========================================================== */
:root {
    --partner-accent: #39B5FC;
    --partner-accent-dark: #244A86;
    --partner-accent-deep: #17386D;
}

#main-header .endbuttons {
    flex-shrink: 0;
    gap: 8px;
}

#main-header .endbuttons .cta-partner-button,
.btn-custom-partner {
    background: linear-gradient(135deg, var(--partner-accent) 0%, var(--partner-accent-dark) 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 36px rgba(45,82,146,.24) !important;
}

#main-header .endbuttons .cta-partner-button:hover,
.btn-custom-partner:hover {
    color: #FFFFFF !important;
    box-shadow: 0 22px 48px rgba(45,82,146,.30) !important;
}

.revenda-section {
    background:
        radial-gradient(circle at 10% 10%, rgba(57,181,252,.12), transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(34,168,67,.08), transparent 32%),
        linear-gradient(180deg, #FFFFFF 0%, #F6FAFF 100%) !important;
}

.partner-impact-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(57,181,252,.18), transparent 32%),
        linear-gradient(145deg, #17386D 0%, #102A56 100%) !important;
}

.partner-final-cta {
    background:
        radial-gradient(circle at 20% 0%, rgba(57,181,252,.14), transparent 34%),
        linear-gradient(145deg, #F8FBFF 0%, #FFFFFF 100%) !important;
}

.revenda-hero-section {
    background:
        radial-gradient(circle at 18% 20%, rgba(57,181,252,.20), transparent 26%),
        radial-gradient(circle at 78% 12%, rgba(34,168,67,.12), transparent 30%),
        linear-gradient(135deg, #0F274B 0%, #17386D 52%, #102A56 100%) !important;
}

@media only screen and (min-width: 1400px) {
    #main-header .content {
        gap: 14px !important;
    }

    #offcanvasNavbar.offcanvas {
        margin: 0 8px !important;
        min-width: 0 !important;
    }

    #offcanvasNavbar .offcanvas-body {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #offcanvasNavbar .navbar-nav {
        gap: 3px !important;
        min-width: 0 !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 13.8px !important;
        white-space: nowrap !important;
    }

    #main-header .endbuttons .cta-button {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 13px !important;
        font-size: 13.8px !important;
        white-space: nowrap !important;
    }

    #main-header .endbuttons .cta-button i {
        font-size: 16px !important;
    }
}

@media only screen and (min-width: 1400px) and (max-width: 1530px) {
    #offcanvasNavbar .offcanvas-body {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 13.2px !important;
    }

    #main-header .endbuttons .cta-button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13.2px !important;
    }
}

@media only screen and (max-width: 1399px) {
    #main-header .endbuttons .cta-partner-button {
        display: none !important;
    }
}

/* ==========================================================
   AJUSTES FINAIS - MENU ATIVO, EMISSÃO FISCAL DISCRETA
   E DEPOIMENTOS MAIS COMPACTOS
   ========================================================== */

/* Menu principal: destaque apenas para a seção exibida */
#main-header .navbar-nav .nav-link.active {
    background: rgba(255, 255, 255, .18) !important;
    color: #FFFFFF !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}

#main-header.compact .navbar-nav .nav-link.active {
    background: rgba(255, 255, 255, .16) !important;
}

@media only screen and (min-width: 1400px) {
    #offcanvasNavbar .navbar-nav .nav-link.active {
        background: rgba(45, 82, 146, .12) !important;
        color: var(--primary-dark) !important;
        box-shadow: none !important;
    }
}

@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.active {
        background: #EDF4FF !important;
        color: var(--primary-dark) !important;
        box-shadow: none !important;
    }
}

/* Seção de emissão fiscal mais discreta e compacta */
.fiscal-section {
    padding: 58px 0 !important;
    background:
        radial-gradient(circle at 8% 15%, rgba(57,181,252,.08), transparent 26%),
        linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%) !important;
}

.fiscal-section .section-header {
    margin-bottom: 28px !important;
    max-width: 760px !important;
}

.fiscal-section .section-header h2 {
    font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
}

.fiscal-section .section-header p {
    max-width: 700px !important;
    font-size: 15.8px !important;
    line-height: 1.65 !important;
}

.fiscal-section .list {
    gap: 16px !important;
    row-gap: 16px !important;
}

.fiscal-section .list .item {
    width: calc(25% - 12px) !important;
    min-height: 160px !important;
    padding: 20px !important;
    gap: 14px !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(16, 42, 86, .13) !important;
    border-bottom-width: 0 !important;
}

.fiscal-section .list .item i {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 22px !important;
    border-radius: 14px !important;
}

.fiscal-section .list .item .text {
    gap: 8px !important;
    margin-top: 0 !important;
}

.fiscal-section .list .item .text h3 {
    font-size: 1rem !important;
    font-weight: 540 !important;
}

.fiscal-section .list .item .text p {
    font-size: 14.3px !important;
    line-height: 1.55 !important;
}

.fiscal-section .endbutton {
    margin-top: 28px !important;
}

.fiscal-section .endbutton .btn-custom {
    min-height: 46px !important;
    padding: 11px 20px !important;
}

/* Depoimentos mais baixos e compactos */
.depositions-section .carousel-wrapper {
    max-width: 780px !important;
    padding-bottom: 14px !important;
    border-radius: 24px !important;
}

.depositions-section .item {
    padding: 22px !important;
    gap: 24px !important;
    align-items: center !important;
}

.depositions-section .item .texts-container {
    max-width: 330px !important;
    min-width: 330px !important;
    gap: 12px !important;
}

.depositions-section .item .texts-container .stars-rating i {
    font-size: 15px !important;
}

.depositions-section .item .texts-container .avatar {
    width: 68px !important;
    height: 68px !important;
}

.depositions-section .item .texts-container .personal {
    gap: 2px !important;
}

.depositions-section .item .texts-container .personal .name,
.depositions-section .item .texts-container .personal .name strong {
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.depositions-section .item .texts-container .personal .business {
    font-size: 13.5px !important;
}

.depositions-section .item .texts-container .deposition {
    padding: 15px 16px !important;
    border-radius: 16px !important;
}

.depositions-section .item .texts-container .deposition::before {
    font-size: 42px !important;
    top: -10px !important;
}

.depositions-section .item .texts-container .deposition p {
    font-size: 14.2px !important;
    line-height: 1.58 !important;
}

.depositions-section .item .print {
    max-width: 330px !important;
}

.depositions-section .item .print img {
    max-height: 300px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

@media only screen and (max-width: 1199px) {
    .fiscal-section .list .item {
        width: calc(50% - 8px) !important;
    }
}

@media only screen and (max-width: 767px) {
    .fiscal-section {
        padding: 48px 0 !important;
    }

    .fiscal-section .section-header {
        margin-bottom: 24px !important;
    }

    .fiscal-section .list .item {
        width: 100% !important;
        min-height: auto !important;
        padding: 20px !important;
    }

    .depositions-section .carousel-wrapper {
        max-width: 100% !important;
    }

    .depositions-section .item {
        padding: 20px !important;
        gap: 16px !important;
    }

    .depositions-section .item .texts-container {
        max-width: none !important;
        min-width: auto !important;
        width: 100% !important;
    }

    .depositions-section .item .print {
        max-width: 100% !important;
    }

    .depositions-section .item .print img {
        max-height: 240px !important;
    }
}


/* ==========================================================
   SEO/PERFORMANCE + ACABAMENTO FINAL
   Ajustes leves para velocidade percebida, mobile e conversão.
   ========================================================== */

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

.default-section,
.main-hero-section,
footer#contato {
    content-visibility: auto;
    contain-intrinsic-size: 800px;
}

.main-hero-section {
    content-visibility: visible;
}

img {
    max-width: 100%;
    height: auto;
}

#main-header .navbar-nav .nav-link.active,
#main-header .navbar-nav .nav-link[aria-current="true"] {
    background: rgba(255, 255, 255, .18) !important;
    color: #ffffff !important;
}

@media only screen and (min-width: 1400px) {
    #main-header .navbar-nav .nav-link.active,
    #main-header .navbar-nav .nav-link[aria-current="true"] {
        background: rgba(36, 74, 134, .12) !important;
        color: var(--primary-dark) !important;
    }
}

#contato a[href^="tel:"],
#contato a[href^="mailto:"],
#contato a[href^="https://wa.me"] {
    color: #fff !important;
    text-decoration: none !important;
}

#contato a[href^="tel:"]:hover,
#contato a[href^="mailto:"]:hover,
#contato a[href^="https://wa.me"]:hover {
    text-decoration: underline !important;
}

@media only screen and (max-width: 767px) {
    .main-hero-section .content {
        padding-top: 92px !important;
    }

    .main-hero-section .content .hero-fig img {
        max-width: 76% !important;
    }

    .default-section,
    .main-hero-section,
    footer#contato {
        contain-intrinsic-size: 650px;
    }

    .fiscal-section .list .item,
    .features-section .list .item,
    .benefits-section .list .item,
    .machines-section .list .item {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .js-scroll {
        opacity: 1 !important;
    }
}


/* ==========================================================
   INTEGRAÇÕES + CORREÇÕES FINAIS DE MENU/REVENDA
   ========================================================== */

/* Menu ativo somente no item atual */
#main-header .navbar-nav .nav-link {
    transition: background-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

#main-header .navbar-nav .nav-link:not(.active):not([aria-current="true"]):not([aria-current="page"]) {
    box-shadow: none !important;
}

/* Evita menu desktop cortado após adicionar Integrações */
@media only screen and (min-width: 1400px) {
    #main-header .content {
        gap: 10px !important;
    }

    #offcanvasNavbar .navbar-nav {
        gap: 2px !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 13px !important;
    }

    #main-header .endbuttons .cta-button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px !important;
    }
}

/* Seção de Integrações */
.integrations-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 12% 8%, rgba(57, 181, 252, .10), transparent 30%),
        radial-gradient(circle at 88% 0%, rgba(34, 168, 67, .08), transparent 28%),
        linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%) !important;
}

.integrations-section::before {
    content: '';
    position: absolute;
    right: -140px;
    top: 80px;
    width: 340px;
    height: 340px;
    border-radius: 999px;
    background: rgba(57, 181, 252, .10);
    filter: blur(70px);
    z-index: -1;
}

.integrations-section .section-header {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
}

.integrations-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.integration-card {
    position: relative;
    min-height: 305px;
    padding: 28px;
    border-radius: 26px;
    background: #FFFFFF;
    border: 1px solid var(--border-soft, #DDE8F7);
    box-shadow: var(--shadow-soft, 0 18px 45px rgba(24, 55, 106, .10));
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.integration-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(57,181,252,.08), transparent 42%);
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.integration-card:hover {
    transform: translateY(-7px);
    border-color: rgba(57, 181, 252, .34);
    box-shadow: var(--shadow-hover, 0 32px 70px rgba(24, 55, 106, .20));
}

.integration-card:hover::after {
    opacity: 1;
}

.integration-status {
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 11px;
    border-radius: 999px;
    background: rgba(34, 168, 67, .10);
    color: #188938;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.integration-logo {
    width: 100%;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0 24px;
    border-radius: 22px;
    background: linear-gradient(180deg, #F8FBFF 0%, #EEF5FF 100%);
    border: 1px solid rgba(221, 232, 247, .72);
}

.integration-logo img {
    max-width: 170px;
    max-height: 58px;
    object-fit: contain;
    display: block;
}

.integration-logo-fallback {
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 18px;
    color: var(--primary-dark, #17386D);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.03em;
    text-align: center;
}

.integration-text {
    position: relative;
    z-index: 2;
    text-align: center;
}

.integration-text h3 {
    margin-bottom: 8px !important;
    color: var(--primary-dark, #17386D) !important;
}

.integration-text strong {
    display: block;
    margin-bottom: 10px;
    color: var(--primary, #244A86);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.integration-text p {
    margin: 0;
    color: var(--text-soft, #6B7890);
    font-size: 15.5px !important;
    line-height: 1.68 !important;
}

.integration-cta {
    max-width: 760px;
    margin: 34px auto 0;
    padding: 24px;
    border-radius: 26px;
    text-align: center;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(221, 232, 247, .86);
    box-shadow: 0 18px 40px rgba(24, 55, 106, .08);
}

.integration-cta p {
    margin: 0 0 16px;
}

/* Página Revenda: centralizações e ajustes pedidos */
body:has(.revenda-hero-section) #main-header .endbuttons .btn-custom-white,
body:has(.revenda-hero-section) #main-header .endbuttons a[href*="auth/login"] {
    display: none !important;
}

.partner-card-grid .partner-card {
    text-align: center;
}

.partner-card-grid .partner-card i {
    margin-left: auto;
    margin-right: auto;
}

.revenda-highlight-box {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    align-items: center;
    gap: 34px;
    width: 100%;
}

.revenda-highlight-panel {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.revenda-highlight-panel .number,
.revenda-highlight-panel .label {
    display: block;
    text-align: center;
}

.partner-step {
    text-align: center;
}

.partner-step::before {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media only screen and (max-width: 1199px) {
    .integrations-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .revenda-highlight-box {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

@media only screen and (max-width: 767px) {
    .integrations-grid {
        grid-template-columns: 1fr;
    }

    .integration-card {
        min-height: auto;
        padding: 24px 22px;
        border-radius: 22px;
    }

    .integration-logo {
        height: 82px;
        margin-top: 18px;
        margin-bottom: 18px;
    }

    .integration-logo img {
        max-width: 145px;
        max-height: 48px;
    }

    .integration-cta {
        margin-top: 24px;
        padding: 22px 18px;
        border-radius: 22px;
    }

    .integration-cta .btn-custom {
        width: 100% !important;
    }
}


/* ==========================================================
   CORREÇÃO DEFINITIVA - MENU ATIVO VISÍVEL
   Deixa claramente selecionada a seção exibida no momento.
   ========================================================== */

#main-header .navbar-nav .nav-link.active,
#main-header .navbar-nav .nav-link[aria-current="true"],
#main-header .navbar-nav .nav-link[aria-current="page"] {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(36, 74, 134, .22) !important;
}

#main-header .navbar-nav .nav-link.active .text,
#main-header .navbar-nav .nav-link[aria-current="true"] .text,
#main-header .navbar-nav .nav-link[aria-current="page"] .text {
    color: #FFFFFF !important;
}

@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.active,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"],
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="page"] {
        background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%) !important;
        color: #FFFFFF !important;
    }
}

/* ==========================================================
   AJUSTE FINAL - COR DO MENU ATIVO
   Deixa a seção ativa azul, igual ao botão Início.
   ========================================================== */

@media only screen and (min-width: 1400px) {
    #main-header .navbar-nav .nav-link.active,
    #main-header .navbar-nav .nav-link[aria-current="true"] {
        background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 24px rgba(45, 82, 146, .22) !important;
        text-decoration: none !important;
    }

    #main-header .navbar-nav .nav-link.active .text,
    #main-header .navbar-nav .nav-link[aria-current="true"] .text {
        color: #FFFFFF !important;
    }

    #main-header .navbar-nav .nav-link.active::after,
    #main-header .navbar-nav .nav-link[aria-current="true"]::after {
        display: none !important;
    }
}

/* Mobile/offcanvas */
@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.active,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] {
        background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(45, 82, 146, .18) !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link.active .text,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] .text {
        color: #FFFFFF !important;
    }
}

/* ==========================================================
   CORREÇÃO DEFINITIVA - MENU ATIVO AZUL
   Corrige item ativo ficando branco/apagado.
   Cole no FINAL do main.css.
   ========================================================== */

/* Remove qualquer efeito antigo que deixe o ativo claro/branco */
#main-header .navbar-nav .nav-link.active,
#main-header .navbar-nav .nav-link[aria-current="true"],
#main-header .navbar-nav .nav-link.active:hover,
#main-header .navbar-nav .nav-link[aria-current="true"]:hover {
    background: #2D5292 !important;
    background-color: #2D5292 !important;
    background-image: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;

    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(45, 82, 146, .26) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

/* Garante que o texto interno também fique branco */
#main-header .navbar-nav .nav-link.active .text,
#main-header .navbar-nav .nav-link[aria-current="true"] .text,
#main-header .navbar-nav .nav-link.active:hover .text,
#main-header .navbar-nav .nav-link[aria-current="true"]:hover .text {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

/* Garante formato de botão no desktop */
@media only screen and (min-width: 1400px) {
    #main-header .navbar-nav .nav-link {
        border-radius: 999px !important;
        transition: background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
    }

    #main-header .navbar-nav .nav-link.active,
    #main-header .navbar-nav .nav-link[aria-current="true"] {
        min-height: 40px !important;
        padding: 0 16px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Corrige pseudo-elementos que possam interferir no fundo */
#main-header .navbar-nav .nav-link.active::before,
#main-header .navbar-nav .nav-link.active::after,
#main-header .navbar-nav .nav-link[aria-current="true"]::before,
#main-header .navbar-nav .nav-link[aria-current="true"]::after {
    display: none !important;
    content: none !important;
}

/* Mobile/offcanvas também azul */
@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.active,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] {
        background: #2D5292 !important;
        background-color: #2D5292 !important;
        background-image: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(45, 82, 146, .20) !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link.active .text,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] .text {
        color: #FFFFFF !important;
    }
}

/* ==========================================================
   MENU ATIVO DEFINITIVO - CLASSE EXCLUSIVA menu-current
   Corrige item ativo só ficando azul no hover.
   ========================================================== */

#main-header .navbar-nav .nav-link.menu-current,
#main-header .navbar-nav .nav-link.menu-current:visited,
#main-header .navbar-nav .nav-link.menu-current:focus,
#main-header .navbar-nav .nav-link.menu-current:hover,
#main-header .navbar-nav .nav-link[aria-current="true"],
#main-header .navbar-nav .nav-link[aria-current="true"]:visited,
#main-header .navbar-nav .nav-link[aria-current="true"]:focus,
#main-header .navbar-nav .nav-link[aria-current="true"]:hover {
    background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
    background-color: #2D5292 !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: 0 12px 26px rgba(45, 82, 146, .28) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

#main-header .navbar-nav .nav-link.menu-current .text,
#main-header .navbar-nav .nav-link[aria-current="true"] .text {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

#main-header .navbar-nav .nav-link.menu-current::before,
#main-header .navbar-nav .nav-link.menu-current::after,
#main-header .navbar-nav .nav-link[aria-current="true"]::before,
#main-header .navbar-nav .nav-link[aria-current="true"]::after {
    display: none !important;
    content: none !important;
}

@media only screen and (min-width: 1400px) {
    #main-header .navbar-nav .nav-link.menu-current,
    #main-header .navbar-nav .nav-link[aria-current="true"] {
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.menu-current,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] {
        background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
        background-color: #2D5292 !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(45, 82, 146, .22) !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link.menu-current .text,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] .text {
        color: #FFFFFF !important;
    }
}

/* ==========================================================
   MENU ATIVO DEFINITIVO - CLASSE EXCLUSIVA menu-current
   Corrige item ativo só ficando azul no hover.
   ========================================================== */

#main-header .navbar-nav .nav-link.menu-current,
#main-header .navbar-nav .nav-link.menu-current:visited,
#main-header .navbar-nav .nav-link.menu-current:focus,
#main-header .navbar-nav .nav-link.menu-current:hover,
#main-header .navbar-nav .nav-link[aria-current="true"],
#main-header .navbar-nav .nav-link[aria-current="true"]:visited,
#main-header .navbar-nav .nav-link[aria-current="true"]:focus,
#main-header .navbar-nav .nav-link[aria-current="true"]:hover {
    background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
    background-color: #2D5292 !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: 0 12px 26px rgba(45, 82, 146, .28) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}

#main-header .navbar-nav .nav-link.menu-current .text,
#main-header .navbar-nav .nav-link[aria-current="true"] .text {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

#main-header .navbar-nav .nav-link.menu-current::before,
#main-header .navbar-nav .nav-link.menu-current::after,
#main-header .navbar-nav .nav-link[aria-current="true"]::before,
#main-header .navbar-nav .nav-link[aria-current="true"]::after {
    display: none !important;
    content: none !important;
}

@media only screen and (min-width: 1400px) {
    #main-header .navbar-nav .nav-link.menu-current,
    #main-header .navbar-nav .nav-link[aria-current="true"] {
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media only screen and (max-width: 1399px) {
    #offcanvasNavbar .navbar-nav .nav-link.menu-current,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] {
        background: linear-gradient(135deg, #2D5292 0%, #39B5FC 100%) !important;
        background-color: #2D5292 !important;
        color: #FFFFFF !important;
        box-shadow: 0 10px 22px rgba(45, 82, 146, .22) !important;
        text-decoration: none !important;
    }

    #offcanvasNavbar .navbar-nav .nav-link.menu-current .text,
    #offcanvasNavbar .navbar-nav .nav-link[aria-current="true"] .text {
        color: #FFFFFF !important;
    }
}
