/* === FONTES ORIGINAIS === */
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  src: url(assets/webfonts/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
} 

/* === CONFIGURAÇÕES GLOBAIS E ESTILOS === */
 body {
     margin: 0 !important;
     padding: 0 !important;
     overflow-x: hidden !important;
}
 ::-moz-selection {
     background: #005C57;
     color: #fff;
     text-shadow: none;
}
 ::selection {
     background: #005C57;
     color: #fff;
     text-shadow: none;
}
 ::-webkit-scrollbar {
     width: 8px;
     height: 8px;
}
 ::-webkit-scrollbar-track {
     background: #ffffff;
     -webkit-box-shadow: inset 1px 1px 2px #ededed;
     border: 1px solid #ededed;
}
 ::-webkit-scrollbar-thumb {
     background: #005C57;
     -webkit-box-shadow: inset 1px 1px 2px rgba(155, 155, 155, 0.4);
}
 ::-webkit-scrollbar-thumb:hover {
     -webkit-box-shadow: inset 1px 1px 10px rgba(0, 0, 0, 0.3);
}
 ::-webkit-scrollbar-thumb:active {
     background: #FFE500;
     -webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}
 .bottom-tab-menu {
     height: 70px;
     z-index: 1050;
}
 .bottom-tab-menu .col:hover {
     background-color: rgba(248, 249, 250, 0.8);
}
/* Estilo especial para o botão */
 .bottom-tab-menu .font-20 {
     font-size: 20px;
}
 .bottom-tab-menu .font-11 {
     font-size: 11px;
     font-weight: 500;
     line-height: 1.2;
}
 .social-icon {
     width: 26px;
     height: 26px;
}
 .social-icon-font {
     font-size: 11px;
}
/* === ESTILOS BASE BOOTSTRAP MODIFICADO === */
 :root {
     --bs-green: #005C57;
     --bs-white: #fff;
     --bs-dark: #202020;
     --bs-body-font-family: "Quicksand", sans-serif;
     --bs-body-font-size: 1.2rem;
     --bs-body-font-weight: 400;
     --bs-body-line-height: 1.5;
     --bs-body-color: #1b252f;
     --bs-body-bg: #fff;
    /* Botão WhatsApp */
     --wa-bg: #25D366;
     --wa-fg: #fff;
     --wa-size: 64px;
     --wa-bottom: 28px;
     --wa-right: 28px;
     --wa-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
     --wa-border-radius: 16px;
}
 *, *::before, *::after {
     box-sizing: border-box;
}
 body {
     margin: 0;
     font-family: var(--bs-body-font-family);
     font-size: var(--bs-body-font-size);
     font-weight: var(--bs-body-font-weight);
     line-height: var(--bs-body-line-height);
     color: var(--bs-body-color);
     text-align: var(--bs-body-text-align);
     background-color: var(--bs-body-bg);
     -webkit-text-size-adjust: 100%;
     -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
 h6, h5, h4, h3, h2, h1 {
     margin-top: 0;
     margin-bottom: 0.5rem;
     font-weight: 500;
     line-height: 1.2;
}
 h1 {
     font-size: calc(1.425rem + 2.1vw);
}
 h2 {
     font-size: calc(1.365rem + 1.38vw);
}
 h3 {
     font-size: calc(1.335rem + 1.02vw);
}
 h4 {
     font-size: calc(1.305rem + 0.66vw);
}
 h5 {
     font-size: calc(1.275rem + 0.3vw);
}
 h6 {
     font-size: 1.2rem;
}
 p {
     margin-top: 0;
     margin-bottom: 1rem;
}
 abbr[title], abbr[data-bs-original-title] {
     -webkit-text-decoration: underline dotted;
     text-decoration: underline dotted;
     cursor: help;
     -webkit-text-decoration-skip-ink: none;
     text-decoration-skip-ink: none;
}
 address {
     margin-bottom: 1rem;
     font-style: normal;
     line-height: inherit;
}
 ol, ul {
     padding-left: 2rem;
}
 ol, ul, dl {
     margin-top: 0;
     margin-bottom: 1rem;
}
 ol ol, ul ul, ol ul, ul ol {
     margin-bottom: 0;
}
 small, .small {
     font-size: 0.875em;
}
 a:not([href]):not([class]), a:not([href]):not([class]):hover {
     color: inherit;
     text-decoration: none;
}
 img, svg {
     vertical-align: middle;
}
 label {
     display: inline-block;
}
 button {
     border-radius: 0;
}
 button:focus:not(:focus-visible) {
     outline: 0;
}
 input, button, select, optgroup, textarea {
     margin: 0;
     font-family: inherit;
     font-size: inherit;
     line-height: inherit;
}
 button, select {
     text-transform: none;
}
 [role=button] {
     cursor: pointer;
}
 select {
     word-wrap: normal;
}
 select:disabled {
     opacity: 1;
}
 [list]::-webkit-calendar-picker-indicator {
     display: none;
}
 button, [type=button], [type=reset], button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
     cursor: pointer;
}
 textarea {
     resize: vertical;
}
 ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field {
     padding: 0;
}
 ::-webkit-inner-spin-button {
     height: auto;
}
 ::-webkit-search-decoration {
     -webkit-appearance: none;
}
 ::-webkit-color-swatch-wrapper {
     padding: 0;
}
 ::-webkit-file-upload-button {
     font: inherit;
}
 ::file-selector-button {
     font: inherit;
}
 ::-webkit-file-upload-button {
     font: inherit;
     -webkit-appearance: button;
}
 .img-fluid {
     max-width: 100%;
     height: auto;
}
 .container, .container-fluid, .container-xxl, .container-xl, .container-lg {
     width: 100%;
     padding-right: var(--bs-gutter-x, 0.75rem);
     padding-left: var(--bs-gutter-x, 0.75rem);
     margin-right: auto;
     margin-left: auto;
}
 .row {
     --bs-gutter-x: 1.5rem;
     --bs-gutter-y: 0;
     display: flex;
     flex-wrap: wrap;
     margin-top: calc(-1 * var(--bs-gutter-y));
     margin-right: calc(-0.5 * var(--bs-gutter-x));
     margin-left: calc(-0.5 * var(--bs-gutter-x));
}
 .row>* {
     flex-shrink: 0;
     width: 100%;
     max-width: 100%;
     padding-right: calc(var(--bs-gutter-x) * 0.5);
     padding-left: calc(var(--bs-gutter-x) * 0.5);
     margin-top: var(--bs-gutter-y);
}
 .col {
     flex: 1 0 0%;
}
 .col-auto {
     flex: 0 0 auto;
     width: auto;
}
 .col-12 {
     flex: 0 0 auto;
     width: 100%;
}
 .g-0 {
     --bs-gutter-x: 0;
     --bs-gutter-y: 0;
}
 .form-control {
     display: block;
     width: 100%;
     padding: 0.375rem 0.75rem;
     font-size: 1.2rem;
     font-weight: 400;
     line-height: 1.5;
     color: #1b252f;
     background-color: #fff;
     background-clip: padding-box;
     border: 1px solid #d6dde6;
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     border-radius: 0;
     transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
 .form-control[type=file] {
     overflow: hidden;
}
 .form-control[type=file]:not(:disabled):not([readonly]) {
     cursor: pointer;
}
 .form-control:focus {
     color: #1b252f;
     background-color: #fff;
     border-color: #d6dde6;
     outline: 0;
     box-shadow: 0 0 0 0.25rem rgba(27, 70, 151, 0.25);
}
 .form-control::-webkit-date-and-time-value {
     height: 1.5em;
}
 .form-control::-moz-placeholder {
     color: #d6dde6;
     opacity: 1;
}
 .form-control:-ms-input-placeholder {
     color: #d6dde6;
     opacity: 1;
}
 .form-control::placeholder {
     color: #d6dde6;
     opacity: 1;
}
 .form-control:disabled, .form-control[readonly] {
     background-color: #e6ecf1;
     opacity: 1;
}
 .form-control::-webkit-file-upload-button {
     padding: 0.375rem 0.75rem;
     margin: -0.375rem -0.75rem;
     -webkit-margin-end: 0.75rem;
     margin-inline-end: 0.75rem;
     color: #1b252f;
     background-color: #e6ecf1;
     pointer-events: none;
     border-color: inherit;
     border-style: solid;
     border-width: 0;
     border-inline-end-width: 1px;
     border-radius: 0;
     -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
     transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
 .form-control::file-selector-button {
     padding: 0.375rem 0.75rem;
     margin: -0.375rem -0.75rem;
     -webkit-margin-end: 0.75rem;
     margin-inline-end: 0.75rem;
     color: #1b252f;
     background-color: #e6ecf1;
     pointer-events: none;
     border-color: inherit;
     border-style: solid;
     border-width: 0;
     border-inline-end-width: 1px;
     border-radius: 0;
     transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
 .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
     background-color: #dbe0e5;
}
 .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
     background-color: #dbe0e5;
}
 textarea.form-control {
     min-height: calc(1.5em + 0.75rem + 2px);
}
 .btn {
     display: inline-block;
     font-weight: 600;
     line-height: 1.5;
     color: #1b252f;
     text-align: center;
     text-decoration: none;
     vertical-align: middle;
     cursor: pointer;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     background-color: transparent;
     border: 1px solid transparent;
     padding: 0.375rem 0.75rem;
     font-size: 1.2rem;
     border-radius: 0.85rem;
     transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
 .btn:hover {
     color: #1b252f;
}
 .btn:focus {
     outline: 0;
     box-shadow: 0 0 0 0.25rem rgba(27, 70, 151, 0.25);
}
 .btn:disabled, fieldset:disabled .btn {
     pointer-events: none;
     opacity: 0.65;
}
 .btn-green {
     color: #fff;
     background-color: #005C57;
     border-color: #005C57;
}
 .btn-green:hover {
     color: #fff;
     background-color: #002926 !important;
     border-color: #002926 !important;
}
 .btn-green:active:focus, .btn-green.active:focus {
     box-shadow: 0 0 0 0.25rem rgba(192, 102, 139, 0.5);
}
 .btn-green:disabled {
     color: #fff;
     background-color: #005C57;
     border-color: #005C57;
}
 .btn-outline-green {
     color: #005C57 !important;
     border-color: #005C57 !important;
}
 .btn-outline-green:hover {
     color: #fff !important;
     background-color: #005C57 !important;
     border-color: #005C57 !important;
}
 .btn-outline-green:active, .btn-outline-green.active {
     color: #fff;
     background-color: #005C57;
     border-color: #005C57;
}
 .btn-sm {
     padding: 0.25rem 0.5rem;
     font-size: 1.05rem;
     border-radius: 0.85rem;
}
 .fade {
     transition: opacity 0.15s linear;
}
 .fade:not(.show) {
     opacity: 0;
}
 .collapse:not(.show) {
     display: none;
}
 .dropdown {
     position: relative;
}
 .dropdown-menu {
     position: absolute;
     z-index: 1000;
     display: none;
     min-width: 10rem;
     padding: 0.5rem 0;
     margin: 0;
     font-size: 1.2rem;
     color: #1b252f;
     text-align: left;
     list-style: none;
     background-color: #fff;
     background-clip: padding-box;
     border: 1px solid rgba(0, 0, 0, 0.15);
     border-radius: 0.85rem;
}
 .dropdown-menu[data-bs-popper] {
     top: 100%;
     left: 0;
     margin-top: 0.125rem;
}
 .dropdown-menu.show {
     display: block;
}
 .badge {
     display: inline-block;
     padding: 0.35em 0.65em;
     font-size: 0.75em;
     font-weight: 700;
     line-height: 1;
     color: #fff;
     text-align: center;
     white-space: nowrap;
     vertical-align: baseline;
     border-radius: 0.85rem;
}
 .badge:empty {
     display: none;
}
 .btn .badge {
     position: relative;
     top: -1px;
}

 .modal {
     position: fixed;
     top: 0;
     left: 0;
     z-index: 1055;
     display: none;
     width: 100%;
     height: 100%;
     overflow-x: hidden;
     overflow-y: auto;
     outline: 0;
}
 .modal-dialog {
     position: relative;
     width: auto;
     margin: 0.5rem;
     pointer-events: none;
}
 .modal.fade .modal-dialog {
     transition: transform 0.3s ease-out;
     transform: translate(0, -50px);
}
 .modal.show .modal-dialog {
     transform: none;
}
 .modal-dialog-centered {
     display: flex;
     align-items: center;
     min-height: calc(100% - 1rem);
}
 .modal-content {
     position: relative;
     display: flex;
     flex-direction: column;
     width: 100%;
     pointer-events: auto;
     background-color: #fff;
     background-clip: padding-box;
     border: 1px solid rgba(0, 0, 0, 0.2);
     border-radius: 0.3rem;
     outline: 0;
}
 .modal-body {
     position: relative;
     flex: 1 1 auto;
     padding: 1rem;
}
 .spinner-border {
     display: inline-block;
     width: 2rem;
     height: 2rem;
     vertical-align: -0.125em;
     border: 0.25em solid currentColor;
     border-right-color: transparent;
     border-radius: 50%;
     -webkit-animation: 0.75s linear infinite spinner-border;
     animation: 0.75s linear infinite spinner-border;
}
 .link-dark {
     color: #202020;
}
 .link-dark:hover, .link-dark:focus {
     color: #1a1a1a;
}
 .ratio {
     position: relative;
     width: 100%;
}
 .ratio::before {
     display: block;
     padding-top: var(--bs-aspect-ratio);
     content: "";
}

 .ratio>* {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
 .ratio-1x1 {
     --bs-aspect-ratio: 100%;
}
 .ratio-4x3 {
     --bs-aspect-ratio: 75%;
}
 .ratio-16x9 {
     --bs-aspect-ratio: 56.25%;
}
 .sticky-top {
     position: -webkit-sticky;
     position: sticky;
     top: 0;
     z-index: 1020;
}
 .visually-hidden {
     position: absolute !important;
     width: 1px !important;
     height: 1px !important;
     padding: 0 !important;
     margin: -1px !important;
     overflow: hidden !important;
     clip: rect(0, 0, 0, 0) !important;
     white-space: nowrap !important;
     border: 0 !important;
}
 .float-start {
     float: left !important;
}
 .opacity-0 {
     opacity: 0 !important;
}
 .opacity-25 {
     opacity: 0.25 !important;
}
 .opacity-50 {
     opacity: 0.5 !important;
}
 .opacity-75 {
     opacity: 0.75 !important;
}
 .overflow-auto {
     overflow: auto !important;
}
 .overflow-hidden {
     overflow: hidden !important;
}
 .d-inline-block {
     display: inline-block !important;
}
 .d-block {
     display: block !important;
}
 .d-grid {
     display: grid !important;
}
 .d-flex {
     display: flex !important;
}
 .d-inline-flex {
     display: inline-flex !important;
}
 .d-none {
     display: none !important;
}
 .shadow {
     box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
 .shadow-sm {
     box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
 .shadow-lg {
     box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
 .position-relative {
     position: relative !important;
}
 .position-absolute {
     position: absolute !important;
}
 .position-fixed {
     position: fixed !important;
}
 .top-0 {
     top: 0 !important;
}
 .top-50 {
     top: 50% !important;
}
 .bottom-0 {
     bottom: 0 !important;
}
 .start-0 {
     left: 0 !important;
}
 .start-50 {
     left: 50% !important;
}
 .end-0 {
     right: 0 !important;
}
 .translate-middle {
     transform: translate(-50%, -50%) !important;
}
 .translate-middle-x {
     transform: translateX(-50%) !important;
}
 .translate-middle-y {
     transform: translateY(-50%) !important;
}
 .border-0 {
     border: 0 !important;
}
 .border-top {
     border-top: 1px solid #d6dde6 !important;
}
 .border-2 {
     border-width: 2px !important;
}
 .w-100 {
     width: 100% !important;
}
 .h-100 {
     height: 100% !important;
}
 .h-auto {
     height: auto !important;
}
 .flex-column {
     flex-direction: column !important;
}
 .flex-grow-1 {
     flex-grow: 1 !important;
}
 .flex-shrink-0 {
     flex-shrink: 0 !important;
}
 .flex-wrap {
     flex-wrap: wrap !important;
}
 .flex-nowrap {
     flex-wrap: nowrap !important;
}
 .gap-1 {
     gap: 0.25rem !important;
}
 .gap-2 {
     gap: 0.5rem !important;
}
 .gap-4 {
     gap: 1.5rem !important;
}
 .justify-content-center {
     justify-content: center !important;
}
 .justify-content-between {
     justify-content: space-between !important;
}
 .align-items-start {
     align-items: flex-start !important;
}
 .align-items-end {
     align-items: flex-end !important;
}
 .align-items-center {
     align-items: center !important;
}
 .order-last {
     order: 6 !important;
}
 .m-3 {
     margin: 1rem !important;
}
 .mx-2 {
     margin-right: 0.5rem !important;
     margin-left: 0.5rem !important;
}
 .mx-3 {
     margin-right: 1rem !important;
     margin-left: 1rem !important;
}
 .mx-auto {
     margin-right: auto !important;
     margin-left: auto !important;
}
 .my-0 {
     margin-top: 0 !important;
     margin-bottom: 0 !important;
}
 .mt-0 {
     margin-top: 0 !important;
}
 .mt-1 {
     margin-top: 0.25rem !important;
}
 .mt-5 {
     margin-top: 3rem !important;
}
 .mt-auto {
     margin-top: auto !important;
}
 .me-1 {
     margin-right: 0.25rem !important;
}
 .me-2 {
     margin-right: 0.5rem !important;
}
 .me-3 {
     margin-right: 1rem !important;
}
 .mb-0 {
     margin-bottom: 0 !important;
}
 .mb-1 {
     margin-bottom: 0.25rem !important;
}
 .mb-2 {
     margin-bottom: 0.5rem !important;
}
 .mb-3 {
     margin-bottom: 1rem !important;
}
 .mb-4 {
     margin-bottom: 1.5rem !important;
}
 .ms-1 {
     margin-left: 0.25rem !important;
}
 .ms-2 {
     margin-left: 0.5rem !important;
}
 .p-0 {
     padding: 0 !important;
}
 .p-1 {
     padding: 0.25rem !important;
}
 .p-3 {
     padding: 1rem !important;
}
 .p-4 {
     padding: 1.5rem !important;
}
 .p-5 {
     padding: 3rem !important;
}
 .px-0 {
     padding-right: 0 !important;
     padding-left: 0 !important;
}
 .px-1 {
     padding-right: 0.25rem !important;
     padding-left: 0.25rem !important;
}
 .px-2 {
     padding-right: 0.5rem !important;
     padding-left: 0.5rem !important;
}
 .px-3 {
     padding-right: 1rem !important;
     padding-left: 1rem !important;
}
 .px-4 {
     padding-right: 1.5rem !important;
     padding-left: 1.5rem !important;
}
 .px-5 {
     padding-right: 3rem !important;
     padding-left: 3rem !important;
}
 .py-1 {
     padding-top: 0.25rem !important;
     padding-bottom: 0.25rem !important;
}
 .py-2 {
     padding-top: 0.5rem !important;
     padding-bottom: 0.5rem !important;
}
 .py-3 {
     padding-top: 1rem !important;
     padding-bottom: 1rem !important;
}
 .py-4 {
     padding-top: 1.5rem !important;
     padding-bottom: 1.5rem !important;
}
 .pt-1 {
     padding-top: 0.25rem !important;
}
 .pt-2 {
     padding-top: 0.5rem !important;
}
 .pt-4 {
     padding-top: 1.5rem !important;
}
 .pe-0 {
     padding-right: 0 !important;
}
 .pb-0 {
     padding-bottom: 0 !important;
}
 .pb-1 {
     padding-bottom: 0.25rem !important;
}
 .pb-2 {
     padding-bottom: 0.5rem !important;
}
 .pb-3 {
     padding-bottom: 1rem !important;
}
 .pb-4 {
     padding-bottom: 1.5rem !important;
}
 .pb-5 {
     padding-bottom: 3rem !important;
}
 .fw-light {
     font-weight: 300 !important;
}
 .fw-bold {
     font-weight: 700 !important;
}
 .lh-1 {
     line-height: 1 !important;
}
 .lh-sm {
     line-height: 1.25 !important;
}
 .text-center {
     text-align: center !important;
}
 .text-decoration-none {
     text-decoration: none !important;
}
 .text-lowercase {
     text-transform: lowercase !important;
}
 .text-uppercase {
     text-transform: uppercase !important;
}
 .text-nowrap {
     white-space: nowrap !important;
}
 .text-dark {
     --bs-text-opacity: 1;
     color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}
 .text-green {
     --bs-text-opacity: 1;
     color: rgba(var(--bs-green-rgb), var(--bs-text-opacity)) !important;
}
 .text-black {
     --bs-text-opacity: 1;
     color: rgba(var(--bs-pink-rgb), var(--bs-text-opacity)) !important;
}
 .text-rose {
     --bs-text-opacity: 1;
     color: rgba(var(--bs-rose-rgb), var(--bs-text-opacity)) !important;
}
 .text-white {
     --bs-text-opacity: 1;
     color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
 .text-muted {
     --bs-text-opacity: 1;
     color: #000 !important;
}
 .bg-light {
     --bs-bg-opacity: 1;
     background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}
 .bg-dark {
     --bs-bg-opacity: 1;
     background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}
 .bg-green {
     --bs-bg-opacity: 1;
     background-color: rgba(var(--bs-green-rgb), var(--bs-bg-opacity)) !important;
}
 .bg-opacity-10 {
     --bs-bg-opacity: 0.1;
}
 .bg-opacity-25 {
     --bs-bg-opacity: 0.25;
}
 .bg-opacity-50 {
     --bs-bg-opacity: 0.5;
}
 .bg-opacity-75 {
     --bs-bg-opacity: 0.75;
}
 .rounded-0 {
     border-radius: 0 !important;
}
 .rounded-1 {
     border-radius: 0.2rem !important;
}
 .rounded-2 {
     border-radius: 0.85rem !important;
}
 .rounded-3 {
     border-radius: 0.3rem !important;
}
 .rounded-circle {
     border-radius: 50% !important;
}
 .rounded-pill {
     border-radius: 50rem !important;
}
 body {
     font-weight: 300;
     font-family: "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
     line-height: 1.35;
}
 a {
     color: inherit;
}
 a, a:hover, a:visited, a:focus {
     text-decoration: none !important;
}
 .cursor-pointer {
     cursor: pointer;
}
 .font-title {
     line-height: 1.1;
     font-weight: 700;
     font-family: "M PLUS Rounded 1c", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
 body {
     font-family: "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}
 h1, h2, h3, h4, h5, h6 {
     font-family: "M PLUS Rounded 1c", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
     font-weight: 700 !important;
}
 .font-italic {
     font-style: italic;
}
 .lh-0 {
     line-height: 0;
}
 .lh-1 {
     line-height: 1;
}
 .lh-2 {
     line-height: 1.22;
}
 .fw-regular {
     font-weight: 400;
}
 .fw-medium {
     font-weight: 500;
}
 .fw-semibold {
     font-weight: 600;
}
 .fw-bold {
     font-weight: 700;
}
 .fw-extrabold {
     font-weight: 800;
}
 .radius-top-left {
     border-radius: 2.5rem 0 0 0;
}
 .radius-bottom-right {
     border-radius: 0 0 2.5rem 0;
}
 .row.g-0, .row.g-0>* {
     margin: 0;
     padding: 0;
}
 small, .small {
     font-size: 1.025rem;
}
 :-ms-input-placeholder {
     color: #b8c2cc;
     font-weight: 200;
     font-style: italic;
}
 ::-moz-placeholder {
     color: #b8c2cc;
     font-weight: 200;
     font-style: italic;
}
 ::placeholder {
     color: #b8c2cc;
     font-weight: 200;
     font-style: italic;
}
 .form-group {
     position: relative;
     margin-bottom: 2rem;
}
 .form-group>.form-control {
     height: 3rem;
     border-color: #d6dde6;
}
 .form-group:hover>.form-control {
     border-color: #8f9caa;
}
 .form-control:-ms-input-placeholder {
     color: #b8c2cc;
     font-style: italic;
}
 .form-control::-moz-placeholder {
     color: #b8c2cc;
     font-style: italic;
}
 .form-control::placeholder {
     color: #b8c2cc;
     font-style: italic;
}
 button {
     display: inline-block;
     border-width: 0;
     text-align: left;
     background: transparent;
}
 .dropdown-menu {
     border-radius: 8px;
     border: 1px solid #f0f0f0;
     box-shadow: 0 8px 14px -2px rgba(0, 0, 0, 0.0784313725);
}
 .dropdown:hover .dropdown-menu {
     display: block;
}
 .modal.show.fade .modal-dialog {
     transform: none;
}
 .modal.fade .modal-dialog {
     transform: scale(0.95);
}
 ul {
     margin: 0;
     padding: 0;
     list-style: none;
}
 .woocommerce-privacy-policy-link {
     color: var(--text-theme-color1);
}
 #shipping_method {
     margin: 0.5rem 0 0;
     display: grid;
     padding: 0;
     gap: 0.85rem;
     list-style: none;
}
 #shipping_method li {
     line-height: 1;
}
 #shipping_method li p {
     margin-bottom: 0 !important;
}
 #shipping_method li p small, #shipping_method li p .small {
     font-size: 0.9rem !important;
}
 thead {
     text-transform: uppercase;
     letter-spacing: 0.1rem;
}
 .form-group abbr {
     display: none;
}
 .text-primary {
     color: #1B4697;
}
 .bg-light {
     background-color: rgba(250, 250, 250, var(--bs-bg-opacity)) !important;
}
 .text-light {
     color: #FAFAFA;
}
 .text-gray {
     color: #8f9caa;
}
 .bg-dark {
     background-color: rgba(32, 32, 32, var(--bs-bg-opacity)) !important;
}
 .btn-outline-dark {
     color: #202020;
     border-color: #202020;
}
 .btn-outline-dark:focus {
     box-shadow: 0 0 0;
}
 .btn-outline-dark:active, .btn-outline-dark.active {
     color: #fff;
     background-color: #202020;
     border-color: #202020;
}
 .btn-outline-dark:active:focus, .btn-outline-dark.active:focus {
     box-shadow: 0 0 0;
}
 .btn-outline-dark:disabled {
     color: #202020;
     background-color: transparent;
}
 .text-dark {
     color: #202020;
}
 .bg-green {
     background-color: #005C57 !important;
}
 .btn-outline-green:focus {
     box-shadow: 0 0 0;
}
 .btn-outline-green:active:focus, .btn-outline-green.active:focus {
     box-shadow: 0 0 0;
}
 .text-green, .text-green-hover:hover {
     color: #4C9590;
}
 .bg-pink {
     background-color: #005C57 !important;
}
 .btn-green {
     color: #fff;
     background-color: #005C57;
     border-color: #005C57;
     box-shadow: 0 0 0;
}
 .text-black {
     color: #000;
}
 .border-top.border-white {
     border-right-width: 0 !important;
     border-bottom-width: 0 !important;
     border-left-width: 0 !important;
     border-top-color: #fff !important;
}
 .bg-white {
     background-color: rgba(255, 255, 255, var(--bs-bg-opacity)) !important;
}
 .btn-white {
     color: #fff;
     background-color: #fff;
     border-color: #fff;
     box-shadow: 0 0 0;
}
 .btn-white:hover {
     color: #000;
     background-color: #d9d9d9;
     border-color: #d9d9d9;
}
 .btn-white:focus {
     color: #000;
     background-color: #d9d9d9;
     border-color: #cccccc;
     box-shadow: 0 0 0;
}
 .btn-white:active, .btn-white.active {
     color: #000;
     background-color: #cccccc;
     border-color: #cccccc;
}
 .btn-white:active:focus, .btn-white.active:focus {
     box-shadow: 0 0 0;
}
 .btn-white:disabled {
     color: #fff;
     background-color: #fff;
     border-color: #fff;
}
 .text-white {
     color: white;
}
 .object-fit {
     -o-object-fit: cover;
     object-fit: cover;
}
 .nowrap {
     white-space: nowrap;
}
 .ease {
     transition: all 0.2s ease;
}
 .z-index-1 {
     z-index: 1;
}
 .z-index-2 {
     z-index: 2;
}
 .radius-1 {
     border-radius: 1rem !important;
}
 .radius-2 {
     border-radius: 2rem !important;
}
 .radius-4 {
     border-radius: 4rem !important;
}
 .bg-image, .overlay {
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     position: absolute;
     -o-object-fit: cover;
     object-fit: cover;
}
 .image-cover {
     -o-object-fit: cover;
     object-fit: cover;
}
 .bg-fixed {
     background-attachment: scroll;
     background-size: cover;
}
 .hover-effect .hover-effect-target {
     opacity: 0;
     transition: all 0.2s ease;
}
 .hover-effect:hover .hover-effect-target, .hover-effect.active .hover-effect-target {
     opacity: 1;
}
 .container {
     max-width: none !important;
}
 .container {
     --bs-gutter-x: 1rem;
     padding-right: var(--bs-gutter-x);
     padding-left: var(--bs-gutter-x);
}
 .position-absolute {
     position: absolute !important;
}
 .position-relative {
     position: relative !important;
}
 .position-fixed {
     position: fixed !important;
}
 .font-14 {
     font-size: 0.95rem;
}
 .font-18 {
     font-size: 1.25rem;
}
 .max-w-100 {
     max-width: 100px;
}
 .max-w-150 {
     max-width: 150px;
}
 .max-w-250 {
     max-width: 250px;
}
 .max-w-350 {
     max-width: 350px;
}
 .max-w-400 {
     max-width: 400px;
}
 .max-w-450 {
     max-width: 450px;
}
 .max-w-550 {
     max-width: 550px;
}
 .max-w-600 {
     max-width: 600px;
}
 .max-w-650 {
     max-width: 650px;
}
 .max-w-750 {
     max-width: 750px;
}
 .max-w-850 {
     max-width: 850px;
}
 .w-100 {
     width: 100%;
}
 .h-100 {
     height: 100%;
}
 .font-16 {
     font-size: 1em;
}
 .font-24 {
     font-size: 1.5em;
}
 .font-32 {
     font-size: 2em;
}
 .font-40 {
     font-size: 2.5em;
}
 .p-8 {
     padding: 0.5rem;
}
 .p-16 {
     padding: 1rem;
}
 .p-24 {
     padding: 1.5rem;
}
 .p-48 {
     padding: 3rem;
}
 .py-8 {
     padding-top: 0.5rem;
     padding-bottom: 0.5rem;
}
 .py-16 {
     padding-top: 1rem;
     padding-bottom: 1rem;
}
 .py-32 {
     padding-top: 2rem;
     padding-bottom: 2rem;
}
 .py-40 {
     padding-top: 2.5rem;
     padding-bottom: 2.5rem;
}
 .py-48 {
     padding-top: 3rem;
     padding-bottom: 3rem;
}
 .py-56 {
     padding-top: 3.5rem;
     padding-bottom: 3.5rem;
}
 .py-64 {
     padding-top: 4rem;
     padding-bottom: 4rem;
}
 .py-72 {
     padding-top: 4.5rem;
     padding-bottom: 4.5rem;
}
 .py-88 {
     padding-top: 5.5rem;
     padding-bottom: 5.5rem;
}
 .px-8 {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
}
 .px-16 {
     padding-right: 1rem;
     padding-left: 1rem;
}
 .px-24 {
     padding-right: 1.5rem;
     padding-left: 1.5rem;
}
 .px-32 {
     padding-right: 2rem;
     padding-left: 2rem;
}
 .pt-16 {
     padding-top: 1rem;
}
 .pt-32 {
     padding-top: 2rem;
}
 .pt-48 {
     padding-top: 3rem;
}
 .pt-64 {
     padding-top: 4rem;
}
 .pr-16 {
     padding-right: 1rem;
}
 .pr-24 {
     padding-right: 1.5rem;
}
 .pr-64 {
     padding-right: 4rem;
}
 .pr-72 {
     padding-right: 4.5rem;
}
 .pb-8 {
     padding-bottom: 0.5rem;
}
 .pb-16 {
     padding-bottom: 1rem;
}
 .pb-24 {
     padding-bottom: 1.5rem;
}
 .pb-32 {
     padding-bottom: 2rem;
}
 .pb-40 {
     padding-bottom: 2.5rem;
}
 .pb-56 {
     padding-bottom: 3.5rem;
}
 .pb-72 {
     padding-bottom: 4.5rem;
}
 .pb-88 {
     padding-bottom: 5.5rem;
}
 .pl-16 {
     padding-left: 1rem;
}
 .my-8 {
     margin-top: 0.5rem;
     margin-bottom: 0.5rem;
}
 .mx-8 {
     margin-right: 0.5rem;
     margin-left: 0.5rem;
}
 .mt-8 {
     margin-top: 0.5rem;
}
 .mt-16 {
     margin-top: 1rem;
}
 .mt-24 {
     margin-top: 1.5rem;
}
 .mt-32 {
     margin-top: 2rem;
}
 .mt-56 {
     margin-top: 3.5rem;
}
 .mt--16 {
     margin-top: -1rem !important;
}
 .mt--32 {
     margin-top: -2rem !important;
}
 .mt--40 {
     margin-top: -2.5rem !important;
}
 .mt--64 {
     margin-top: -4rem !important;
}
 .mr-16 {
     margin-right: 1rem;
}
 .mr--24 {
     margin-right: -1.5rem !important;
}
 .mb-8 {
     margin-bottom: 0.5rem;
}
 .mb-16 {
     margin-bottom: 1rem;
}
 .mb-24 {
     margin-bottom: 1.5rem;
}
 .mb-32 {
     margin-bottom: 2rem;
}
 .mb-40 {
     margin-bottom: 2.5rem;
}
 .mb-72 {
     margin-bottom: 4.5rem;
}
 .mb--64 {
     margin-bottom: -4rem !important;
}
 .ml-8 {
     margin-left: 0.5rem;
}
 .ml-24 {
     margin-left: 1.5rem;
}
 .ml--8 {
     margin-left: -0.5rem !important;
}
 .ml--16 {
     margin-left: -1rem !important;
}
 .card-tratamento {
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     border: 1px solid rgba(0, 0, 0, 0.08);
     background: #ffffff;
     border-radius: 20px !important;
}
 .card-tratamento:hover {
     transform: translateY(-4px);
     box-shadow: 0 8px 30px rgba(128, 90, 213, 0.15) !important;
}
 .card-tratamento:hover .hover-zoom {
     transform: scale(1.05);
}
 .card-tratamento .hover-zoom {
     transition: transform 0.4s ease;
}
 .card-tratamento .ratio {
     flex: 0 0 200px;
     overflow: hidden;
}
 .card-tratamento .px-16 {
     flex: 1;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     padding: 1rem;
}
 .card-tratamento h4 {
     transition: color 0.3s ease;
     line-height: 1.4;
     height: 2.8rem;
     overflow: hidden;
     display: -webkit-box;
     -webkit-box-orient: vertical;
     text-overflow: ellipsis;
     margin-bottom: 1rem;
     font-size: 1rem;
     word-break: break-word;
}
 .card-tratamento .btn-outline-green {
     font-size: 0.85rem;
     transition: all 0.3s ease;
     margin-top: auto;
}
 .slide-quote-xl .bg-light {
     background: linear-gradient(135deg, rgba(248, 249, 250, 0.8) 0%, rgba(241, 245, 249, 0.9) 50%, rgba(248, 249, 250, 0.8) 100%) !important;
     -webkit-backdrop-filter: blur(10px);
     backdrop-filter: blur(10px);
     border-radius: 3rem !important;
}
 .slide-quote-xl .pt-md-88 {
     padding-top: 2rem !important;
}
 .slide-quote-xl .item .container-lg {
     position: relative;
}
 .slide-quote-xl .item .container-lg::before {
     content: "";
     position: absolute;
     top: -1rem;
     left: -1rem;
     right: -1rem;
     bottom: -1rem;
     background: rgba(255, 255, 255, 0.05);
     border-radius: 2rem;
     z-index: -1;
     opacity: 0;
     transition: opacity 0.3s ease;
}
 .slide-quote-xl .item .container-lg:hover::before {
     opacity: 1;
}
 .slide-quote-xl .max-w-100 .p-5 {
     background: linear-gradient(135deg, rgba(132, 21, 54, 0.1) 0%, rgba(128, 90, 213, 0.1) 100%);
     border: 3px solid rgba(255, 255, 255, 0.8);
     box-shadow: 0 8px 25px rgba(132, 21, 54, 0.15);
     transition: all 0.3s ease;
}
 .slide-quote-xl .max-w-100 .p-5:hover {
     transform: translateY(-2px) scale(1.02);
     box-shadow: 0 12px 35px rgba(132, 21, 54, 0.2);
}
 .slide-quote-xl .font-italic {
     position: relative;
}
 .slide-quote-xl .text-green i {
     color: #FFD700 !important;
     text-shadow: 0 1px 3px rgba(255, 215, 0, 0.3);
     transition: transform 0.2s ease;
}
 .slide-quote-xl .text-green i:hover {
     transform: scale(1.1);
}
 .slide-quote-xl .btn-outline-green {
     border: 1px solid rgba(128, 90, 213, 0.1);
     transition: all 0.3s ease;
     font-size: 0.85rem;
}
 .franquia-section {
     background: linear-gradient(90deg, #004D47 0%, #005C57 100%);
     position: relative;
     overflow: hidden;
     border-radius: 1rem;
}
 .franquia-section::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.05) 0%, transparent 50%), linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.02) 50%, transparent 60%);
     pointer-events: none;
}
 .franquia-section::after {
     content: "";
     position: absolute;
     top: -100%;
     left: -200%;
     width: 400%;
     height: 300%;
     background: linear-gradient(65deg, transparent 30%, rgba(255, 255, 255, 0.15) 48%, rgba(255, 215, 0, 0.1) 50%, rgba(255, 255, 255, 0.15) 52%, transparent 70%);
     -webkit-animation: shine 4s infinite ease-in-out;
     animation: shine 4s infinite ease-in-out;
     pointer-events: none;
}
 .franquia-section .container {
     position: relative;
     z-index: 1;
}
 .franquia-title {
     font-size: 1.75rem;
     letter-spacing: 0.5px;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}
 .btn-franquia {
     background: linear-gradient(135deg, #FFD700 0%, #FFA500 25%, #FF8C00 50%, #DAA520 75%, #B8860B 100%);
     border: 2px solid #FFD700;
     color: #1a1a1a;
     font-size: 1rem;
     border-radius: 50px;
     box-shadow: 0 6px 20px rgba(255, 215, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     text-decoration: none;
     position: relative;
     overflow: hidden;
}
 .btn-franquia::before {
     content: "";
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
     transition: left 0.6s ease;
}
 .btn-franquia:hover {
     background: linear-gradient(135deg, #FFF700 0%, #FFB600 25%, #FF7F00 50%, #E6B800 75%, #CC9900 100%);
     border-color: #FFF700;
     color: #1a1a1a;
     transform: translateY(-3px) scale(1.05);
     box-shadow: 0 12px 35px rgba(255, 215, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
     text-decoration: none;
}
 .btn-franquia:hover::before {
     left: 100%;
}
 .btn-franquia:focus {
     outline: none;
     box-shadow: 0 0 0 0.2rem rgba(255, 215, 0, 0.25), 0 6px 20px rgba(255, 215, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}
 .btn-franquia:active {
     transform: translateY(-1px) scale(1.02);
     box-shadow: 0 3px 10px rgba(255, 215, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}
 #new-hero {
     border-bottom-left-radius: 25px;
     border-bottom-right-radius: 25px;
     overflow: hidden;
}
 .blog-card {
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     border: 1px solid rgba(0, 0, 0, 0.08);
     background: #ffffff;
     border-radius: 20px !important;
}
 .blog-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
     border-color: rgba(132, 21, 55, 0.1);
}
 .blog-card:hover h4 {
     color: rgba(0, 82, 76, 0.7) !important;
}
 .bg-gradient-to-t {
     background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
}
 .blog-card .btn-outline-green:hover {
     background: #005C57;
     border-color: #005C57;
     color: white;
     transform: translateY(-1px);
}
 .blog-card .btn-outline-green:hover i {
     transform: translateX(3px);
}
 .line-clamp-2 {
     display: -webkit-box;
     -webkit-box-orient: vertical;
     overflow: hidden;
     line-height: 1.4;
     max-height: calc(1.4em * 2);
}
 .line-clamp-3 {
     display: -webkit-box;
     -webkit-box-orient: vertical;
     overflow: hidden;
     line-height: 1.6;
     max-height: calc(1.6em * 3);
}
 .line-height-relaxed {
     line-height: 1.6;
}
 .badge.bg-green {
     background-color: #005C57 !important;
     box-shadow: 0 2px 8px rgba(0, 82, 76, 0.7);
     font-size: 0.75rem;
     font-weight: 600;
     letter-spacing: 0.5px;
}
 .transition-all {
     transition: all 0.3s ease;
}
 .transition-colors {
     transition: color 0.3s ease;
}
 .transition-transform {
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
 .transition-opacity {
     transition: opacity 0.3s ease;
}
 .object-fit-cover {
     object-fit: cover;
     width: 100%;
     height: 100%;
}
 .blog-card .text-muted {
     color: #000 !important;
}
 .blog-card .font-12 {
     font-size: 0.75rem;
}
 .blog-card .font-14 {
     font-size: 0.875rem;
}
 .blog-card i.me-1 {
     margin-right: 0.25rem !important;
}
 .blog-card i.ms-2 {
     margin-left: 0.5rem !important;
     transition: transform 0.2s ease;
}
 .btn-load-more {
     border: 2px solid #005C57;
     color: #005C57;
     background: transparent;
     font-weight: 600;
     letter-spacing: 0.5px;
     min-width: 200px;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
 .btn-load-more:hover {
     background: #005C57;
     border-color: #005C57;
     color: white;
     transform: translateY(-2px);
}
 .btn-load-more:hover .fa-plus {
     transform: rotate(90deg);
}
 .hero-slide-animation {
     animation: slideFromTop 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
     animation-delay: 0.1s;
     opacity: 0;
}
 .hero-slide-animation .ratio {
     animation: fadeInScale 1s ease-out forwards;
     animation-delay: 0.3s;
     opacity: 0;
}
 .hero-slide-animation .btn-green {
     animation: slideUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
     animation-delay: 0.5s;
     opacity: 0;
}
/* Adicionado para compatibilidade com o Font Awesome 6 (ícones sociais no rodapé) */
 .fab {
     font-family: 'Font Awesome 6 Brands', 'Font Awesome 5 Brands' !important;
}
 .fa-facebook-f::before {
     content: "\f39e" !important;
}
 .fa-instagram::before {
     content: "\f16d" !important;
}
 .fa-youtube::before {
     content: "\f167" !important;
}
 .fa-linkedin::before {
     content: "\f08c" !important;
}
/* === NOVA REGRA DE CORREÇÃO PARA GARANTIR QUE OS ÍCONES FUNCIONEM === */
 .fa-solid, .fas {
     font-family: 'Font Awesome 6 Free' !important;
     font-weight: 900 !important;
}
 .fa-brands, .fab {
     font-family: 'Font Awesome 6 Brands' !important;
     font-weight: 400 !important;
}
/* CORREÇÃO PARA O TEXTO BRANCO NA SEÇÃO FRANQUIA */
 .franquia-section .text-white, .franquia-section h2, .franquia-title {
     color: #ffffff !important;
}
/* Garantir que o text-white funcione em todos os elementos */
 .text-white {
     color: #ffffff !important;
}
/* Corrigir possíveis conflitos com text-green na seção franquia */
 .franquia-section .text-green {
     color: #ffffff !important;
}
/* Corrigir especificamente o título da franquia */
 .franquia-title.text-white {
     color: #ffffff !important;
     text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
}
/* Centraliza e alinha o conteúdo dos depoimentos ao fundo */
 .slide-quote-xl {
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0 !important;
     margin: 0 auto;
     position: relative;
}
 .slide-quote-xl .owl-carousel {
     width: 100%;
     max-width: 1200px;
    /* ajusta conforme a largura do fundo */
     margin: 0 auto;
}
 .slide-quote-xl .container-lg {
     margin: 0 auto;
     padding: 40px 0;
    /* equilíbrio entre o topo e o fundo */
}
/* Se o fundo for esse .bg-light */
 .slide-quote-xl .bg-light {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 90%;
    /* iguale à largura do conteúdo */
     height: auto;
     border-radius: 80px;
    /* mantém o formato arredondado */
     z-index: 0;
}
/* Garante que o conteúdo fique acima do fundo */
 .slide-quote-xl .owl-carousel, .slide-quote-xl .container-lg {
     position: relative;
     z-index: 2;
}
 body .scrolling-hero {
     background-color: #005C57 !important;
     background: #005C57 !important;
     border-color: #005C57 !important;
}
/* === Ajuste de cor ao passar o mouse nos títulos de links === */
 a:hover h4, a:focus h4, a h4:hover {
     color: #005C57 !important;
}
 footer.bg-dark {
     background-color: #1A1A1A !important;
}
 .avatar {
     width: 120px;
     height: 120px;
     border-radius: 50%;
     object-fit: cover;
     object-position: center;
     border: 4px solid #005C57;
    /* borda verde */
     box-shadow: 0 0 8px rgba(0, 82, 76, 0.3);
    /* leve brilho verde */
     display: block;
     overflow: hidden;
}
 .owl-carousel .avatar {
     width: 120px !important;
     height: 120px !important;
     border-radius: 50% !important;
     object-fit: cover !important;
}
 .card-depoimento {
     max-width: 600px;
     background: #fff;
     border-radius: 24px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
     transition: all 0.3s ease;
}
 .card-depoimento:hover {
     transform: translateY(-4px);
     box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1);
}
 .text-gray {
     color: #6c757d !important;
}
 .depoimento-carousel-modern .item {
     display: flex;
     justify-content: center;
}
 #whatsapp-btn {
     position: fixed;
     bottom: 70px;
     right: 80px;
     width: 56px;
     height: 56px;
     background: #25D366;
     color: white;
     border-radius: 50%;
     display: flex;
     justify-content: center;
     align-items: center;
     font-size: 28px;
     box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25);
     transition: transform 0.25s ease, box-shadow 0.25s ease;
     z-index: 9999;
}
 #whatsapp-btn:hover {
     transform: scale(1.1);
     box-shadow: 0 6px 18px rgba(37, 211, 102, 0.4);
}
 #whatsapp-btn i {
     font-size: 26px;
    /* Ícone mais fino */
     font-weight: 300;
}
/* ======== RESPONSIVIDADE ======== */
 .fa-solid, .fa-regular {
     transition: all 0.25s ease;
}

/* === Ajuste geral dos ícones e textos nas unidades === */
 .slide-local .info-line, .slide-local .d-flex.align-items-start {
     display: flex;
     align-items: center !important;
     gap: 8px;
}
/* Ícones padronizados */
 .slide-local i, .slide-local ion-icon {
     margin-top: 0 !important;
     font-size: 16px !important;
     flex-shrink: 0;
     color: #005C57;
    /* cor institucional */
}
/* Bloco de informação (endereço, telefone etc.) */
 .slide-local .info-box, .slide-local .mb-2.px-3.py-2 {
     border-radius: 12px;
     background-color: rgba(0, 0, 0, 0.04);
     padding: 8px 12px !important;
     margin-bottom: 8px !important;
}
/* Texto dentro das infos */
 .slide-local .font-14, .slide-local .lh-sm {
     line-height: 1.4;
     color: #333;
}
/* Ícones sociais */
 .slide-local .social-icons {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-top: 8px;
}
 .slide-local .social-icons a {
     width: 34px;
     height: 34px;
     border-radius: 8px;
     background-color: #005C57;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     transition: 0.3s;
}
 .slide-local .social-icons a:hover {
     background-color: #03786F;
}
 .blog-card .fa-calendar, .blog-card .fa-clock {
     color: #005C57;
    /* substitua pelo verde exato do seu site */
}
 .card-depoimento .text-warning {
     display: flex;
     gap: 2px;
    /* ajusta a distância entre as estrelas */
     justify-content: center;
    /* centraliza horizontalmente */
}
 .card-depoimento .text-warning .fa-star {
     margin: 0;
    /* remove qualquer margem extra */
     font-size: 18px;
    /* opcional, ajusta tamanho das estrelas */
}
/* === Botões de navegação do carrossel === */
 .prev-slide, .next-slide {
     width: 50px;
     height: 50px;
     border-radius: 50%;
    /* Deixa redondo */
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0;
    /* Remove o espaçamento interno extra */
     border: 2px solid #005C57;
    /* Ajuste a cor conforme o estilo do site */
     background-color: #fff;
     color: #005C57;
     transition: all 0.3s ease;
}
 .prev-slide:hover, .next-slide:hover {
     background-color: #005C57;
     color: #fff;
     transform: scale(1.1);
    /* Leve efeito ao passar o mouse */
}
/* Ajuste para os ícones ficarem centralizados */
 .prev-slide i, .next-slide i {
     font-size: 18px;
}
 .prev-depo, .next-depo {
     width: 50px;
     height: 50px;
     border-radius: 50%;
    /* Deixa redondo */
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0;
    /* Remove o espaçamento interno extra */
     border: 2px solid #005C57;
    /* Ajuste a cor conforme o estilo do site */
     background-color: #fff;
     color: #005C57;
     transition: all 0.3s ease;
}
 .prev-depo:hover, .next-depo:hover {
     background-color: #fff;
     color: #fff;
     transform: scale(1.1);
    /* Leve efeito ao passar o mouse */
}
/* Ajuste para os ícones ficarem centralizados */
 .prev-depo i, .next-depo i {
     font-size: 18px;
}
 .owl-carousel .item img {
     will-change: transform;
     transform: translateZ(0);
     backface-visibility: hidden;
}
 .card-tratamento {
     transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
}
 .hover-zoom:hover {
     transform: scale(1.05) translateZ(0);
}
 .tratamento-carousel .item img {
     will-change: transform;
     transform: translateZ(0);
     backface-visibility: hidden;
}
 .tratamento-carousel .owl-stage {
     transition-timing-function: ease-out !important;
}
 .tratamento-carousel .owl-item {
     transition: transform 0.4s ease-out;
}
/* === MENU MOBILE MODERNO === */
 .submenu-modern {
     display: none;
     background: rgba(0, 82, 76, 0.05);
    /* leve fundo esverdeado translúcido */
     border-radius: 12px;
     margin: 4px 0 12px 0;
     padding: 6px 12px 8px 16px;
     transition: all 0.3s ease;
     animation: fadeIn 0.3s ease;
}
 .submenu-modern.active {
     display: block;
}
/* Itens do submenu */
 .submenu-link {
     display: block;
     color: #333;
     font-size: 14px;
     font-weight: 400;
     padding: 6px 0;
     border-bottom: 1px solid rgba(0, 0, 0, 0.05);
     transition: all 0.25s ease;
}
/* Remove linha no último item */
 .submenu-link:last-child {
     border-bottom: none;
}
/* Hover elegante */
 .submenu-link:hover {
     color: #005C57;
     padding-left: 4px;
}
/* Ícone de seta com animação suave */
 .rotate-icon {
     transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
 .rotate-icon.active {
     transform: rotate(90deg);
}
/* Animação suave de aparecimento */
 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(-5px);
    }
     to {
         opacity: 1;
         transform: translateY(0);
    }
}
 .ultraformer-body {
     background-color: #f9f9f9;
}
 .ultraformer-body .card {
     transition: all 0.3s ease;
}
 .ultraformer-body .card:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
 .ultraformer-body .icon i {
     background: #eaf6ee;
     padding: 18px;
     border-radius: 50%;
}
/* ===== MEDIA QUERIES ORGANIZADAS ===== */
 @media (prefers-reduced-motion:no-preference) {
     :root {
         scroll-behavior: smooth;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .form-control {
         transition: none;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .form-control::-webkit-file-upload-button {
         -webkit-transition: none;
         transition: none;
    }
     .form-control::file-selector-button {
         transition: none;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .btn {
         transition: none;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .fade {
         transition: none;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .modal.fade .modal-dialog {
         transition: none;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .spinner-border {
         -webkit-animation-duration: 1.5s;
         animation-duration: 1.5s;
    }
}
 @media (prefers-reduced-motion:reduce) {
     .hero-slide-animation, .hero-slide-animation .ratio, .hero-slide-animation .btn-green {
         animation: none !important;
         opacity: 1 !important;
         transform: none !important;
    }
}
 @media only screen and (min-width:768px) {
     .position-md-absolute {
         position: absolute !important;
    }
     .font-md-18 {
         font-size: 1.25rem;
    }
     .max-w-md-250 {
         max-width: 250px;
    }
     .font-md-16 {
         font-size: 1em;
    }
     .font-md-24 {
         font-size: 1.5em;
    }
     .font-md-32 {
         font-size: 2em;
    }
     .font-md-40 {
         font-size: 2.5em;
    }
     .font-md-128 {
         font-size: 8em;
    }
     .p-md-24 {
         padding: 1.5rem;
    }
     .p-md-32 {
         padding: 2rem;
    }
     .py-md-32 {
         padding-top: 2rem;
         padding-bottom: 2rem;
    }
     .py-md-48 {
         padding-top: 3rem;
         padding-bottom: 3rem;
    }
     .py-md-72 {
         padding-top: 4.5rem;
         padding-bottom: 4.5rem;
    }
     .py-md-88 {
         padding-top: 5.5rem;
         padding-bottom: 5.5rem;
    }
     .py-md-128 {
         padding-top: 8rem;
         padding-bottom: 8rem;
    }
     .px-md-16 {
         padding-right: 1rem;
         padding-left: 1rem;
    }
     .px-md-32 {
         padding-right: 2rem;
         padding-left: 2rem;
    }
     .pt-md-32 {
         padding-top: 2rem;
    }
     .pt-md-48 {
         padding-top: 3rem;
    }
     .pt-md-64 {
         padding-top: 4rem;
    }
     .pt-md-88 {
         padding-top: 5.5rem;
    }
     .pb-md-16 {
         padding-bottom: 1rem;
    }
     .pb-md-32 {
         padding-bottom: 2rem;
    }
     .pb-md-48 {
         padding-bottom: 3rem;
    }
     .pb-md-56 {
         padding-bottom: 3.5rem;
    }
     .pb-md-64 {
         padding-bottom: 4rem;
    }
     .pb-md-72 {
         padding-bottom: 4.5rem;
    }
     .pb-md-112 {
         padding-bottom: 7rem;
    }
     .pb-md-128 {
         padding-bottom: 8rem;
    }
     .my-md-16 {
         margin-top: 1rem;
         margin-bottom: 1rem;
    }
     .mt-md-32 {
         margin-top: 2rem;
    }
     .mt-md-40 {
         margin-top: 2.5rem;
    }
     .mt-md-64 {
         margin-top: 4rem;
    }
     .mt-md--88 {
         margin-top: -5.5rem !important;
    }
     .mr-md-16 {
         margin-right: 1rem;
    }
     .mb-md-8 {
         margin-bottom: 0.5rem;
    }
     .mb-md-56 {
         margin-bottom: 3.5rem;
    }
     .mb-md-88 {
         margin-bottom: 5.5rem;
    }
     .mb-md-96 {
         margin-bottom: 6rem;
    }
     .mb-md-128 {
         margin-bottom: 8rem;
    }
}
 @media (max-width: 480px) {
     #whatsapp-btn {
         bottom: 90px;
         right: 28px;
         width: 50px;
         height: 50px;
    }
     #whatsapp-btn i {
         font-size: 22px;
    }
}
 @media (min-width:576px) {
     .modal-dialog {
         max-width: 500px;
         margin: 1.75rem auto;
    }
     .modal-dialog-centered {
         min-height: calc(100% - 3.5rem);
    }
     .modal-sm {
         max-width: 300px;
    }
     .container {
         max-width: 540px;
    }
}
 @media (min-width:768px) {
     .container {
         max-width: 720px;
    }
}
 @media (max-width: 768px) {
     .social-icon {
         width: 52px !important;
         height: 52px !important;
    }
     .social-icon-font {
         font-size: 22px !important;
    }
     footer.container-fluid {
         padding-bottom: 90px !important;
    }
     .blog-card {
         margin-bottom: 2rem;
    }
     .blog-card:hover {
         transform: translateY(-4px);
    }
     #whatsapp-btn {
         bottom: 90px;
        /* sobe um pouco */
         right: 30px;
        /* mais afastado da borda */
         width: 52px;
        /* botão menor */
         height: 52px;
         font-size: 26px;
    }
     #whatsapp-btn i {
         font-size: 24px;
        /* Ícone proporcional */
    }
}
 @media (min-width:992px) {
     .modal-lg {
         max-width: 800px;
    }
     .container-lg, .container {
         max-width: 960px;
    }
}
 @media only screen and (min-width:992px) {
     .container-lg {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 992px;
    }
     .position-lg-absolute {
         position: absolute !important;
    }
     .max-w-lg-200 {
         max-width: 200px;
    }
     .max-w-lg-600 {
         max-width: 600px;
    }
     .font-lg-40 {
         font-size: 2.5em;
    }
     .font-lg-48 {
         font-size: 3em;
    }
     .p-lg-16 {
         padding: 1rem;
    }
     .p-lg-40 {
         padding: 2.5rem;
    }
     .p-lg-64 {
         padding: 4rem;
    }
     .py-lg-24 {
         padding-top: 1.5rem;
         padding-bottom: 1.5rem;
    }
     .py-lg-72 {
         padding-top: 4.5rem;
         padding-bottom: 4.5rem;
    }
     .py-lg-112 {
         padding-top: 7rem;
         padding-bottom: 7rem;
    }
     .py-lg-128 {
         padding-top: 8rem;
         padding-bottom: 8rem;
    }
     .py-lg-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .px-lg-24 {
         padding-right: 1.5rem;
         padding-left: 1.5rem;
    }
     .px-lg-48 {
         padding-right: 3rem;
         padding-left: 3rem;
    }
     .pt-lg-32 {
         padding-top: 2rem;
    }
     .pt-lg-56 {
         padding-top: 3.5rem;
    }
     .pt-lg-112 {
         padding-top: 7rem;
    }
     .pt-lg-128 {
         padding-top: 8rem;
    }
     .pb-lg-32 {
         padding-bottom: 2rem;
    }
     .pb-lg-72 {
         padding-bottom: 4.5rem;
    }
     .pb-lg-144 {
         padding-bottom: 9rem;
    }
     .pl-lg-24 {
         padding-left: 1.5rem;
    }
     .mb-lg-48 {
         margin-bottom: 3rem;
    }
     .mb-lg-144 {
         margin-bottom: 9rem;
    }
}
 @media (min-width:1200px) {
     .container-xl, .container-lg, .container {
         max-width: 1140px;
    }
}
 @media (max-width: 1199.98px) {
     body {
         padding-bottom: 70px;
    }
}
 @media only screen and (min-width:1200px) {
     .container-xl {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 1200px;
    }
     .py-xl-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .pt-xl-144 {
         padding-top: 9rem;
    }
     .mr-xl-24 {
         margin-right: 1.5rem;
    }
}
 @media (min-width:1400px) {
     .container {
         max-width: 1320px !important;
    }
     .container-xxl, .container-xl, .container-lg, .container {
         max-width: 1320px;
    }
}
 @media only screen and (min-width:1400px) {
     .container-xxl {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 1400px;
    }
     .max-w-xxl-250 {
         max-width: 250px;
    }
     .py-xxl-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .px-xxl-8 {
         padding-right: 0.5rem;
         padding-left: 0.5rem;
    }
     .pr-xxl-32 {
         padding-right: 2rem;
    }
     .mr-xxl-32 {
         margin-right: 2rem;
    }
}
 @media (min-width:576px) {
     .modal-dialog {
         max-width: 500px;
         margin: 1.75rem auto;
    }
     .modal-dialog-centered {
         min-height: calc(100% - 3.5rem);
    }
     .modal-sm {
         max-width: 300px;
    }
     .container {
         max-width: 540px;
    }
}
 @media (min-width:768px) {
     .icb-landing-component {
         padding: 1rem 0 0 0;
    }
     .icb-landing-component .container-icb-home {
         height: 320px;
    }
     .icb-landing-component .image-profissional-555 {
         height: 100%;
    }
     .icb-landing-component .image-profissional-555 img.mobile-image {
         display: none;
    }
     .icb-landing-component .image-profissional-555 img.desktop-image {
         display: block;
         position: absolute;
         bottom: 0;
         right: 0;
         width: 100%;
         height: 100%;
         object-fit: contain;
         object-position: right bottom;
    }
     .container {
         max-width: 720px;
    }
     .col-md {
         flex: 1 0 0%;
    }
     .col-md-auto {
         flex: 0 0 auto;
         width: auto;
    }
     .col-md-1 {
         flex: 0 0 auto;
         width: 8.33333333%;
    }
     .col-md-4 {
         flex: 0 0 auto;
         width: 25%;
    }
     .col-md-6 {
         flex: 0 0 auto;
         width: 50%;
    }
     .col-md-8 {
         flex: 0 0 auto;
         width: 66.66666667%;
    }
     .d-md-inline-block {
         display: inline-block !important;
    }
     .d-md-block {
         display: block !important;
    }
     .d-md-flex {
         display: flex !important;
    }
     .d-md-none {
         display: none !important;
    }
     .mt-md-0 {
         margin-top: 0 !important;
    }
     .mb-md-0 {
         margin-bottom: 0 !important;
    }
     .mb-md-4 {
         margin-bottom: 1.5rem !important;
    }
     .px-md-0 {
         padding-right: 0 !important;
         padding-left: 0 !important;
    }
     .px-md-5 {
         padding-right: 3rem !important;
         padding-left: 3rem !important;
    }
     .py-md-0 {
         padding-top: 0 !important;
         padding-bottom: 0 !important;
    }
     .py-md-3 {
         padding-top: 1rem !important;
         padding-bottom: 1rem !important;
    }
     .pt-md-0 {
         padding-top: 0 !important;
    }
     .text-md-start {
         text-align: left !important;
    }
     .radius-top-left {
         border-radius: 10rem 0 0 0;
    }
     .radius-bottom-right {
         border-radius: 0 0 10rem 0;
    }
     .slide-quote-xl .pt-md-88 {
         padding-top: 3rem !important;
    }
     .franquia-title {
         font-size: 2rem;
    }
}
 @media (min-width:992px) {
     .container-lg, .container {
         max-width: 960px;
    }
     .col-lg {
         flex: 1 0 0%;
    }
     .col-lg-4 {
         flex: 0 0 auto;
         width: 33.33333333%;
    }
     .col-lg-6 {
         flex: 0 0 auto;
         width: 50%;
    }
     .modal-lg {
         max-width: 800px;
    }
     .mb-lg-0 {
         margin-bottom: 0 !important;
    }
     .text-lg-start {
         text-align: left !important;
    }
     .slide-quote-xl {
         padding-top: 4rem !important;
         padding-bottom: 7rem !important;
    }
}
 @media (min-width:1200px) {
     h1 {
         font-size: 3rem;
    }
     h2 {
         font-size: 2.4rem;
    }
     h3 {
         font-size: 2.1rem;
    }
     h4 {
         font-size: 1.8rem;
    }
     h5 {
         font-size: 1.5rem;
    }
     .d-xl-block {
         display: block !important;
    }
     .d-xl-none {
         display: none !important;
    }
     .container-xl, .container-lg, .container {
         max-width: 1140px;
    }
}
 @media (min-width:1400px) {
     .container {
         max-width: 1320px !important;
    }
     .container-xxl, .container-xl, .container-lg, .container {
         max-width: 1320px;
    }
}
 @media only screen and (min-width:768px) {
     .position-md-absolute {
         position: absolute !important;
    }
     .font-md-18 {
         font-size: 1.25rem;
    }
     .max-w-md-250 {
         max-width: 250px;
    }
     .font-md-16 {
         font-size: 1em;
    }
     .font-md-24 {
         font-size: 1.5em;
    }
     .font-md-32 {
         font-size: 2em;
    }
     .font-md-40 {
         font-size: 2.5em;
    }
     .font-md-128 {
         font-size: 8em;
    }
     .p-md-24 {
         padding: 1.5rem;
    }
     .p-md-32 {
         padding: 2rem;
    }
     .py-md-32 {
         padding-top: 2rem;
         padding-bottom: 2rem;
    }
     .py-md-48 {
         padding-top: 3rem;
         padding-bottom: 3rem;
    }
     .py-md-72 {
         padding-top: 4.5rem;
         padding-bottom: 4.5rem;
    }
     .py-md-88 {
         padding-top: 5.5rem;
         padding-bottom: 5.5rem;
    }
     .py-md-128 {
         padding-top: 8rem;
         padding-bottom: 8rem;
    }
     .px-md-16 {
         padding-right: 1rem;
         padding-left: 1rem;
    }
     .px-md-32 {
         padding-right: 2rem;
         padding-left: 2rem;
    }
     .pt-md-32 {
         padding-top: 2rem;
    }
     .pt-md-48 {
         padding-top: 3rem;
    }
     .pt-md-64 {
         padding-top: 4rem;
    }
     .pt-md-88 {
         padding-top: 5.5rem;
    }
     .pb-md-16 {
         padding-bottom: 1rem;
    }
     .pb-md-32 {
         padding-bottom: 2rem;
    }
     .pb-md-48 {
         padding-bottom: 3rem;
    }
     .pb-md-56 {
         padding-bottom: 3.5rem;
    }
     .pb-md-64 {
         padding-bottom: 4rem;
    }
     .pb-md-72 {
         padding-bottom: 4.5rem;
    }
     .pb-md-112 {
         padding-bottom: 7rem;
    }
     .pb-md-128 {
         padding-bottom: 8rem;
    }
     .my-md-16 {
         margin-top: 1rem;
         margin-bottom: 1rem;
    }
     .mt-md-32 {
         margin-top: 2rem;
    }
     .mt-md-40 {
         margin-top: 2.5rem;
    }
     .mt-md-64 {
         margin-top: 4rem;
    }
     .mt-md--88 {
         margin-top: -5.5rem !important;
    }
     .mr-md-16 {
         margin-right: 1rem;
    }
     .mb-md-8 {
         margin-bottom: 0.5rem;
    }
     .mb-md-56 {
         margin-bottom: 3.5rem;
    }
     .mb-md-88 {
         margin-bottom: 5.5rem;
    }
     .mb-md-96 {
         margin-bottom: 6rem;
    }
     .mb-md-128 {
         margin-bottom: 8rem;
    }
}
 @media only screen and (min-width:992px) {
     .container-lg {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 992px;
    }
     .position-lg-absolute {
         position: absolute !important;
    }
     .max-w-lg-200 {
         max-width: 200px;
    }
     .max-w-lg-600 {
         max-width: 600px;
    }
     .font-lg-40 {
         font-size: 2.5em;
    }
     .font-lg-48 {
         font-size: 3em;
    }
     .p-lg-16 {
         padding: 1rem;
    }
     .p-lg-40 {
         padding: 2.5rem;
    }
     .p-lg-64 {
         padding: 4rem;
    }
     .py-lg-24 {
         padding-top: 1.5rem;
         padding-bottom: 1.5rem;
    }
     .py-lg-72 {
         padding-top: 4.5rem;
         padding-bottom: 4.5rem;
    }
     .py-lg-112 {
         padding-top: 7rem;
         padding-bottom: 7rem;
    }
     .py-lg-128 {
         padding-top: 8rem;
         padding-bottom: 8rem;
    }
     .py-lg-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .px-lg-24 {
         padding-right: 1.5rem;
         padding-left: 1.5rem;
    }
     .px-lg-48 {
         padding-right: 3rem;
         padding-left: 3rem;
    }
     .pt-lg-32 {
         padding-top: 2rem;
    }
     .pt-lg-56 {
         padding-top: 3.5rem;
    }
     .pt-lg-112 {
         padding-top: 7rem;
    }
     .pt-lg-128 {
         padding-top: 8rem;
    }
     .pb-lg-32 {
         padding-bottom: 2rem;
    }
     .pb-lg-72 {
         padding-bottom: 4.5rem;
    }
     .pb-lg-144 {
         padding-bottom: 9rem;
    }
     .pl-lg-24 {
         padding-left: 1.5rem;
    }
     .mb-lg-48 {
         margin-bottom: 3rem;
    }
     .mb-lg-144 {
         margin-bottom: 9rem;
    }
}
 @media only screen and (min-width:1200px) {
     .container-xl {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 1200px;
    }
     .py-xl-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .pt-xl-144 {
         padding-top: 9rem;
    }
     .mr-xl-24 {
         margin-right: 1.5rem;
    }
}
 @media only screen and (min-width:1400px) {
     .container-xxl {
         --bs-gutter-x: 1rem;
         padding-right: var(--bs-gutter-x);
         padding-left: var(--bs-gutter-x);
         max-width: 1400px;
    }
     .max-w-xxl-250 {
         max-width: 250px;
    }
     .py-xxl-144 {
         padding-top: 9rem;
         padding-bottom: 9rem;
    }
     .px-xxl-8 {
         padding-right: 0.5rem;
         padding-left: 0.5rem;
    }
     .pr-xxl-32 {
         padding-right: 2rem;
    }
     .mr-xxl-32 {
         margin-right: 2rem;
    }
}
/* === MENU MOBILE FULLSCREEN === */
#menuModal {
  position: fixed;              /* cobre a janela inteira */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;                /* altura da tela inteira */
  z-index: 9999;                /* acima do restante do site */
  background-color: #ffffff;    /* fundo branco */
  overflow-y: auto;             /* permite rolar o menu */
}

/* garante que o dialog ocupe 100% da tela */
#menuModal .modal-dialog {
  margin: 0;
  max-width: 100%;
  height: 100%;
}

/* o conteúdo do modal também ocupa toda a altura */
#menuModal .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: none;
}

