/* ==================================================
   FEMAX COLORS
================================================== */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --femax-primary: #ff6600;
  --femax-primary-hover: #ff6600;
  --femax-primary-active: #ff6600;
  --femax-primary-rgb: 255, 102, 0;
  --bs-primary: var(--femax-primary) !important;
  --bs-primary-rgb: var(--femax-primary-rgb) !important;
  --bs-link-color: var(--femax-primary) !important;
  --bs-link-hover-color: var(--femax-primary) !important;
  --si-primary: var(--femax-primary) !important;
  --si-primary-rgb: var(--femax-primary-rgb) !important;
  --si-link-color: var(--femax-primary) !important;
  --si-link-color-rgb: var(--femax-primary-rgb) !important;
  --si-link-hover-color: var(--femax-primary) !important;
  --si-link-hover-color-rgb: var(--femax-primary-rgb) !important;
  --si-heading-link-hover-color: var(--femax-primary) !important;
  --si-user-selection-color: rgba(var(--femax-primary-rgb), .22) !important;
  --si-nav-link-color-rgb: var(--femax-primary-rgb) !important;
  --si-nav-link-hover-color: var(--femax-primary) !important;
  --si-nav-link-hover-color-rgb: var(--femax-primary-rgb) !important;
  --si-navbar-hover-color: var(--femax-primary) !important;
  --si-navbar-active-color: var(--femax-primary) !important;
  --si-dropdown-link-hover-color: var(--femax-primary) !important;
  --si-dropdown-link-active-color: var(--femax-primary) !important;
}

/* ==================================================
   NAVBAR
================================================== */
.header {
  --si-navbar-hover-color: var(--femax-primary) !important;
  --si-navbar-active-color: var(--femax-primary) !important;
}

.navbar .navbar-nav > .nav-item > .nav-link {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  transition: color .25s ease;
}

.navbar .navbar-nav > .nav-item > .nav-link:hover,
.navbar .navbar-nav > .nav-item > .nav-link:focus,
.navbar .navbar-nav > .nav-item > .nav-link.active,
.navbar .navbar-nav > .nav-item > .nav-link.show,
.navbar .navbar-nav > .nav-item.dropdown:hover > .nav-link,
.navbar .navbar-nav > .nav-item.dropdown:focus-within > .nav-link {
  color: var(--femax-primary) !important;
}

/* Linha laranja presa SOMENTE ao texto, não ao link inteiro nem à setinha */
.navbar .navbar-nav > .nav-item > .nav-link .femax-nav-text {
  position: relative;
  display: inline-block;
  line-height: 1.25;
}

.navbar .navbar-nav > .nav-item > .nav-link .femax-nav-text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.34rem;
  height: 2px;
  border-radius: 999px;
  background-color: var(--femax-primary);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
  pointer-events: none;
}

.navbar .navbar-nav > .nav-item > .nav-link:hover .femax-nav-text::after,
.navbar .navbar-nav > .nav-item > .nav-link:focus .femax-nav-text::after,
.navbar .navbar-nav > .nav-item > .nav-link.active .femax-nav-text::after,
.navbar .navbar-nav > .nav-item > .nav-link.show .femax-nav-text::after,
.navbar .navbar-nav > .nav-item.dropdown:hover > .nav-link .femax-nav-text::after,
.navbar .navbar-nav > .nav-item.dropdown:focus-within > .nav-link .femax-nav-text::after {
  transform: scaleX(1);
}

/* Usa a setinha NATIVA do Bootstrap/Silicon, só aproximando do texto */
.navbar .navbar-nav > .nav-item > .dropdown-toggle::after {
  display: inline-block !important;
  margin-left: .38rem !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}

.navbar .btn::after,
.navbar-brand::after {
  display: none !important;
}

/* ==================================================
   DROPDOWN
================================================== */
.dropdown-menu {
  --si-dropdown-link-hover-color: var(--femax-primary);
  --si-dropdown-link-active-color: var(--femax-primary);
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--femax-primary) !important;
  background-color: rgba(var(--femax-primary-rgb), .08) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  color: var(--femax-primary) !important;
  background-color: rgba(var(--femax-primary-rgb), .12) !important;
}

