/*
 * // File: /catalog/view/theme/default/stylesheet/nu_booking/nu_booking.css
 *
 * Developed by Noor United Est.
 *
 * Website: www.noor-united.com
 *
 * Kuwait
 * Tel: +965-22280990
 * Mobile: +965-60005677
 *
 * Bahrain
 * Tel: +973-16612020 / +973-16613030
 * Mobile: +973-37616010
 *
 * Copyright (c) Noor United Est.
 * All rights reserved.
 */

#nu-booking-wrapper{direction:rtl;margin:0 0 18px}
.nu-booking-checkout-box{background:#f1f3f5;border:1px solid #e2e5e9;padding:18px;font-family:inherit}
.nu-booking-head{text-align:center;border-bottom:1px solid #d4001a;padding-bottom:12px;margin-bottom:16px}
.nu-booking-head h3{margin:0;color:#111;font-size:22px;font-weight:700}
.nu-booking-head p{margin:6px 0 0;color:#555;font-size:13px}
.nu-booking-field{margin-bottom:14px}
.nu-booking-field label{display:block;margin-bottom:7px;color:#222;font-weight:700;font-size:14px}
.nu-booking-date-display{width:100%;min-height:46px;border:1px solid #d7dce2;background:#fff;color:#222;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;cursor:pointer}
.nu-booking-date-display:hover{border-color:#d4001a}
.nu-booking-date-label{flex:1;text-align:right}
.nu-booking-date-arrow{color:#d4001a;font-size:18px;font-weight:bold}
.nu-booking-calendar{background:#fff;border:1px solid #d7dce2;margin-top:10px;padding:12px;box-shadow:0 12px 26px rgba(0,0,0,.08)}
.nu-booking-calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.nu-booking-cal-prev,.nu-booking-cal-next{width:34px;height:34px;border:1px solid #d4001a;background:#fff;color:#d4001a;font-size:22px;cursor:pointer}
.nu-booking-cal-prev:hover,.nu-booking-cal-next:hover{background:#d4001a;color:#fff}
.nu-booking-weekdays,.nu-booking-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.nu-booking-weekdays span{text-align:center;color:#555;font-size:12px;font-weight:700}
.nu-booking-day{height:36px;border:1px solid #e1e4e8;background:#fff;color:#222;cursor:pointer}
.nu-booking-day:hover{border-color:#d4001a;color:#d4001a}
.nu-booking-day.is-selected{background:#d4001a;color:#fff}
.nu-booking-day.is-disabled{background:#f5f5f5;color:#aaa;cursor:not-allowed}
.nu-booking-day.is-empty{border:0;background:transparent}
.nu-booking-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nu-booking-slots.is-disabled{display:block}
.nu-booking-slot input{display:none}
.nu-booking-slot span{display:block;text-align:center;padding:11px 8px;background:#fff;border:1px solid #d7dce2;color:#222;font-weight:700}
.nu-booking-slot input:checked+span{background:#d4001a;border-color:#d4001a;color:#fff}
.nu-booking-empty{background:#fff;border:1px dashed #d7dce2;padding:12px;text-align:center;color:#666}
#nu_booking_notes{width:100%;min-height:72px;border:1px solid #d7dce2;background:#fff;padding:10px;resize:vertical}
@media(max-width:768px){.nu-booking-slots{grid-template-columns:repeat(2,1fr)}}


/* iPhone / Safari touch fixes */
#nu-booking-checkout-box,
#nu-booking-checkout-box * {
    -webkit-tap-highlight-color: transparent;
}

#nu-booking-checkout-box button,
#nu-booking-checkout-box .nu-booking-day,
#nu-booking-checkout-box .nu-booking-slot,
#nu-booking-checkout-box label {
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
}

#nu-booking-calendar,
#nu-booking-days,
#nu-booking-slots {
    -webkit-overflow-scrolling: touch;
}

.nu-booking-day,
.nu-booking-slot {
    cursor: pointer;
}

/* NU Booking - iPhone Safari scroll unlock */
html,
body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: static !important;
    -webkit-overflow-scrolling: touch !important;
}

html.popup-open,
html.popup-center,
body.popup-open,
body.popup-center {
    overflow-y: auto !important;
    position: static !important;
    height: auto !important;
}

.quick-checkout-wrapper,
.quick-checkout,
.checkout-page,
#content,
.container,
.row {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.popup-wrapper:not(.popup-options):not(.popup-checkout-payment) {
    display: none !important;
}




@supports (-webkit-overflow-scrolling: touch) {
  html.route-checkout-checkout,
  html.route-checkout-checkout body {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    position: static !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .quick-checkout-wrapper,
  #checkout-checkout,
  .site-wrapper,
  .nu-booking-wrapper,
  #nu-booking-checkout-box {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
}


/* Disabled days X mark */

.nu-booking-day.is-disabled {
    position: relative;
    color: #aaa !important;
    overflow: hidden;
}

.nu-booking-day.is-disabled::before,
.nu-booking-day.is-disabled::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 2px;
    background: rgba(180,0,0,.65);
    pointer-events: none;
    z-index: 5;
}

.nu-booking-day.is-disabled::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.nu-booking-day.is-disabled::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}