:root {
  --primary-color: #a71a39 !important;
  --primary-dark: #8a152f !important;
  /* hover / darker */
  --primary-darker: #690e22 !important;
  /* active / strongest */
  --primary-light: #e08095 !important;
  /* light fill */
  --primary-xlight: #f5c8d0 !important;
  /* very pale */
  --secondary-color: #a39161 !important;
  /* gold */
  --secondary-dark: #86734f !important;
}

/* ===========================
   Global / Text / Links
   =========================== */
a,
.text-primary,
.text-price-color,
.cruise-title,
.page-container .breadcrumb a.breadcrumb-item,
.filter-panel .panel-body .filter-container>span,
.filter-content-component .panel-title a {
  color: var(--primary-color) !important;
}

.text-secondary {
  color: var(--primary-dark) !important;
}

a:hover,
a:focus,
a.text-primary:focus,
a.text-primary:hover {
  color: var(--primary-dark) !important;
}

/* selection */
::-moz-selection,
::selection,
option::selection {
  background: var(--primary-color) !important;
  color: #fff !important;
}

/* ===========================
   Buttons
   =========================== */
.btn-primary,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary.disabled,
.btn-primary:disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
}

.btn-primary:hover {
  background-color: var(--primary-dark) !important;
  border-color: var(--primary-dark) !important;
  color: #fff !important;
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.open>.btn-primary.dropdown-toggle {
  background-color: var(--primary-darker);
  border-color: var(--primary-darker);
}

.btn-primary .badge {
  color: var(--primary-color);
}

.btn-outline-primary {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

/* focus shadow */
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.open>.btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 .2rem rgba(167, 26, 57, .35);
}

/* ===========================
   Backgrounds & Panels
   =========================== */
.bg-primary,
.search-bar-section,
.search-bar-section-collapsed,
[data-ody-id=CruiseHQTemplate] [data-ody-id=TourPackageSectionFooter] .tour-package-footer-section,
.bg-green {
  background-color: var(--secondary-dark) !important;
  background-image: none !important;
}

.bg-primary-dark {
  background: var(--primary-dark) !important;
}

.bg-secondary {
  background: var(--secondary-color) !important;
  color: #fff !important;
}

.bg-secondary-light {
  background: var(--primary-xlight) !important;
}

.bg-light-primary {
  background: var(--primary-xlight) !important;
}

/* panels/cards */
.panel-card .panel-card-title {
  background: var(--primary-color) !important;
  color: #fff !important;
}

.package-details .package-prices {
  background: var(--secondary-color) !important;
  color: #fff !important;
}

.package-details .package-fare-details .panel-card-body tfoot td:last-child {
  background: var(--secondary-color) !important;
  color: #fff !important;
}

.package-details .package-departure-details p {
  background: var(--primary-light) !important;
}

/* ===========================
   Borders & Tabs
   =========================== */
.border-primary,
.tour-package-v2 .package-banner-title-details {
  border-color: var(--primary-color) !important;
}

.nav-tabs>li.active>a.nav-link,
.nav-tabs>li.active>a.nav-link:focus,
.nav-tabs>li.active>a.nav-link:hover,
.flat-tabs .nav-tabs>li.active>a.nav-link {
  background: var(--primary-color) !important;
  color: #fff !important;
  border-color: var(--primary-color) !important;
}

.nav-stepper .nav-link.active {
  color: #fff;
  background: var(--primary-color) !important;
}


.nav-stepper .nav-link.active::after {
  border-color: transparent var(--primary-color) !important;
}

/* top-line (secondary) */
.top-line .nav-tabs>li.active>a.nav-link,
.top-line .nav-tabs>li.active>a.nav-link:focus,
.top-line .nav-tabs>li.active>a.nav-link:hover,
.top-line .custom-tabs .nav-tabs>li>a.nav-link.active {
  background: none !important;
  color: var(--secondary-color) !important;
  border-top-color: var(--secondary-color) !important;
  border-left-color: rgba(0, 0, 0, .07) !important;
  border-right-color: rgba(0, 0, 0, .07) !important;
}

/* border-tab secondary indicator */
.border-tab .nav-tabs>li.active>a.nav-link::after,
.border-tab .nav-tabs>li.active>a.nav-link:focus::after,
.border-tab .nav-tabs>li.active>a.nav-link:hover::after {
  background: var(--secondary-color) !important;
}

/* list-group active */
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

/* ===========================
   Checkboxes / Radios / Toggles / Slider
   =========================== */
.custom-checkbox .custom-control-label::after,
.custom-radio .custom-control-label::after {
  border-color: var(--primary-color) !important;
}

.custom-checkbox input[type=checkbox]:focus~.custom-control-label::before,
.custom-radio input[type=radio]:focus~.custom-control-value::before {
  box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(167, 26, 57, .25);
}

/* slide toggle */
.slide-toggle-label input[type=checkbox]:checked+.slide-toggle {
  background-color: rgba(167, 26, 57, .5) !important;
  /* replaced blue rgba */
}

.slide-toggle-label input[type=checkbox]:checked+.slide-toggle::after {
  background-color: var(--primary-color) !important;
}

/* checkbox-icon */
.checkbox-icon input[type=checkbox]:checked+.checkbox-hidden-content {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

/* ngx-slider / custom-slider */
.custom-slider ngx-slider .ngx-slider-pointer::after,
.custom-slider ngx-slider .ngx-slider-selection,
.custom-slider .ngx-slider .ngx-slider-pointer.ngx-slider-active::after {
  background: var(--primary-color) !important;
}

/* ===========================
   Datepicker / Calendar
   =========================== */
.bs-datepicker-body table td span.selected,
.bs-datepicker-body table td.selected span,
.bs-datepicker-head {
  background-color: var(--primary-color) !important;
  color: #fff !important;
}

.bs-datepicker-body table td.week span {
  color: var(--primary-color) !important;
}

/* hide-date styling (replaced blue border-bottom with primary-darker) */
.hide-date {
  color: var(--secondary-color) !important;
  background-color: #fff !important;
  border: 1px solid var(--secondary-color) !important;
  border-bottom: 3px solid var(--primary-darker) !important;
}

/* ===========================
   Filters / Facets
   =========================== */
.filter-container .filter-item.active label {
  color: #fff !important;
  background: var(--secondary-color) !important;
}

.filter-container .filter-item.active .filter-facet-count {
  background-color: rgba(163, 145, 97, .26) !important;
  /* gold-tint */
  padding: 0 6px;
  border-radius: 1rem;
  color: #fff !important;
}

.filter-badge-counts .custom-checkbox .custom-control-label .filter-facet-count {
  color: var(--primary-color) !important;
}

.nav-stepper .stepper-item-caption {
  color: var(--primary-color) !important;
}

/* filter show more */
.filter-component [data-ody-id=ShowMoreLessButton] {
  color: var(--primary-color) !important;
  border-bottom: 1px solid var(--primary-color) !important;
}

::-moz-selection {
  color: #fff;
  background: var(--primary-color) !important;
}

::selection {
  color: #fff;
  background: var(--primary-color) !important;
}

.cruise-details-title,
[data-ody-id=BookingDetailsPageTitle],
[data-ody-id=StickyPageTitle] {
  color: var(--primary-color) !important;
}

.loading-box,
.loading-box-air,
.loading-box-cruise,
.loading-box-hotel {
  border-color: var(--primary-color) !important;
}

/* ===========================
   Cruise / Itinerary icons
   =========================== */
.package-details-banner .package-itinerary-details .itinerary-shipname {
  background: var(--secondary-color) !important;
}

.package-details-banner .tour-package-details {
  background-image: linear-gradient(to bottom, transparent 0, transparent 10%, var(--primary-color) 100%) !important;
}

/* breadcrumb / icons */
.package-details-banner .tour-package-icons .breadcrumb-item+.breadcrumb-item::before,
.package-details-banner .tour-package-icons .odi,
.package-details-banner .tour-package-icons .progress-stepper-dots .checkout-step.past .checkout-step-dot::before {
  color: var(--secondary-color);
  background: #fff;
}

.package-details .nav-tabs>li.nav-item.active>a.nav-link,
.package-details .nav-tabs>li.nav-item.active>a.nav-link:focus,
.package-details .nav-tabs>li.nav-item.active>a.nav-link:hover {
  background-color: var(--secondary-color);
}

/* ===========================
   Cruise Template Specific
   =========================== */
[data-ody-id=CruiseHQTemplate] .package-details .package-prices .cruise-category-price-section,
[data-ody-id=CruiseHQTemplate] [data-ody-id=TourPackageSectionFooter] [data-ody-id=book] {
  background-color: var(--primary-light);
}

[data-ody-id=CruiseHQTemplate] .package-details .package-prices .sailing-category-price {
  color: var(--primary-darker);
}

/* package prices area */
.tour-package-v4 .package-prices>div>div {
  background: var(--primary-xlight);
}

/* ===========================
   Select2 (complete coverage)
   =========================== */
/* container & selection */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.ody-dropdown .select2-container--default .select2-selection {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .12);
}

/* selected choice chip */
.ody-dropdown .select2-selection__choice,
.select2-container--default .select2-selection__choice {
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
  color: #fff;
}

/* selection focus */
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-selection[tabindex]:focus {
  box-shadow: 0 0 0 .2rem rgba(167, 26, 57, .25);
}

/* results list item normal */
.select2-container--default .select2-results__option {
  color: #222;
  background: #fff;
}

/* highlighted result (keyboard/hover) */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: var(--primary-color);
  color: #fff;
}

