body {
  background: var(--global-palette8);
  font-style: normal;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.6;
  font-family: var(--global-body-font-family);
  text-transform: none;
  color: var(--global-palette4);
}
#masthead {
  z-index: 105;
}
h1, h2, h3, h4, h5 {
  /* font-weight: 900; */
  /* font-family: var(--global-heading-font-family); */
}
h1 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.5;
  color: var(--global-palette3);
}
h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  color: var(--global-palette3);
}
h5 {
  font-size: 18px;
}
/* .checkout, */
#dealers-shortcode {
  font-size: 14px;
}

/* Scope Bootstrap nav/nav-link inside shortcode to avoid clash with header .sc-nav-link */
#dealers-shortcode .nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
#dealers-shortcode .nav-link {
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: inherit;
}
#dealers-shortcode .nav-link:hover {
  text-decoration: none;
}

#dealers-shortcode {
  /* position: fixed; */
  /* position: absolute; */
  /* top: 25px; */
  /* top: -30px; */
  /* bottom: 0; */
  /* left: 0;
  right: 0; */
  /* left: -5px; */
  /* right: -7px; */
  /* z-index: 101; */
  background: rgba(0,0,0,.7);
}

#dealers-shortcode .dealers-div {
  background: #fff;
  /* position: relative; */
  /* top: 25rem; */
  /* margin-top: 25vh; */
  /* position: absolute; */
  /* bottom: 0; */
  right: 0;
  left: 0;
  /* top: 70px; */
  top: 0;
}

#dealer-shortcode-search-filter input,
#search_dealer {
  min-height: 45px;
  height: 45px;
  font-size: 12px;
}

/* Search Dealer + Search Radius row: 60/40 from tablet up; stacked on mobile */
#dealers-shortcode #dealer-shortcode-search-filter.dealer-search-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-end;
}

#dealers-shortcode .dealer-search-filter-col {
  min-width: 0;
  flex: 1 1 100%;
}

#dealers-shortcode .dealer-search-filter-field-wrap {
  margin-bottom: 0 !important;
}

#dealers-shortcode .dealer-search-input-row,
#dealers-shortcode .dealer-search-radius-row #dealer-radius-dropdown-btn {
  min-height: 45px;
  height: 45px;
  box-sizing: border-box;
  line-height: normal;
  
}

/* Absolutely positioned dropdowns sit below the 45px control row */
#dealers-shortcode .search-field .dealer-search-dropdown-panel {
  top: 45px;
  left: 0;
  right: 0;
  margin-top: 0 !important;
}

#dealers-shortcode .dealer-search-dropdown-panel--loading {
  height: 200px;
}

#dealers-shortcode .dealer-search-dropdown-panel--empty {
  height: auto;
  padding: 1rem;
  text-align: center;
  font-size: 16px;
}

@media (min-width: 768px) {
  #dealers-shortcode .dealer-search-filter-col--dealer {
    flex: 6 1 0;
  }

  #dealers-shortcode .dealer-search-filter-col--radius {
    flex: 4 1 0;
  }
}

/*
 * Dealer filter toggles: use .dealer-filter-checkbox only (not Bootstrap .form-check-input).
 * Bootstrap + checkout/Elementor can stack a dark “checked” layer (looks like a black inner box).
 */
#dealers-shortcode input.dealer-filter-checkbox[type="checkbox"] {
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  min-height: 20px;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0;
  vertical-align: middle;
  border: 1px solid #adb5bd !important;
  outline: none !important;
  border-radius: 0.25rem !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  cursor: pointer;
  color-scheme: light;
}

#dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]::before,
#dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]::after {
  content: none !important;
  display: none !important;
}

#dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]:checked {
  background-color: #ff7f00 !important;
  border-color: #e87200 !important;
  box-shadow: none !important;
  filter: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E") !important;
  background-size: 12px 12px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]:focus-visible {
  outline: 2px solid #ff7f00 !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

/* Checkout / Elementor wrappers often raise specificity — mirror rules on body.woocommerce-checkout */
body.woocommerce-checkout #dealers-shortcode input.dealer-filter-checkbox[type="checkbox"],
.elementor-widget-container #dealers-shortcode input.dealer-filter-checkbox[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border: 1px solid #adb5bd !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.woocommerce-checkout #dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]:checked,
.elementor-widget-container #dealers-shortcode input.dealer-filter-checkbox[type="checkbox"]:checked {
  background-color: #ff7f00 !important;
  border-color: #e87200 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E") !important;
  background-size: 12px 12px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#dealers-shortcode #map,
#dealers-shortcode .dealers-map {
  width: 100%;
  min-height: 280px;
}

