/* =========================================================
   MKODE • THEME green and ggray — FULL STYLESHEET
   Bootstrap overrides
   ========================================================= */
   :root {
    /* ==================== Paleta de cores ==================== */
    --primary: #4CAF50; /* Verde principal */
    --primary-hover: #2E7D32;
    --primary-dark: #388E3C;
    --light: #f5fffb;
    --dark: #101212;

    /* Complementos de cor */
    --primary-rgb: 76, 175, 80;
    --secondary: #8BC34A;
    --secondary-rgb: 139, 195, 74;
    --white: #ffffff;
    --white-rgb: 255, 255, 255;

    /* Cinzas utilitários */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #dddddd;
    --gray-400: #94a3b8;
    --gray-500: #64748b;

    /* Cor de fundo escura suavizada (para substituir bg-dark do Bootstrap) */
    --bs-dark: #2B2D2F;
    --bs-dark-rgb: 43, 45, 47;
    --footer-bg: var(--bs-dark);
    --footer-bg-rgb: var(--bs-dark-rgb);

    /* Bordas, overlays e sombras */
    --border-soft: rgba(0, 0, 0, 0.1);
    --overlay-hero: rgba(9, 30, 62, 0.7);
    --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 12px 30px rgba(0, 0, 0, 0.18);
    --shadow-xl: 0 12px 50px rgba(0, 0, 0, 0.45);

    /* Espaçamentos */
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 2.5rem;
    --space-8: 3rem;

    /* Raio de borda e transições */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 24px;
    --t-fast: 0.2s ease;
    --t-med: 0.5s ease;
    --t-snap: 0.08s ease;

    /* Hero dinamics */
    --hero-extra: 15svh;
    --header-h: 0px;

    --modal-header-start: rgba(var(--primary-rgb), 1);
    --modal-header-end: rgba(var(--primary-rgb), .7);
}

/* ==================== Overrides para header/footer ==================== */

/* Substitui o bg-dark por cinza mais suave */
.topbar.bg-dark,
.container-fluid.bg-dark.text-light {
    background-color: rgba(var(--bs-dark-rgb), 1) !important;
}

/* Links e textos claros */
.topbar .btn-outline-light,
.topbar .text-light,
.container-fluid.bg-dark.text-light a {
    color: #fff;
}
.container-fluid.bg-dark.text-light a:hover {
    color: var(--primary);
}

/* Faixa final do rodapé com degradê verde → cinza */
.container-fluid.text-white[style*="#061429"] {
    background: linear-gradient(90deg, var(--primary) 0%, rgba(var(--bs-dark-rgb), 1) 100%) !important;
}
.container-fluid.text-white[style*="#061429"] small {
    color: #fff;
}

/* ==================== Botões ==================== */
.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
}

/* ==================== Ícones no topo e rodapé ==================== */
.btn-outline-light {
    color: #fff;
    border-color: #fff;
}
.btn-outline-light:hover {
    color: var(--primary);
    border-color: var(--primary);
}

/* ==================== Ajustes da modal ==================== */
.modal-header {
    background-color: var(--primary);
    color: #fff;
}
.modal-header .btn-close {
    filter: brightness(0) invert(1);
}

}


/* =========================================================
   Fonts
   ========================================================= */
