:root,
 [data-bs-theme="light"] {
  --fn-primary: #1F365C;
  --fn-primary-rgb: 31, 54, 92;
  --fn-primary-text-emphasis: #172844;
  --fn-primary-bg-subtle: #e9edf3;
  --fn-primary-border-subtle: #c7d0de;
  --fn-warning: #FFB536;
  --fn-warning-rgb: 255, 181, 54;
  --fn-warning-text-emphasis: #8a5b00;
  --fn-warning-bg-subtle: #fff4df;
  --fn-warning-border-subtle: #ffe0a3;
  --fn-link-color: #1F365C;
  --fn-link-color-rgb: 31, 54, 92;
  --fn-link-hover-color: #FFB536;
  --fn-link-hover-color-rgb: 255, 181, 54;
}

[data-bs-theme="dark"] {
  --fn-primary: #FFB536;
  --fn-primary-rgb: 255, 181, 54;
  --fn-primary-text-emphasis: #ffd487;
  --fn-primary-bg-subtle: #33250b;
  --fn-primary-border-subtle: #6b4b16;
  --fn-warning: #FFB536;
  --fn-warning-rgb: 255, 181, 54;
  --fn-link-color: #FFB536;
  --fn-link-color-rgb: 255, 181, 54;
  --fn-link-hover-color: #ffd487;
  --fn-link-hover-color-rgb: 255, 212, 135;
}

.text-primary {
  color: #1F365C !important;
}

.bg-primary {
  background-color: #1F365C !important;
}

.border-primary {
  border-color: #1F365C !important;
}

main h1:not(.text-white),
main h2:not(.text-white),
main h3:not(.text-white),
main h4:not(.text-white),
main h5:not(.text-white),
main h6:not(.text-white) {
  color: #1F365C;
}

main h1:not(.text-white) a,
main h2:not(.text-white) a,
main h3:not(.text-white) a,
main h4:not(.text-white) a,
main h5:not(.text-white) a,
main h6:not(.text-white) a {
  color: #1F365C;
}

.text-warning {
  color: #FFB536 !important;
}

.navbar .nav-link {
  border-radius: var(--fn-border-radius-pill);
  transition: color .2s ease;
}

.navbar .navbar-nav > .nav-item > .nav-link {
  position: relative;
  color: #1F365C;
}

.navbar .navbar-nav > .nav-item > .nav-link::after {
  position: absolute;
  right: var(--fn-navbar-nav-link-padding-x);
  bottom: .25rem;
  left: var(--fn-navbar-nav-link-padding-x);
  height: .1875rem;
  content: "";
  background-color: #FFB536;
  border-radius: var(--fn-border-radius-pill);
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .2s ease, transform .2s ease;
}

.navbar .navbar-nav > .nav-item > .nav-link.dropdown-toggle::after {
  display: none;
}

.navbar .navbar-nav > .nav-item > .nav-link:hover,
.navbar .navbar-nav > .nav-item > .nav-link:focus {
  color: #1F365C !important;
  background-color: transparent !important;
}

.navbar .navbar-nav > .nav-item > .nav-link:hover::after,
.navbar .navbar-nav > .nav-item > .nav-link:focus::after {
  opacity: 1;
  transform: scaleX(1);
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: #1F365C;
  background-color: transparent;
}

.navbar .nav-link.active,
.navbar .nav-link.show {
  color: #1F365C !important;
  background-color: transparent !important;
}

.navbar .navbar-nav > .nav-item > .nav-link.active,
.navbar .navbar-nav > .nav-item > .nav-link.show {
  color: #1F365C !important;
  background-color: transparent !important;
}

.navbar .nav-link.active::after,
.navbar .nav-link.show::after {
  opacity: 1;
  transform: scaleX(1);
}

.navbar .dropdown-item {
  transition: color .2s ease, background-color .2s ease;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: #1F365C;
  background-color: rgba(255, 181, 54, .14);
}