/* Do not size filter toggles here — they use rules above */
#dealers-shortcode input[type="checkbox"]:not([name="filter_type"]) {
  height: 20px;
  width: 20px;
}

#dealers-shortcode #map .gm-style-iw-ch {
  padding-top: 0;
}
#dealers-shortcode #map .gm-style .gm-style-iw-c {
  padding: 0;
  border-radius: 0;
}
#dealers-shortcode #map .gm-style .gm-style-iw-d {
  overflow: hidden !important;
}
#dealers-shortcode #map .gm-ui-hover-effect {
  display: none !important;
}
#dealers-shortcode #map .gm-style .gm-style-iw-tc::after {
  background: #ff7F00;
}
#dealers-shortcode #map .ffl-location__popup {
  /* background-color: #933311; */
  background-color: #fff;
  /* color: #f9f7f0; */
  color: #000;
  /* width: 23.5rem; */
  padding: 0.8rem 1.4rem 1rem 1.6rem;
  align-items: center;
  border: 3px solid #ff7F00;
  font-weight: bold;
}

/* FFL LOCATIONS */
#dealers-shortcode #ffl_locations {
  /* height: 80vh; */
  /* height: 65vh; */
  height: auto;
  max-height: 560px;
  overflow-y: scroll;
  padding-bottom: 20px;
  scroll-margin-top: 130px;
}

.dealer-search-dropdown-panel,
#dealer-radius-dropdown {
  background-color: #f9fafb;
  border: 1px solid #dee2e6 !important;
}

#dealers-shortcode #ffl_locations > div,
#dealers-shortcode #ffl_locations .ffl_location_item {
  cursor: pointer;
}
#dealers-shortcode #ffl_locations div.item-content.ffl_location_item,
#dealers-shortcode #ffl_locations div.item-content.get-directions,
#dealers-shortcode #ffl_locations div.item-content.add-to-preferred-btn {
  background-color: #F4F6F6 !important;
}
#dealers-shortcode #ffl_locations div.item-content.add-to-preferred-saved {
  background-color: #F4F6F6 !important;
  cursor: pointer;
}

#dealers-shortcode #ffl_locations .preferred-dealer-action--pending {
  pointer-events: none;
  cursor: wait;
}
/* #dealers-shortcode #ffl_locations > div:nth-child(even) {
  background-color: #fff;
} */
#dealers-shortcode .ffl_location_item {
  border-left: 0.4rem solid rgba(0,0,0,0);
}
#dealers-shortcode .ffl_location_item .location-black2,
#dealers-shortcode .ffl_location_item.active .location-red2 {
  display: block;
}
#dealers-shortcode .ffl_location_item .location-red2,
#dealers-shortcode .ffl_location_item.active .location-black2 {
  display: none;
}
#dealers-shortcode .ffl_location_item.active {
  /* border-left: 0.4rem solid #933311; */
  /* border-left: 0.4rem solid #ff7F00; */
  border: 0.4rem solid #ff7F00;
  /* border: 0.4rem solid #e8262a; */
}
#dealers-shortcode .ffl_location_item {

}

/* SPEQ in-store only notice (is_speq_dealer = true, is_d2c_eligible = false) */
#dealers-shortcode .dealer-speq-instore-only {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 11px;
  line-height: 1.35;
  color: #555;
}
#dealers-shortcode .dealer-speq-instore-only__icon {
  flex-shrink: 0;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  color: #666;
  cursor: help;
}
#dealers-shortcode .dealer-speq-instore-only__text {
  flex: 1;
}

#dealers-shortcode i.fas {
  font-size: 20px;
  color: #fff;
}

/* POPUP */
#dealers-shortcode .ffl-location__details {
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  padding-top: 4.2rem;
  display: flex;
  flex: 0 0 auto;
  width: 46.1rem;
  box-shadow: 0px 0.4rem 0.4rem rgba(0,0,0,.25), inset 0px 1px 0px #ede6d4;
}
#dealers-shortcode .dialog-select-dealer .svg-close {
  color: #23100a;
  margin-left: 0.8rem;
}
#dealers-shortcode .ffl-location__details--close {
  top: 1.2rem;
  right: 1.2rem;
}
#dealers-shortcode .ffl-location__details--header {
  margin-bottom: 1.2rem;
}
#dealers-shortcode .ffl-location__details>* {
  margin-bottom: 1.2rem;
}
#dealers-shortcode .ffl-location__details--checklist {
  flex: 1;
  padding: 0 3.2rem;
  flex-direction: column;
}
#dealers-shortcode .ffl-location__details--footer {
  padding: 1.6rem;
  background-color: #f6f3e9;
  box-shadow: inset 0px 1px 0px #ede6d4;
  width: 100%;
  margin-bottom: 0;
}


