/* Aurora Booking Manager 0.12.3 — ACTUAL FLEXBOX search fields.
   The two field groups are each a 50% flex child; two equal-width labels live
   inside each group. No grid or display:contents in the search form layout.
   This stylesheet loads after booking.css to win over older Elementor rules. */
.abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar){
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  justify-content:stretch!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar>.abm-standard-dates,
.abm-booking.abm-v4 .abm-standard-search-bar>.abm-shared-guests,
.abm-booking.abm-v4 .abm-offer-search-bar>.abm-offer-date-fields,
.abm-booking.abm-v4 .abm-offer-search-bar>.abm-shared-guests{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  flex:1 1 0!important;
  align-items:flex-end!important;
  gap:16px!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  border:0!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar :is(.abm-standard-dates,.abm-shared-guests)>label,
.abm-booking.abm-v4 .abm-offer-search-bar :is(.abm-offer-date-fields,.abm-shared-guests)>label{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 0!important;
  float:none!important;
  clear:none!important;
  min-width:0!important;
  max-width:none!important;
  width:0!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar label :is(input,select),
.abm-booking.abm-v4 .abm-offer-search-bar label :is(input,select){
  display:block!important;box-sizing:border-box!important;float:none!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:54px!important;min-height:54px!important;margin:0!important;
  background:#fff!important;color:#143b2b!important;border:1px solid #d4dfd5!important;
  border-radius:0!important;
}
.abm-booking.abm-v4 .abm-standard-search-bar label>span,
.abm-booking.abm-v4 .abm-offer-search-bar label>span{
  display:block!important;margin:0 0 7px!important;line-height:1.3!important;
}
/* Multi-room invitation is visible at the beginning, but never creates a confirmed booking. */
 .abm-booking.abm-v4 .abm-group-starter{margin:14px 0 0!important;width:min(100%,500px)!important;max-width:500px!important;clear:both!important}
.abm-booking.abm-v4 .abm-group-starter[hidden]{display:none!important}
.abm-booking.abm-v4 .abm-group-starter-control{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:12px!important;width:100%!important;min-width:0!important;
  padding:13px 15px!important;margin:0!important;float:none!important;
  background:#f7f9f6!important;border:1px solid #dde6dc!important;
  cursor:pointer!important;text-align:left!important;
}
.abm-booking.abm-v4 .abm-group-starter-control:hover{border-color:#bdab82!important}
.abm-booking.abm-v4 .abm-group-starter-control>input{
  flex:0 0 19px!important;width:19px!important;height:19px!important;
  accent-color:#174332!important;margin:0!important;cursor:pointer!important;
}
.abm-booking.abm-v4 .abm-group-starter-copy{display:flex!important;flex-direction:column!important;gap:3px!important;flex:1 1 auto!important;min-width:0!important}
.abm-booking.abm-v4 .abm-group-starter-copy strong{font-size:14px!important;color:#193d30!important}
.abm-booking.abm-v4 .abm-group-starter-copy small{font-size:12px!important;line-height:1.5!important;color:#6a796d!important}
.abm-booking.abm-v4 .abm-group-starter-tag{
  flex:0 0 auto!important;white-space:nowrap!important;
  padding:5px 9px!important;background:#edf2ed!important;
  color:#45634c!important;font-size:11px!important;font-weight:700!important;
}
.abm-booking.abm-v4 .abm-group-starter-tip{
  padding:12px 15px!important;margin:0!important;border:1px solid #dde6dc!important;
  border-top:0!important;color:#46634d!important;font-size:12px!important;line-height:1.6!important;
}
.abm-booking.abm-v4.abm-is-group-request .abm-group-starter-control{border-color:#b9a46f!important;background:#f9f8f2!important}
.abm-booking.abm-v4 .abm-room-group-controls{margin:17px 0 22px!important}
.abm-booking.abm-v4 .abm-add-room{
  display:block!important;width:100%!important;margin:12px 0 0!important;
  padding:14px 16px!important;color:#153e2e!important;background:#f7faf7!important;
  border:1px dashed #9fae9e!important;font-weight:700!important;cursor:pointer!important;
  text-align:left!important;transition:background .2s!important;
}
.abm-booking.abm-v4 .abm-add-room:hover{background:#e9f0e9!important}
.abm-booking.abm-v4 .abm-add-room[hidden],
.abm-booking.abm-v4 .abm-group-rooms[hidden],
.abm-booking.abm-v4 .abm-group-explain[hidden],
.abm-booking.abm-v4 .abm-group-starter-tip[hidden]{display:none!important}
.abm-booking.abm-v4 .abm-group-explain{font-size:12px!important;color:#677a6a!important;line-height:1.6!important;margin:8px 0 0!important}
.abm-booking.abm-v4 .abm-group-rooms{border:1px solid #dbe5da!important;background:#f7f9f6!important;padding:14px 16px!important;margin-bottom:12px!important}
.abm-booking.abm-v4 .abm-group-rooms h4{font-size:16px!important;margin:0 0 8px!important}
.abm-booking.abm-v4 .abm-group-line{display:flex!important;justify-content:space-between!important;gap:10px!important;border-bottom:1px solid #e0e8df!important;padding:10px 0!important;font-size:12px!important;align-items:center!important}
.abm-booking.abm-v4 .abm-group-remove{border:0!important;background:none!important;cursor:pointer!important;color:#80592d!important;text-decoration:underline!important}
.abm-booking.abm-v4 .abm-group-grand{font-weight:700!important;color:#153e2e!important;margin:10px 0 0!important}
/* Existing details form: two contact inputs in a row; mobile stacks them. */
.abm-booking.abm-v4 .abm-contact-fields>.abm-contact-pair{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:15px!important;grid-column:1/-1!important;float:none!important;
  width:100%!important;min-width:0!important;margin:0!important;padding:0!important;
}
.abm-booking.abm-v4 .abm-contact-fields>.abm-contact-pair>label{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  float:none!important;clear:none!important;grid-column:auto!important;margin:0!important;padding:0!important;
}
.abm-booking.abm-v4 .abm-contact-pair input{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.abm-booking.abm-v4 :is(.abm-offer-booking-fields,.abm-results-panel,.abm-details-step,.abm-success-panel,.abm-search-surface,.abm-search-error){scroll-margin-top:clamp(20px,8vh,100px)}
@media(max-width:600px){
  .abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar){flex-direction:column!important;gap:11px!important}
  .abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar)>:is(.abm-standard-dates,.abm-offer-date-fields,.abm-shared-guests){flex:0 0 auto!important;width:100%!important;gap:11px!important}
  .abm-booking.abm-v4 .abm-contact-fields>.abm-contact-pair{grid-template-columns:minmax(0,1fr)!important}
  .abm-booking.abm-v4 .abm-group-starter-tag{display:none!important}
}

/* Conditional bed choice on the final step: flexible DBL/TWIN rooms only. */
.abm-booking.abm-v4 .abm-bed-choice[hidden]{display:none!important}
.abm-booking.abm-v4 .abm-bed-choice small{display:block!important;color:#728477!important;font-size:11px!important;font-weight:400!important;margin-top:6px!important}
/* Clear, restrained status strips below the first-step controls. */
.abm-booking.abm-v4 :is(.abm-guest-limits,.abm-standard-departure,.abm-search-recap){
  line-height:1.55!important;font-size:12px!important;letter-spacing:0!important;
}
.abm-booking.abm-v4 .abm-guest-limits:not(:empty){
  display:block!important;padding:11px 13px!important;margin:12px 0 0!important;
  border:1px solid #e3e8df!important;border-left:3px solid #b79b63!important;
  background:#fbfbf8!important;color:#496457!important;
}
.abm-booking.abm-v4 .abm-search-recap{
  border-left:3px solid #b79b63!important;padding:12px 15px!important;
  background:#edf4ee!important;color:#174430!important;margin:12px 0 0!important;
}
.abm-booking.abm-v4 .abm-standard-departure{
  color:#526d5a!important;padding:0!important;margin:11px 0 0!important;
}

/* Search-field Flexbox responsiveness and hidden-state safety. */
.abm-booking.abm-v4 .abm-search-recap[hidden]{display:none!important}
@media (max-width:720px){
  .abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar){flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar)>:is(.abm-standard-dates,.abm-offer-date-fields,.abm-shared-guests){flex:0 0 auto!important;width:100%!important;max-width:none!important;gap:12px!important}
}
@media (max-width:360px){
  .abm-booking.abm-v4 :is(.abm-standard-search-bar,.abm-offer-search-bar)>:is(.abm-standard-dates,.abm-offer-date-fields,.abm-shared-guests){flex-wrap:wrap!important}
  .abm-booking.abm-v4 .abm-standard-search-bar :is(.abm-standard-dates,.abm-shared-guests)>label,
  .abm-booking.abm-v4 .abm-offer-search-bar :is(.abm-offer-date-fields,.abm-shared-guests)>label{flex:1 1 100%!important;width:100%!important}
}



/* v0.12.8 — one premium offer component. Independent of obsolete card grid
   selectors and legacy odd-last-child rules. Container dimensions drive widths. */
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 {
  box-sizing:border-box!important;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:stretch!important;justify-content:space-between!important;
  gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:4px 0 18px!important;padding:0!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile,
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:last-child:nth-child(odd) {
  appearance:none!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  flex:0 1 calc((100% - 24px) / 3)!important;
  width:calc((100% - 24px) / 3)!important;min-width:0!important;max-width:calc((100% - 24px) / 3)!important;
  height:auto!important;min-height:0!important;grid-column:auto!important;grid-row:auto!important;
  position:relative!important;float:none!important;clear:none!important;
  padding:0!important;margin:0!important;overflow:hidden!important;
  border:1px solid #d9e2d8!important;border-radius:0!important;
  background:#fff!important;box-shadow:none!important;
  cursor:pointer!important;text-align:left!important;transform:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:hover {
  transform:translateY(-2px)!important;border-color:#bda36e!important;
  box-shadow:0 9px 24px rgba(21,54,39,.09)!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile.is-selected {
  border-color:#b39760!important;box-shadow:inset 0 0 0 2px #b39760!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-photo,
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo {
  box-sizing:border-box!important;position:relative!important;display:block!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:154px!important;min-height:154px!important;max-height:154px!important;
  aspect-ratio:auto!important;flex:0 0 154px!important;
  overflow:hidden!important;background:#183b2c!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-photo img {
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center 54%!important;
  transform:none!important;transition:transform .3s ease!important;
}
/* The official 1000x410 fallbacks include a dark top strip; crop just that strip.
   Media Library photos do NOT receive the crop. */
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-photo-official img {
  top:-24px!important;bottom:auto!important;height:calc(100% + 24px)!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:hover .abm-offer-tile-photo img {transform:scale(1.025)!important}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-photo::after {
  content:''!important;pointer-events:none!important;position:absolute!important;
  inset:53% 0 0!important;background:linear-gradient(transparent,rgba(10,32,22,.52))!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-duration {
  z-index:2!important;position:absolute!important;left:11px!important;bottom:11px!important;
  background:rgba(12,41,29,.86)!important;border:1px solid rgba(255,255,255,.34)!important;
  color:#fff!important;font-size:11px!important;font-weight:700!important;
  line-height:1.2!important;letter-spacing:0!important;padding:5px 8px!important;margin:0!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-content {
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:0!important;
  min-height:0!important;height:auto!important;flex:1 1 auto!important;
  padding:13px 14px 12px!important;justify-content:flex-start!important;
  white-space:normal!important;background:#fff!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-title {
  display:block!important;margin:0 0 6px!important;min-height:0!important;
  color:#173d2b!important;font-size:15px!important;font-weight:750!important;
  line-height:1.27!important;letter-spacing:-.015em!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-description {
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
  overflow:hidden!important;min-height:0!important;max-height:2.85em!important;
  margin:0!important;padding:0!important;color:#657568!important;
  font-size:11.5px!important;line-height:1.42!important;white-space:normal!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-footer {
  box-sizing:border-box!important;display:flex!important;justify-content:space-between!important;
  align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;
  margin:11px 0 0!important;padding:9px 0 0!important;
  border-top:1px solid #e7ece6!important;color:#69796d!important;font-size:10.5px!important;
  line-height:1.3!important;min-width:0!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-tile-choice {
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  color:#18523b!important;font-weight:700!important;white-space:nowrap!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-tile-choice svg {
  width:16px!important;height:16px!important;flex:0 0 16px!important;
  opacity:1!important;border:1px solid #c7d5c9!important;border-radius:50%!important;
  background:#eef4ef!important;color:#1d5b3f!important;padding:2px!important;
}
.abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:focus-visible {outline:3px solid #bda36e!important;outline-offset:2px!important}
@media(max-width:780px){
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 {flex-wrap:wrap!important;justify-content:flex-start!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile,
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:last-child:nth-child(odd) {
    flex:0 0 calc((100% - 12px) / 2)!important;width:calc((100% - 12px) / 2)!important;
    max-width:calc((100% - 12px) / 2)!important;
  }
}
@media(max-width:540px){
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 {gap:9px!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile,
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:last-child:nth-child(odd) {
    display:flex!important;flex-direction:row!important;flex:0 0 100%!important;
    width:100%!important;max-width:100%!important;min-height:120px!important;
  }
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-photo,
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:last-child:nth-child(odd) .abm-offer-tile-photo {
    flex:0 0 112px!important;width:112px!important;height:auto!important;
    min-height:118px!important;max-height:none!important;
  }
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-content{padding:11px 12px!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-title{font-size:14px!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-description{font-size:11px!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128 .abm-offer-tile-footer{margin-top:8px!important;padding-top:7px!important}
}
@media(prefers-reduced-motion:reduce){
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile {transition:none!important}
  .abm-booking.abm-v4 .abm-special-panel .abm-offers-premium-v128>.abm-offer-tile:hover {transform:none!important}
}

/* 0.13: Additional guard against page-builder generated line breaks. */
.abm-booking.abm-v4 .abm-offers-premium-v128 br,
.abm-booking.abm-v4 .abm-offer-tile br { display:none!important; height:0!important; margin:0!important; padding:0!important; }

/* v0.13.1: An enquiry is not a zero-EUR offer. */
.abm-booking .abm-rate-manual {background:#f8f5ed!important; border-left:3px solid #b68b46!important;}
.abm-booking .abm-rate-manual .abm-rate-price strong {font-size:1.05rem!important;white-space:normal!important;}
