/* ==========================================================================
   THEME COMPATIBILITY FOUNDATION
   ========================================================================== */

/* Import theme compatibility framework */
@import url('theme-compatibility.css');

/* ==========================================================================
   PLUGIN-SPECIFIC STYLES
   ========================================================================== */

.barb-form-wrapper {
 display: flex;
 flex-wrap: wrap;
 gap: 15px;
 margin-bottom: 20px;
}
.barb-form-wrapper > div {
 flex: 1;
 min-width: 200px;
}
.barb-form-wrapper label {
  font-weight: 500;
  margin-bottom: 5px;
  display: block;
}
.barb-form-wrapper input[type="text"] {
  width: 100%;
  padding: 8px 12px;
  border: 2px solid #fab900;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.3s ease;
  box-shadow: none;
}
.barb-form-wrapper input[type="text"]:focus {
  outline: none;
  border-color: #007cba;
  box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.2);
}
.barb-pickup-date input[type="text"] {
  border-right: none;
}
/* .backhoe_duration_and_price .callout {
  display: flex;
  border: none;
  border-radius: 3px;
}
.backhoe_duration_and_price .callout.alert {
  color: #f71616;
  background: #ffeaea;
}
.backhoe_duration_and_price .callout.success {
  color: #333;
}
.backhoe_duration_and_price .fas {
  padding: 10px 15px 5px 0;
  font-size: 1.5em;
 }
 .backhoe_duration_and_price .callout.success .fas {
  color: #079e35;
 } */

.backhoe_duration_and_price .callout.success .fas {
  color: #079e35;
}
.backhoe_duration_and_price .fas {
  padding: 10px 15px 5px 0;
  font-size: 1.5em;
}
.backhoe_duration_and_price .callout__alert {
  color: #f71616;
  background: #ffeaea;
}
.backhoe_duration_and_price .callout__success {
  padding: .2rem .5rem .5rem .5rem;
}
.backhoe_duration_and_price .callout__success__line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}

.lds-dual-ring {
    display: inline-block;
    width: 80px;
    height: 80px;
  }
  .lds-dual-ring:after {
    content: " ";
    display: block;
    width: 64px;
    height: 64px;
    margin: 5% auto;
    border-radius: 50%;
    border: 6px solid #aaa;
    border-color: #aaa transparent #aaa transparent;
    animation: lds-dual-ring 1.2s linear infinite;
  }
  @keyframes lds-dual-ring {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .lds-roller {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    transform: scale(.75);
  }
  .lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
  }
  .lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #888;
    margin: -4px 0 0 -4px;
  }
  .lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
  }
  .lds-roller div:nth-child(1):after {
    top: 63px;
    left: 63px;
  }
  .lds-roller div:nth-child(2) {
    animation-delay: -0.072s;
  }
  .lds-roller div:nth-child(2):after {
    top: 68px;
    left: 56px;
  }
  .lds-roller div:nth-child(3) {
    animation-delay: -0.108s;
  }
  .lds-roller div:nth-child(3):after {
    top: 71px;
    left: 48px;
  }
  .lds-roller div:nth-child(4) {
    animation-delay: -0.144s;
  }
  .lds-roller div:nth-child(4):after {
    top: 72px;
    left: 40px;
  }
  .lds-roller div:nth-child(5) {
    animation-delay: -0.18s;
  }
  .lds-roller div:nth-child(5):after {
    top: 71px;
    left: 32px;
  }
  .lds-roller div:nth-child(6) {
    animation-delay: -0.216s;
  }
  .lds-roller div:nth-child(6):after {
    top: 68px;
    left: 24px;
  }
  .lds-roller div:nth-child(7) {
    animation-delay: -0.252s;
  }
  .lds-roller div:nth-child(7):after {
    top: 63px;
    left: 17px;
  }
  .lds-roller div:nth-child(8) {
    animation-delay: -0.288s;
  }
  .lds-roller div:nth-child(8):after {
    top: 56px;
    left: 12px;
  }
  @keyframes lds-roller {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  
  
  
  .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background: rgba(0,0,0,.8);
      z-index: 999;
      opacity: 1;
      transition: all 0.5s;
  }
