:root{
  --rac-accent:#1498c8;
  --rac-success:#2ca24c;
  --rac-card-bg:#ffffff;
  --rac-shell-bg:#1498c8;
}
.rac-be{max-width:1320px;margin:0 auto;padding:0 28px}
.rac-be-title{margin:0 0 20px;font-size:28px;line-height:1.15;color:#1498c8;text-align:center}
.rac-be-search{max-width:980px;margin:0 auto 22px}
/* v1.3.44: Booking Engine search stays visible in both Search and Offers modes. */
.rac-be-search__shell{
  display:grid;
  grid-template-columns:minmax(148px,1fr) minmax(92px,.62fr) minmax(148px,1fr) minmax(92px,.62fr) minmax(170px,.82fr);
  gap:9px;
  padding:11px;
  border-radius:26px;
  background:var(--rac-shell-bg);
}
.rac-be-search__field{position:relative}
.rac-be-search__field label{position:absolute;left:22px;top:-9999px}
.rac-be-search__fieldlabel{
  position:absolute;
  left:16px;
  top:8px;
  z-index:3;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
  color:#6b6b6b;
  pointer-events:none;
}
.rac-be-search__field input,
.rac-be-search__field select{
  width:100%;
  height:38px;
  border:none;
  border-radius:999px;
  background:#ffffff;
  color:#666;
  padding:13px 14px 6px;
  font-size:13px;
  font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.rac-be-search__field input:focus,
.rac-be-search__field select:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(20,152,200,.18)}
.rac-be-search__field--time input,
.rac-be-search__field--time select{padding:0 12px;text-align:center;color:#666!important;caret-color:auto!important}
.rac-be-time-input{letter-spacing:.01em}
.rac-be-time-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px!important;text-align-last:center;cursor:pointer}
.rac-be-time-input::placeholder{color:#777;opacity:.85}
.rac-be-search__actions{display:grid;grid-template-columns:1fr;gap:8px}
.rac-be-search__actions.has-clear{grid-template-columns:1fr 1fr}
.rac-be-search__button,
.rac-be-search__clear{
  height:38px;
  border:none;
  border-radius:999px;
  background:#ffffff;
  color:var(--rac-accent);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:.2s transform,.2s box-shadow,.2s background-color,.2s color;
}
.rac-be-search__button:hover,.rac-be-search__clear:hover{transform:translateY(-1px);box-shadow:0 7px 14px rgba(0,0,0,.12)}
.rac-be-search__clear{background:#eef5f8;color:#4d7080}
.rac-be-search__clear.is-hidden,.rac-be-search[data-searched="0"] .rac-be-search__clear{display:none}
.rac-be-status{min-height:18px;margin:0 auto 12px;max-width:980px;font-size:11px;color:#666}
.rac-be-viewtabs{display:flex;gap:10px;align-items:center;justify-content:center;margin:0 auto 18px;max-width:980px;flex-wrap:wrap}
.rac-be-viewtab{border:none;border-radius:999px;padding:10px 18px;background:#edf7fb;color:#0e7fa8;font-size:13px;font-weight:700;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background-color,.18s color}
.rac-be-viewtab:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.rac-be-viewtab.is-active{background:var(--rac-accent);color:#fff;box-shadow:0 10px 22px rgba(20,152,200,.22)}
.rac-be-panels{max-width:1260px;margin:0 auto}
.rac-be-panel{display:none}
.rac-be-panel.is-active{display:block}
.rac-be-panel__content{display:block}
.rac-be-offers-panel{display:block}
.rac-be-results{display:grid;gap:22px;max-width:1260px;margin:0 auto}
.rac-be-empty{padding:19px;border:1px solid #ddd;border-radius:18px;background:#ffffff}
.rac-be-empty--loading{min-height:120px;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4d7080;background:linear-gradient(135deg,#ffffff,#f5fbfe)}
.rac-be-card{
  display:grid;
  grid-template-columns:minmax(232px,308px) minmax(280px,1fr) 212px;
  gap:15px;
  align-items:center;
  padding:18px 22px;
  border:2px solid rgba(0,0,0,.12);
  border-radius:24px;
  background:var(--rac-card-bg);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.rac-be-card.is-disabled{opacity:.78}
.rac-be-card__imagewrap{display:flex;flex-direction:column;align-items:center;justify-content:center}
.rac-be-card__category-title{width:100%;margin:0 0 10px;font-size:18px;font-weight:700;color:#777;text-align:left}
.rac-be-card__image{display:flex;align-items:center;justify-content:center;min-height:146px;width:100%}
.rac-be-card__image img{max-width:100%;height:auto;display:block;object-fit:contain}
.rac-be-card__imageplaceholder{width:100%;height:146px;border-radius:19px;background:linear-gradient(135deg,#ececec,#d9d9d9)}
.rac-be-card__icons{display:flex;flex-wrap:wrap;gap:11px;align-items:flex-start;justify-content:center;margin-top:12px}
.rac-be-feature{display:flex;flex-direction:column;align-items:center;gap:2px;color:#1a8fc5;min-width:34px}
.rac-be-feature__icon{font-size:16px;line-height:1}
.rac-be-feature__value{font-size:11px;font-style:italic;font-weight:500;text-align:center}
.rac-be-card__body{display:flex;flex-direction:column;justify-content:center}

.rac-be-card__offer-badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin:0 0 8px;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff4757,#ff7b54);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(255,71,87,.18);
}
.rac-be-card__offer-note{
  margin-top:10px;
  font-size:12px;
  line-height:1.45;
  color:#c0362c;
  font-weight:600;
}
.rac-be-card__name{margin:0 0 10px;font-size:19px;line-height:1.2;color:#1498c8;font-weight:700}
.rac-be-card__description{margin:0;font-size:13px;line-height:1.5;color:#5f5f5f;max-width:820px}
.rac-be-card__availability{display:inline-flex;align-items:center;margin-top:10px;padding:5px 10px;border-radius:999px;background:#ffffff;color:#0d81ac;font-size:12px;font-weight:600;border:1px solid rgba(13,129,172,.22)}
.rac-be-card__availability.is-disabled{background:#ffffff;color:#ab2222;border-color:rgba(171,34,34,.22)}
.rac-be-card__stop-sales-note{margin-top:10px;font-size:12px;line-height:1.45;color:#9a5c00;font-weight:600}
.rac-be-card__price{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px}
.rac-be-pricebox{
  width:100%;
  max-width:208px;
  padding:15px 14px;
  background:#ffffff;
  border:2px solid var(--rac-accent);
  border-radius:24px;
  color:var(--rac-accent);
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
.rac-be-pricebox__lead{font-size:17px;font-weight:700;line-height:1.25}
.rac-be-pricebox__sublead{font-size:15px;line-height:1.3;margin-top:5px}
.rac-be-pricebox__daily{font-size:17px;font-weight:700;margin-top:14px;line-height:1.25}
.rac-be-pricebox--unavailable{border-color:#d9534f;color:#c0362c;box-shadow:0 10px 22px rgba(192,54,44,.10)}
.rac-be-pricebox--unavailable .rac-be-pricebox__lead,.rac-be-pricebox--unavailable .rac-be-pricebox__sublead{color:#c0362c}

.rac-be-pricebox.has-offer{
  border-color:var(--rac-offer-accent,#ff5a3d);
  box-shadow:0 10px 22px rgba(255,90,61,.10);
}
.rac-be-pricebox__offerbadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 8px;
  padding:4px 10px;
  border-radius:999px;
  background:#fff1ec;
  color:#d83b24;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  border:1px solid rgba(216,59,36,.18);
}
.rac-be-pricebox__old{
  margin-bottom:6px;
  color:#8d8d8d;
  font-size:13px;
  line-height:1.25;
  text-decoration:line-through;
}
.rac-be-pricebox.has-offer .rac-be-pricebox__lead,
.rac-be-pricebox.has-offer .rac-be-pricebox__daily{color:var(--rac-offer-accent,#d83b24)}
.rac-be-pricebox__offertext{
  margin-top:10px;
  font-size:11px;
  line-height:1.4;
  color:var(--rac-offer-accent,#c0362c);
  font-weight:600;
}
.rac-be-pricebox__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:122px;
  min-height:38px;
  padding:0 16px;
  border-radius:999px;
  background:var(--rac-accent);
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 20px rgba(0,0,0,.12);
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.rac-be-pricebox__button::before{content:'▶';font-size:10px;margin-right:8px}
.rac-be-pricebox__button:hover,
.rac-be-pricebox__button:focus,
.rac-be-pricebox__button:active{
  background:var(--rac-success);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.15);
}
.rac-be-pricebox__button--disabled{background:#dfe6ea;color:#8b98a1;box-shadow:none;cursor:not-allowed}
.rac-be-loading{opacity:.55;pointer-events:none}

.rac-be-card.is-offer-card .rac-be-card__price{align-items:center}
.rac-be-offer-pin{width:100%;max-width:208px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;margin:0 auto}
.rac-be-offer-pin>.rac-be-pricebox__button{align-self:center;margin:0 auto}
.rac-be-offer-booking-box{width:100%;max-width:208px;display:grid;gap:8px;justify-items:center}
.rac-be-offer-booking-box__field{display:grid;gap:5px;width:100%;max-width:100%;min-width:0}
.rac-be-offer-booking-box__field span{font-size:10px;font-weight:700;color:#52707f;padding-left:4px;width:100%;box-sizing:border-box}
.rac-be-offer-booking-box__field input,
.rac-be-offer-booking-box__field select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:36px;border:none;border-radius:16px;background:#fff;color:#666;padding:0 12px;font-size:12px;font-weight:600;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.rac-be-offer-booking-box__field input:focus,
.rac-be-offer-booking-box__field select:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(20,152,200,.18)}
.rac-be-offer-booking-box__status{min-height:14px;font-size:11px;line-height:1.3;color:#4d7080;text-align:center}
.rac-be-offer-booking-box__status.is-error{color:#c0362c}
.rac-be-offer-booking-box__status.is-ok{color:#057602}

@media (max-width:1200px){
  .rac-be{max-width:960px}
  .rac-be-card{grid-template-columns:1fr;gap:14px;padding:18px 19px}
  .rac-be-card__category-title{text-align:center}
  .rac-be-card__name{text-align:center;font-size:19px}
  .rac-be-card__description{text-align:center}
  .rac-be-card__body{align-items:center}
  .rac-be-card__offer-badge{align-self:center}
  .rac-be-card__offer-note{text-align:center}
  .rac-be-card__price{padding-bottom:8px}
}
@media (max-width:768px){
  .rac-be{width:97%;max-width:97%;padding:0;margin:0 auto}
  .rac-be-search{max-width:none;width:100%;margin:10px auto 18px}
  .rac-be-search__shell{grid-template-columns:1fr 1fr;gap:8px;padding:9px;border-radius:17px}
  .rac-be-search__field{min-width:0}
  .rac-be-search__field input,.rac-be-search__field select{height:40px;font-size:12px;padding:14px 12px 5px}
  .rac-be-search__field--time input,.rac-be-search__field--time select{padding:0 30px 0 10px}
  .rac-be-search__fieldlabel{left:12px;top:8px;font-size:9px}
  .rac-be-search__actions{grid-column:1 / -1}
  .rac-be-search__button,.rac-be-search__clear{height:34px;font-size:12px}
  .rac-be-card{border-radius:20px;padding:13px 12px;gap:12px}
  .rac-be-card__category-title{margin-bottom:8px;font-size:18px;text-align:center}
  .rac-be-card__image{min-height:auto}
  .rac-be-card__icons{gap:10px}
  .rac-be-feature__icon{font-size:15px}
  .rac-be-feature__value{font-size:10px}
  .rac-be-card__name{font-size:17px}
  .rac-be-card__description{font-size:12px;line-height:1.4}
  .rac-be-pricebox{max-width:none;border-radius:20px;padding:15px 12px;background:#ffffff}
  .rac-be-pricebox__lead{font-size:16px}
  .rac-be-pricebox__sublead{font-size:14px}
  .rac-be-pricebox__daily{font-size:16px;margin-top:12px}
  .rac-be-pricebox__button{min-width:120px;min-height:36px;font-size:13px}
}

@media (max-width:480px){
  .rac-be{width:97%;max-width:97%}
  .rac-be-search__shell{gap:7px;padding:8px}
  .rac-be-search__field input,.rac-be-search__field select{height:38px;font-size:11px}
  .rac-be-search__field--time input,.rac-be-search__field--time select{padding:0 28px 0 9px}
  .rac-be-search__button,.rac-be-search__clear{height:32px;font-size:11px}
  .rac-be-date-display--main{top:18px;font-size:11px;right:40px}
}

@media (max-width:768px){
  .rac-be-date-display--offer{top:12px;font-size:12px}
  .rac-be-viewtabs{margin-bottom:14px;gap:8px}
  .rac-be-viewtab{padding:9px 14px;font-size:12px}
  .rac-be-offer-pin,.rac-be-offer-booking-box{max-width:none}
  .rac-be-offer-booking-box__field input,.rac-be-offer-booking-box__field select{height:38px;font-size:12px}
  .rac-be-offer-booking-box__actions{gap:8px}
  .rac-be-offer-booking-box__action{min-height:38px;font-size:12px;min-width:120px}
}


/* v1.2.2
 * - Offer cards now use explicit calculate / clear actions.
 * - Placeholder price boxes intentionally show no numeric price before quote calculation.
 * - Booking CTA and quote box can be hidden by flow state until a fresh calculation exists.
 */
.rac-be-pricebox--placeholder{
  border-color:rgba(20,152,200,.18);
  color:#4d7080;
}
.rac-be-pricebox--placeholder .rac-be-pricebox__lead{
  color:#4d7080;
  font-size:16px;
}
.rac-be-pricebox--placeholder .rac-be-pricebox__sublead{
  color:#6a7e88;
}
.rac-be-offer-booking-box__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}
.rac-be-offer-booking-box__action{
  min-height:36px;
  min-width:126px;
  border:none;
  border-radius:999px;
  padding:0 16px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.18s transform,.18s box-shadow,.18s background-color,.18s color;
}
.rac-be-offer-booking-box__action:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
.rac-be-offer-calc-button{
  background:var(--rac-accent);
  color:#fff;
}
.rac-be-offer-clear-button{
  background:#eef5f8;
  color:#4d7080;
}
.rac-be-offer-booking-box__action.is-hidden,
.rac-be-pricebox__button.is-hidden,
.rac-be-pricebox.is-hidden-by-flow{
  display:none;
}


/* v1.2.17 custom calendar layer */
.rac-be-date-input{cursor:pointer;background-image:linear-gradient(180deg,#fff,#fbfdff)}
.rac-be-search__field.is-calendar-open input,
.rac-be-offer-booking-box__field.is-calendar-open input{box-shadow:inset 0 0 0 2px rgba(20,152,200,.22)}
#ui-datepicker-div.ui-datepicker{
  z-index:999999!important;
  width:294px;
  padding:10px;
  border:none;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 18px 45px rgba(15,40,65,.18);
}
#ui-datepicker-div .ui-datepicker-header{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 34px 10px;
  border:none;
  background:transparent;
  color:#20465c;
  font-weight:700;
}
#ui-datepicker-div .ui-datepicker-title{line-height:1.3;font-size:15px;font-weight:800}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next{
  top:8px;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#eef7fb;
  cursor:pointer;
  transition:.16s transform,.16s background-color;
}
#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover{background:#dff2fa;transform:translateY(-1px)}
#ui-datepicker-div .ui-datepicker-prev{left:8px}
#ui-datepicker-div .ui-datepicker-next{right:8px}
#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span{display:none}
#ui-datepicker-div .ui-datepicker-prev::before,
#ui-datepicker-div .ui-datepicker-next::before{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#0d81ac;
  font-size:18px;
  font-weight:700;
  content:'‹';
}
#ui-datepicker-div .ui-datepicker-next::before{content:'›'}
#ui-datepicker-div table{margin:0;border-collapse:separate;border-spacing:4px}
#ui-datepicker-div th{padding:4px 0;color:#6a7f8b;font-size:11px;font-weight:800;text-transform:uppercase}
#ui-datepicker-div td{padding:0}
#ui-datepicker-div td span,
#ui-datepicker-div td a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:none;
  border-radius:12px;
  background:#f7fafc;
  color:#27475a;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  transition:.16s transform,.16s background-color,.16s color,.16s box-shadow;
}
#ui-datepicker-div td a:hover{background:#e6f5fb;color:#0d81ac;transform:translateY(-1px)}
#ui-datepicker-div td.ui-datepicker-today a{box-shadow:inset 0 0 0 2px rgba(20,152,200,.18);background:#eef8fc;color:#0d81ac}
#ui-datepicker-div td.ui-datepicker-current-day a,
#ui-datepicker-div td a.ui-state-active{background:var(--rac-accent);color:#fff;box-shadow:0 10px 18px rgba(20,152,200,.22)}
#ui-datepicker-div td.ui-datepicker-other-month a,
#ui-datepicker-div td.ui-datepicker-other-month span{opacity:.42}
#ui-datepicker-div td.ui-state-disabled span,
#ui-datepicker-div td.ui-datepicker-unselectable span{background:#f1f4f6;color:#b6c0c7;cursor:not-allowed}
@media (max-width:767px){
  #ui-datepicker-div.ui-datepicker{width:286px;padding:8px;border-radius:18px}
  #ui-datepicker-div td span,
  #ui-datepicker-div td a{width:32px;height:32px;border-radius:10px;font-size:12px}
}


/* v1.2.18 - Flatpickr overrides */
.flatpickr-calendar{
  border:none;
  border-radius:18px;
  box-shadow:0 18px 38px rgba(18,56,72,.18);
  font-family:inherit;
  overflow:hidden;
}
.flatpickr-months{
  background:#f4fbfe;
  padding:8px 6px 4px;
}
.flatpickr-current-month{
  padding-top:6px;
  font-size:14px;
}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
  font-weight:700;
  color:#1a6f8f;
}
.flatpickr-weekdays{
  background:#ffffff;
}
span.flatpickr-weekday{
  color:#6f8894;
  font-size:11px;
  font-weight:700;
}
.flatpickr-day{
  border-radius:12px;
  max-width:38px;
  height:38px;
  line-height:38px;
}
.flatpickr-day.today{
  border-color:rgba(20,152,200,.35);
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover{
  background:var(--rac-accent);
  border-color:var(--rac-accent);
}
.flatpickr-day.inRange{
  background:rgba(20,152,200,.12);
  border-color:rgba(20,152,200,.05);
  box-shadow:none;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay.flatpickr-disabled,
.flatpickr-day.nextMonthDay.flatpickr-disabled{
  color:#c9d3d8;
  background:#f7f9fa;
  cursor:not-allowed;
}
.rac-be-search__field.is-calendar-open,
.rac-be-offer-booking-box__field.is-calendar-open{
  box-shadow:0 0 0 2px rgba(20,152,200,.18);
  border-radius:16px;
}




/* v1.2.24 - EU date display + single-click date picker fix */
.rac-be-search__field--date,
.rac-be-offer-booking-box__field{
  position:relative;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.rac-be-date-display{
  position:absolute;
  z-index:2;
  pointer-events:none;
  color:#666;
  font-weight:600;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rac-be-date-display--main{
  left:16px;
  right:44px;
  top:18px;
  font-size:13px;
  line-height:1.2;
}
.rac-be-date-display--offer{
  left:12px;
  right:38px;
  top:11px;
  font-size:12px;
  line-height:1.2;
}
.rac-be-date-input{
  position:relative;
  z-index:4;
  width:100%;
  -webkit-appearance:auto;
  appearance:auto;
}
.rac-be-date-input[data-display-format="eu"]{
  color:transparent;
  caret-color:transparent;
}
.rac-be-date-input[data-display-format="eu"]::-webkit-date-and-time-value{
  color:transparent;
}
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-fields-wrapper,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-text,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-month-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-day-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-year-field{
  color:transparent;
}
.rac-be-date-input[data-display-format="eu"]::-moz-datetime-edit{
  color:transparent;
}

/* v1.2.20 - native date input refinements */
.rac-be-date-input{min-width:0}
.rac-be-date-input::-webkit-date-and-time-value{text-align:left}
.rac-be-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9}


/* v1.2.27 - native-only date fields, visible values, no overlay capture */
.rac-be-date-display{
  display:none !important;
}
.rac-be-date-input,
.rac-be-date-input[data-display-format="eu"],
.rac-be-date-input[data-display-format="eu"]::-webkit-date-and-time-value,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-fields-wrapper,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-text,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-month-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-day-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-year-field,
.rac-be-date-input[data-display-format="eu"]::-moz-datetime-edit{
  color:#666 !important;
  caret-color:auto !important;
}
.rac-be-search__field--date,
.rac-be-offer-booking-box__field{
  touch-action:auto;
}
.rac-be-search__field input[type="date"],
.rac-be-offer-booking-box__field input[type="date"]{
  padding-right:14px;
  background:#fff;
}
.rac-be-search__field input[type="date"]::-webkit-calendar-picker-indicator,
.rac-be-offer-booking-box__field input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1;
}


/* v1.2.28 - date text visibility hard fix */
.rac-be-search__field input[type="date"],
.rac-be-offer-booking-box__field input[type="date"],
.rac-be-date-input,
.rac-be-date-input::-webkit-date-and-time-value,
.rac-be-date-input::-webkit-datetime-edit,
.rac-be-date-input::-webkit-datetime-edit-fields-wrapper,
.rac-be-date-input::-webkit-datetime-edit-text,
.rac-be-date-input::-webkit-datetime-edit-month-field,
.rac-be-date-input::-webkit-datetime-edit-day-field,
.rac-be-date-input::-webkit-datetime-edit-year-field{
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
  caret-color:auto !important;
  opacity:1 !important;
}
.rac-be-date-input[data-display-format="eu"],
.rac-be-date-input[data-display-format="eu"]::-webkit-date-and-time-value,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-fields-wrapper,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-text,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-month-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-day-field,
.rac-be-date-input[data-display-format="eu"]::-webkit-datetime-edit-year-field,
.rac-be-date-input[data-display-format="eu"]::-moz-datetime-edit{
  color:#666 !important;
  -webkit-text-fill-color:#666 !important;
  caret-color:auto !important;
}


/* v1.2.29 - centered date fields + labels above */
.rac-be-search__field--date,
.rac-be-offer-booking-box__field{
  display:grid;
  align-content:start;
  gap:6px;
}
.rac-be-search__fieldlabel,
.rac-be-offer-booking-box__field > span:first-child{
  position:static;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
  font-size:11px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.01em;
}
.rac-be-search__fieldlabel{
  color:#ffffff;
}
.rac-be-offer-booking-box__field > span:first-child{
  color:#52707f;
}
.rac-be-search__field input[type="date"],
.rac-be-offer-booking-box__field input[type="date"],
.rac-be-date-input,
.rac-be-date-input::-webkit-date-and-time-value,
.rac-be-date-input::-webkit-datetime-edit,
.rac-be-date-input::-webkit-datetime-edit-fields-wrapper,
.rac-be-date-input::-webkit-datetime-edit-text,
.rac-be-date-input::-webkit-datetime-edit-month-field,
.rac-be-date-input::-webkit-datetime-edit-day-field,
.rac-be-date-input::-webkit-datetime-edit-year-field{
  text-align:center;
}
.rac-be-search__field input[type="date"]::-webkit-date-and-time-value,
.rac-be-offer-booking-box__field input[type="date"]::-webkit-date-and-time-value{
  text-align:center;
}
.rac-be-search__field input[type="date"]{
  height:44px;
  padding:0 42px 0 16px;
  font-size:16px;
}
.rac-be-offer-booking-box__field input[type="date"]{
  padding:0 38px 0 12px;
}
@media (max-width:767px){
  .rac-be-search__fieldlabel,
  .rac-be-offer-booking-box__field > span:first-child{
    font-size:11px;
  }
  .rac-be-search__field input[type="date"],
  .rac-be-search__field .rac-be-time-input{
    height:42px;
    font-size:15px;
  }
}
@media (max-width:480px){
  .rac-be-search__field input[type="date"],
  .rac-be-search__field .rac-be-time-input{
    font-size:14px;
  }
}


/* v1.2.43 - main search date/time labels outside shell */
.rac-be-search__toplabels{
  display:grid;
  grid-template-columns:minmax(148px,1fr) minmax(92px,.62fr) minmax(148px,1fr) minmax(92px,.62fr) minmax(170px,.82fr);
  gap:9px;
  align-items:end;
  margin:0 auto 8px;
  padding:0 11px;
}
.rac-be-search__toplabel{
  display:block;
  margin:0;
  padding:0;
  text-align:center;
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.01em;
  color:#1498c8;
}
.rac-be-search__toplabel--empty{
  visibility:hidden;
}
.rac-be-search__fieldlabel{
  display:none !important;
}
.rac-be-search__shell .rac-be-search__field--date{
  gap:0;
}
@media (max-width:768px){
  .rac-be-search__toplabels{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:0 auto 7px;
    padding:0 9px;
  }
  .rac-be-search__toplabel{
    font-size:11px;
  }
  .rac-be-search__toplabel--empty{
    display:none;
  }
}
@media (max-width:480px){
  .rac-be-search__toplabels{
    gap:7px;
    padding:0 8px;
  }
}


.rac-be-card__alternatives{margin-top:12px;padding:10px;border:1px solid rgba(13,129,172,.18);border-radius:14px;background:#f8fcff}
.rac-be-card__alternatives-title{font-size:12px;font-weight:700;color:#0f4f68;margin-bottom:8px}
.rac-be-card__alternatives-list{display:flex;flex-wrap:wrap;gap:7px}
.rac-be-card__alternative-button{appearance:none;border:1px solid rgba(13,129,172,.28);background:#fff;color:#0d6387;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.rac-be-card__alternative-button:hover,.rac-be-card__alternative-button:focus{background:#eaf7fd;border-color:rgba(13,129,172,.55);transform:translateY(-1px)}

/* v1.2.38 - unavailable request flow */
.rac-be-card.is-unavailable-request{opacity:1}
.rac-be-card__unavailable-request-box{margin-top:10px;padding:10px 12px;border:1px solid rgba(194,97,35,.22);border-radius:14px;background:#fffaf5;color:#9a4f15;font-size:12px;font-weight:600;line-height:1.35;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rac-be-card__unavailable-request-text{flex:1 1 240px}
.rac-be-card__unavailable-request-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0d97c9;color:#fff!important;text-decoration:none!important;padding:8px 12px;font-size:12px;font-weight:800;line-height:1;box-shadow:0 8px 18px rgba(13,151,201,.18);white-space:nowrap}
.rac-be-card__unavailable-request-button:hover,.rac-be-card__unavailable-request-button:focus{background:#087fa9;color:#fff!important}
.rac-be-pricebox__button--request{background:#0d97c9;color:#fff!important;box-shadow:0 10px 22px rgba(13,151,201,.2)}
.rac-be-pricebox__button--request:hover,.rac-be-pricebox__button--request:focus{background:#087fa9;color:#fff!important}
@media (max-width:768px){.rac-be-card__unavailable-request-box{align-items:flex-start}.rac-be-card__unavailable-request-button{width:100%}}

/* v1.2.49 - keep Search / Clear buttons contained inside the blue desktop shell */
.rac-be-search__actions{
  min-width:0;
  align-items:center;
}
.rac-be-search__actions.has-clear{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.rac-be-search__button,
.rac-be-search__clear{
  width:100%;
  min-width:0;
  padding:0 12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (min-width:769px){
  .rac-be-search{
    max-width:1100px;
  }
  .rac-be-status,
  .rac-be-viewtabs{
    max-width:1100px;
  }
  .rac-be-search__shell,
  .rac-be-search__toplabels{
    grid-template-columns:minmax(170px,1.12fr) minmax(108px,.66fr) minmax(170px,1.12fr) minmax(108px,.66fr) minmax(252px,.95fr);
  }
}


/* v1.2.52 - full-day time dropdowns; match date input typography */
.rac-be-search__field .rac-be-time-input{
  height:44px;
  font-size:16px;
  font-weight:600;
}
@media (max-width:767px){
  .rac-be-search__field .rac-be-time-input{
    height:42px;
    font-size:15px;
  }
}
@media (max-width:480px){
  .rac-be-search__field .rac-be-time-input{
    font-size:14px;
  }
}

/* v1.2.53 - keep alternative suggestion text readable on hover/focus/active even if theme button styles try to force white text */
.rac-be-card__alternatives .rac-be-card__alternative-button,
.rac-be-card__alternatives .rac-be-card__alternative-button:hover,
.rac-be-card__alternatives .rac-be-card__alternative-button:focus,
.rac-be-card__alternatives .rac-be-card__alternative-button:active,
.rac-be-card__alternatives .rac-be-card__alternative-button:focus-visible{
  color:#0d6387 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.rac-be-card__alternatives .rac-be-card__alternative-button:hover,
.rac-be-card__alternatives .rac-be-card__alternative-button:focus,
.rac-be-card__alternatives .rac-be-card__alternative-button:active,
.rac-be-card__alternatives .rac-be-card__alternative-button:focus-visible{
  background:#eaf7fd !important;
  border-color:rgba(13,129,172,.55) !important;
}


/* v1.2.62 debug-only: readable inline diagnostics when URL contains ?rac_be_debug=1 for admins. */
.rac-be-gap-debug {
  margin-top: 12px;
  border: 1px dashed rgba(20, 159, 202, .55);
  border-radius: 12px;
  background: rgba(245, 251, 255, .95);
  color: #123;
  font-size: 12px;
  line-height: 1.35;
  overflow: hidden;
}
.rac-be-gap-debug summary {
  cursor: pointer;
  padding: 8px 10px;
  font-weight: 700;
  color: #075f80;
}
.rac-be-gap-debug pre {
  margin: 0;
  max-height: 420px;
  overflow: auto;
  padding: 10px;
  background: #fff;
  color: #1f2933;
  white-space: pre-wrap;
  word-break: break-word;
}


/* v1.2.72 - inline offer card pickup/return time fields */
.rac-be-offer-booking-box__field--time select{
  text-align:center;
  text-align-last:center;
  appearance:auto;
}
@media (min-width:768px){
  .rac-be-offer-booking-box{
    max-width:240px;
    grid-template-columns:1fr 1fr;
    column-gap:8px;
    row-gap:7px;
  }
  .rac-be-offer-booking-box__status,
  .rac-be-offer-booking-box__actions{
    grid-column:1 / -1;
  }
}


/* v1.2.75 - compact field labels */
.rac-be-search__fieldlabel,
.rac-be-offer-booking-box__field > span:first-child {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: .01em;
}
.rac-be-search__toplabels{
    font-size: 11px;
}

/* v1.2.76 - compact offer card date input padding */
.rac-be-offer-booking-box__field input[type="date"] {
    padding: 0 6px 0 3px;
}

/* v1.2.82 - sticky main search bar with extra top backdrop */
.rac-be-search{
  position:sticky;
  top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--rac-be-sticky-top, 10px));
  z-index:9999;
  width:100%;
  max-width:1260px;
  padding:14px 18px 10px;
  margin:0 auto 12px;
  background:rgba(255,255,255,.98);
  border-radius:30px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-sizing:border-box;
}
.rac-be-search::before{
  content:"";
  position:absolute;
  inset:-10px 0 0 0;
  z-index:-1;
  border-radius:34px 34px 30px 30px;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 26px rgba(13,151,201,.08);
  pointer-events:none;
}
.rac-be-search__toplabels{
  margin-top:0;
  padding-inline:8px;
  padding-top:2px;
}
@media (max-width:768px){
  .rac-be-search{
    top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--rac-be-sticky-top-mobile, 6px));
    padding:10px 10px 8px;
    margin:0 auto 8px;
    border-radius:24px;
  }
  .rac-be-search::before{
    inset:-8px 0 0 0;
    border-radius:28px 28px 24px 24px;
  }
  .rac-be-search__toplabels{
    padding-inline:4px;
    padding-top:1px;
  }
}



/* v1.2.91 - modal stability: never change document overflow/scrollbar width. */
/* Background touch/wheel input is blocked in JS and result scrolling is deferred until the modal closes. */
/* v1.2.88 - clean loading modal layering; removed badge and parent-opacity blur */
/* v1.2.86 - premium bilingual search loading modal */
body.rac-be-modal-open{
  overflow:visible;
}
body.rac-be-modal-open.rac-be-modal-open--tablet-portrait .rac-be-loading-modal{
  touch-action:none;
  overscroll-behavior:contain;
}
body.rac-be-modal-open.rac-be-modal-open--tablet-portrait .rac-be-loading-modal__backdrop{
  background:rgba(8, 28, 44, .52);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.rac-be-loading-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}
.rac-be-loading-modal.is-visible{
  opacity:1;
  visibility:visible;
}
.rac-be-loading-modal__backdrop{
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(8, 28, 44, .44);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.rac-be-loading-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%, 540px);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(249,252,255,.98) 100%);
  border-radius:28px;
  padding:34px 32px 30px;
  text-align:center;
  box-shadow:0 24px 80px rgba(7, 45, 74, .28);
  border:1px solid rgba(24, 162, 219, .16);
  overflow:hidden;
}
.rac-be-loading-modal__glow{
  position:absolute;
  inset:auto -12% -34% -12%;
  height:52%;
  background:radial-gradient(circle at center, rgba(214,46,111,.12) 0%, rgba(24,162,219,.08) 35%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}
.rac-be-loading-modal__spinner{
  position:relative;
  width:106px;
  height:106px;
  margin:0 auto 24px;
}
.rac-be-loading-modal__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:4px solid transparent;
}
.rac-be-loading-modal__ring--one{
  border-top-color:#1aa2db;
  border-right-color:#1aa2db;
  animation:racBeSpin 1.15s linear infinite;
}
.rac-be-loading-modal__ring--two{
  inset:12px;
  border-bottom-color:#da2c6f;
  border-left-color:#da2c6f;
  animation:racBeSpinReverse 1.35s linear infinite;
}
.rac-be-loading-modal__core{
  position:absolute;
  inset:30px;
  border-radius:50%;
  background:linear-gradient(135deg, #1aa2db 0%, #41c5f0 45%, #da2c6f 100%);
  box-shadow:0 8px 24px rgba(26,162,219,.28);
}
.rac-be-loading-modal__title{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.2;
  font-weight:800;
  color:#0f4060;
}
.rac-be-loading-modal__subtitle{
  font-size:18px;
  line-height:1.45;
  font-weight:600;
  color:#557486;
  margin:0 auto 18px;
  max-width:420px;
}
.rac-be-loading-modal__dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom:18px;
}
.rac-be-loading-modal__dots span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, #1aa2db 0%, #da2c6f 100%);
  animation:racBeLoaderDot 1.2s ease-in-out infinite;
}
.rac-be-loading-modal__dots span:nth-child(2){ animation-delay:.15s; }
.rac-be-loading-modal__dots span:nth-child(3){ animation-delay:.3s; }
.rac-be-loading-modal__hint{
  color:#6b8290;
  font-size:14px;
  font-weight:600;
}
@keyframes racBeSpin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}
@keyframes racBeSpinReverse{
  from{ transform:rotate(360deg); }
  to{ transform:rotate(0deg); }
}
@keyframes racBeLoaderDot{
  0%, 80%, 100%{ transform:translateY(0) scale(.85); opacity:.45; }
  40%{ transform:translateY(-6px) scale(1); opacity:1; }
}
@media (max-width: 767px){
  .rac-be-loading-modal{
    padding:18px;
  }
  .rac-be-loading-modal__dialog{
    padding:28px 20px 24px;
    border-radius:22px;
  }
  .rac-be-loading-modal__spinner{
    width:88px;
    height:88px;
    margin-bottom:16px;
  }
  .rac-be-loading-modal__core{
    inset:25px;
  }
  .rac-be-loading-modal__title{
    font-size:22px;
  }
  .rac-be-loading-modal__subtitle{
    font-size:16px;
  }
  .rac-be-loading-modal__hint{
    font-size:13px;
  }
}

/* v1.2.87 - tablet search bar wraps like the mobile layout */
@media (max-width:1024px){
  .rac-be{
    width:97%;
    max-width:97%;
    padding:0;
    margin:0 auto;
  }
  .rac-be-search{
    width:100%;
    max-width:none;
    top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--rac-be-sticky-top-mobile, 6px));
    padding:10px 10px 8px;
    margin:0 auto 8px;
    border-radius:24px;
  }
  .rac-be-search::before{
    inset:-8px 0 0 0;
    border-radius:28px 28px 24px 24px;
  }
  .rac-be-search__toplabels{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin:0 auto 7px;
    padding:1px 9px 0;
  }
  .rac-be-search__toplabel{
    min-width:0;
    font-size:11px;
  }
  .rac-be-search__toplabel--empty{
    display:none;
  }
  .rac-be-search__shell{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    padding:9px;
    border-radius:17px;
  }
  .rac-be-search__field{
    min-width:0;
  }
  .rac-be-search__field input,
  .rac-be-search__field select,
  .rac-be-search__field input[type="date"],
  .rac-be-search__field .rac-be-time-input{
    width:100%;
    min-width:0;
    height:42px;
    font-size:15px;
    box-sizing:border-box;
  }
  .rac-be-search__field input[type="date"]{
    padding:0 42px 0 16px;
  }
  .rac-be-search__field--time input,
  .rac-be-search__field--time select{
    padding:0 30px 0 10px;
  }
  .rac-be-search__actions{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
  }
  .rac-be-search__actions.has-clear{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .rac-be-search__button,
  .rac-be-search__clear{
    width:100%;
    min-width:0;
    height:36px;
    font-size:12px;
  }
}

/* v1.2.91 - real tablet portrait stability.
   The JS body/html class is based on touch + portrait orientation, so it also covers tablets whose
   CSS viewport is wider than 1024px. The search keeps a measured pixel width and avoids compositor layers. */
html.rac-be-tablet-portrait{
  scrollbar-gutter:stable;
}
body.rac-be-tablet-portrait .rac-be{
  width:calc(100% - 24px);
  max-width:none;
}
body.rac-be-tablet-portrait .rac-be-search{
  position:-webkit-sticky;
  position:sticky;
  width:var(--rac-be-tablet-search-width, 100%);
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  background:#ffffff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 10px 26px rgba(13,151,201,.08);
  isolation:auto;
  transform:none!important;
  -webkit-transform:none!important;
  backface-visibility:visible;
  -webkit-backface-visibility:visible;
  contain:none;
  will-change:auto;
  transition:none!important;
}
body.rac-be-tablet-portrait .rac-be-search::before{
  display:none;
}
body.rac-be-modal-open--tablet-portrait .elementor-widget-animated-headline,
body.rac-be-modal-open--tablet-portrait .elementor-headline-dynamic-wrapper,
body.rac-be-modal-open--tablet-portrait .elementor-headline-dynamic-text,
body.rac-be-modal-open--tablet-portrait .rac-be-animation-frozen,
body.rac-be-modal-open--tablet-portrait .rac-be-animation-frozen *{
  animation-play-state:paused!important;
  transition:none!important;
}

/* v1.3.28 - compact two-row search layout */
.rac-be-search__points{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px;
  width:100%;
  min-width:0;
}
.rac-be-search__points > div{
  min-width:0;
}
.rac-be-search__pointlabel{
  margin:0 0 6px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  color:#1498c8;
  text-align:center;
}
.rac-be-search__points .rac-be-search__field,
.rac-be-search__points .rac-be-search__field select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

/* Desktop: four date/time fields + Search on row 1, pickup/return points on row 2. */
@media (min-width:1025px){
  .rac-be-search__shell > .rac-be-search__actions{
    grid-column:5;
    grid-row:1;
    align-self:end;
    width:100%;
    min-width:0;
  }
  .rac-be-search__shell > .rac-be-search__points{
    grid-column:1 / -1;
    grid-row:2;
  }
}

/* Tablet/mobile: preserve the existing wrapped search layout without forced grid rows. */
@media (max-width:1024px){
  .rac-be-search__shell > .rac-be-search__actions,
  .rac-be-search__shell > .rac-be-search__points{
    grid-column:1 / -1;
    grid-row:auto;
  }
}
@media (max-width:480px){
  .rac-be-search__points{
    gap:7px;
  }
  .rac-be-search__pointlabel{
    font-size:11px;
  }
}



/* v1.3.32 - opt-in performance JSON panel (?rac_be_debug=1) */
.rac-be-performance-debug{
  margin:18px auto 0;
  max-width:1180px;
  border:1px solid #d7e2ea;
  border-radius:12px;
  background:#f8fafc;
  overflow:hidden;
}
.rac-be-performance-debug__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid #d7e2ea;
  font-size:13px;
}
.rac-be-performance-debug__copy{
  border:0;
  border-radius:8px;
  padding:7px 12px;
  cursor:pointer;
  font-weight:700;
}
.rac-be-performance-debug__json{
  margin:0;
  padding:12px;
  max-height:520px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:12px;
  line-height:1.45;
}


/* v1.3.50 — strong selected-category focus before booking handoff. */
.rac-be-results.has-category-selection .rac-be-card{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}
.rac-be-results.has-category-selection .rac-be-card:not(.is-category-selected){
  transform:scale(.90);
  opacity:.62;
}
.rac-be-card.is-category-selected{
  position:relative;
  z-index:8;
  transform:scale(1.24);
  opacity:1;
  border-color:var(--rac-accent);
  box-shadow:
    0 0 0 4px rgba(20,152,200,.14),
    0 22px 42px rgba(16,42,67,.20);
  animation:rac-be-category-focus-zoom .34s cubic-bezier(.2,.9,.2,1) both;
}
@keyframes rac-be-category-focus-zoom{
  0%{transform:scale(.92)}
  68%{transform:scale(1.29)}
  100%{transform:scale(1.24)}
}


/* v1.3.64: Shared booking calendar modal for homepage and Special Offers. */
.rac-be-calendar-field{position:relative!important}
.rac-be-calendar-trigger{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:4!important;cursor:pointer!important;background:transparent!important;border:0!important;padding:0!important;border-radius:inherit!important}
.rac-be-calendar-trigger:focus-visible{outline:2px solid #028bd1!important;outline-offset:-3px!important}
.rac-be-calendar-overlay[hidden]{display:none!important}
.rac-be-calendar-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important}
.rac-be-calendar-backdrop{position:absolute;inset:0;background:rgba(23,40,57,.46);backdrop-filter:blur(4px)}
.rac-be-calendar-modal{position:relative;width:min(100%,540px);max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid #d9e8f1;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(12,36,58,.3);font:14px/1.45 Arial,sans-serif;color:#263c52}
.rac-be-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;background:linear-gradient(#fff,#f1f8fc);border-bottom:1px solid #dfe9f1}
.rac-be-calendar-head h2{font-size:21px!important;font-weight:750!important;margin:0 0 3px!important;color:#183b56!important}
.rac-be-calendar-head p{margin:0!important;font-size:13px;color:#8396a7}
.rac-be-calendar-close{border:1px solid #f63873;background:#fff;color:#f63873;border-radius:5px;min-width:44px;min-height:40px;font-size:25px;cursor:pointer}
.rac-be-calendar-controls{margin:12px 14px 8px;padding:9px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;background:#ecf8ff}
.rac-be-calendar-controls button{flex:0 0 38px;height:38px;background:#fff;border:1px solid #d1e1eb;border-radius:11px;cursor:pointer;color:#253c51}
.rac-be-calendar-controls button:disabled{opacity:.3;cursor:default}
.rac-be-calendar-controls select{flex:1;max-width:138px;min-width:0;height:43px;padding:5px 9px;border:1px solid #d1dce5;border-radius:10px;background:#fff;color:#24384a}
.rac-be-calendar-controls button:first-child{margin-right:auto}.rac-be-calendar-controls button:last-child{margin-left:auto}
.rac-be-calendar-weekdays,.rac-be-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:0 19px}
.rac-be-calendar-weekdays{margin:12px 0 10px;text-align:center;font-size:12px;color:#7e91a4;font-weight:700}
.rac-be-calendar-days{padding-bottom:21px}
.rac-be-calendar-day{min-width:0;min-height:53px;border:0;border-radius:11px;background:#f7fafc;color:#283b4e;cursor:pointer;font:inherit}
.rac-be-calendar-day:hover:not(:disabled){background:#dff3ff}
.rac-be-calendar-day.is-selected{background:#04a8e6;color:#fff;font-weight:750}
.rac-be-calendar-day.is-outside{color:#a5b4c1;background:#fbfcfd}
.rac-be-calendar-day.is-disabled{opacity:.4;cursor:default}
@media(max-width:480px){.rac-be-calendar-modal{border-radius:15px}.rac-be-calendar-head{padding:13px}.rac-be-calendar-day{min-height:39px}.rac-be-calendar-controls{gap:4px}.rac-be-calendar-weekdays,.rac-be-calendar-days{gap:4px;padding-left:10px;padding-right:10px}}

/* v1.3.65 — Public form: clear language-specific Pickup/Return selectors.
 * Preserve visible labels and only ONE selected value inside the input.
 * Prevent long FR/DE/ES translations from overlapping the chevron. */
.rac-be .rac-be-search__points > div{min-width:0;display:flex;flex-direction:column;gap:6px}
.rac-be .rac-be-search__points .rac-be-search__pointlabel{
  position:static;display:block;min-height:1.35em;margin:0;
  line-height:1.35;overflow-wrap:anywhere;white-space:normal;text-align:center;
}
.rac-be .rac-be-search__points .rac-be-search__field{width:100%;min-width:0}
.rac-be .rac-be-search__points .rac-be-search__field select{
  display:block;width:100%;max-width:100%;height:auto;min-height:44px;
  padding:9px 36px 9px 14px;box-sizing:border-box;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-align:center;text-align-last:center;
  font-size:clamp(12px,1.1vw,15px);line-height:1.3;
  appearance:none;-webkit-appearance:none;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#657580 50%),linear-gradient(135deg,#657580 50%,transparent 50%);
  background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
@media(max-width:600px){
  .rac-be .rac-be-search__points{grid-template-columns:minmax(0,1fr);gap:10px}
  .rac-be .rac-be-search__points .rac-be-search__field select{font-size:13px;min-height:43px}
}


/* v1.3.66 — Mobile search summary: one sticky line after Search.
   The same live form is portaled as a modal while editing; desktop and tablet retain their layout. */
.rac-be-search__mobile-summary,
.rac-be-search__mobile-editor-header{display:none!important}
@media (max-width:767px){
  .rac-be-search.is-rac-be-mobile-collapsed{
    position:-webkit-sticky;
    position:sticky;
    top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--rac-be-sticky-top-mobile, 6px));
    width:100%;max-width:100%;
    padding:5px 6px;margin:0 auto 8px;
    z-index:10002;background:#fff;
    border-radius:16px;box-shadow:0 5px 17px rgba(0,40,58,.14);
    backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .rac-be-search.is-rac-be-mobile-collapsed::before{display:none}
  .rac-be-search.is-rac-be-mobile-collapsed > .rac-be-search__toplabels,
  .rac-be-search.is-rac-be-mobile-collapsed > .rac-be-search__shell{display:none!important}
  .rac-be-search.is-rac-be-mobile-collapsed > .rac-be-search__mobile-summary{
    display:flex!important;align-items:center;gap:9px;width:100%;height:48px;
    border:1px solid #cfe2ee;border-radius:12px;padding:5px 10px;
    background:#f4fbff;color:#1b3043;cursor:pointer;text-align:left;
    box-sizing:border-box;font:inherit;line-height:1.25;
  }
  .rac-be-search__mobile-summary:focus-visible{outline:2px solid #1498c8;outline-offset:2px}
  .rac-be-search__mobile-summary-icon{font-size:19px;color:#1498c8;flex:0 0 auto}
  .rac-be-search__mobile-summary-content{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:1px;overflow:hidden}
  .rac-be-search__mobile-summary-dates{font-size:12px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rac-be-search__mobile-summary-points{font-size:10px;font-weight:600;color:#60788a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rac-be-search__mobile-summary-points:empty{display:none}
  .rac-be-search__mobile-summary-edit{color:#087fa8;font-size:19px;flex:0 0 auto}
  body.rac-be-mobile-editor-active{overflow:hidden!important}
  .rac-be-mobile-editor-backdrop{position:fixed;inset:0;z-index:2147482850;background:rgba(11,28,43,.62);backdrop-filter:blur(3px)}
  body > .rac-be-search.is-rac-be-mobile-editor-open{
    position:fixed!important;top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    z-index:2147482900!important;
    width:min(94vw,520px)!important;max-width:min(94vw,520px)!important;
    max-height:calc(100dvh - 24px);
    overflow-y:auto;overscroll-behavior:contain;
    margin:0!important;padding:12px!important;
    border-radius:20px!important;background:#fff!important;
    box-sizing:border-box!important;
    box-shadow:0 25px 65px rgba(0,0,0,.26)!important;
    isolation:isolate;
    -webkit-overflow-scrolling:touch;
  }
  body > .rac-be-search.is-rac-be-mobile-editor-open::before{display:none!important}
  body > .rac-be-search.is-rac-be-mobile-editor-open > .rac-be-search__mobile-editor-header{
    display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    padding:3px 5px 12px;color:#1c354b;font-size:17px;line-height:1.2;
  }
  .rac-be-search__mobile-editor-close{appearance:none;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid #d4e3eb;border-radius:50%;background:#fff;color:#405d70;width:36px;height:36px;
    font-size:26px;cursor:pointer;flex-shrink:0;padding:0;line-height:1}
  body > .rac-be-search.is-rac-be-mobile-editor-open .rac-be-search__shell{display:grid!important}
  body > .rac-be-search.is-rac-be-mobile-editor-open .rac-be-search__toplabels{display:grid!important}
}
@media (max-width:360px){
  .rac-be-search__mobile-summary-dates{font-size:11px}
  .rac-be-search__mobile-summary-icon{font-size:16px}
  .rac-be-search.is-rac-be-mobile-collapsed > .rac-be-search__mobile-summary{gap:6px;padding:5px 7px}
}
/* Keep the compact mobile search literally one text row. */
@media (max-width:767px){
  .rac-be-search__mobile-summary-content{flex-direction:row;align-items:center;white-space:nowrap;gap:8px}
  .rac-be-search__mobile-summary-dates{flex:0 1 auto;min-width:0;max-width:100%}
  .rac-be-search__mobile-summary-points{flex:1 1 0;min-width:0;font-size:10px}
  .rac-be-search__mobile-summary-points:not(:empty)::before{content:'· ';}
}

/* v1.3.67 — true viewport top on mobile. The compact summary is reparented to
   <body>, bypassing sticky containing blocks, transformed Elementor ancestors
   and top margins of the original Search widget. Browser chrome is outside the
   web viewport, so 0px sits directly below it. */
@media (max-width:767px){
  .rac-be-search.is-rac-be-mobile-collapsed{
    position:static!important;
    inset:auto!important;
    height:0!important;min-height:0!important;max-height:0!important;
    width:100%!important;
    padding:0!important;margin:0!important;
    border:0!important;border-radius:0!important;
    overflow:hidden!important;box-shadow:none!important;
    background:transparent!important;backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    pointer-events:none!important;
  }
  .rac-be-search.is-rac-be-mobile-collapsed::before{display:none!important}
  body > .rac-be-search__mobile-summary.is-rac-be-fixed-mobile-summary{
    display:flex!important;
    position:fixed!important;
    top:calc(var(--rac-be-fixed-top, 0px) + env(safe-area-inset-top, 0px))!important;
    left:0!important;right:0!important;bottom:auto!important;
    width:100%!important;max-width:100vw!important;
    min-height:55px!important;height:55px!important;
    margin:0!important;padding:5px 12px!important;
    align-items:center!important;gap:9px!important;
    box-sizing:border-box!important;
    border:0!important;border-bottom:1px solid #cfe2ee!important;
    border-radius:0 0 17px 17px!important;
    color:#1b3043;background:rgba(250,253,255,.99)!important;
    box-shadow:0 5px 15px rgba(0,40,58,.16)!important;
    z-index:2147482000!important;
    font:inherit;line-height:1.25;
    text-align:left;cursor:pointer;
    -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  }
  body > .rac-be-search__mobile-summary.is-rac-be-fixed-mobile-summary
    .rac-be-search__mobile-summary-content{
    display:flex;flex:1;min-width:0;flex-direction:row;
    align-items:center;gap:8px;white-space:nowrap;overflow:hidden;
  }
}