/* highlighted result's facet count (if exists) */
.select2-container--default .select2-results__option--highlighted[aria-selected] .search-facet-count,
.select2-container--default .select2-results__option[aria-selected=true] .search-facet-count,
.select2-container--default .select2-results__option--highlighted .search-facet-count {
  color: #fff;
  background-color: rgba(167, 26, 57, .15);
}

/* dropdown arrow / caret */
.select2-container--default .select2-selection__arrow b {
  border-color: transparent transparent var(--primary-color) transparent;
}

/* placeholder text color */
.select2-container--default .select2-selection__placeholder {
  color: rgba(0, 0, 0, .45);
}

/* no-results / message */
.select2-container--default .select2-results__message {
  color: rgba(0, 0, 0, .6);
}

/* dropdown menu item focus/hover */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--primary-dark);
  color: #fff;
}

/* ===========================
   Select2 search input (if used)
   =========================== */
.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid rgba(0, 0, 0, .08);
  color: #222;
  padding: .35rem .5rem;
}

/* ===========================
   Search bar & Gradient (no blues)
   =========================== */
.search-bar-section {
  background-image: linear-gradient(to bottom, var(--primary-color) 5%, var(--primary-darker) 100%);
}

.search-bar-section-collapsed {
  color: #fff;
  background: var(--primary-color);
}