.backhoe_cart{
  margin-top: 30px;
}
  .callout.success {
    background-color: #e1faea;
    margin: 0 0 1rem 0;
    border-radius: 3px;
    padding: 1rem;
  }
  .backhoe_add_tocart .quantity {
margin-right: 5px;
  }
  .backhoe_add_tocart .quantity input {
    width: 100px;
  height: 45px;
  border: 1px solid #fab900;
  background-color: rgba(255, 255, 255, 0.34);
  padding: 0 0 0 15px;
  }
  .woocommerce  .backhoe_add_tocart  button.button,
  .woocommerce  .backhoe_add_tocart  button.button:disabled[disabled]  {
    padding: 16px 35px 16px;
    font-size: 13px;
    border-radius: 0;
  }
  .woocommerce  .backhoe_add_tocart  button.button {
    color: #000;
    background-color: #fab900;
  }
  .woocommerce  .backhoe_add_tocart  button.button:hover {
    background-color: #313131;
    color: #fff;
  }
  div.daterangepicker td.start-date {
    border-radius: 30px 0 0 30px;
}
div.daterangepicker td.end-date {
  border-radius: 0 30px 30px 0;
}
  div.daterangepicker button.applyBtn.btn.btn-sm.btn-primary {
    background: #fab900;
    padding: 10px 22px;
    color: #000;
}
.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #fab900;
  border-color: transparent;
  color: #fff;
}


/*//////////////////////////////// Cart //////*/

