/*
Theme Name: hello-elementor-child
Description: hello-elementor-child
Theme Author: WpProgrammierer
Author URI: https://wpprogrammierer.de
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
.custom-rnb-total-price-manuall {
  color: var(--e-global-color-primary);
  font-weight: 600;
}
.rnb-error-message {
  border-radius: 4px;
}
input[type="checkbox"]:checked {
  accent-color: var(--e-global-color-primary);
}
.elementor-field-group-field_1a48f97 {
  display: none;
}
.elementor-nav-menu--dropdown .custom-header-middle-logo {
  display: none;
}
.custom-hp-bike-img .elementor-image-box-img {
  height: 100% !important;
  max-height: 123px !important;
}
.custom-hp-bike-img .elementor-image-box-img img {
  height: 100%;
  width: auto;
  max-height: 100%;
}
p {
  margin: 0;
}
.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover {
  background: var(--e-global-color-primary);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: var(--e-global-color-primary);
}
input {
  font-family: Poppins;
}
.custom-cart-summary-table {
  width: 100%;
}

.custom-cart-summary-table .wc-item-meta {
  padding: 0;
  margin: 0;
  list-style: none;
}
.custom-cart-summary-table .wc-item-meta li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
}
.custom-cart-summary-table p {
  padding: 0;
  margin: 0;
}
.custom-cart-zustell-bikes-list {
  margin: 0;
  padding: 0 !important;
  padding-left: 14px;
}
.custom-cart-zustell-bikes-list li {
  padding: 0 !important;
}
.custom-cart-zustell-bikes-list li::before {
  content: "•" !important;
  display: inline-block !important;

  padding-right: 5px !important;
}
.custom-cart-summary-table tr td:first-child {
  padding-right: 20px;
}
.custom-cart-summary-table tr td {
  white-space: nowrap;
}
.custom-header-middle-logo {
  height: 125px;
}
.custom-header-middle-logo a.elementor-item,
.custom-header-middle-logo a.elementor-item:hover {
  padding: 0;
  margin-bottom: 8px;
}
.custom-header-middle-logo a.elementor-item::after {
  background-color: transparent !important;
}
.custom-header-middle-logo img {
  height: 100%;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu {
  align-items: end;
}
.elementor-loop-container.loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}

.elementor-loop-container.loading::after {
  content: "Lädt...";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 10px 20px;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.rnb-button-group {
  display: flex;
  gap: 0;
  margin-top: 5px;
}

.rnb-button-option {
  border: 1px solid #d7d7d7;
  padding: 8px 24px;
}

.rnb-button-option:hover {
  border: 1px solid #20753c;
  color: #20753c;
}

.rnb-button-option.active {
  border: 1px solid #20753c;
  background: #20753c;
  color: #fff;
}

#select_duration-group .rnb-button-option:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

#select_duration-group .rnb-button-option:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

/* Verstecke die echten Radio-Buttons */
.rnb-button-input {
  display: none;
}

/* ===== LOADING STATE ===== */
.elementor-loop-container.loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}

.elementor-loop-container.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007cba;
  border-radius: 50%;
  animation: rnb-spin 1s linear infinite;
}

@keyframes rnb-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img {
  padding: 6px !important;
}

/*  Element Styles */
.filter-label {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  padding-bottom: 8px;
  text-align: center;
}

.options-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.rnb-options-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.option-item {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: white;
  user-select: none;
  gap: 16px;
}

.option-item:hover {
  border-color: #20753c;
  box-shadow: 0 2px 8px rgba(0, 124, 186, 0.1);
}

.option-item.selected {
  border-color: #20753c;
}

.option-item {
  font-size: 14px;
  font-weight: 400;
  color: #303030;
  transition: color 0.2s ease;
}
.option-item.selected .option-item {
  color: #20753c;
}

.option-checkbox {
  position: relative;
}

.option-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.option-indicator {
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 50%;
  background: white;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

/* Haken statt Punkt */
.option-indicator::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 8px;
  border-left: 2px solid white;
  border-bottom: 2px solid white;
  transform: translate(-50%, -60%) rotate(-45deg) scale(0);
  opacity: 0;
  transition: all 0.2s ease;
}

.option-item.selected .option-indicator {
  background: #20753c;
  border-color: #20753c;
}

.option-item.selected .option-indicator::after {
  transform: translate(-50%, -60%) rotate(-45deg) scale(1);
  opacity: 1;
}

h3.elementor-icon-box-title {
  margin-top: 0;
}

tbody tr:first-child td:first-child {
  width: 100px;
}

.details-verleihbikes p {
  margin: 0 !important;
}

.custom-shop-category a:first-of-type {
  display: none;
}

.custom-shop-category a {
  color: #303030;
  border: 1px solid #d7d7d7;
  border-radius: 12px;
  padding: 6px 12px;
}

.custom-shop-price p.price {
  margin: 0 !important;
}
.radon-rent-bikes {
  display: grid;
  grid-template-columns: repeat(3, 33%);
  gap: 24px;
}
.radon-rent-bikes .bike-wrapper {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  border: 1px solid #f2f2f2;
  padding: 15px;
  border-radius: 8px;
}
.radon-rent-bikes .bike-wrapper:hover {
  background: #f2f2f2;
}
.radon-rent-bikes a {
  color: #303030;
}

.radon-rent-bikes .radon-thumbnail {
  width: 300px;
  min-width: 100px;
}

.radon-rent-bikes .radon-title,
.radon-rent-bikes .radon-size {
  padding-left: 24px;
}

.elementor-price-list-price::after {
  content: " €";
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
.radon-rent-bikes {
  gap: 3px;
}
.radon-rent-bikes .radon-thumbnail {
  max-width: 300px;
  width: 100%;
  min-width: 100px;
}
}
@media (max-width: 500px) {
.radon-rent-bikes {
  grid-template-columns: repeat(2, 50%);
}
}
@media (max-width: 768px) {
  .options-grid {
    grid-template-columns: 1fr;
  }

  .filter-section {
    margin-bottom: 20px;
  }

  .radon-rent-bikes .radon-title,
  .radon-rent-bikes .radon-size {
    padding-left: 16px;
  }
}