/* ==================================================
   NAVBAR MOBILE / OFFCANVAS
================================================== */
@media (max-width: 991.98px) {
  .header .container {
    min-height: 64px;
  }

  .header .navbar-brand img {
    width: 125px;
    height: auto;
  }

  .header .femax-offcanvas-menu {
    width: min(330px, 86vw) !important;
    max-width: 86vw !important;
    overflow-x: hidden !important;
  }

  .header .offcanvas-body {
    padding: 1.25rem 1.75rem !important;
    overflow-x: hidden !important;
  }

  .header .offcanvas-body .navbar-nav {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
  }

  .header .offcanvas-body .navbar-nav > .nav-item {
    width: 100% !important;
    max-width: 100% !important;
  }

  .header .offcanvas-body .navbar-nav > .nav-item > .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: .72rem 0 !important;
    margin: 0 !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  .header .offcanvas-body .navbar-nav > .nav-item > .nav-link .femax-nav-text::after {
    bottom: -.34rem;
    transform-origin: left center;
  }

  .header .offcanvas-body .navbar-nav > .nav-item > .dropdown-toggle::after {
    margin-left: .38rem !important;
    flex: 0 0 auto !important;
  }

  .header .offcanvas-body .navbar-nav > .nav-item.dropdown > .dropdown-menu,
  .header .offcanvas-body .navbar-nav > .nav-item.dropdown > .dropdown-menu[data-bs-popper] {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: .1rem 0 .65rem 0 !important;
    padding: .25rem 0 .25rem 1rem !important;

    border: 0 !important;
    border-left: 1px solid rgba(147, 151, 173, .32) !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .header .offcanvas-body .navbar-nav .dropdown-item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .48rem 0 !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  .header .offcanvas-body .navbar-nav .dropdown-item:hover,
  .header .offcanvas-body .navbar-nav .dropdown-item:focus,
  .header .offcanvas-body .navbar-nav .dropdown-item.active,
  .header .offcanvas-body .navbar-nav .dropdown-item:active {
    color: var(--femax-primary) !important;
    background-color: transparent !important;
  }
}

/* ==================================================
   FOOTER LINKS
================================================== */
.footer .nav-link {
  --si-nav-link-hover-color: var(--femax-primary) !important;
  --si-nav-link-hover-color-rgb: var(--femax-primary-rgb) !important;
}

.footer .nav-link:hover,
.footer .nav-link:focus,
.footer .nav-link.active,
.footer .nav-link[aria-current="page"],
.footer .active > .nav-link,
.footer .nav-item.active .nav-link {
  color: var(--femax-primary) !important;
}

/* ==================================================
   BOTÕES GERAIS
================================================== */
.btn-primary {
  color: #fff !important;
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
  box-shadow: none !important;
}

.btn-primary:hover {
  color: #fff !important;
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
  box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9) !important;
}

.btn-primary:focus,
.btn-primary:active {
  color: #fff !important;
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
  box-shadow: 0 .4rem .9rem -.4rem rgba(var(--femax-primary-rgb), .75) !important;
}

.btn-outline-primary {
  color: var(--femax-primary) !important;
  background-color: transparent !important;
  border-color: var(--femax-primary) !important;
  box-shadow: none !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  color: var(--femax-primary) !important;
  background-color: transparent !important;
  border-color: var(--femax-primary) !important;
  box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9) !important;
}

/* ==================================================
   TEXTOS
================================================== */
.text-primary {
  color: var(--femax-primary) !important;
}

/* ==================================================
   BACKGROUNDS
================================================== */
.bg-primary,
.badge.bg-primary {
  background-color: var(--femax-primary) !important;
}

.border-primary {
  border-color: var(--femax-primary) !important;
}

.shadow-primary {
  box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9) !important;
}