@font-face {
    font-family: "Franklin Gothic";
    src: url("../fonts/franklin-gothic/FranklinGothic.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Franklin Gothic";
    src: url("../fonts/franklin-gothic/FranklinGothicITALIC.ttf")
        format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Exo 2";
    src: url("../fonts/exo_2/Exo2-Regular.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Exo 2";
    src: url("../fonts/exo_2/Exo2-SemiBold.otf") format("opentype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Exo 2";
    src: url("../fonts/exo_2/Exo2-Bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Exo 2";
    src: url("../fonts/exo_2/Exo2-Italic.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* =========================================================
   Base
   ========================================================= */
html,
body {
    color: ffffff;
    background: 000000;
}
body {
    font-family: "Franklin Gothic", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Exo 2", sans-serif;
    color: var(--dark);
}

h1,
h2,
.fw-bold {
    font-weight: 800 !important;
}
h3,
h4,
.fw-semi-bold {
    font-weight: 700 !important;
}
h5,
h6,
.fw-medium {
    font-weight: 600 !important;
}

p {
    text-align: justify;
    text-indent: 2em;
}

/*** Animations base ***/
@-webkit-keyframes sk-rotateplane {
    0% {
        -webkit-transform: perspective(120px);
    }
    50% {
        -webkit-transform: perspective(120px) rotateY(180deg);
    }
    100% {
        -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg);
    }
}
@keyframes sk-rotateplane {
    0% {
        transform: perspective(120px) rotateX(0) rotateY(0);
    }
    50% {
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0);
    }
    100% {
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    }
}

/*** Spinner ***/
.spinner {
    width: 40px;
    height: 40px;
    background: var(--primary);
    margin: 100px auto;
    animation: sk-rotateplane 1.2s infinite ease-in-out;
}

/* =========================================================
   Buttons
   ========================================================= */
.btn {
    font-family: "Nunito", sans-serif;
    font-weight: 600;
    transition: var(--t-med);
}
.btn-primary,
.btn-secondary {
    color: var(--white);
    box-shadow: inset 0 0 0 50px transparent;
}
.btn-primary {
    background: linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    ) !important;
    border: none !important;
}
.btn-primary:hover {
    background: var(--primary-hover) !important;
    box-shadow: inset 0 0 0 0 var(--primary);
}
.btn-secondary {
    background: linear-gradient(
        135deg,
        var(--secondary),
        var(--secondary-dark)
    ) !important;
    border: none !important;
}
.btn-secondary:hover {
    background: var(--secondary-dark) !important;
    box-shadow: inset 0 0 0 0 var(--secondary);
}

.btn-square {
    width: 36px;
    height: 36px;
}
.btn-sm-square {
    width: 30px;
    height: 30px;
}
.btn-lg-square {
    width: 48px;
    height: 48px;
}
.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

/* =========================================================
   Navbar
   ========================================================= */
.navbar-dark .navbar-nav .nav-link {
    font-family: "Nunito", sans-serif;
    position: relative;
    margin-left: 25px;
    padding: 35px 0;
    color: var(--white);
    font-size: 18px;
    font-weight: 600;
    outline: none;
    transition: var(--t-med);
}
.sticky-top.navbar-dark .navbar-nav .nav-link {
    padding: 20px 0;
    color: var(--dark);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: var(--primary-hover);
}

.navbar-dark .navbar-brand h1 {
    color: var(--white);
}
.navbar-dark .navbar-toggler {
    color: var(--primary) !important;
    border-color: var(--primary) !important;
}

@media (max-width: 991.98px) {
    .sticky-top.navbar-dark {
        position: relative;
        background: var(--white);
    }
    .navbar-dark .navbar-nav .nav-link,
    .navbar-dark .navbar-nav .nav-link.show,
    .sticky-top.navbar-dark .navbar-nav .nav-link {
        padding: 10px 0;
        color: var(--dark);
    }
    .navbar-dark .navbar-brand h1 {
        color: var(--primary);
    }
}
@media (min-width: 992px) {
    .navbar-dark {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        border-bottom: 1px solid rgba(var(--white-rgb), 0.1);
        z-index: 999;
    }
    .sticky-top.navbar-dark {
        position: fixed;
        background: var(--white);
    }
    .navbar-dark .navbar-nav .nav-link::before {
        position: absolute;
        content: "";
        width: 0;
        height: 2px;
        bottom: -1px;
        left: 50%;
        background: var(--primary);
        transition: var(--t-med);
    }
    .navbar-dark .navbar-nav .nav-link:hover::before,
    .navbar-dark .navbar-nav .nav-link.active::before {
        width: 100%;
        left: 0;
        background: var(--primary-hover);
    }
    .navbar-dark .navbar-nav .nav-link.nav-contact::before {
        display: none;
    }
    .sticky-top.navbar-dark .navbar-brand h1 {
        color: var(--primary);
    }
}

/* Tamanho fluido da logo, sem distorcer */
.navbar-brand-img{
  height: clamp(28px, 5vw, 44px);
  width: auto;
  display: block;
  object-fit: contain;
}

/* Texto da marca com tamanho fluido e alinhado à altura da logo */
.brand-text{
  font-weight: 700;
  font-size: clamp(1.125rem, 2.5vw, 1.5rem); /* 18px–24px */
  line-height: 1;
}

/* opcional: esconder o texto da marca em telas muito pequenas */
@media (max-width: 360px){
  .brand-text{ display: none; }
}

/* =========================================================
   Carousel / Hero
   ========================================================= */
.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--overlay-hero);
    z-index: 1;
}
@media (max-width: 576px) {
    .carousel-caption h5 {
        font-size: 14px;
        font-weight: 500 !important;
    }
    .carousel-caption h1 {
        font-size: 30px;
        font-weight: 600 !important;
    }
}
.carousel-control-prev,
.carousel-control-next {
    width: 10%;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}

#header-carousel .carousel-item img {
    width: 100%;
    object-fit: cover;
}
#header-carousel,
#header-carousel .carousel-inner,
#header-carousel .carousel-item {
    height: calc(100svh + var(--hero-extra) - var(--header-h)) !important;
}
#header-carousel .carousel-item {
    position: relative;
    overflow: hidden;
}
#header-carousel .carousel-item > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
#header-carousel .carousel-caption {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--space-4);
    z-index: 3;
}
#header-carousel .carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--white-rgb), 0);
    z-index: 2;
}
#header-carousel .carousel-caption > * {
    z-index: 3;
}