/* botão de fechar (X) sempre visível e clicável */
#menuModal .fa-times {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10000;               /* acima do menu */
  cursor: pointer;
  color: #000;
  transition: color 0.2s ease;
}

#menuModal .fa-times:hover {
  color: #005C57;               /* muda a cor no hover */
}

/* quando o modal estiver aberto, o fundo não rola */
body.modal-open {
  overflow: hidden !important;
}

/* garante que o menu mobile fique acima do rodapé fixo */
.bottom-tab-menu {
  z-index: 1000;                /* menor que o modal */
}

/* === Espaçamento interno no menu mobile === */
#menuModal .modal-body {
  padding-top: 80px; /* empurra os links para baixo */
  padding-bottom: 40px; /* espaço no final também */
}

/* se o logo estiver muito colado no topo */
#menuModal .modal-body > div:first-child {
  margin-bottom: 24px; /* espaço entre logo e itens */
}

.link-audiencia {
  color: rgba(255, 255, 255, 0.75);
  transition: color 0.3s ease;
  font-size: 13px;
}

.link-audiencia:hover {
  color: #ffffff;
}
.transformacoes-swiper-k9p7m5 {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 60px;
    
}

.carrossel-container {
    width: 100%;
    position: relative;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.carrossel-container::-webkit-scrollbar {
    display: none;
}

.carrossel-wrapper {
    display: flex;
    transition: transform 0.3s ease;
}

.carrossel-slide {
    flex: 0 0 100%;
    padding: 0 10px;
    box-sizing: border-box;
    scroll-snap-align: start;
}

.carrossel-imagem {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
}

.carrossel-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;

}