/*  */
#dealers-shortcode .ffl_locations_details {
  display: none; 
  /* position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5); */
}
#dealers-shortcode .ffl_locations_details__content {
  background: #fff;
  /* margin: 8% auto; */
  /* border: 1px solid #888; */
  /* width: 60%; */
  /* max-width: 800px; */
  /* box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.2); */
  /* height: 70vh; */
  height: 600px;
  position: relative;
}
#dealers-shortcode .ffl_locations_details__header {
  text-align: right;
  padding: 1rem 1.6rem;
}
#dealers-shortcode .ffl_locations_details__header .close-button {

}
#dealers-shortcode .ffl_locations_details__body {
  /* padding: 0 3.2rem; */
  padding: 0 15px;
}
#dealers-shortcode .ffl_locations_details__body .title {
  /* font-size: 20px; */
  font-size: 15px;
  font-weight: bold;
}
#dealers-shortcode .ffl_locations_required {
  color: #933311;
  font-weight: 700;
}
#dealers-shortcode .checkbox2 {
  display: block;
  position: relative;
  cursor: pointer;
  color: #23100a;
  padding-left: 32px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
#dealers-shortcode .checkbox2 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
#dealers-shortcode .checkbox2 input:checked+.checkmark2 {
  background-color: #933311;
  border-width: 0;
}
#dealers-shortcode .checkbox2 .checkmark2 {
  position: absolute;
  top: 0;
  left: 0;
  height: 19px;
  width: 19px;
  background: #fff;
  border: 1px solid #898886;
  box-sizing: border-box;
  border-radius: 1px;
}
#dealers-shortcode .checkbox2 input:checked+.checkmark2:after {
  display: block;
}
#dealers-shortcode .checkbox2 .checkmark2:after {
  left: 6px;
  top: 0px;
  width: 7px;
  height: 14px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
  position: relative;
  display: none;
}
#dealers-shortcode .text-error {
  font-weight: 500;
  font-size: 12px;
  color: #d72209;
}
#dealers-shortcode .checklist {
  /* padding: 24px 0; */
  padding: 0;
}
#dealers-shortcode .ffl_locations_details__checklist__note {
  /* padding: 10px 0 100px; */
  padding: 10px 0 10px;
}
#dealers-shortcode .ffl_locations_details__footer {
  /* padding: 1.6rem; */
  padding: 15px;
  background-color: #f6f3e9;
  box-shadow: inset 0px 1px 0px #ede6d4;
  width: 100%;
  margin-bottom: 0;
  position: absolute;
  bottom: 0;
}
#dealers-shortcode .btn-select-dealer {
  font-size: 16px;
  font-weight: bold;
  /* padding: 1.2rem 2.4rem; */
  /* padding: 10px; */
  padding: 10px 50px;
  color: #fff;
  /* background-color: #933311; */
  /* background-color: #ff7F00; */
  /* background-color: #e8262a; */
  background: #aaaaaa;
  letter-spacing: .5px;
  text-transform: uppercase;
  border: 0 solid rgba(0,0,0,0);
  width: 100%;
  border-radius: 3px;
}
#dealers-shortcode .btn-select-dealer:disabled {
  /* opacity: 0.5; */
  background: #aaaaaa !important;
}
#dealer-shortcode-search-filter #search_zip {
  border-radius: 0 !important;
}
#dealers-shortcode #search_zip {
  background: #ff7F00;
}



/* Show Modal Animation */
#dealers-shortcode .fade-in {
  animation: fade-in 0.3s;
}

/* #dealers-shortcode {
  display: none;
} */

.selected-dealer-box {
  /* background: #e3e3e3;  */
  border-radius: 10px; 
  /* padding: 20px; */
  padding: 0;
  margin-top: 20px;
}

#ffl_dealer {
  /* background: #8c8c8c;  */
  /* border-radius: 50px;  */
  /* background: #e8262a;  */
  background: #aaaaaa;
  text-transform: capitalize; 
  margin-bottom: 3px;
  width: 100%;
}

.ffl_locations_details__checklist__note,
#dealers-shortcode .checkbox2 p {
  color: var(--global-palette3);
  font-weight: normal;
  font-size: 17px;
  margin-bottom: 10px;
}

@keyframes fade-in {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}


/* LOADING SCREEN */
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  z-index: 9999;
}

.loading-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
}

