/* =========================
   ROOT VARIABLES
========================= */
:root {
    --default-font: "Changa", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --font-header-color: #2E2E2E;
    --green-color: #10513D;
    --yellow-color: #FDC20C;
    --grey-color: #565656;
    --grey-color-medium: #D9D9D9;
    --grey-color-light: #E6E6E6;
    --white-color: #ffffff;
    --black-color: #000;
    --text-color-size: #585858;

    /* Cores adicionais do projeto */
    --text-color: #585858;
    --muted-color: #777777;
    --border-color: #e5e5e5;

    /* Sombras personalizadas */
    --shadow-custom-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --shadow-custom-md: 0 5px 20px rgba(0, 0, 0, 0.08);
    --shadow-custom-lg: 0 10px 35px rgba(0, 0, 0, 0.12);

    scroll-behavior: smooth;
}


/* =========================
   RESET / BASE
========================= */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--default-font);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--text-color);
    background-color: #f9f9f9;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h4 {
    padding: 0 !important;
}


/* =========================
   FONT CONFIG
========================= */
.font-changa {
    font-family: "Changa", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.font-header {
    color: var(--font-header-color);
}


/* =========================
   FONT SIZES
   8px → 70px
========================= */

.font-8  { font-size: 0.5rem; }
.font-9  { font-size: 0.5625rem; }
.font-10 { font-size: 0.625rem; }
.font-11 { font-size: 0.6875rem; }
.font-12 { font-size: 0.75rem; }
.font-13 { font-size: 0.8125rem; }
.font-14 { font-size: 0.875rem; }
.font-15 { font-size: 0.9375rem; }
.font-16 { font-size: 1rem; }
.font-17 { font-size: 1.0625rem; }
.font-18 { font-size: 1.125rem; }
.font-19 { font-size: 1.1875rem; }
.font-20 { font-size: 1.25rem; }
.font-21 { font-size: 1.3125rem; }
.font-22 { font-size: 1.375rem; }
.font-23 { font-size: 1.4375rem; }
.font-24 { font-size: 1.5rem; }
.font-25 { font-size: 1.5625rem; }
.font-26 { font-size: 1.625rem; }
.font-27 { font-size: 1.6875rem; }
.font-28 { font-size: 1.75rem; }
.font-29 { font-size: 1.8125rem; }
.font-30 { font-size: 1.875rem; }
.font-31 { font-size: 1.9375rem; }
.font-32 { font-size: 2rem; }
.font-33 { font-size: 2.0625rem; }
.font-34 { font-size: 2.125rem; }
.font-35 { font-size: 2.1875rem; }
.font-36 { font-size: 2.25rem; }
.font-37 { font-size: 2.3125rem; }
.font-38 { font-size: 2.375rem; }
.font-39 { font-size: 2.4375rem; }
.font-40 {font-size: 2.5rem;line-height: 1.2;}
.font-41 { font-size: 2.5625rem; }
.font-42 { font-size: 2.625rem; }
.font-43 { font-size: 2.6875rem; }
.font-44 { font-size: 2.75rem; }
.font-45 { font-size: 2.8125rem; }
.font-46 { font-size: 2.875rem; }
.font-47 { font-size: 2.9375rem; }
.font-48 { font-size: 3rem; }
.font-49 { font-size: 3.0625rem; }
.font-50 { font-size: 3.125rem; }
.font-51 { font-size: 3.1875rem; }
.font-52 { font-size: 3.25rem; }
.font-53 { font-size: 3.3125rem; }
.font-54 { font-size: 3.375rem; }
.font-55 { font-size: 3.4375rem; }
.font-56 { font-size: 3.5rem; }
.font-57 { font-size: 3.5625rem; }
.font-58 { font-size: 3.625rem; }
.font-59 { font-size: 3.6875rem; }
.font-60 { font-size: 3.75rem; }
.font-61 { font-size: 3.8125rem; }
.font-62 { font-size: 3.875rem; }
.font-63 { font-size: 3.9375rem; }
.font-64 { font-size: 4rem; }
.font-65 { font-size: 4.0625rem; }
.font-66 { font-size: 4.125rem; }
.font-67 { font-size: 4.1875rem; }
.font-68 { font-size: 4.25rem; }
.font-69 { font-size: 4.3125rem; }
.font-70 { font-size: 4.375rem; }


/* =========================
   FONT WEIGHTS
========================= */

.font-light {
    font-weight: 300;
}

.font-regular {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}


/* =========================
   PROJECT TEXT COLORS
========================= */

.text-header {
    color: var(--font-header-color);
}

.text-green {
    color: var(--green-color);
}

.text-yellow {
    color: var(--yellow-color);
}

.text-grey {
    color: var(--grey-color);
}

.text-grey-medium {
    color: var(--grey-color-medium);
}

.text-grey-light {
    color: var(--grey-color-light);
}

.text-muted-custom {
    color: var(--muted-color);
}


/* =========================
   PROJECT BACKGROUNDS
========================= */

.bg-green {
    background-color: var(--green-color);
}

.bg-yellow {
    background-color: var(--yellow-color);
}

.bg-grey {
    background-color: var(--grey-color);
}

.bg-grey-medium {
    background-color: var(--grey-color-medium);
}

.bg-grey-light {
    background-color: var(--grey-color-light);
}


/* =========================
   CUSTOM SHADOWS
   Bootstrap already has
   .shadow / .shadow-sm / .shadow-lg
========================= */

.shadow-custom-sm {
    box-shadow: var(--shadow-custom-sm);
}

.shadow-custom-md {
    box-shadow: var(--shadow-custom-md);
}

.shadow-custom-lg {
    box-shadow: var(--shadow-custom-lg);
}


/* =========================
   CUSTOM TRANSITIONS
========================= */

.transition-fast {
    transition: 0.15s ease;
}

.transition {
    transition: 0.3s ease;
}

.transition-slow {
    transition: 0.5s ease;
}


/* =========================
   IMAGE UTILITIES
========================= */

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* =========================
   CUSTOM UTILITIES
========================= */

.cursor-pointer {
    cursor: pointer;
}

.no-decoration {
    text-decoration: none;
}


/* =========================
   LINKS
========================= */

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.hover-zoom {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    transform: scale(1);
    cursor: pointer;
}

.hover-zoom:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* =========================
   FORM ELEMENTS
========================= */

button,
input,
textarea,
select {
    font-family: inherit;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 991.98px) {

    .font-60,
    .font-61,
    .font-62,
    .font-63,
    .font-64,
    .font-65,
    .font-66,
    .font-67,
    .font-68,
    .font-69,
    .font-70 {
        font-size: 3.5rem;
    }
}

@media (max-width: 575.98px) {
    .font-16{
        font-size: 0.75rem;
    }
    .font-40 {
        font-size: 1.375rem;
    }

    .font-44 {
        font-size: 2.375rem;
    }

    .font-48 {
        font-size: 2.5rem;
    }

    .font-50 {
        font-size: 2.625rem;
    }

    .font-60 {
        font-size: 3rem;
    }

    .font-70 {
        font-size: 3.25rem;
    }
}
.scroll-top {
     position: fixed;
     visibility: hidden;
     opacity: 0;
     right: 15px;
     bottom: -15px;
     z-index: 99999;
     background-color: var(--yellow-color);
     width: 44px;
     height: 44px;
     border-radius: 50px;
     transition: .4s
 }

 .scroll-top i {
     font-size: 24px;
     color: var(--grey-color-light);
     line-height: 0
 }
  .scroll-top:hover {
     background-color: color-mix(in srgb, var(--yellow-color), transparent 20%);
     color: var(--white-color)
 }

 .scroll-top.active {
     visibility: visible;
     opacity: 1;
     bottom: 15px
 }
 .whatsapp-float {
    position: fixed;
    bottom: 30%;
    right: 18px;
    transform: translateY(-30%);
    width: 56px;
    height: 56px;
    border-radius: 9999px;
    background: #25D366;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
    z-index: 9999;
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.whatsapp-float svg {
    width: 40px;
    height: 40px;
    fill: #fff;
    display: block;
}