.btn-primary,
.cookie-btn.cookie-btn-accept,
[data-bs-theme="dark"] .product-card:hover .product-card-button {
  --fn-btn-color: #fff;
  --fn-btn-bg: #1F365C;
  --fn-btn-border-color: #1F365C;
  --fn-btn-hover-color: #fff;
  --fn-btn-hover-bg: #172844;
  --fn-btn-hover-border-color: #172844;
  --fn-btn-focus-shadow-rgb: 31, 54, 92;
  --fn-btn-active-color: #fff;
  --fn-btn-active-bg: #132139;
  --fn-btn-active-border-color: #132139;
  --fn-btn-disabled-color: #fff;
  --fn-btn-disabled-bg: #1F365C;
  --fn-btn-disabled-border-color: #1F365C;
}

.cookie-btn.cookie-btn-accept {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.625rem 1.25rem !important;
  font-size: 0.875rem;
  font-weight: 500 !important;
  line-height: 1.125rem;
  color: #fff !important;
  background-color: #1F365C !important;
  border: 1px solid #1F365C !important;
  border-radius: var(--fn-border-radius) !important;
  transition: color .25s ease-in-out, background-color .25s ease-in-out, border-color .25s ease-in-out;
}

.cookie-btn.cookie-btn-accept:hover,
.cookie-btn.cookie-btn-accept:focus,
.cookie-btn.cookie-btn-accept:focus-visible {
  color: #fff !important;
  background-color: #172844 !important;
  border-color: #172844 !important;
}

.cookie-btn.cookie-btn-accept:active {
  color: #fff !important;
  background-color: #132139 !important;
  border-color: #132139 !important;
}

.btn-outline-primary {
  --fn-btn-color: #1F365C;
  --fn-btn-border-color: #1F365C;
  --fn-btn-hover-color: #fff;
  --fn-btn-hover-bg: #1F365C;
  --fn-btn-hover-border-color: #1F365C;
  --fn-btn-focus-shadow-rgb: 31, 54, 92;
  --fn-btn-active-color: #fff;
  --fn-btn-active-bg: #1F365C;
  --fn-btn-active-border-color: #1F365C;
  --fn-btn-disabled-color: #1F365C;
  --fn-btn-disabled-border-color: #1F365C;
}

.btn-accent {
  --fn-btn-color: #1F365C;
  --fn-btn-bg: #FFB536;
  --fn-btn-border-color: #FFB536;
  --fn-btn-hover-color: #1F365C;
  --fn-btn-hover-bg: #e6a331;
  --fn-btn-hover-border-color: #e6a331;
  --fn-btn-focus-shadow-rgb: 255, 181, 54;
  --fn-btn-active-color: #1F365C;
  --fn-btn-active-bg: #cc912b;
  --fn-btn-active-border-color: #cc912b;
  --fn-btn-disabled-color: #1F365C;
  --fn-btn-disabled-bg: #FFB536;
  --fn-btn-disabled-border-color: #FFB536;
}

.badge.text-bg-primary,
.text-bg-primary {
  color: #fff !important;
  background-color: #1F365C !important;
}

.badge.text-bg-warning,
.text-bg-warning {
  color: #1F365C !important;
  background-color: #FFB536 !important;
}

.bestcar-hero-text {
  max-width: 42rem;
}

.bestcar-hero-offer-btn:hover,
.bestcar-hero-offer-btn:focus,
.bestcar-accent-hover-btn:hover,
.bestcar-accent-hover-btn:focus {
  --fn-btn-hover-color: #1F365C;
  --fn-btn-hover-bg: #FFB536;
  --fn-btn-hover-border-color: #FFB536;
  color: #1F365C;
  background-color: #FFB536;
  border-color: #FFB536;
}

.bestcar-section-heading {
  max-width: 46rem;
}

.bestcar-offers-heading {
  max-width: 54rem;
}

.bestcar-about-image {
  transform: scale(1.04);
  transform-origin: center;
}

.bestcar-about-image .position-relative > svg.position-absolute.z-1 {
  display: none;
}

.bestcar-about-car-icon {
  top: 33.3%;
  right: 29%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14.25%;
  aspect-ratio: 1;
  border: .3125rem solid var(--fn-body-bg);
  border-radius: 50%;
  background-color: #1F365C;
}

.bestcar-about-car-icon img {
  width: 62%;
  height: auto;
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .card > .row > .col-sm-5.position-relative.bg-body-tertiary.overflow-hidden > .ratio {
    --fn-aspect-ratio: calc(9 / 16 * 100%) !important;
  }
}