/* =========================================================
   Section Title
   ========================================================= */
.section-title::before {
    position: absolute;
    content: "";
    width: 150px;
    height: 5px;
    left: 0;
    bottom: 0;
    background: var(--primary);
    border-radius: 2px;
}
.section-title.text-center::before {
    left: 50%;
    margin-left: -75px;
}
.section-title.section-title-sm::before {
    width: 90px;
    height: 3px;
}

.section-title::after {
    position: absolute;
    content: "";
    width: 6px;
    height: 5px;
    bottom: 0;
    background: var(--white);
    -webkit-animation: section-title-run 5s infinite linear;
    animation: section-title-run 5s infinite linear;
}
.section-title.section-title-sm::after {
    width: 4px;
    height: 3px;
}
.section-title.text-center::after {
    -webkit-animation: section-title-run-center 5s infinite linear;
    animation: section-title-run-center 5s infinite linear;
}
.section-title.section-title-sm::after {
    -webkit-animation: section-title-run-sm 5s infinite linear;
    animation: section-title-run-sm 5s infinite linear;
}

@-webkit-keyframes section-title-run {
    0% {
        left: 0;
    }
    50% {
        left: 145px;
    }
    100% {
        left: 0;
    }
}
@-webkit-keyframes section-title-run-center {
    0% {
        left: 50%;
        margin-left: -75px;
    }
    50% {
        left: 50%;
        margin-left: 45px;
    }
    100% {
        left: 50%;
        margin-left: -75px;
    }
}
@-webkit-keyframes section-title-run-sm {
    0% {
        left: 0;
    }
    50% {
        left: 85px;
    }
    100% {
        left: 0;
    }
}

/* =========================================================
   Services
   ========================================================= */
.service-item {
    position: relative;
    height: 300px;
    padding: var(--space-6) var(--space-4);
    transition: var(--t-fast);
}
.service-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.service-item .service-icon {
    margin-bottom: var(--space-4);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: var(--white);
    border-radius: 2px;
    transform: rotate(-45deg);
}
.service-item .service-icon i {
    transform: rotate(45deg);
}
.service-item a.btn {
    position: absolute;
    width: 60px;
    bottom: -48px;
    left: 50%;
    margin-left: -30px;
    opacity: 0;
}
.service-item:hover a.btn {
    bottom: -24px;
    opacity: 1;
}

/* =========================================================
   Testimonials
   ========================================================= */
.testimonial-carousel .owl-dots {
    margin-top: var(--space-3);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: var(--gray-300);
    border-radius: 2px;
    transition: var(--t-med);
}
.testimonial-carousel .owl-dot.active {
    width: 30px;
    background: var(--primary);
}
.testimonial-carousel .owl-item.center {
    position: relative;
    z-index: 1;
}
.testimonial-carousel .owl-item .testimonial-item {
    transition: var(--t-med);
}
.testimonial-carousel .owl-item.center .testimonial-item {
    background: var(--white) !important;
    box-shadow: 0 0 30px var(--gray-300);
}

/* =========================================================
   Team / Blog thumbs
   ========================================================= */
.team-item {
    transition: var(--t-med);
}
.team-social {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--t-med);
}
.team-social a.btn {
    position: relative;
    margin: 0 3px;
    margin-top: 100px;
    opacity: 0;
}
.team-item:hover {
    box-shadow: 0 0 30px var(--gray-300);
}
.team-item:hover .team-social {
    background: var(--overlay-hero);
}
.team-item:hover .team-social a.btn:first-child {
    opacity: 1;
    margin-top: 0;
    transition: 0.3s 0s;
}
.team-item:hover .team-social a.btn:nth-child(2) {
    opacity: 1;
    margin-top: 0;
    transition: 0.3s 0.05s;
}
.team-item:hover .team-social a.btn:nth-child(3) {
    opacity: 1;
    margin-top: 0;
    transition: 0.3s 0.1s;
}
.team-item:hover .team-social a.btn:nth-child(4) {
    opacity: 1;
    margin-top: 0;
    transition: 0.3s 0.15s;
}
.team-item .team-img img,
.blog-item .blog-img img {
    transition: var(--t-med);
}
.team-item:hover .team-img img,
.blog-item:hover .blog-img img {
    transform: scale(1.15);
}