.carrossel-btn {
    background-color: rgba(0, 82, 76, 0.7);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    pointer-events: auto;
}

.carrossel-btn:hover {
    background-color: #005C57;
}

.carrossel-btn ion-icon {
    font-size: 24px;
}

@media (min-width:1024px) {
    .carrossel-slide {
        flex: 0 0 calc(33.333% - 20px);
    }
}

@media (max-width:768px) {
    .carrossel-btn {
        width: 30px;
        height: 30px;
    }

    .carrossel-btn ion-icon {
        font-size: 18px;
    }
}

.transformacoes-incriveis-container-f8k9l0 {
    font-family: "Quicksand", sans-serif;
    max-width: 1200px;
    margin: 0 auto;
}

.transformacoes-titulo-m3n4p5 {
    font-family: "Marcellus", serif;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    color: #333;
    margin-bottom: 2rem;
}

.categorias-container-b7d2n1,
.subcategorias-container-e6m5k8 {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    text-align: center;
    margin-bottom: 2rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.categorias-container-b7d2n1::-webkit-scrollbar,
.subcategorias-container-e6m5k8::-webkit-scrollbar {
    display: none;
}

.categoria-btn-l2r8t6,
.subcategoria-btn-f4h9j7 {
    flex-shrink: 0;
    cursor: pointer;
    transition: all 0.3s;
}

.categoria-btn-l2r8t6 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 7rem;
    height: 7rem;
    margin-left: 0.75rem;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #005C57;
    color: #005C57;
}