.loading-spinner {
  display: inline-block;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* .checkout-login-prompt {
  margin-bottom: 20px;
} */

/* Mobile: up to 575px */
@media (max-width: 575.98px) {
  #dealers-shortcode #map,
  #dealers-shortcode .dealers-map {
      height: 280px;
  }
  #dealers-shortcode #ffl_locations {
      max-height: 50vh;
      height: auto;
  }
  #dealers-shortcode .ffl_locations_details__content {
      height: 100%;
      max-height: 85vh;
      border-top: 1px #cbcaca solid;
  }
  #dealers-shortcode .container-fluid {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
  }
  #dealers-shortcode .ffl_location_item .fw-bolder {
      font-size: 0.95rem;
  }
  #dealers-shortcode .ffl_location_item .fw-normal {
      font-size: 0.8rem;
  }
}

/* Mobile / small tablet: 576px to 767px */
@media (min-width: 576px) and (max-width: 767.98px) {
  #dealers-shortcode #map,
  #dealers-shortcode .dealers-map {
      height: 380px;
  }
  #dealers-shortcode #ffl_locations {
      max-height: 45vh;
  }
}

/* Tablet: 768px to 991px */
@media (min-width: 768px) and (max-width: 991.98px) {
  #dealers-shortcode #map,
  #dealers-shortcode .dealers-map {
      height: 450px;
  }
  #dealers-shortcode #ffl_locations {
      max-height: 480px;
  }
}

/* Desktop: 992px and up */
@media (min-width: 992px) {
  #dealers-shortcode #map,
  #dealers-shortcode .dealers-map {
      height: 600px;
  }
  #dealers-shortcode #ffl_locations {
      max-height: 560px;
  }
}

/* Mobile: tap dealer card to reveal Get Directions and Save to Preferred buttons */
@media (max-width: 767.98px) {
  #dealers-shortcode .location_item .location-mobile-actions {
      display: none !important;
  }
  #dealers-shortcode .location_item.mobile-actions-visible .location-mobile-actions {
      display: flex !important;
  }
  #dealers-shortcode .location_item .dealer-mobile-action {
      display: none !important;
  }
  #dealers-shortcode .location_item.mobile-actions-visible .dealer-mobile-action.get-directions {
      display: inline-block !important;
  }
  #dealers-shortcode .location_item.mobile-actions-visible .dealer-mobile-action.add-to-preferred-btn,
  #dealers-shortcode .location_item.mobile-actions-visible .dealer-mobile-action.add-to-preferred-saved {
      display: flex !important;
  }
}

/* Shared mobile overrides (max 768px) */
@media (max-width: 768px) {
  #dealers-shortcode #ffl_locations {
      max-height: 46vh;
      height: auto;
  }
  #dealers-shortcode .ffl_locations_details__content {
      height: 100%;
      border-top: 1px #cbcaca solid;
  }
  .text-md-left {
      text-align: center;
  }
  #dealers-shortcode input,
  #dealers-shortcode #search_zip {
      height: 45px;
      border-radius: 0 !important;
      font-size: 15px;
  }
  #dealers-shortcode .ffl_location_item .col {
      margin-bottom: 0;
  }
  #dealer-radius-dropdown-btn {
      height: 45px;
  }
  .dropdown-icon {
      background-color: #ff7f00;
      height: 100%;
      width: 50px;
  }
}

.dropdown-icon {
  background-color: #ff7f00; 
  height: 100%;  
  width: 50px;
}

#dealer-radius-dropdown-btn {
  line-height: 33px;
}

label { 
  font-size: 16px;
  font-weight: bold;
}

.w-25px {
  width: 25px;
}

.h-25px {
  height: 35px;
}

.btn-search {
  padding: 0.4em 1em;
  background-color: #ff7f00;
  color: #fff;
}

#dealer-radius-dropdown .dealer-radius-option {
  cursor: pointer;
}

#dealer-radius-dropdown .dealer-radius-option:hover {
  background-color: #ffb061;
}

.search-item:hover {
  background-color: #ffb061;
}

.search-item{
  cursor: pointer;
  border-bottom: 1px solid #DFE4EA;
}

#dealers-shortcode .search-field {
  border: none !important;
  padding: 0 !important;
}

/* Ensure floating panels stack above list content */
#dealers-shortcode .search-field.position-relative {
  z-index: 2;
}

/* Radius options panel: align with 45px row (same as dealer autocomplete panels) */
#dealers-shortcode .dealer-search-radius-row #dealer-radius-dropdown {
  position: absolute;
  top: 45px;
  left: 0;
  right: 0;
  z-index: 20;
}

#dealers-shortcode .dealer-radius-dropdown__toggle[aria-expanded="true"] .dealer-radius-dropdown__caret svg {
  transform: rotate(180deg);
}

#dealers-shortcode .dealer-radius-dropdown__caret svg {
  transition: transform 0.15s ease;
  display: block;
}

.hidden {
  opacity: 0;
  visibility: hidden;
  display: none;
  pointer-events: none;
  z-index: -1;
}