@media (max-width: 767.98px) {
  .bestcar-about-section .row {
    --fn-gutter-y: 1.25rem;
  }

  .bestcar-about-image {
    transform: scale(1.08);
    transform-origin: center top;
    margin-top: 1.25rem !important;
    margin-bottom: 1.75rem !important;
  }

  .bestcar-about-image .ratio > img {
    object-fit: contain;
    object-position: center bottom;
  }

  .bestcar-about-title {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
    line-height: 1.12;
    padding-bottom: .875rem !important;
  }

  .bestcar-about-text {
    padding-bottom: 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.55;
  }
}

@media (max-width: 399.98px) {
  .bestcar-about-title {
    font-size: 1.625rem;
  }

  .bestcar-about-text {
    font-size: .9375rem !important;
  }
}

@media (max-width: 767.98px) {
  .bestcar-hero .row {
    min-height: clamp(23rem, 70vh, 34rem) !important;
  }

  .bestcar-hero-eyebrow {
    font-size: .75rem !important;
    letter-spacing: .06em !important;
  }

  .bestcar-hero-title {
    font-size: clamp(2rem, 9vw, 2.75rem);
    line-height: 1.08;
    padding-bottom: .875rem !important;
  }

  .bestcar-hero-text {
    max-width: 32rem;
    padding-bottom: 1.25rem !important;
    font-size: .975rem !important;
    line-height: 1.45;
  }

  .bestcar-hero .btn-lg {
    --fn-btn-padding-y: .675rem;
    --fn-btn-padding-x: 1rem;
    --fn-btn-font-size: .9375rem;
  }
}

@media (max-width: 399.98px) {
  .bestcar-hero-title {
    font-size: 1.875rem;
  }

  .bestcar-hero-text {
    font-size: .9rem !important;
  }
}

.bestcar-category-card {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.bestcar-category-card > i {
  margin-bottom: 1rem !important;
}

.bestcar-category-card .h6 {
  margin-bottom: .75rem !important;
}

.bestcar-category-card .fs-sm {
  line-height: 1.35;
}

@media (max-width: 991.98px) {
  .bestcar-category-panel {
    border: 0 !important;
    padding-top: 0 !important;
  }

  .bestcar-category-grid {
    --fn-gutter-x: 1.125rem;
    --fn-gutter-y: 1.125rem;
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
  }

  .bestcar-category-card {
    min-height: 8.75rem;
    padding: 1rem .875rem !important;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--fn-border-radius-lg);
    background-color: rgba(255, 255, 255, .06);
  }

  .bestcar-category-card > i {
    margin-bottom: .625rem !important;
    font-size: 1.5rem !important;
  }

  .bestcar-category-card .h6 {
    min-height: 2.25rem !important;
    margin-bottom: .375rem !important;
    font-size: .875rem;
    line-height: 1.25;
  }

  .bestcar-category-card .fs-sm {
    font-size: .8125rem !important;
    line-height: 1.25;
  }

  .bestcar-category-separator {
    display: none !important;
  }
}

@media (max-width: 399.98px) {
  .bestcar-category-grid {
    --fn-gutter-x: .75rem;
    --fn-gutter-y: .75rem;
  }

  .bestcar-category-card {
    min-height: 8.25rem;
    padding: .875rem .625rem !important;
  }

  .bestcar-category-card > i {
    margin-bottom: .5rem !important;
    font-size: 1.375rem !important;
  }

  .bestcar-category-card .h6 {
    min-height: 2.125rem !important;
    font-size: .8125rem;
    margin-bottom: .375rem !important;
  }

  .bestcar-category-card .fs-sm {
    font-size: .6875rem !important;
  }
}

@media (max-width: 449.98px) {
  .bestcar-offer-suffix {
    display: none;
  }
}

.bestcar-offer-price {
  display: inline-block;
  padding-bottom: .125rem;
  border-bottom: .25rem solid #FFB536;
  line-height: 1.05;
}