.categoria-btn-l2r8t6:hover,
.categoria-btn-l2r8t6.ativo {
    background-color: #005C57;
    color: #fff;
}

.categoria-btn-l2r8t6 img {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0.25rem;
    transition: filter 0.3s;
}

.categoria-btn-l2r8t6:hover img,
.categoria-btn-l2r8t6.ativo img {
    filter: brightness(0) invert(1);
}

.categoria-btn-l2r8t6 span {
    font-size: 0.875rem;
    font-weight: 600;
}

.subcategoria-btn-f4h9j7 {
    padding: 0.75rem 1rem;
    margin-left: 1rem;
    background-color: #e5e7eb;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #005C57;
    border: none;
}

.subcategoria-btn-f4h9j7:hover,
.subcategoria-btn-f4h9j7.ativo {
    background-color: #005C57;
    color: #fff;
}

.transformacoes-swiper-k9p7m5::-webkit-scrollbar {
    display: none;
}

.carrossel-container::-webkit-scrollbar {
    display: none;
}

.carrossel-buttons-container {
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: space-between;
}

@media (max-width:768px) {
    .carrossel-btn {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }
}

@media (min-width:768px) {
    .transformacoes-titulo-m3n4p5 {
        font-size: 2.25rem;
    }
}

@media (min-width:1024px) {

    .categorias-container-b7d2n1,
    .subcategorias-container-e6m5k8 {
        justify-content: center;
        flex-wrap: wrap;
    }

    .carrossel-imagem {
        max-height: 100%;
    }
}