.blog-card-thumb {
    height: 260px;
    overflow: hidden;
}
.blog-card-thumb > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.blog-detail-img {
    width:100px;
    height:100px;
    min-width: 100px;
    min-height: 100px;
    object-fit:cover;
}
.blog-square-img {
    object-fit:cover; 
    object-position:center; 
    display:block;
}

.thumb-72{
    display:inline-block;
    width:72px;           /* tamanho fixo */
    height:72px;          /* quadrado     */
    border-radius:8px;    /* cantos suaves */
    overflow:hidden;
    background:#f8f9fa;
    vertical-align:middle;
  }
  .thumb-72 img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;     /* preenche cortando sem distorcer */
  }
  .thumb-empty{
    color:#adb5bd;
    font-size:12px;
    line-height:72px;
    text-align:center;
  }
  .trix-box {
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    padding: 0.5rem;
}
/* =========================================================
   Back to top / Misc
   ========================================================= */
@media (min-width: 991.98px) {
    .facts {
        position: relative;
        margin-top: -75px;
        z-index: 1;
    }
}
.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}
.bg-header {
    background:
        linear-gradient(var(--overlay-hero), var(--overlay-hero)),
        url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}
.link-animated a {
    transition: var(--t-med);
}
.link-animated a:hover {
    padding-left: 10px;
}

/* =========================================================
   Modal (contato/orçamento)
   ========================================================= */
.modal-backdrop.show {
    opacity: 0.55;
    backdrop-filter: blur(3px);
}

.mkode-modal {
    border: 1px solid var(--border-soft);
    background: rgba(250, 249, 255, 0.92); /* var(--light) com alfa */
    color: var(--dark);
    backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
}

/* Header da modal: degradê roxo suave */
.mkode-modal__header {
    background: linear-gradient(
        180deg,
        var(--modal-header-start) 0%,
        var(--modal-header-end) 100%
    );
    color: var(--dark);
    border: none;
    border-bottom: 1px solid rgba(var(--primary-rgb), 0.22);
}
.mkode-modal__header .modal-title,
.mkode-modal__header .mkode-badge,
.mkode-modal__header .mkode-subtitle {
    color: var(--primary-hover);
}
.mkode-modal__header .btn-close {
    filter: invert(1) grayscale(100%);
}

/* Badge/subtitle */
.mkode-badge {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1;
    color: var(--light);
    background: rgba(var(--white-rgb), 0.18);
    border: 1px solid rgba(var(--white-rgb), 0.25);
    padding: 0.35rem 0.5rem;
    border-radius: 999px;
}
.mkode-subtitle {
    margin: 0.25rem 0 0;
    color: var(--light);
    opacity: 0.95;
    font-size: 0.9rem;
}

/* Inputs com ícone à esquerda */
.mkode-input {
    position: relative;
}
.mkode-input .mkode-icon {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--primary);
}
.mkode-input .form-control,
.mkode-input textarea.form-control {
    padding-left: 40px;
}
.mkode-input label {
    padding-left: 40px;
    color: var(--dark);
}

.mkode-input .form-control,
.mkode-input textarea.form-control {
    background: rgba(var(--white-rgb), 0.25);
    border: 1px solid var(--border-soft);
    color: var(--dark);
    border-radius: 14px;
}
.mkode-input .form-control::placeholder {
    color: var(--gray-400);
    opacity: 0.7;
}
.mkode-input .form-control:focus {
    border-color: var(--secondary);
    box-shadow: 0 0 0 0.25rem rgba(var(--secondary-rgb), 0.25);
    background: rgba(var(--white-rgb), 0.3);
}
.form-text {
    color: var(--dark);
    opacity: 0.7;
}

/* Botão primário da modal */
.mkode-btn {
    height: 48px;
    font-weight: 600;
    border-radius: var(--radius-md);
    color: var(--white);
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    border: none;
    transition:
        transform var(--t-snap),
        box-shadow var(--t-fast);
}
.mkode-btn:hover {
    transform: translateY(-1px);
    background: var(--primary-hover);
    box-shadow: 0 8px 24px rgba(var(--primary-rgb), 0.35);
}

/* spinner ao enviar */
.mkode-btn.loading {
    position: relative;
    color: transparent !important;
}
.mkode-btn.loading::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 3px solid rgba(var(--white-rgb), 0.4);
    border-top-color: var(--white);
    animation: mkspin 0.8s linear infinite;
}
@keyframes mkspin {
    to {
        transform: rotate(360deg);
    }
}