.bestcar-offer-card {
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.bestcar-offer-card:hover,
.bestcar-offer-card:focus-within {
  transform: translateY(-.125rem) !important;
  box-shadow: 0 .5rem 1rem rgba(31, 54, 92, .12) !important;
}

.bestcar-offer-card .hover-effect-target {
  transition: transform .25s ease;
}

.bestcar-offer-card:hover .hover-effect-target,
.bestcar-offer-card:focus-within .hover-effect-target {
  transform: scale(1.04);
}

.bestcar-cta-panel {
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 181, 54, .28), transparent 28rem),
    linear-gradient(135deg, #172844 0%, #1F365C 58%, #243f6d 100%);
  box-shadow: 0 1rem 2.5rem rgba(31, 54, 92, .16);
}

.bestcar-cta-panel::before,
.bestcar-cta-panel::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  pointer-events: none;
}

.bestcar-cta-panel::before {
  width: 18rem;
  height: 18rem;
  right: -5rem;
  bottom: -8rem;
  border: 1px solid rgba(255, 255, 255, .14);
}

.bestcar-cta-panel::after {
  width: 9rem;
  height: 9rem;
  right: 18%;
  top: -4rem;
  background-color: rgba(255, 255, 255, .06);
}

.bestcar-cta-card {
  border: 1px solid rgba(255, 255, 255, .14);
  background-color: rgba(255, 255, 255, .08);
  backdrop-filter: blur(.5rem);
}

.bestcar-brand-logo-card {
  min-height: 5rem;
  border: 1px solid var(--fn-border-color);
  background-color: var(--fn-body-bg);
  transition: box-shadow .2s ease, transform .2s ease;
}

.bestcar-brand-logo-card:hover {
  transform: translateY(-.125rem);
  box-shadow: 0 .5rem 1rem rgba(31, 54, 92, .08);
}

.bestcar-brand-logo-card img {
  max-height: 3.25rem;
}

.bestcar-knowledge-section {
  background-color: #F5F7FA;
}

.bestcar-footer-feature,
.bestcar-footer-contact {
  border: 1px solid rgba(255, 255, 255, .1);
  background-color: rgba(255, 255, 255, .04);
}

.bestcar-footer-contact {
  box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .08);
}

@media (max-width: 575.98px) {
  .bestcar-offer-card > .row > .position-relative.bg-body-tertiary,
  .bestcar-offer-card > .row > .position-relative.bg-body-tertiary > .ratio {
    --fn-aspect-ratio: calc(3 / 4 * 100%) !important;
  }

  .bestcar-offer-specs {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    column-gap: .75rem !important;
    row-gap: .25rem !important;
    padding-top: .875rem !important;
    line-height: 1.15;
    white-space: normal !important;
  }

  .bestcar-offer-specs > div {
    flex: 0 0 calc(50% - .375rem);
    min-width: 0;
    gap: .375rem !important;
  }
}

.bestcar-contact-map-form .bestcar-contact-form-overlap {
  margin-top: 1.5rem;
}

@media (min-width: 992px) {
  .bestcar-contact-map-form .bestcar-contact-form-overlap {
    margin-top: -12rem;
  }
}

@media (min-width: 1200px) {
  .bestcar-contact-map-form .bestcar-contact-form-overlap {
    margin-top: -14rem;
  }
}

/* CMS content tables */
.table-responsive {
  margin-block: 1.5rem;
  border: 1px solid var(--fn-border-color);
  border-radius: var(--fn-border-radius-lg);
  box-shadow: 0 .25rem .75rem rgba(31, 54, 92, .06);
}

.table-responsive > table {
  width: 100%;
  margin-bottom: 0;
  border: 0 !important;
  border-collapse: collapse;
  font-size: var(--fn-body-font-size);
  vertical-align: top;
}

.table-responsive > table td,
.table-responsive > table th {
  padding: .75rem 1rem;
  border: 1px solid var(--fn-border-color);
  vertical-align: top;
}

.table-responsive > table thead td,
.table-responsive > table thead th {
  color: #fff;
  font-weight: 600;
  background-color: #1F365C;
  border-color: rgba(255, 255, 255, .15);
}

.table-responsive > table tbody tr:nth-child(odd) td {
  background-color: rgba(31, 54, 92, .03);
}