@media (max-width:1023px) {

    .categorias-container-b7d2n1,
    .subcategorias-container-e6m5k8 {
        justify-content: flex-start;
        flex-wrap: nowrap;
    }
}

*:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fad):not([class*="fa-"]):not(.bi):not([class*="bi-"]) {
    font-family: "Quicksand", system-ui, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.font-title {
    font-family: "MPLUSRounded1c", "M PLUS Rounded 1c", system-ui, sans-serif !important;
    font-weight: 700 !important;
}

body,
p,
div,
span,
a,
li,
td,
th,
label,
input,
textarea,
select {
    font-family: "Quicksand", system-ui, sans-serif !important;
}

.fa,
.fas,
.far,
.fal,
.fab,
.fad,
[class*="fa-"] {
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome" !important;
}

.bi,
[class*="bi-"] {
    font-family: "bootstrap-icons" !important;
}

.scrolling-hero {
    background: linear-gradient(135deg, #841536, #b54b76, #e580b3);
    height: 32px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 8px rgba(132, 21, 54, 0.3);
}

.scrolling-hero-link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: white;
}

.scrolling-hero-link:hover {
    text-decoration: none;
    color: white;
}

.scrolling-text {
    display: flex;
    align-items: center;
    height: 100%;
    white-space: nowrap;
    animation: scroll-center-infinite 30s linear infinite;
    font-size: 13px;
    font-weight: 700;
    font-family: "MPLUSRounded1c", "M PLUS Rounded 1c", sans-serif !important;
}

.text-item {
    margin-right: 25px;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    text-transform: uppercase;
}

.text-item.highlight {
    font-weight: 800;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    font-size: 1.1em;
    letter-spacing: 0.5px;
    color: #fff;
}

.separator {
    margin-right: 25px;
    opacity: 0.8;
    font-size: 18px;
    font-weight: bold;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

@keyframes scroll-center-infinite {
    0% {
        transform: translateX(50vw);
    }

    100% {
        transform: translateX(-100%);
    }
}

.scrolling-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100px;
    width: 100px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    animation: shine 3s infinite;
    pointer-events: none;
}

@keyframes shine {
    0% {
        left: -100px;
    }

    50% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

@media (max-width:768px) {
    .scrolling-hero {
        height: 30px;
    }

    .scrolling-text {
        font-size: 11px;
        animation: scroll-center-infinite-mobile 18s linear infinite;
        font-weight: 700;
    }

    .text-item {
        margin-right: 20px;
        font-weight: 700;
    }

    .text-item.highlight {
        font-size: 1.05em;
        font-weight: 800;
    }

    .separator {
        margin-right: 20px;
        font-size: 16px;
    }
}

@keyframes scroll-center-infinite-mobile {
    0% {
        transform: translateX(50vw);
    }

    100% {
        transform: translateX(-100%);
    }
}

.franchise-ribbon-section {
    position: relative;
}

.franchise-ribbon-link {
    pointer-events: all;
    text-decoration: none;
    color: white;
    display: block;
}

.franchise-ribbon-link:hover {
    text-decoration: none;
    color: white;
}

.franchise-ribbon {
    width: 100%;
    height: 50px;
    background: linear-gradient(135deg, #841536, #b54b76, #e580b3, #841536);
    background-size: 400% 400%;
    animation: gradient-flow 6s ease infinite;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(132, 21, 54, 0.4), 0 2px 8px rgba(132, 21, 54, 0.2);
    transition: all 0.3s ease;
    position: relative;
    border-radius: 0 0 15px 15px;
}

.franchise-ribbon:hover {
    transform: scale(1.02);
    box-shadow: 0 6px 20px rgba(132, 21, 54, 0.5), 0 3px 10px rgba(132, 21, 54, 0.3);
}

.franchise-ribbon::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: ribbon-shine 3s infinite;
}

.franchise-ribbon-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    white-space: nowrap;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.ribbon-icon {
    font-size: 18px;
    margin-right: 10px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.ribbon-text {
    font-family: "MPLUSRounded1c", "M PLUS Rounded 1c", sans-serif !important;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    margin: 0 8px;
}

.ribbon-separator {
    margin: 0 8px;
    opacity: 0.8;
    font-size: 16px;
    font-weight: bold;
}

.ribbon-cta {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    margin: 0 8px;
}

@keyframes gradient-flow {

    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@keyframes ribbon-shine {
    0% {
        left: -100%;
    }

    50% {
        left: 100%;
    }

    100% {
        left: 100%;
    }
}

@media (max-width:767px) {
    .franchise-ribbon {
        height: 40px;
    }

    .franchise-ribbon:hover {
        transform: scale(1.01);
    }

    .ribbon-text {
        font-size: 12px;
        margin: 0;
    }
}
.nav-item.dropdown {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 70%;
  left: 0;
  margin-top: 0 !important;
  transform: none !important;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}
#new-hero .ratio > picture,
#new-hero .ratio > img { position:absolute; inset:0; width:100%; height:100%; }
#new-hero .hero-img { display:block; width:100%; height:100%; object-fit:cover; }
 
.popup-overlay {
  display: none; /* escondido por padrão */
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.popup-content {
  background: #fff;
  color: #222;
  padding: 24px 32px;
  border-radius: 12px;
  text-align: center;
  max-width: 400px;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3);
  animation: fadeIn 0.3s ease;
}

.popup-content h3 {
  color: #005C57;
  margin-bottom: 8px;
}

.popup-content button {
  margin-top: 16px;
  background: #005C57;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
}

.popup-content button:hover {
  background: #005C57;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.btn-voltar {
    background-color: #FFFFFF;
    color: #005C57;
    border: 2px solid #005C57;
    font-size: 1.05rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.btn-voltar:hover {
    background-color: #EAEAEA; /* cinza suave */
    color: #005C57;
}


/* ======== EQUIPE NUTRIÇÃO ======== */
.card-equipe {
    transition: all 0.3s ease;
    border: none;
    overflow: hidden;
}

.card-equipe:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.card-equipe-img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

/* Ajuste individual */
.img-michelle {
    object-position: center 15%;
}

.img-nayara {
    object-position: center 35%;
}


.equipe-nutricao .badge {
    display: inline-block;          /* 🔑 ESSENCIAL */
    background-color: #00524C;
    color: #fff;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.75rem;

    margin-top: 1px;                /* distância do nome */
    margin-bottom: 16px;            /* distância do texto */
}

/* Método Ressignificar: utiliza os mesmos componentes visuais das páginas existentes. */
@media(min-width:1200px){header .col.d-none.d-xl-block>.d-flex>div>a>.position-relative{margin-right:1rem!important}header .dropdown>a>.position-relative{display:flex;align-items:center;gap:.35rem;white-space:nowrap}header .dropdown>a>.position-relative>.fa-chevron-down{margin-left:0!important;flex:0 0 auto}}
.page-ressignificar .ressignificar-eyebrow{font-size:.82rem;letter-spacing:.08em}
.page-ressignificar .ressignificar-intro-text{font-size:1.05rem;line-height:1.75;text-align:justify;color:#222}
.page-ressignificar .ressignificar-section-lead{max-width:760px;margin-left:auto;margin-right:auto;font-size:1.05rem}
.page-ressignificar .ressignificar-pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.page-ressignificar .ressignificar-interactive-card{border:1px solid #e2e8e5;background:#fff;color:#222;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.page-ressignificar .ressignificar-interactive-card:hover,.page-ressignificar .ressignificar-interactive-card:focus-visible,.page-ressignificar .ressignificar-interactive-card.is-active{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,92,87,.14);border-color:#005C57;outline:0}
.page-ressignificar .ressignificar-interactive-card i{font-size:40px;color:#005C57}
.page-ressignificar .ressignificar-interactive-card span{display:block;font-size:1.08rem}
.page-ressignificar .ressignificar-interactive-card small{display:block;margin-top:7px;color:#687975}
.page-ressignificar .ressignificar-detail-wrap{max-width:900px;margin-left:auto;margin-right:auto}
.page-ressignificar .ressignificar-detail{background:#eef6f2;color:#173f3b;border-radius:16px;padding:24px;font-size:1.02rem;line-height:1.65;border-left:4px solid #005C57}
.page-ressignificar .ressignificar-step{border:1px solid #e1e8e5;background:#fff;border-radius:16px;padding:20px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:14px;text-align:left;color:#222;transition:border-color .2s ease,box-shadow .2s ease}
.page-ressignificar .ressignificar-step:hover,.page-ressignificar .ressignificar-step:focus-visible,.page-ressignificar .ressignificar-step.is-active{border-color:#005C57;box-shadow:0 10px 24px rgba(0,92,87,.1);outline:0}
.page-ressignificar .ressignificar-step>i:first-child{font-size:26px;color:#005C57;text-align:center}
.page-ressignificar .ressignificar-step>i:last-child{color:#005C57;transition:transform .2s ease}
.page-ressignificar .ressignificar-step[aria-expanded="true"]>i:last-child{transform:rotate(45deg)}
.page-ressignificar .ressignificar-step span b,.page-ressignificar .ressignificar-step span small{display:block}
.page-ressignificar .ressignificar-step span small{color:#6f7b78;margin-top:3px}
.page-ressignificar .ressignificar-step-detail{background:#f0f6f3;border-radius:0 0 14px 14px;margin:-6px 8px 0;padding:22px 20px 16px;line-height:1.6;color:#314744}
.page-ressignificar .ressignificar-timeline{display:flex;align-items:center;justify-content:center;gap:18px;background:#fff;border-radius:18px;padding:26px;box-shadow:0 10px 24px rgba(0,92,87,.08)}
.page-ressignificar .ressignificar-timeline span{text-align:center;color:#005C57;font-weight:600}
.page-ressignificar .ressignificar-timeline span b{display:block;color:#60716e;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}
.page-ressignificar .ressignificar-timeline>i{color:#b49745}
@media(max-width:991.98px){.page-ressignificar .ressignificar-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.page-ressignificar .ressignificar-pillar-grid{grid-template-columns:1fr}.page-ressignificar .ressignificar-timeline{flex-direction:column;gap:12px}.page-ressignificar .ressignificar-timeline>i{transform:rotate(90deg)}}