/* Validação / erro */
.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: var(--error);
}
.was-validated .form-control:invalid:focus {
    box-shadow: 0 0 0 0.25rem rgba(var(--error-rgb), 0.25);
}

/* =========================================================
   Bootstrap – Color Overrides (texto, fundos, componentes)
   ========================================================= */

/* Text & Background helpers */
.text-primary {
    color: var(--primary) !important;
}
.text-secondary {
    color: var(--secondary) !important;
}
.text-success {
    color: var(--success) !important;
}
.text-warning {
    color: var(--warning) !important;
}
.text-danger {
    color: var(--error) !important;
}
.bg-primary {
    background-color: var(--primary) !important;
    color: var(--white) !important;
}
.bg-secondary {
    background-color: var(--secondary) !important;
    color: var(--dark) !important;
}
.bg-light {
    background-color: var(--light) !important;
}
.bg-dark {
    background-color: var(--dark) !important;
    color: var(--white) !important;
}

/* Links */
a,
.link-primary {
    color: var(--primary);
    text-decoration: none;
}
a:hover,
.link-primary:hover {
    color: var(--primary-hover);
    text-decoration: none;
}

/* Alerts */
.alert-primary {
    background-color: rgba(var(--primary-rgb), 0.12);
    border-color: rgba(var(--primary-rgb), 0.25);
    color: var(--primary-hover);
    text-decoration: none;
}
.alert-secondary {
    background-color: rgba(var(--secondary-rgb), 0.15);
    border-color: rgba(var(--secondary-rgb), 0.3);
    color: var(--dark);
    text-decoration: none;
}

/* Badges */
.badge.bg-primary {
    background: linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    ) !important;
}
.badge.bg-secondary {
    background: linear-gradient(
        135deg,
        var(--secondary),
        var(--secondary-dark)
    ) !important;
    color: var(--dark);
}
/* footer */

/* Forms */
.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--primary-rgb), 0.25);
}
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--primary-rgb), 0.25);
}
.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* Pagination */
.page-link {
    color: var(--primary);
}
.page-link:hover {
    color: var(--primary-hover);
}
.page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

/* Progress */
.progress-bar {
    background-color: var(--primary);
}

/* Nav pills */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--primary);
}

/* Dropdown */
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--primary);
    color: var(--white);
}

/* List group */
.list-group-item.active {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* Tables */
.table-primary {
    --bs-table-bg: rgba(var(--primary-rgb), 0.08);
    --bs-table-striped-bg: rgba(var(--primary-rgb), 0.12);
    --bs-table-hover-bg: rgba(var(--primary-rgb), 0.16);
    color: var(--dark);
}

/* Toasts */
.toast-header {
    background: rgba(var(--primary-rgb), 0.08);
    color: var(--dark);
}

/* Tooltips / Popovers */
.tooltip-inner {
    background: var(--primary-hover);
}
.bs-tooltip-auto .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
    border-top-color: var(--primary-hover);
    border-bottom-color: var(--primary-hover);
}
.popover-header {
    background: rgba(var(--primary-rgb), 0.08);
}
.popover {
    border-color: rgba(var(--primary-rgb), 0.25);
}

/* Code blocks (se usar) */
code,
pre code {
    color: var(--primary-hover);
}

/* Escondido por padrão */
.cookie-banner {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  padding: 14px 16px;
  background: #111;
  color: #fff;
  z-index: 9999;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: 0 -4px 14px rgba(0,0,0,.3);
  font-size: 14px;
}

/* Mostra apenas quando o JS adicionar esta classe */
.cookie-banner.is-visible {
  display: flex;
}

.cookie-banner a { color: #6eb6ff; text-decoration: underline; }
.cookie-btn {
  background: #3a8dff; color: #fff; border: 0;
  padding: 8px 14px; border-radius: 6px; cursor: pointer;
}
.cookie-btn:focus { outline: 2px solid #fff; outline-offset: 2px; }
.cookie-text { margin: 0; }

input[name="contact_form[hp]"] { display:none !important; }

/* ========== MKode – Toast de sucesso da modal ========== */
.mkode-toast {
    /* removi position, right, bottom */
    min-width: 650px;
    background: var(--primary);
    color: var(--white);
    border: 0;
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius-md);
    font-size: 24pt;
  }
  
  .toast-container {
    position: fixed; /* garante que o container fica fixo */
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1080; /* fica acima do resto */
  }
  
  .mkode-toast .btn-close {
    filter: brightness(0) invert(1);
  }

/* ========== Honeypots (esconder) ========== */
input[name="contact_form[hp]"],
input[name="website"] {
  display: none !important;
}
.table img { border-radius: 6px; }