.woocommerce li.woocommerce-mini-cart-item dl.variation {
  border-left: 1px solid rgb(0 0 0 / 8%);
}
.woocommerce-mini-cart-item dl.variation *,
.woocommerce-cart .woocommerce td.product-name dl.variation * {
  font-size: 14px;
  font-weight: normal;
  margin: 0;
}
.woocommerce-mini-cart-item dl.variation .product-name a,
.woocommerce-cart .woocommerce td.product-name dl.variation .product-name a {
  font-size: 15px;
}
.woocommerce-mini-cart-item dl.variation dt,
.woocommerce-cart .woocommerce td.product-name dl.variation dt {
  margin-right: .5em;
}
.woocommerce ul.product_list_widget.woocommerce-mini-cart li dl dt,
.woocommerce ul.product_list_widget.woocommerce-mini-cart li dl dd {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
.list-addons {
  background:#eee;
  padding: 15px 15px 0 15px;
}
.list-addons p {
  color: #222;
}
.list-addons label {
  display: inline-block;
}

/* Availability Indicators for Calendar */
.availability-indicator {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  font-size: 10px !important;
  font-weight: bold !important;
  z-index: 10;
  pointer-events: none;
}


/* Ensure indicators are visible on all states */
.flatpickr-day .availability-indicator {
  opacity: 1 !important;
  display: block !important;
}

/* Style for disabled dates with indicators */
.flatpickr-day.flatpickr-disabled .availability-indicator {
  opacity: 0.7 !important;
}

/* Override Flatpickr colors to use gray instead of purple */
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
  color: #666666 !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-calendar .flatpickr-current-month input.cur-year:hover {
  background: rgba(102, 102, 102, 0.1) !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-calendar .flatpickr-current-month input.cur-year:focus {
  background: rgba(102, 102, 102, 0.1) !important;
  outline: 2px solid #666666 !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  /* Ensure gray colors on mobile match desktop - more aggressive overrides */
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
  .flatpickr-calendar .flatpickr-current-month input.cur-year,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months *,
  .flatpickr-calendar .flatpickr-current-month input.cur-year *,
  .flatpickr-calendar .flatpickr-current-month,
  .flatpickr-calendar .flatpickr-current-month * {
    color: #666666 !important;
  }

  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
  .flatpickr-calendar .flatpickr-current-month input.cur-year:hover,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover *,
  .flatpickr-calendar .flatpickr-current-month input.cur-year:hover * {
    background: rgba(102, 102, 102, 0.1) !important;
    color: #666666 !important;
  }

  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
  .flatpickr-calendar .flatpickr-current-month input.cur-year:focus,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:focus *,
  .flatpickr-calendar .flatpickr-current-month input.cur-year:focus * {
    background: rgba(102, 102, 102, 0.1) !important;
    outline: 2px solid #666666 !important;
    color: #666666 !important;
  }
  
  /* Override any purple colors that might be coming from Flatpickr's default styles */
  .flatpickr-calendar * {
    color: inherit !important;
  }
  
  .flatpickr-calendar .flatpickr-current-month {
    color: #666666 !important;
  }
  
  .flatpickr-calendar .flatpickr-current-month * {
    color: #666666 !important;
  }
  
  /* Force gray color on all Flatpickr elements including SVG */
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
  .flatpickr-calendar .flatpickr-current-month input.cur-year,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option:hover {
    color: #000000 !important;
    background-color: transparent !important;
  }
  
  /* Specifically target year input to make it black on mobile */
  .flatpickr-calendar .flatpickr-current-month input.cur-year {
    color: #000000 !important;
  }
  
  /* Apply specific styling to year input with high specificity */
  .flatpickr-calendar .flatpickr-months .flatpickr-month .flatpickr-current-month .numInputWrapper input {
    background: rgba(0, 0, 0, 0) !important;
    color: #000000 !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .1) !important;
    font-size: 16px !important;
    width: 100% !important;
    min-width: 70px !important;
    text-align: center !important;
  }
  
  /* Override any browser default styling */
  .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months::-webkit-calendar-picker-indicator,
  .flatpickr-calendar .flatpickr-current-month input.cur-year::-webkit-calendar-picker-indicator {
    color: #666666 !important;
  }
  
  /* Force gray on mobile for all possible selectors */
  .flatpickr-calendar .flatpickr-current-month,
  .flatpickr-calendar .flatpickr-current-month *,
  .flatpickr-calendar .flatpickr-current-month *:before,
  .flatpickr-calendar .flatpickr-current-month *:after {
    color: #666666 !important;
  }
  
  /* Override the specific purple gradient background rule */
  .flatpickr-calendar .flatpickr-months {
    background: linear-gradient(135deg, rgb(248, 250, 252) 0%, rgb(226, 232, 240) 100%) !important;
    background-color: transparent !important;
    background-image: linear-gradient(135deg, rgb(248, 250, 252) 0%, rgb(226, 232, 240) 100%) !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 15px 10px !important;
  }
  
  /* Override the purple gradient background that's being applied */
  .flatpickr-calendar .flatpickr-current-month,
  .flatpickr-calendar .flatpickr-current-month * {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
  
  /* Specifically target any gradient backgrounds */
  .flatpickr-calendar * {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
  
  .availability-indicator {
    font-size: 8px !important;
    top: 1px !important;
    right: 1px !important;
  }
  
  /* Ensure availability indicators are visible on mobile */
  .flatpickr-day .availability-indicator {
    opacity: 1 !important;
    display: block !important;
    z-index: 15 !important;
  }
  
  /* Mobile-specific styling for disabled dates - match desktop colors */
  .flatpickr-day.flatpickr-disabled .availability-indicator {
    opacity: 1 !important;
    color: #dc3545 !important;
  }
  
  /* Mobile-specific styling for partially available dates - match desktop colors */
  .flatpickr-day .availability-indicator {
    color: #ffc107 !important;
    text-shadow: none !important;
  }
  
  /* Remove mobile background colors to match desktop */
  .flatpickr-day.flatpickr-disabled {
    background-color: transparent !important;
  }
  
  /* Add "Clear" text next to the x button on mobile */
  .wp-block-woorentflow-rental-dates .clear-date::after {
    content: " Clear";
    font-size: 12px;
    font-weight: 500;
    color: #666;
    margin-left: 4px;
  }
  
  /* Make "Clear" text white on hover when button is red */
  .wp-block-woorentflow-rental-dates .clear-date:hover::after {
    color: #fff !important;
  }
  
  /* Ensure the clear button has proper spacing on mobile */
  .wp-block-woorentflow-rental-dates .clear-date {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
  }
  
  /* Change selected date colors on mobile */
  .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day.selected, 
  .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day.startRange, 
  .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day.endRange {
    background: #000000 !important;
    color: #fff !important;
  }
  
  /* Change in-range date colors on mobile */
  .flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day.inRange {
    background: #e6e6e6 !important;
    color: #000000 !important;
  }
}