.table-responsive > table tbody tr:hover td {
  background-color: rgba(255, 181, 54, .1);
}

[data-bs-theme="dark"] .table-responsive {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .2);
}

[data-bs-theme="dark"] .table-responsive > table thead td,
[data-bs-theme="dark"] .table-responsive > table thead th {
  background-color: #243f6d;
}

[data-bs-theme="dark"] .table-responsive > table tbody tr:nth-child(odd) td {
  background-color: rgba(255, 255, 255, .03);
}

[data-bs-theme="dark"] .table-responsive > table tbody tr:hover td {
  background-color: rgba(255, 181, 54, .12);
}

.cars-vendor-header-offset {
  margin-top: -128px;
}

.cars-catalog-cta-cover-overlay {
  background: linear-gradient(135deg, rgba(8, 16, 32, .55) 0%, rgba(8, 16, 32, .25) 100%);
}

.cars-catalog-cta {
  box-shadow: 0 1rem 2.5rem rgba(8, 16, 32, .12);
}

.cars-catalog-cta-heading {
  border-color: var(--fn-border-color) !important;
}

.cars-catalog-cta-search-panel {
  background: linear-gradient(180deg, rgba(31, 54, 92, .04) 0%, rgba(31, 54, 92, .08) 100%);
  border-bottom: 1px solid var(--fn-border-color);
}

.cars-catalog-cta-search-box,
.cars-catalog-cta-content-box {
  max-width: 34rem;
  margin-inline: auto;
}

.cars-catalog-cta-search-panel .cars-vendor-search {
  max-width: none;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.cars-vendor-search-input-wrap {
  position: relative;
  min-width: 0;
}

.cars-vendor-search-input-wrap .form-control {
  padding-left: 2.75rem;
  padding-right: 2.75rem;
  background-color: #fff;
}

.cars-vendor-search-icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  z-index: 2;
  transform: translateY(-50%);
  color: var(--fn-secondary-color);
  pointer-events: none;
  line-height: 1;
}

.cars-vendor-search-submit {
  flex-shrink: 0;
}

.cars-search-clear {
  position: absolute;
  top: 50%;
  right: .25rem;
  z-index: 5;
  transform: translateY(-50%);
  line-height: 1;
  padding: .25rem .5rem;
  color: var(--fn-secondary-color) !important;
}

@media (min-width: 576px) {
  .cars-catalog-cta-search-panel .cars-vendor-search {
    flex-direction: row;
    align-items: stretch;
  }

  .cars-vendor-search-input-wrap {
    flex: 1 1 auto;
  }

  .cars-vendor-search-submit {
    align-self: stretch;
  }
}

@media (max-width: 575.98px) {
  .cars-vendor-search-submit {
    width: 100%;
  }

  .cars-catalog-cta-search-box,
  .cars-catalog-cta-content-box {
    max-width: none;
  }
}

.cars-catalog-cta-search-panel .input-group .form-control,
.cars-catalog-cta-search-panel .input-group .input-group-text {
  border-color: var(--fn-border-color);
}

@media (min-width: 992px) {
  .cars-catalog-cta-search-panel {
    border-bottom: 0;
    border-right: 1px solid var(--fn-border-color);
  }

  .cars-vendor-header-offset {
    margin-top: -112px;
  }
}

@media (max-width: 991.98px) {
  .cars-vendor-header-offset {
    margin-top: -96px;
  }
}

.cars-vendor-logo {
  width: 124px;
}

.cars-vendor-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1.25rem;
}

.cars-vendor-description {
  max-width: 42rem;
}

.cars-vendor-search {
  max-width: 36rem;
  width: 100%;
}

.cars-search-clear:hover,
.cars-search-clear:focus-visible {
  color: var(--fn-body-color) !important;
}

.cars-filters-aside {
  position: relative;
}

.cars-filters-bar {
  z-index: 1040;
  padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
}

@media (max-width: 991.98px) {
  .cars-filters-aside {
    height: 0;
    padding: 0 !important;
    overflow: visible;
  }
}

/* Wallet is missing from finder-icons — SVG mask keeps fi-* sizing/color API */
.fi-wallet::before {
  content: "" !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