/* Advanced / reset links in searchbar */
.searchbar-advanced-search-link,
.searchbar-reset-search-link {
  color: #fff !important;
}

/* ===========================
   Chat / CruiseGPT
   =========================== */
.odyCruiseGpt-message .odyCruiseGpt-message-text button {
  color: var(--primary-color);
  border-color: var(--primary-color);
}

.odyCruiseGpt-message.odyCruiseGpt-message-reply .odyCruiseGpt-message-text {
  background: var(--primary-color) !important;
  color: #fff;
}

.odyCruiseGpt-message.odyCruiseGpt-message-reply::before {
  border-top: 13px solid var(--primary-color);
}

.chat-box-modal .modal-content .modal-header .modal-close {
  background: var(--primary-color) !important;
}

/* Chat reply button color variant if needed */
.odyCruiseGpt-message .odyCruiseGpt-message-text button:hover {
  background: var(--primary-dark);
  color: #fff;
}

/* ===========================
   Misc UI: loaders, carousel, icons
   =========================== */
.client-loader {
  border-color: var(--primary-color);
}

.image-carousel .slick-slide.slick-current img {
  border-color: var(--primary-color);
}

/* progress / stepper */
.progress-stepper-arrow .checkout-steps-wrap .checkout-step.current .checkout-step-inner,
.progress-stepper-arrow .checkout-steps-wrap .checkout-step.past .checkout-step-inner {
  background: var(--primary-color);
  color: #fff;
}

.progress-stepper-arrow .checkout-steps-wrap .checkout-step.current .checkout-step-inner::after,
.progress-stepper-arrow .checkout-steps-wrap .checkout-step.past .checkout-step-inner::after {
  border-color: transparent var(--primary-color);
}

.line-scale-pulse-out-rapid>div {
  background-color: var(--primary-color);
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  display: inline-block;
  animation: wave 1s ease-in-out infinite;
}

.line-scale-pulse-out-rapid>div:nth-child(1) {
  animation-delay: 0s;
}

.line-scale-pulse-out-rapid>div:nth-child(2) {
  animation-delay: 0.1s;
}

.line-scale-pulse-out-rapid>div:nth-child(3) {
  animation-delay: 0.2s;
}

.line-scale-pulse-out-rapid>div:nth-child(4) {
  animation-delay: 0.3s;
}

.line-scale-pulse-out-rapid>div:nth-child(5) {
  animation-delay: 0.4s;
}

@keyframes wave {

  0%,
  100% {
    transform: scaleY(0.4);
  }

  50% {
    transform: scaleY(1);
  }
}

/* cruise-sailing dates */
.cruise-sailing-dates .nav-tabs>li.nav-item>a.nav-link.active {
  border-top: 2px solid var(--primary-color);
  color: var(--primary-color);
}

/* ===========================
   Accessibility tweaks
   =========================== */
a:focus,
button:focus,
.select2-container--default .select2-selection[tabindex]:focus {
  outline: none;
  box-shadow: 0 0 0 .18rem rgba(167, 26, 57, .22);
}

/* ===========================
   Final notes
   ===========================
   - All previous blue values (hex & rgba) replaced with magenta/gold family.
   - Select2 covered: container, selection, choice, dropdown results, highlighted state, search field.
   - If you use any additional custom classes for dropdowns, chips, or third-party widgets, let me know and I'll map them to the var palette.
*/


.odi-home {
  color: white !important;
}

.table-header.supplier-payment-title-table {
  color: #fff;
  background-color: var(--secondary-color) !important;
}

.table-header.supp-payment-title-table {
  border-color: var(--secondary-dark) !important;
}

.checkout-stepper-accordion .st-open>.card-header {
  color: #fff !important;
  background: var(--secondary-color) !important;
}

.checkout-stepper-accordion .st-open>.card-header .step-number {
  color: var(--primary-darker) !important;
}

.btn-outline-secondary {
  color: var(--primary-darker) !important;
  border-color: var(--primary-dark) !important;
  background-color: transparent;
  background-image: none
}

.btn-outline-secondary:hover {
  color: var(--primary-darker) !important;
  border-color: var(--primary-dark) !important;
}

.custom-control-label::after {
  border-color: var(--primary-color) !important;
}

.cruise-features .cruise-feature-link .more-link {
  background: #fff !important;
}