.alert-primary {
  color: var(--femax-primary) !important;
  background-color: rgba(var(--femax-primary-rgb), .10) !important;
  border-color: rgba(var(--femax-primary-rgb), .20) !important;
}

/* ==================================================
   FORMULÁRIOS
================================================== */
.form-control:focus,
.form-select:focus {
  border-color: var(--femax-primary) !important;
  box-shadow: 0 0 0 .2rem rgba(var(--femax-primary-rgb), .25) !important;
}

.form-check-input:checked {
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
}

.form-check-input:focus {
  box-shadow: 0 0 0 .2rem rgba(var(--femax-primary-rgb), .25) !important;
}

/* ==================================================
   SWITCH SILICON - LIGHT + DARK
================================================== */
.form-switch .form-check-input:checked,
.form-switch.mode-switch .form-check-input,
.form-switch.price-switch .form-check-input,
[data-bs-theme="dark"] .form-switch.mode-switch .form-check-input,
[data-bs-theme="dark"] .form-switch.price-switch .form-check-input,
[data-bs-theme="dark"] .form-switch .form-check-input:checked,
[data-bs-theme="dark"] .form-check-input:checked,
[data-bs-theme="dark"] .form-check:not([data-bs-theme="light"]) .form-check-input:checked:not(.is-invalid):not(:invalid) {
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
}

/* ==================================================
   CAROUSEL
================================================== */
.btn-prev,
.btn-next {
  --si-carousel-nav-btn-hover-bg: var(--femax-primary);
  --si-carousel-nav-btn-hover-color: #fff;
  --si-carousel-nav-btn-hover-box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9);
}

/* ==================================================
   SWIPER
================================================== */
html:not(.dark-mode) .swiper-pagination-bullet-active {
  background-color: var(--femax-primary) !important;
}

/* ==================================================
   STEPS
================================================== */
.steps {
  --si-steps-number-bg: rgba(var(--femax-primary-rgb), .18) !important;
  --si-steps-number-inner-bg: var(--femax-primary) !important;
}

/* ==================================================
   SELEÇÃO DE TEXTO
================================================== */
::selection {
  background: rgba(var(--femax-primary-rgb), .22);
}

/* ==================================================
   PAINEL / LIST GROUP
================================================== */
#account-menu.list-group {
  --si-list-group-action-hover-color: var(--femax-primary) !important;
  --si-list-group-action-hover-bg: rgba(var(--femax-primary-rgb), .12) !important;
  --si-list-group-action-active-color: #fff !important;
  --si-list-group-action-active-bg: var(--femax-primary) !important;
  --si-list-group-active-color: #fff !important;
  --si-list-group-active-bg: var(--femax-primary) !important;
  --si-list-group-active-border-color: var(--femax-primary) !important;
  --si-list-group-active-box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9) !important;
}

#account-menu .list-group-item-action:hover,
#account-menu .list-group-item-action:focus {
  color: var(--femax-primary) !important;
}

#account-menu .list-group-item-action:hover i,
#account-menu .list-group-item-action:focus i {
  color: var(--femax-primary) !important;
  opacity: 1 !important;
}

#account-menu .list-group-item.active,
#account-menu .list-group-item-action.active {
  color: #fff !important;
  background-color: var(--femax-primary) !important;
  border-color: var(--femax-primary) !important;
  box-shadow: 0 .5rem 1.125rem -.5rem rgba(var(--femax-primary-rgb), .9) !important;
}

#account-menu .list-group-item.active i,
#account-menu .list-group-item-action.active i {
  color: #fff !important;
  opacity: 1 !important;
}

/* ==================================================
   FOOTER CREDIT
================================================== */
.footer-credit-link {
  color: var(--si-body-color) !important;
  text-decoration: none !important;
}

.footer-credit-link:visited {
  color: var(--si-body-color) !important;
}

.footer-credit-link:hover,
.footer-credit-link:focus,
.footer-credit-link:active {
  color: var(--femax-primary) !important;
  text-decoration: none !important;
}