/* ================================================================
   Awestruck — New Design Popup v2
   Scope: .exp-popup-v2  (applied to #experienceModal)
   home.js — ZERO CHANGES. All IDs/classes preserved from old popup.
   Load AFTER existing stylesheets.
   Fonts: Bricolage Grotesque, Space Grotesk, DM Sans
================================================================ */

/* ── Variables ─────────────────────────────────────────────── */
.exp-popup-v2 {
  --ep-blue:       #383BF1;
  --ep-blue-2:     #6f72ff;
  --ep-blue-soft:  #eef0ff;
  --ep-cream:      #fff5e7;
  --ep-yellow:     #FFD153;
  --ep-yellow-d:   #F6B800;
  --ep-green:      #2BC26A;
  --ep-ink:        #1a1a1a;
  --ep-gray:       #5e5e5e;
  --ep-line:       #e8e6e0;
  --ep-radius:     18px;
  --ep-display:    'Bricolage Grotesque', system-ui, sans-serif;
  --ep-sharp:      'Space Grotesk', system-ui, sans-serif;
  --ep-body:       'DM Sans', system-ui, sans-serif;
}

/* ── Modal shell ────────────────────────────────────────────── */
.exp-popup-v2 .modal-content {
  border: none;
  border-radius: 24px;
  background: #f8f4ee;
  overflow: hidden;
  font-family: var(--ep-body);
  color: var(--ep-ink);
  position: relative;
}
.exp-popup-v2 .modal-body {
  padding: 0;
  position: relative;
}

/* ── Close button ───────────────────────────────────────────── */
.exp-popup-v2 .exp-popup-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 1060;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ep-ink);
  color: #fff;
  border: none;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, transform 0.15s;
  font-family: var(--ep-sharp);
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.exp-popup-v2 .exp-popup-close:hover {
  background: var(--ep-blue);
  transform: scale(1.08);
}

/* Loading shimmer — covers stale content from a previous popup while the
   next one's data is being fetched. z-index sits below .exp-popup-close
   (1060) so the modal can still be dismissed while loading. */
.exp-popup-v2 .ep-loading-shimmer {
  position: absolute;
  inset: 0;
  z-index: 1050;
  background: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
  border-radius: inherit;
}
.exp-popup-v2 .ep-shimmer-block {
  background: #eceef2;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  flex: none;
}
.exp-popup-v2 .ep-shimmer-media {
  width: 100%;
  height: 260px;
  border-radius: 16px;
  margin-bottom: 8px;
}
.exp-popup-v2 .ep-shimmer-block::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 120%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.06), transparent);
  animation: shimmerMove 1.8s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .exp-popup-v2 .ep-shimmer-block::after {
    animation: none;
  }
}
@keyframes shimmerMove {
  100% {
    left: 150%;
  }
}
/* Hide old default BS close button if present */
.exp-popup-v2 .btn-close { display: none !important; }
.exp-popup-v2 .img-logo-fixed { display: none !important; }

/* ── Main two-column layout ─────────────────────────────────── */
.exp-popup-v2 .ep-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 24px 28px 20px;
  background: #fff;
  border-radius: 20px;
  margin: 20px;
  box-shadow: 0 20px 60px rgba(20,20,50,0.11);
}

/* ── LEFT column ────────────────────────────────────────────── */
.exp-popup-v2 .ep-left {
  display: flex;
  flex-direction: column;
  min-width: 0;
}


.exp-popup-v2 .ep-hero {
  border-radius: var(--ep-radius);
  overflow: hidden;
  height: 380px;
  position: relative;
  background: #2a2a2a;
}
.exp-popup-v2 .ep-hero-bottom {
  overflow: visible !important;
}

.exp-popup-v2 .package-share {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 100;
  /* Same circular button chrome as the details page's .aw-v2 .hero-share */
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, #ff3b6e, #FFD153, #1e3df1, #9333ea, #ff3b6e);
  box-shadow: 0 4px 14px rgba(56, 59, 241, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.exp-popup-v2 .package-share::after {
  content: '';
  position: absolute;
  inset: 2.5px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  z-index: 0;
}
.exp-popup-v2 .package-share > i {
  position: relative;
  z-index: 1;
}
.exp-popup-v2 .package-share:hover {
  transform: scale(1.12);
  box-shadow: 0 6px 18px rgba(147, 51, 234, 0.45);
}
.exp-popup-v2 .ep-hero .swiper-wrapper {
  height: 100%;
}
.exp-popup-v2 .ep-hero .swiper-slide {
  height: 100%;
}
.exp-popup-v2 .ep-hero .swiper-slide .portfolio-box {
  height: 100%;
}
.exp-popup-v2 .ep-hero .swiper-slide .portfolio-image {
  height: 100%;
}
.exp-popup-v2 .ep-hero .swiper-slide .portfolio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.exp-popup-v2 .ep-hero .swiper-button-prev,
.exp-popup-v2 .ep-hero .swiper-button-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s ease;
}
.exp-popup-v2 .ep-hero .swiper-button-prev:hover,
.exp-popup-v2 .ep-hero .swiper-button-next:hover {
  background: rgba(0, 0, 0, 0.55);
}
.exp-popup-v2 .ep-hero .swiper-button-prev { left: 12px !important; }
.exp-popup-v2 .ep-hero .swiper-button-next { right: 12px !important; }
.exp-popup-v2 .ep-hero .swiper-button-prev::after,
.exp-popup-v2 .ep-hero .swiper-button-next::after {
  content: '' !important;   /* clears Swiper's default arrow icon so only our ‹ › shows */
}

/* Add below */
/* .hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease;
} */

/* Category badge on image */
.exp-popup-v2 .ep-category-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  background: rgba(255,255,255,0.9);
  color: var(--ep-blue);
  font-size: 12px !important;
  font-weight: 700;
  border-radius: 999px;
  padding: 4px 12px;
  backdrop-filter: blur(6px);
  display:none;
}
/* Name + share bar below image */
.exp-popup-v2 .ep-hero-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.32));
  padding: 32px 16px 30px;    /* extra bottom padding lifts the text above the dots */
  z-index: 5;
}
.exp-popup-v2 .ep-hero-bottom .package-name {
  color: #fff !important;
  font-family: var(--ep-display) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  flex: 1;
}
/* Share icons */
.exp-popup-v2 .ep-hero-bottom .share-toggle {
  cursor: pointer;
  color: #fff;
  font-size: 22px;
}
.exp-popup-v2 .share-icons {
  display: none;
  position: absolute;
  right: 0;
  bottom: 32px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.15);
  padding: 8px;
  flex-direction: column;
  gap: 4px;
  z-index: 20;
}
.exp-popup-v2 .share-toggle.active .share-icons,
.exp-popup-v2 .share-toggle:hover .share-icons {
  display: flex;
}
.exp-popup-v2 .share-btn {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 8px;
  color: var(--ep-ink);
  text-decoration: none;
  font-size: 14px;
  transition: background 0.12s;
}
.exp-popup-v2 .share-btn:hover { background: var(--ep-blue-soft); }

/* Mobile title */
.exp-popup-v2 .ep-title-mobile {
  font-family: var(--ep-display);
  font-size: 22px;
  color: var(--ep-ink);
}

/* Provider / Duration row — matches Detail Page animated gradient border bar */
.exp-popup-v2 .ep-meta {
  margin-top: 14px;
  position: relative;
  border-radius: 999px;
  padding: 2px;
  background: linear-gradient(
    90deg,
    var(--ep-blue),
    var(--ep-blue-2),
    var(--ep-blue),
    var(--ep-blue-2),
    var(--ep-blue)
  );
  background-size: 300% 100%;
  animation: ep-meta-border-flow 6s linear infinite;
}
.exp-popup-v2 .ep-meta-inner {
  background: #F1F1F4;
  color: #1a1a1a;
  border-radius: 999px;
  padding: 10px 20px;
  display: block;
  font-family: var(--ep-sharp);
  font-size: 14px;
  font-weight: 600;
}
.exp-popup-v2 .ep-provider-label {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  font-family: var(--ep-sharp);
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
  display: block;
}
.exp-popup-v2 .ep-provider-label::before {
  content: "◉";
  margin-right: 8px;
  color: #ffc107;
  vertical-align: middle;
  animation: ep-pulse-dot 1.6s ease-in-out infinite;
  display: inline-block;
}
.exp-popup-v2 .ep-provider-label .ep-brand,
.exp-popup-v2 .ep-provider-label .package-title {
  display: inline !important;
  margin: 0 !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
}
@keyframes ep-pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}
.exp-popup-v2 .ep-duration-label {
  color: black !important;
  background: #fff;
  padding: 5px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  font-family: var(--ep-sharp);
}
.exp-popup-v2 .ep-duration-label .duration {
  color: var(--ep-blue);
  font-weight: 700;
}
.aw-v2 .meta-row {
  position: relative;
  margin-top: 16px;
  border-radius: 999px;
  padding: 2px;
  background: linear-gradient(
    90deg,
    var(--aw-blue),
    var(--aw-blue),
    var(--aw-blue),
    var(--aw-blue),
    var(--aw-blue)
  );
  background-size: 300% 100%;
  
}
@keyframes aw-meta-border-flow {
  to {
    background-position: -300% 0;
  }
}
/* Brand name */
.exp-popup-v2 .ep-brand,
.exp-popup-v2 .package-title {
  font-family: var(--ep-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--ep-ink) !important;
  margin: 4px 0 12px !important;
}

/* Address (mobile) */
.exp-popup-v2 .booking-address {
  background: var(--ep-blue-soft);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
}
.exp-popup-v2 .booking-address .map {
  color: var(--ep-blue);
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  margin-top: 4px;
}

/* Description */
.exp-popup-v2 .ep-desc-block,
.exp-popup-v2 .desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ep-gray);
  background: var(--ep-cream);
  border-radius: 10px;
  padding: 12px 14px;
}
.exp-popup-v2 .desc b {
  color: var(--ep-ink);
}
.exp-popup-v2 .read-toggle {
  color: var(--ep-blue) !important;
  font-weight: 600;
  cursor: pointer;
}

/* ── Tabs ───────────────────────────────────────────────────── */
.exp-popup-v2 .ep-tabs {
  margin-top: 14px;
  flex: 1;
}
.exp-popup-v2 .ep-tab-btns {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--ep-line);
  margin-bottom: 12px;
}
.exp-popup-v2 .ep-tab-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: none;
  background: none;
  font-size: 11px;
  font-weight: 600;
  color: var(--ep-gray);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  font-family: var(--ep-sharp);
  transition: color 0.15s, border-color 0.15s;
  border-radius: 8px 8px 0 0;
}
.exp-popup-v2 .ep-tab-btn:hover { color: var(--ep-blue); }
.exp-popup-v2 .ep-tab-btn.active {
  color: var(--ep-blue);
  border-bottom-color: var(--ep-blue);
  background: var(--ep-blue-soft);
}
.exp-popup-v2 .ep-tab-icon {
  width: 22px;
  height: 22px;
}
.exp-popup-v2 .ep-tab-panel { display: none; }
.exp-popup-v2 .ep-tab-panel.active { display: block; }

/* Reach grid */
.exp-popup-v2 .ep-reach-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 10px;
}

/* Map card — matches detail page: grid background + blue pin + "Open in Maps" */
.exp-popup-v2 .ep-map-thumb {
  background: #e8eefe;
  border-radius: 16px;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  color: var(--ep-blue);
  font-size: 13px;
  font-weight: 600;
  transition: background 0.15s;
  position: relative;
  overflow: hidden;
  border: 1px solid #d4dbfa;
  /* Grid dot pattern like detail page map placeholder */
  background-image:
    linear-gradient(rgba(56,59,241,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,59,241,0.06) 1px, transparent 1px);
  background-size: 24px 24px;
  background-color: #eef0ff;
}
.exp-popup-v2 .ep-map-thumb:hover { background-color: #e3e6ff; }
.exp-popup-v2 .ep-map-pin {
  width: 36px;
  height: 44px;
  background: var(--ep-blue);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 4px 12px rgba(56,59,241,0.35);
  position: relative;
}
.exp-popup-v2 .ep-map-pin::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.exp-popup-v2 .ep-map-hint {
  background: #fff;
  border-radius: 8px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ep-blue);
  box-shadow: 0 2px 8px rgba(56,59,241,0.15);
}

/* Address card — matches detail page: "ADDRESS" label + text + Copy address button */
.exp-popup-v2 .ep-address-card {
  background: var(--ep-blue-soft);
  border-radius: 16px;
  padding: 16px 18px;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1px solid #d4dbfa;
}
.exp-popup-v2 .ep-address-card b {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ep-blue);
  font-family: var(--ep-sharp);
}
.exp-popup-v2 .ep-address-card .add {
  font-size: 13px;
  color: var(--ep-ink);
  line-height: 1.5;
}
.exp-popup-v2 .ep-view-map {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  border: 1.5px solid var(--ep-blue);
  border-radius: 999px;
  padding: 5px 14px;
  color: var(--ep-blue);
  font-weight: 700;
  font-size: 12px;
  text-decoration: none;
  font-family: var(--ep-sharp);
  width: fit-content;
  transition: background 0.15s;
}
.exp-popup-v2 .ep-view-map:hover {
  background: var(--ep-blue);
  color: #fff;
}

/* Cancel policy text */
.exp-popup-v2 .ep-cancel-text {
  font-size: 12px;
  color: var(--ep-gray);
  margin-top: 8px;
}

/* ── RIGHT column ───────────────────────────────────────────── */
.exp-popup-v2 .ep-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

/* Booking card */
.exp-popup-v2 .ep-booking-card {
  background: var(--ep-cream);
  border-radius: var(--ep-radius);
  padding: 18px 20px;
  position: relative;
  overflow: visible; /* must be visible for timeslot dropdown */
}
/* Shine is now clipped by a pseudo-element on the card's background layer only */
.exp-popup-v2 .ep-booking-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--ep-radius);
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
/* Shine via a separate absolutely-positioned div clipped inside card bounds */
.exp-popup-v2 .ep-booking-card-shine {
  position: absolute;
  inset: 0;
  border-radius: var(--ep-radius);
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}
.exp-popup-v2 .ep-booking-card-shine::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  animation: ep-shine 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ep-shine {
  0%, 70% { left: -100%; }
  100% { left: 200%; }
}
/* Ensure form content sits above the shine layer */
.exp-popup-v2 .ep-booking-card > *:not(.ep-booking-card-shine) {
  position: relative;
  z-index: 2;
}
.exp-popup-v2 .ep-book-title,
.exp-popup-v2 .book-title {
  color: var(--ep-blue) !important;
  font-family: var(--ep-display) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.02em;
}

/* Form grid */
.exp-popup-v2 .ep-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
.exp-popup-v2 .ep-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.exp-popup-v2 .ep-field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--ep-ink);
  font-family: var(--ep-sharp);
}
.exp-popup-v2 .ep-input,
.exp-popup-v2 .ep-field input,
.exp-popup-v2 .ep-field select {
  background: #fff !important;
  border: 1.5px solid #e8dcc6 !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
  font-family: var(--ep-body) !important;
  font-weight: 500;
  color: var(--ep-ink);
  transition: border-color 0.15s, box-shadow 0.15s;
  width: 100%;
}
/* Desktop only: light black border on the "Book Now Before Slots
   Fill" fields, matching the details page. Mobile/tablet keep the
   existing tan border, untouched. */
@media (min-width: 1200px) {
  .exp-popup-v2 .ep-input,
  .exp-popup-v2 .ep-field input,
  .exp-popup-v2 .ep-field select {
    border: 1.5px solid #000 !important;
  }
}
.exp-popup-v2 .ep-input:focus,
.exp-popup-v2 .ep-field input:focus,
.exp-popup-v2 .ep-field select:focus {
  outline: none;
  border-color: var(--ep-blue) !important;
  box-shadow: 0 0 0 3px rgba(56,59,241,0.1);
}
.exp-popup-v2 .col-span-2 { grid-column: span 2; }

/* Qty control */
.exp-popup-v2 .ep-qty-control,
.exp-popup-v2 .quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 1.5px solid #e8dcc6;
  border-radius: 10px;
  padding: 0 4px;
  overflow: hidden;
  height: 44px;
  min-height: 44px;
}
.exp-popup-v2 .ep-qty-btn,
.exp-popup-v2 .qty-minus,
.exp-popup-v2 .qty-plus {
  width: 34px !important;
  height: 34px !important;
  background: var(--ep-blue-soft) !important;
  color: var(--ep-blue) !important;
  border: none !important;
  border-radius: 7px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.12s, color 0.12s, transform 0.1s;
  padding: 0 !important;
  line-height: 1;
  flex-shrink: 0;
  align-self: center;
}
.exp-popup-v2 .ep-qty-btn:hover,
.exp-popup-v2 .qty-minus:hover,
.exp-popup-v2 .qty-plus:hover {
  /* background: var(--ep-blue) !important; */
  color: #fff !important;
}
.exp-popup-v2 .ep-qty-btn:active { transform: scale(0.92); }
.exp-popup-v2 .ep-qty-val,
.exp-popup-v2 .qty-text {
  font-family: var(--ep-sharp) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  width: 40px !important;
  flex: 1 !important;
  -moz-appearance: textfield;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 !important;
}
.exp-popup-v2 .qty-text::-webkit-inner-spin-button,
.exp-popup-v2 .qty-text::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Hotel guest fields */
.exp-popup-v2 .ep-hotel-guest-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  align-items: start;
}
.exp-popup-v2 .ep-hotel-guest-col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.exp-popup-v2 .ep-hotel-guest-col label {
  font-size: 12px;
  font-weight: 600;
  color: var(--ep-gray);
  font-family: var(--ep-sharp);
}
/* Rooms box (readonly, no +/- buttons) — match the 44px height of the
   Adults/Kids qty-control boxes so all three guest fields line up evenly */
.exp-popup-v2 #hotelNumRooms.hotel-qty-input.ep-input {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
  padding: 0 12px !important;
  font-family: var(--ep-sharp) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  display: flex;
  align-items: center;
  /* Force the box look (border/background) explicitly — Rooms has no
     wrapper div like Adults/Kids' .ep-qty-control, so it must carry its
     own box styling and must not lose it on mobile. */
  border: 1.5px solid #000000 !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Price breakup box */
.exp-popup-v2 .ep-price-breakup {
  background: #fff;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 13px;
  border: 1px solid var(--ep-line);
}
.exp-popup-v2 .ep-pb-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  color: var(--ep-gray);
}
.exp-popup-v2 .ep-pb-discount { color: var(--ep-green); }
.exp-popup-v2 .ep-pb-save { color: var(--ep-green); font-weight: 600; }
.exp-popup-v2 .ep-pb-total { font-weight: 800; font-size: 15px; color: var(--ep-ink); }
.exp-popup-v2 .ep-pb-hr { border-color: var(--ep-line); margin: 8px 0; }

/* Price bar — matches Detail Page exactly */
.exp-popup-v2 .ep-price-bar {
  background: linear-gradient(135deg, var(--ep-blue) 0%, #2d30d0 100%);
  color: #fff;
  border-radius: 16px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  overflow: visible; /* allow dropdown to show above */
  z-index: 10;
}
.exp-popup-v2 .ep-price-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: radial-gradient(circle at 90% 50%, rgba(255,209,83,0.18) 0%, transparent 50%);
  pointer-events: none;
}
.exp-popup-v2 .ep-price-main {
  position: relative;
}
.exp-popup-v2 .ep-price-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.8;
  font-family: var(--ep-sharp);
  margin-bottom: 2px;
}
.exp-popup-v2 .ep-price-value,
.exp-popup-v2 .ep-price-bar .desktop-price {
  font-family: var(--ep-sharp) !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1;
  color: #fff !important;
  display: block;
  letter-spacing: -0.02em;
}
.exp-popup-v2 .ep-price-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.exp-popup-v2 .ep-old-price,
.exp-popup-v2 .ep-price-bar .originlAmountFromPriceApi {
  color: var(--ep-yellow) !important;
  text-decoration: line-through;
  font-size: 14px;
  opacity: 0.85;
}
/* Save badge — animated like detail page */
.exp-popup-v2 .ep-save-badge {
  background: var(--ep-yellow);
  color: #000;
  padding: 1px 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 12px;
  font-family: var(--ep-sharp);
  animation: ep-save-attention 2.4s ease-in-out infinite;
  white-space: nowrap;
}
@keyframes ep-save-attention {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.55);
  }
  50% {
    transform: scale(1.06);
    box-shadow: 0 0 0 7px rgba(25, 135, 84, 0);
  }
}
/* Info icon replaces Know More button */
.exp-popup-v2 .ep-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px solid rgba(255,255,255,0.5);
  flex-shrink: 0;
  transition: background 0.15s;
  font-family: var(--ep-sharp);
  line-height: 1;
}
.exp-popup-v2 .ep-info-icon:hover {
  background: rgba(255,255,255,0.35);
}
/* Hide old know-more text button */
.exp-popup-v2 .ep-know-more,
.exp-popup-v2 .ep-price-bar .know-more {
  display: none !important;
}
.exp-popup-v2 .ep-price-links {
  text-align: right;
  font-size: 11px;
  font-weight: 500;
  position: relative;
  flex: 0 0 auto;
}
.exp-popup-v2 .ep-price-links a {
  color: #fff !important;
  text-decoration: none;
  display: block;
  opacity: 0.85;
  line-height: 1.9;
}
.exp-popup-v2 .ep-price-links a:hover { opacity: 1; text-decoration: underline; }

/* Checkout button */
.exp-popup-v2 .ep-checkout-wrap { margin-top: 4px; }
.exp-popup-v2 .ep-checkout-btn,
.exp-popup-v2 .book-now-btnn .btn {
  width: 100%;
  background: var(--ep-yellow) !important;
  color: var(--ep-ink) !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 16px 24px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: var(--ep-sharp) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 4px 0 var(--ep-yellow-d), 0 8px 24px rgba(246,184,0,0.3) !important;
  transition: transform 0.1s, box-shadow 0.1s;
  position: relative;
  overflow: hidden;
  text-transform: none !important;
}
.exp-popup-v2 .ep-checkout-btn::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  animation: ep-checkout-shine 4s ease-in-out infinite;
}
@keyframes ep-checkout-shine {
  0%, 60% { left: -100%; }
  100% { left: 200%; }
}
.exp-popup-v2 .ep-checkout-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 0 var(--ep-yellow-d), 0 12px 28px rgba(246,184,0,0.4) !important;
}
.exp-popup-v2 .ep-checkout-btn:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 var(--ep-yellow-d), 0 4px 12px rgba(246,184,0,0.3) !important;
}
.exp-popup-v2 .ep-checkout-tick,
.exp-popup-v2 .book-now-btnn .check-btn {
  width: 32px;
  height: 32px;
  background: var(--ep-green);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

/* ── Trust strip ────────────────────────────────────────────── */
.exp-popup-v2 .ep-trust-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 8px;
  background: #fff;
  border-radius: 16px;
  padding: 14px 20px;
  margin: 0 20px 20px;
}
.exp-popup-v2 .ep-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.exp-popup-v2 .ep-trust-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.exp-popup-v2 .ep-trust-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--ep-ink);
  font-family: var(--ep-sharp);
}
.exp-popup-v2 .ep-trust-sub {
  font-size: 11px;
  color: var(--ep-gray);
}
.exp-popup-v2 .ep-trust-sub a { color: inherit; text-decoration: none; }
.exp-popup-v2 .ep-trust-sub a:hover { color: var(--ep-blue); }

/* ── Mobile sticky bar ──────────────────────────────────────── */
.exp-popup-v2 .ep-mobile-bar {
  position: sticky;
  bottom: 0;
  z-index: 100;
  background: #fff;
  border-top: 1px solid var(--ep-line);
  padding: 8px 12px;
}
.exp-popup-v2 .ep-mobile-price {
  font-family: var(--ep-sharp);
  font-size: 20px;
  font-weight: 700;
  color: var(--ep-ink);
}

/* ── Notify button ──────────────────────────────────────────── */
.exp-popup-v2 .ep-btn-notify {
  background: var(--ep-blue) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-weight: 700 !important;
  border: none !important;
  width: 100%;
}

/* ── price breakup toggle text ──────────────────────────────── */
.exp-popup-v2 .know-more-text {
  font-size: 12px;
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-layout {
    grid-template-columns: 1fr;
    margin: 12px;
    padding: 16px;
    gap: 16px;
  }
  .exp-popup-v2 .ep-hero { height: 280px; }
  .exp-popup-v2 .ep-trust-strip {
    grid-template-columns: 1fr 1fr;
    margin: 0 12px 16px;
  }
  .exp-popup-v2 .ep-price-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Mobile */
@media (max-width: 575px) {
  .exp-popup-v2 .ep-layout { margin: 8px; padding: 12px; }
  .exp-popup-v2 .ep-hero { height: 240px; }
  .exp-popup-v2 .ep-form-grid { grid-template-columns: 1fr; }
  .exp-popup-v2 .ep-trust-strip {
    grid-template-columns: 1fr 1fr;
    margin: 0 8px 12px;
    padding: 10px 12px;
  }
  .exp-popup-v2 .ep-reach-grid { grid-template-columns: 1fr; }
  .exp-popup-v2 .ep-hotel-guest-row { grid-template-columns: 1fr; }
  .exp-popup-v2 .ep-price-value,
  .exp-popup-v2 .ep-price-bar .desktop-price { font-size: 28px !important; }
}

/* Tab JS — triggered by data-target switching */

/* ══════════════════════════════════════════════════════════════
   ADDITIONAL FIXES — v2.1
══════════════════════════════════════════════════════════════ */

/* ── Timeslot dropdown: z-index so it appears ABOVE price bar ── */
.exp-popup-v2 #temptimeslot,
.exp-popup-v2 .ep-field.standard-booking-field {
  position: relative;
  z-index: 50;
}
/* nice-select dropdown panel opens DOWNWARD with very high z-index */
.exp-popup-v2 .niceselect .list,
.exp-popup-v2 #temptimeslot .nice-select .list {
  top: 100% !important;
  bottom: auto !important;
  z-index: 99999 !important;
  transform-origin: top center;
  position: absolute !important;
  min-width: 100%;
  max-height: 220px;
  overflow-y: auto;
}
/* For native select fallback — make it z-index safe */
.exp-popup-v2 .ep-booking-card {
  position: relative;
  z-index: 15;
  overflow: visible !important;
}
/* Price bar and checkout must have LOWER z-index than timeslot dropdown */
.exp-popup-v2 .ep-price-bar {
  z-index: 10 !important;
}
.exp-popup-v2 .ep-checkout-wrap {
  z-index: 10 !important;
}
.exp-popup-v2 .ep-right {
  position: relative;
  overflow: visible !important;
}

/* ── People counter: fix button layout ─────────────────────── */
.exp-popup-v2 .ep-qty-control,
.exp-popup-v2 .quantity {
  height: 44px !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
.exp-popup-v2 .ep-qty-btn,
.exp-popup-v2 .qty-minus,
.exp-popup-v2 .qty-plus {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex-shrink: 0 !important;
  margin: 0 2px !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.exp-popup-v2 .ep-qty-val,
.exp-popup-v2 .qty-text {
  flex: 1 !important;
  text-align: center !important;
  align-self: center !important;
}

/* ── Description: hide the standalone desc block, only show inside What's Included ── */
.exp-popup-v2 .ep-desc-block.desc {
  display: none !important;
}

/* ── What's Included tab — description with Read More ─────── */
.exp-popup-v2 .ep-tab-panel#ep-panel-included .ep-included-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ep-gray);
  margin-bottom: 10px;
}
.exp-popup-v2 .ep-included-desc-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  transition: all 0.3s;
  white-space: pre-line; /* backend ke line breaks (\n) alag lines mein dikhao */
}
.exp-popup-v2 .ep-included-desc-text.expanded {
  -webkit-line-clamp: unset;
  display: block;
}
.exp-popup-v2 .ep-read-more-btn {
  font-family: var(--ep-sharp);
  color: var(--ep-blue);
  font-weight: 700;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.exp-popup-v2 .ep-read-more-btn::after {
  content: "→";
  transition: transform 0.2s;
}
.exp-popup-v2 .ep-read-more-btn:hover::after {
  transform: translateX(3px);
}
.exp-popup-v2 .ep-read-more-btn.expanded::after {
  content: "↑";
}

/* ── FAQs tab ──────────────────────────────────────────────── */
.exp-popup-v2 #ep-panel-faqs {
  display: none;
}
.exp-popup-v2 #ep-panel-faqs.active {
  display: block;
}
.exp-popup-v2 .ep-faq-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.exp-popup-v2 .ep-faq-item {
  background: #fff;
  border: 1.5px solid var(--ep-line);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.exp-popup-v2 .ep-faq-item.open {
  border-color: var(--ep-blue);
  box-shadow: 0 6px 18px rgba(56, 59, 241, 0.1);
}
.exp-popup-v2 .ep-faq-item.hidden-faq {
  display: none;
}
.exp-popup-v2 .ep-faq-list.expanded .ep-faq-item.hidden-faq {
  display: block;
}
.exp-popup-v2 .ep-faq-summary {
  list-style: none;
  cursor: pointer;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  user-select: none;
}
.exp-popup-v2 .ep-q-num {
  font-family: var(--ep-sharp);
  font-size: 11px;
  font-weight: 700;
  color: var(--ep-blue);
  background: var(--ep-blue-soft);
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}
.exp-popup-v2 .ep-q-text {
  flex: 1;
  font-family: var(--ep-sharp);
  font-size: 14px;
  font-weight: 600;
  color: var(--ep-ink);
}
.exp-popup-v2 .ep-q-toggle {
  width: 24px;
  height: 24px;
  background: var(--ep-ink);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s cubic-bezier(0.5,0,0.3,1), background 0.2s;
  flex: 0 0 auto;
}
.exp-popup-v2 .ep-q-toggle svg {
  width: 12px;
  height: 12px;
}
.exp-popup-v2 .ep-faq-item:hover .ep-q-toggle {
  background: var(--ep-blue);
}
.exp-popup-v2 .ep-faq-item.open .ep-q-toggle {
  background: var(--ep-blue);
  transform: rotate(180deg);
}
.exp-popup-v2 .ep-faq-answer {
  padding: 0 14px 12px 50px;
  font-size: 13.5px;
  line-height: 1.6;
  color: #444;
  display: none;
}
.exp-popup-v2 .ep-faq-answer::before {
  content: "";
  display: block;
  height: 1px;
  background: var(--ep-line);
  margin: 0 0 10px;
}
.exp-popup-v2 .ep-faq-item.open .ep-faq-answer {
  display: block;
}
/* Show more FAQs button */
.exp-popup-v2 .ep-faq-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 8px 18px;
  border: 1.5px dashed var(--ep-blue);
  border-radius: 999px;
  background: none;
  color: var(--ep-blue);
  font-family: var(--ep-sharp);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s;
}
.exp-popup-v2 .ep-faq-more-btn:hover {
  background: var(--ep-blue-soft);
}
.exp-popup-v2 .ep-faq-more-btn .arrow {
  transition: transform 0.3s;
  display: inline-block;
}
.exp-popup-v2 .ep-faq-list.expanded .ep-faq-more-btn .arrow {
  transform: rotate(180deg);
}

/* ── Tablet responsive overrides ───────────────────────────── */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-price-bar { overflow: visible; }
}
@media (max-width: 575px) {
  .exp-popup-v2 .ep-price-value,
  .exp-popup-v2 .ep-price-bar .desktop-price { font-size: 26px !important; }
  .exp-popup-v2 .ep-price-label { font-size: 10px; }
}
/* ═══════════════════════════════════════════════════════════
   v2.2 COMPREHENSIVE FIXES
   1. Shine: clipped inside card, never bleeds to image
   2. Price bar: matches detail page exactly
   3. Info icon: works without .know-more
   4. Timeslot: opens DOWNWARD with z-index 99999
   5. People counter: proper inline flex alignment
════════════════════════════════════════════════════════════ */

/* ── HORIZONTAL SCROLL FIX: prevent modal body overflow ── */
.exp-popup-v2 .modal-body {
  overflow-x: hidden !important;
}
.exp-popup-v2 .ep-layout {
  overflow-x: hidden;
}

/* ── PRICE BAR: exact match to detail page ─────────────── */
.exp-popup-v2 .ep-price-bar {
  background: linear-gradient(135deg, #ffd153 0%, #f6b800 100%) !important;
  color: #1a1a1a !important;
  border-radius: 16px !important;
  padding: 18px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 10 !important;
  margin-bottom: 0 !important;
}
/* Subtle radial highlight like detail page */
.exp-popup-v2 .ep-price-bar::after {
  content: '';
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 45%;
  background: radial-gradient(circle at 90% 50%, rgba(255,255,255,0.35) 0%, transparent 60%);
  pointer-events: none;
  border-radius: 0 16px 16px 0;
}
/* Remove old ::before that may conflict */
.exp-popup-v2 .ep-price-bar::before {
  display: none !important;
}

/* Price label (TOTAL FOR N PERSON) */
.exp-popup-v2 .ep-price-bar .ep-price-label,
.exp-popup-v2 .ep-price-bar .desktop-price-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  opacity: 0.85 !important;
  color: #1a1a1a !important;
  font-family: var(--ep-sharp) !important;
  margin-bottom: 3px !important;
}

/* Large price number */
.exp-popup-v2 .ep-price-bar .desktop-price,
.exp-popup-v2 .ep-price-bar .ep-price-value {
  font-family: var(--ep-sharp) !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.02em !important;
  display: block !important;
}

/* Sub-row: old price + save badge + info icon */
.exp-popup-v2 .ep-price-sub {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  margin-top: 1px !important;
}

/* Strikethrough original price — animated red cut (was: plain grey
   text-decoration line-through). The bar is a ::after pseudo-element so
   it can be animated; text-decoration itself can't be animated smoothly. */
.exp-popup-v2 .ep-price-bar .originlAmountFromPriceApi,
.exp-popup-v2 .ep-old-price {
  position: relative !important;
  display: inline-block !important;
  color: rgba(26,26,26,0.6) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  opacity: 0.9 !important;
  font-weight: 500 !important;
}
.exp-popup-v2 .ep-price-bar .originlAmountFromPriceApi::after,
.exp-popup-v2 .ep-old-price::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background: #FF2C2C;
  transform: scaleX(0);
  transform-origin: left center;
  animation: ep-price-cut 1.8s ease-in-out infinite;
}
@keyframes ep-price-cut {
  0%, 100% { transform: scaleX(0); }
  50% { transform: scaleX(1); }
}

/* Save badge — dark pill (yellow now taken by the panel bg) */
.exp-popup-v2 .ep-save-badge {
  background: #198754;
  color: #fff !important;
  padding: 2px 10px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  font-family: var(--ep-sharp) !important;
  white-space: nowrap !important;
  animation: ep-save-attention 2.4s ease-in-out infinite !important;
}

/* Info icon — dark on yellow */
.exp-popup-v2 .ep-info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.12) !important;
  color: #1a1a1a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: 1.5px solid rgba(0,0,0,0.3) !important;
  flex-shrink: 0 !important;
  transition: background 0.15s, transform 0.15s !important;
  font-family: var(--ep-sharp) !important;
  line-height: 1 !important;
  font-style: italic !important;
  padding: 0 !important;
  background-clip: unset !important;
}
.exp-popup-v2 .ep-info-icon:hover {
  background: rgba(255,255,255,0.4) !important;
  transform: scale(1.1) !important;
}

/* Terms & Cancellation links on right */
.exp-popup-v2 .ep-price-links {
  text-align: right !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  flex-shrink: 0 !important;
  position: relative;
  z-index: 1;
}
.exp-popup-v2 .ep-price-links a {
  color: rgba(26,26,26,0.85) !important;
  text-decoration: none !important;
  display: block !important;
  line-height: 2 !important;
  white-space: nowrap;
}
.exp-popup-v2 .ep-price-links a:hover {
  color: #1a1a1a !important;
  text-decoration: underline !important;
}

/* ── CHECKOUT BUTTON: yellow like detail page ──────────── */
.exp-popup-v2 .ep-checkout-btn,
.exp-popup-v2 .book-now-btnn .btn {
  background: linear-gradient(135deg, #383bf1 0%, #2d30d0 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  font-family: var(--ep-sharp) !important;
  border-radius: 14px !important;
  border: none !important;
  width: 100% !important;
  padding: 14px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 4px 0 #2d30d0, 0 8px 24px rgba(56,59,241,0.35) !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  margin-top: 6px !important;
}

/* ── TIMESLOT: open downward, above price bar ──────────── */
.exp-popup-v2 .ep-booking-card {
  overflow: visible !important;
  z-index: 100 !important;
  position: relative !important;
}
.exp-popup-v2 .ep-form-grid {
  overflow: visible !important;
  position: relative;
}
.exp-popup-v2 #temptimeslot {
  position: relative !important;
  z-index: 9999 !important;
}
.exp-popup-v2 .niceselect {
  position: relative !important;
}
.exp-popup-v2 .niceselect .list,
.exp-popup-v2 #temptimeslot .nice-select .list,
.exp-popup-v2 .nice-select.open .list {
  top: calc(100% + 4px) !important;
  bottom: auto !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  position: absolute !important;
  max-height: 200px !important;
  overflow-y: auto !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  border-radius: 10px !important;
  border: 1.5px solid #e8dcc6 !important;
  background: #fff !important;
}

/* ── PEOPLE COUNTER: definitive fix ────────────────────── */
.exp-popup-v2 .ep-qty-control,
.exp-popup-v2 .quantity.xs-mb-15px {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  height: 44px !important;
  min-height: 44px !important;
  overflow: hidden !important;
  padding: 0 4px !important;
}
.exp-popup-v2 .qty-minus,
.exp-popup-v2 .qty-plus,
.exp-popup-v2 .ep-qty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: row !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  flex-shrink: 0 !important;
  align-self: center !important;
  margin: 0 2px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.exp-popup-v2 .qty-text,
.exp-popup-v2 .ep-qty-val {
  flex: 1 1 0 !important;
  text-align: center !important;
  align-self: center !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border: none !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   v2.3 — DEFINITIVE PEOPLE COUNTER FIX
   Highest specificity — overrides everything including Bootstrap
════════════════════════════════════════════════════════════════ */

/* Container: strict single-row flex, fixed height */
#experienceModal .ep-field .ep-qty-control,
#experienceModal .ep-field .quantity,
.exp-popup-v2 .ep-booking-card .ep-qty-control,
.exp-popup-v2 .ep-booking-card .quantity {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 4px !important;
  border-radius: 10px !important;
  /* background: #fff !important; */
  border: 1.5px solid #030303 !important;
  gap: 0 !important;
}

/* Minus and plus buttons: fixed square, centered, inline */
#experienceModal .ep-field .ep-qty-control .qty-minus,
#experienceModal .ep-field .ep-qty-control .qty-plus,
#experienceModal .ep-field .ep-qty-control .ep-qty-btn,
#experienceModal .ep-field .quantity .qty-minus,
#experienceModal .ep-field .quantity .qty-plus,
.exp-popup-v2 .ep-booking-card .qty-minus,
.exp-popup-v2 .ep-booking-card .qty-plus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 7px !important;
  background: #eef0ff;
  color: #383BF1 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  float: none !important;
  position: static !important;
  top: auto !important;
  /* Base theme's generic ".quantity button" rule (style.css) leaks in via
     the shared .quantity class and nudges these buttons up 3px with a
     translateY — position:static above cancels its top:50% but not this. */
  transform: none !important;
}

/* Input: fills remaining space, perfectly centered text */
#experienceModal .ep-field .ep-qty-control .qty-text,
#experienceModal .ep-field .ep-qty-control .ep-qty-val,
#experienceModal .ep-field .quantity .qty-text,
.exp-popup-v2 .ep-booking-card .qty-text,
.exp-popup-v2 .ep-booking-card .ep-qty-val {
  flex: 1 1 auto !important;
  display: block !important;
  width: 0 !important; /* let flex size it */
  min-width: 0 !important;
  height: 32px !important;
  line-height: 32px !important;
  text-align: center !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield !important;
  float: none !important;
  position: static !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
#experienceModal .ep-field .ep-qty-control .qty-text::-webkit-inner-spin-button,
#experienceModal .ep-field .ep-qty-control .qty-text::-webkit-outer-spin-button,
#experienceModal .ep-field .quantity .qty-text::-webkit-inner-spin-button,
#experienceModal .ep-field .quantity .qty-text::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
/* ═══════════════════════════════════════════════════════════════
   POPUP MOBILE RESPONSIVENESS — v3
   Strategy: popup HTML now uses BOTH ep- AND detail-page classes
   (.booking-card, .aw-field, .aw-checkout, .price-bar, .total-amt etc.)
   so awestruck-details-v2.css + awestruck-details-mobile.css apply directly.
   These rules handle POPUP-SPECIFIC layout only.
════════════════════════════════════════════════════════════════ */

/* ── ep-right: ensure aw-v2 scoped styles work ── */
#experienceModal .ep-right.aw-v2 {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: inherit !important;
}

/* ── booking-card inside popup: use same variables as detail page ── */
#experienceModal .booking-card {
  --aw-cream: #fff5e7;
  overflow: visible !important;
}

/* ── ep-layout: two-column desktop, single-column mobile ── */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-layout {
    grid-template-columns: 1fr !important;
    margin: 12px !important;
    padding: 16px !important;
    gap: 16px !important;
  }
  .exp-popup-v2 .ep-hero { height: 280px !important; }
  .exp-popup-v2 .ep-form-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ── FIX: 992–1199px "squeeze zone" ──
   Bootstrap's own .modal-xl is only 800px wide between 992px and 1199px
   viewport, so the two-column .ep-layout (image | booking form) only has
   roughly 320-340px per column here — not enough room for the Full Name/
   Email/Mobile/Date fields at their normal size, so text (like the date)
   gets clipped. Layout stays side-by-side exactly as designed — this just
   tightens spacing and shrinks the field/label chrome so everything fits
   and reads cleanly, and gives the form column slightly more width than
   the image column since it's the text-critical side. */
@media (min-width: 992px) and (max-width: 1199px) {
  .exp-popup-v2 .ep-layout {
    grid-template-columns: 0.85fr 1.15fr !important;
    margin: 14px !important;
    padding: 16px 18px !important;
    gap: 16px !important;
  }
  .exp-popup-v2 .ep-hero { height: 300px !important; }
  .exp-popup-v2 .ep-booking-card { padding: 14px 12px !important; }
  .exp-popup-v2 .ep-form-grid { gap: 8px !important; }
  .exp-popup-v2 .ep-field label { font-size: 11px !important; }
  .exp-popup-v2 .ep-book-title,
  .exp-popup-v2 .book-title { font-size: 17px !important; margin-bottom: 10px !important; }

  /* #experienceModal-prefixed (2 IDs / higher specificity) so these
     reliably win over the unconditional #bookingDate/#bookingMobile/etc.
     font-size:15px !important rules that already exist in this file. */
  #experienceModal #bookingDate,
  #experienceModal #bookingFullName,
  #experienceModal #bookingEmail,
  #experienceModal #bookingMobile,
  #experienceModal .ep-field input,
  #experienceModal .ep-field select {
    font-size: 12px !important;
    padding: 6px 8px !important;
  }
  #experienceModal #bookingTimeSlot,
  #experienceModal .nice-select .current {
    font-size: 12px !important;
  }

  /* Tab row (What's included / How to reach / FAQs) — same squeeze zone,
     shrink icon/font/padding so all three stay on one line instead of
     wrapping or overflowing the narrower ep-left column. */
  .exp-popup-v2 .ep-tab-btns { gap: 2px !important; }
  .exp-popup-v2 .ep-tab-btn {
    font-size: 10px !important;
    padding: 6px 8px !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }
  .exp-popup-v2 .ep-tab-icon {
    width: 16px !important;
    height: 16px !important;
  }
}
/* Closes the 768-991px gap left by the 992-1199px squeeze-zone fix above -
   a tablet in that range fell back to the unconstrained base .ep-tab-btn
   rule (no white-space:nowrap) and wrapped "What's included" to 2 lines. */
@media (min-width: 768px) and (max-width: 991px) {
  .exp-popup-v2 .ep-tab-btn {
    font-size: 10px !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
  }
}
/* Mobile popup tabs (What's included / Menu / How to reach / FAQs).
   Bigger text, icons hidden so tabs fit; the row scrolls sideways when the
   Menu tab makes it 4 tabs, with a soft fade on the right as a scroll hint. */
@media (max-width: 767px) {
  .exp-popup-v2 .ep-tab-btns {
    gap: 2px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .exp-popup-v2 .ep-tab-btns::-webkit-scrollbar { display: none !important; }
  .exp-popup-v2 .ep-tab-btns:has(.ep-tab-btn:nth-child(4)) {
    -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
    mask-image: linear-gradient(90deg, #000 88%, transparent);
  }
  .exp-popup-v2 .ep-tab-btn {
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 8px 10px !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  .exp-popup-v2 .ep-tab-icon { display: none !important; }
}


/* ── price-bar mobile: fixed bottom (popup-specific, ep- scoped) ──
   awestruck-details-mobile.css handles .aw-v2 .price-bar for the
   detail PAGE. Popup uses #experienceModal .price-bar for safety. */
@media (max-width: 768px) {
  #experienceModal .price-bar {
    position: fixed !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 998 !important;
    border-radius: 0 !important; margin: 0 !important;
    padding: 8px 155px 8px 16px !important;
    min-height: 66px !important;
    overflow: visible !important;
  }
  #experienceModal .total-lbl { display: none !important; }
  #experienceModal .links { display: none !important; }
  #experienceModal .total-amt,
  #experienceModal .desktop-price { font-size: 26px !important; }

  /* Checkout button: fixed to right of price bar */
  #experienceModal .ep-checkout-wrap {
    position: fixed !important;
    right: 10px !important; bottom: 8px !important;
    z-index: 999 !important;
    width: auto !important; margin: 0 !important;
  }
  #experienceModal .ep-checkout-btn,
  #experienceModal .aw-checkout {
    min-width: 140px !important; width: auto !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
    font-size: 15px !important;
    box-shadow: 0 8px 16px rgba(0,0,0,0.28) !important;
  }

  /* Padding bottom for modal body so content not hidden by fixed bar */
  #experienceModal .modal-body { padding-bottom: 10px !important; }
  #experienceModal .not-is-coming-container { padding-bottom: 10px; }

  .exp-popup-v2 .ep-tab-icon{
    display: none !important;
  }
  .exp-popup-v2 .ep-meta {
    margin-top: 12px !important;
    border-radius: 16px !important;
    padding: 1.5px !important;
  }
  .exp-popup-v2 .ep-meta-inner {
    border-radius: 15px !important;
    padding: 8px 14px !important;
  }
  .exp-popup-v2 .ep-provider-label {
  font-size: 13px;
  }
  .exp-popup-v2 .ep-duration-label{
    font-size: 11px;
  }
    .exp-popup-v2 .ep-book-title,
  .exp-popup-v2 .book-title {
    font-size: 22px !important;
  }
}

/* ── ep-layout: left column scrolls, right column follows ── */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-right.aw-v2 {
    /* On mobile, right column (booking form) comes after left column */
    order: 2;
  }
  .exp-popup-v2 .ep-left { order: 1; }
}

/* ── lp-partner-section: single column on mobile ── */
@media (max-width: 991px) {
  #experienceModal .lp-partner-section { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section form { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section .lp-full { grid-column: span 1 !important; }
  #experienceModal .lp-partner-section button { grid-column: span 1 !important; }
  /* This section is the last thing in the popup's scrollable content, so
     scrolling all the way down puts its Submit button right where the
     PYD/pick-your-deal sticky "Continue" bar (position:fixed, bottom:0)
     sits - touching it. NOTE: the actual fix lives further down this file -
     there are 2 other #experienceModal .modal-body{padding-bottom:10px}
     rules in later max-width:991px blocks that win the cascade (later
     source order, same specificity) and were silently overriding this. */
}

/* ── Prevent aw-checkout from affecting detail page on mobile ──
   awestruck-details-mobile.css styles .aw-checkout globally (no .aw-v2 scope).
   The popup checkout inherits these which is actually CORRECT - same styles wanted.
   Only override if popup needs to differ: */
#experienceModal .aw-checkout {
  width: 100%;
}
/* ═══════════════════════════════════════════════════════════════
   POPUP v2 — FINAL FIXES (v5)
   1. Desktop ep-price-bar: blue gradient, clean
   2. Mobile ep-mobile-bar: hidden (detail page style via main CSS)
   3. ep-price-bar: hidden on mobile, show mobile-bar
   4. ep-info-icon: always 22px, SVG only
   5. Contact form desktop: scoped inside popup aw-v2
════════════════════════════════════════════════════════════════ */

/* ── ep-info-icon: locked size, SVG fills it ──────────────── */
#experienceModal .ep-info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.2) !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
  color: #fff !important;
  font-size: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  overflow: hidden !important;
  line-height: 1 !important;
}
#experienceModal .ep-info-icon svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  display: block !important;
}
#experienceModal .ep-info-icon:hover {
  background: rgba(255,255,255,0.35) !important;
}

/* ── Desktop: ep-price-bar visible, ep-mobile-bar hidden ─────── */
#experienceModal .ep-price-bar { display: flex !important; }
#experienceModal .ep-checkout-wrap { display: block !important; }
#experienceModal .modal-booking.ep-mobile-bar { display: none !important; }

/* ── Mobile: ep-price-bar hidden, ep-mobile-bar (modal-booking) fixed ── */
@media (max-width: 991px) {
  /* Hide the desktop-style ep-price-bar and checkout on mobile */
  #experienceModal .ep-price-bar { display: none !important; }
  #experienceModal .ep-checkout-wrap { display: none !important; }

  /* Show and style the mobile bar — matches detail page layout exactly */
  #experienceModal .modal-booking.ep-mobile-bar {
    display: block !important;
    position: fixed !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 1050 !important;
    background: linear-gradient(135deg, #ffd153 0%, #f6b800 100%) !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12) !important;
  }

  /* Price section: left side */
  #experienceModal .price-info-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  /* discount-badge (Save ₹X): above price */
  #experienceModal .discount-badge {
    background: #1a1a1a !important;
    color: #ffd153 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    display: block !important;
    font-family: 'Space Grotesk', sans-serif !important;
    white-space: nowrap !important;
    min-height: 0 !important;
  }
  #experienceModal .discount-badge:empty { display: none !important; }
  /* price-info-top: price + info icon + strikethrough */
  #experienceModal .price-info-top {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  /* Current price: large, dark */

  /* Info icon */
  #experienceModal .price-info-icon {
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }
  #experienceModal .price-info-icon img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }
  /* Strikethrough old price */
  #experienceModal .old-pricemobile.originlAmountFromPriceApi {
    font-size: 13px !important;
    color: #8a8a8a !important;
    text-decoration: line-through !important;
    line-height: 1 !important;
  }
  /* Right side: Checkout button */
  #experienceModal .book-bbbtn {
    position: fixed !important;
    right: 10px !important;
    bottom: 8px !important;
    left: auto !important;
    width: 50px !important;
    z-index: 999 !important;
    border-radius: 12px !important;
    margin: 0 !important;
    padding: 10px 40px 10px 16px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #383bf1 0%, #2d30d0 100%) !important;
    color: white !important;
    text-transform: capitalize !important;
    white-space: nowrap !important;
    min-width: 138px !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    letter-spacing: 0 !important;
    overflow: visible !important;
    box-shadow: -8px 0 0 #dfe0ff, -8px 2px 3px rgba(0,0,0,0.12), -16px 0 0 #c3c5ff, -16px 3px 4px rgba(0,0,0,0.16), -24px 0 0 #a7aaff, -24px 4px 6px rgba(0,0,0,0.20), -3px 0 4px rgba(0,0,0,0.18), 0 8px 16px rgba(0,0,0,0.28), inset 0 -2px 3px rgba(0,0,0,0.12) !important;
    transition: transform 0.15s ease !important;
  }
  #experienceModal .book-bbbtn .price-range {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #fff !important;
  }
  #experienceModal .book-bbbtn .check-btn1 {
    width: 24px !important;
    height: 24px !important;
    background: #2BC26A !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }
  #experienceModal .book-bbbtn .check-btn1 svg {
    width: 14px !important;
    height: 14px !important;
    stroke: #fff !important;
  }
  /* Push content up so it's not hidden behind fixed bar - bumped from 10px
     so the lp-partner-section's Submit button (last thing in the popup's
     scroll content) doesn't touch the fixed Continue/Checkout bar. */
  #experienceModal .modal-body { padding-bottom: 104px !important; }
  #experienceModal .not-is-coming-container { padding-bottom: 104px !important; }
}

/* ── ep-layout single column on mobile ─────────────────────── */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-layout {
    grid-template-columns: 1fr !important;
    margin: 12px !important; padding: 16px !important; gap: 16px !important;
  }
  .exp-popup-v2 .ep-hero { height: 280px !important; }
}
@media (max-width: 575px) {
  .exp-popup-v2 .ep-layout { margin: 8px !important; padding: 12px !important; }
  .exp-popup-v2 .ep-hero { height: 220px !important; }
  .exp-popup-v2 .ep-form-grid { grid-template-columns: 1fr !important; }
}

/* ── Contact form: desktop layout (inside .aw-v2 reach-section) ─── */
/* These styles ensure the popup reach-section matches detail page on desktop */
@media (min-width: 992px) {
#experienceModal .aw-section--contact.reach-section {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  #experienceModal .trust-strip--sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 20px !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    animation: none !important;
    transform: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    overflow: visible !important;
    width: auto !important;
  }
  #experienceModal .trust-strip--sidebar .trust-item {
    flex: 0 0 auto !important;
    border-right: none !important;
    margin-right: 0 !important;
    animation: none !important;
    padding: 0 !important;
  }
  #experienceModal .trust-strip--sidebar .trust-title { color: #fff !important; font-size: 13px !important; font-weight: 700 !important; }
  #experienceModal .trust-strip--sidebar .trust-sub,
  #experienceModal .trust-strip--sidebar .trust-contacts a { color: rgba(255,255,255,0.65) !important; font-size: 11px !important; text-decoration: none !important; }
  #experienceModal .trust-strip--sidebar .trust-contacts a:hover { color: #FFD153 !important; }
}

@media (max-width: 991px) {
  #experienceModal .trust-strip--sidebar { display: none !important; }
  #experienceModal .aw-v2.ep-popup-extra-sections { padding: 0 12px 16px !important; }
}

/* ── lp-partner-section: single col on mobile ─────────────── */
@media (max-width: 991px) {
  #experienceModal .lp-partner-section { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section form { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section .lp-full,
  #experienceModal .lp-partner-section button { grid-column: span 1 !important; }
}

/* ── Dark mode for mobile bar ──────────────────────────────── */
[data-bs-theme="dark"] .qty-text, [data-bs-theme="dark"] #experienceModal .ep-field .ep-qty-control .ep-qty-val, [data-bs-theme="dark"] #experienceModal .ep-field .quantity .qty-text, [data-bs-theme="dark"] .exp-popup-v2 .ep-booking-card .qty-text, [data-bs-theme="dark"] .exp-popup-v2 .ep-booking-card .ep-qty-val
 { color: #f2f2f2 !important; }

/* ── Rooms box (readonly, no wrapper div — styles itself directly) ── */
[data-bs-theme="dark"] .exp-popup-v2 #hotelNumRooms.hotel-qty-input.ep-input {
  background: #1c1c22 !important;
  color: #f2f2f2 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
[data-bs-theme="dark"] #experienceModal .modal-booking .price.ep-mobile-price {
  color: #000000 !important;
}
[data-bs-theme="dark"] #experienceModal .old-pricemobile.originlAmountFromPriceApi {
  color: rgba(255,255,255,0.5) !important;
}
/* ═══════════════════════════════════════════════════════════════
   POPUP v2 — v5 FINAL FIXES (corrected)
════════════════════════════════════════════════════════════════ */

/* ── 1. Mobile hero: show name + share on ALL devices ────────── */
.exp-popup-v2 .ep-hero-bottom .package-name {
  display: block !important;
  color: #fff !important;
  font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4) !important;
  flex: 1 !important;
  padding-right: 12px !important;
}
.exp-popup-v2 .ep-hero-bottom .share-toggle,
.exp-popup-v2 .ep-hero-bottom .package-share {
  display: flex !important;
  opacity: 1 !important;
}

/* ── 2. Booking form: MOBILE/TABLET ONLY (≤991px) ──────────────
   Desktop form is untouched — these rules only apply on small screens */
@media (max-width: 991px) {
  /* Field wrapper: cream bg, dark border */
  .exp-popup-v2 .aw-field,
  .exp-popup-v2 .ep-field {
    position: relative !important;
    background: #FAF8F3 !important;
    border-radius: 14px !important;
    padding: 10px 14px !important;
    border: 1.5px solid #0F0D0B !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
  }
  /* Labels: small uppercase */
  .exp-popup-v2 .aw-field label,
  .exp-popup-v2 .ep-field label {
    display: block !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: rgba(15,13,11,0.55) !important;
    margin-bottom: 2px !important;
    line-height: 1 !important;
  }
  /* Inputs: transparent, no border */
  .exp-popup-v2 .aw-field input,
  .exp-popup-v2 .aw-field select,
  .exp-popup-v2 .ep-booking-card .quantity,
  .exp-popup-v2 .aw-field textarea,
  .exp-popup-v2 .ep-field input:not([type="hidden"]),
  .exp-popup-v2 .ep-field select {
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    padding: 0 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0F0D0B !important;
    width: 100% !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  .exp-popup-v2 .aw-field:focus-within,
  .exp-popup-v2 .ep-field:focus-within {
    border-color: #383BF1 !important;
    box-shadow: 0 0 0 4px rgba(56,59,241,0.10) !important;
  }
  /* Valid state */
  .exp-popup-v2 .aw-field.is-valid,
  .exp-popup-v2 .ep-field.is-valid {
    border-color: rgba(5, 5, 5, 0.55) !important;

  }
  .exp-popup-v2 .aw-field:has(#bookingNumberOfPeople)::after { display: none !important; }
  .exp-popup-v2 .aw-field.is-valid::after,
  .exp-popup-v2 .ep-field.is-valid::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important; right: 14px !important;
    width: 22px !important; height: 22px !important;
    transform: translateY(-50%) scale(0) !important;
    background: #2BC26A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
    border-radius: 999px !important;
    animation: popup-tick-pop 320ms cubic-bezier(.2,.9,.25,1.2) forwards !important;
    pointer-events: none !important;
  }
  /* Booking card on mobile: full-width single column */
  .exp-popup-v2 .ep-form-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* Book title: brand blue on mobile */
  .exp-popup-v2 .ep-book-title,
  .exp-popup-v2 .book-title {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(22px, 8vw, 34px) ;
    letter-spacing: -0.03em !important;
    line-height: 1 !important;
    margin: 0 0 18px !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: #383BF1 !important;
    text-align: center !important;
  }
}

@keyframes popup-tick-pop {
  0%   { transform: translateY(-50%) scale(0) rotate(-30deg); }
  60%  { transform: translateY(-50%) scale(1.18) rotate(8deg); }
  100% { transform: translateY(-50%) scale(1) rotate(0); }
}

/* ── Terms & Cancellation row ─────────────────────────────────── */
.exp-popup-v2 .ep-terms-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 12px !important;
  flex-wrap: wrap !important;
}
.exp-popup-v2 .ep-terms-row a {
  color: rgba(15,13,11,0.55) !important;
  text-decoration: none !important;
  font-family: 'Space Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  transition: color 0.15s !important;
}
.exp-popup-v2 .ep-terms-row a:hover { color: #383BF1 !important; }
.exp-popup-v2 .ep-terms-sep {
  color: rgba(15,13,11,0.3) !important;
  font-size: 12px !important;
}

/* ── 3. ep-info-icon: always 20px circle, SVG only ───────────── */
#experienceModal .ep-info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.22) !important;
  border: 1.5px solid rgba(255,255,255,0.55) !important;
  color: #fff !important;
  font-size: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#experienceModal .ep-info-icon svg {
  width: 11px !important;
  height: 11px !important;
  display: block !important;
  flex-shrink: 0 !important;
}
#experienceModal .ep-info-icon:hover { background: rgba(255,255,255,0.35) !important; }

/* ── 4. Mobile bar: info icon RIGHT of discount-badge ────────── */
@media (max-width: 991px) {
  /* Row 1: badge + info icon side by side */
  #experienceModal .ep-bar-top-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-bottom: 1px !important;
  }
  #experienceModal .ep-bar-top-row .discount-badge {
    background: #198754 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    display: inline-block !important;
    font-family: 'Space Grotesk', sans-serif !important;
    white-space: nowrap !important;
    animation: ep-save-attention 2.4s ease-in-out infinite !important;
  }
  #experienceModal .ep-bar-top-row .discount-badge:empty { display: none !important; }
  #experienceModal .ep-bar-top-row .price-info-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
  }
  #experienceModal .ep-bar-top-row .price-info-icon img {
    width: 12px !important;
    height: 12px !important;
    object-fit: contain !important;
  }
  /* Row 2: price + strikethrough tight together */
  #experienceModal .price-info-top {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    flex-wrap: nowrap !important;
  }
  #experienceModal .modal-booking .price.ep-mobile-price {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  #experienceModal .old-pricemobile.originlAmountFromPriceApi {
    position: relative !important;
    display: inline-block !important;
    font-size: 13px !important;
    color: #8a8a8a !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
  }
  #experienceModal .old-pricemobile.originlAmountFromPriceApi::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 2px;
    background: #FF2C2C;
    transform: scaleX(0);
    transform-origin: left center;
    animation: ep-price-cut 1.8s ease-in-out infinite;
  }
}

/* ── 5. Trust strip: seamless marquee ────────────────────────── */
/* Wrapper: overflow hidden + edge fade */
.exp-popup-v2 .ep-trust-wrap {
  overflow: hidden !important;
  width: 100% !important;
  /* edge fade */
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%) !important;
}

/* Strip: width = content (2 sets), animate translateX(-50%) = exactly 1 set */
.exp-popup-v2 .ep-trust-strip {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  align-items: center !important;
  gap: 32px !important;
  padding: 16px 0 !important;
  animation: ep-trust-scroll 20s linear infinite !important;
}
.exp-popup-v2 .ep-trust-strip:hover { animation-play-state: paused !important; }

@keyframes ep-trust-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.exp-popup-v2 .ep-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.exp-popup-v2 .ep-trust-icon {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
}
.exp-popup-v2 .ep-trust-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ep-ink) !important;
  font-family: var(--ep-sharp) !important;
  white-space: nowrap !important;
}
.exp-popup-v2 .ep-trust-sub {
  font-size: 11px !important;
  color: var(--ep-gray) !important;
  white-space: nowrap !important;
}
.exp-popup-v2 .ep-trust-sub a { color: inherit !important; text-decoration: none !important; }

/* ── 6. Ad sections: desktop/mobile split ───────────────────── */
@media (min-width: 992px) {
  #experienceModal .aw-section--desktop-ad { display: block !important; }
  #experienceModal .aw-section--mobile-ad { display: none !important; }
  #experienceModal .awd-app-cta { display: block !important; }
}
@media (max-width: 991px) {
  #experienceModal .aw-section--desktop-ad { display: none !important; }
  #experienceModal .aw-section--mobile-ad { display: block !important; }
}

/* ── 7. Contact form + Trust badges: fix colors/overflow ──────── */
#experienceModal .aw-v2 .reach-section .contact-form h2 { color: #fff !important; }
#experienceModal .aw-v2 .reach-section .contact-form p { color: rgba(255,255,255,0.65) !important; }
#experienceModal .aw-v2 .reach-section input,
#experienceModal .aw-v2 .reach-section textarea,
#experienceModal .aw-v2 .reach-section select {
  color: rgba(255,255,255,0.9) !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#experienceModal .aw-v2 .reach-section input::placeholder,
#experienceModal .aw-v2 .reach-section textarea::placeholder { color: rgba(255,255,255,0.4) !important; }
#experienceModal .aw-v2 .reach-section input:focus,
#experienceModal .aw-v2 .reach-section textarea:focus { border-color: #FFD153 !important; outline: none !important; }

/* Trust badge cards: fix white text on white, centering, overflow */
#experienceModal .trust-strip--sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 20px !important;
  background: rgba(255,255,255,0.06) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  overflow: hidden !important;
  animation: none !important;
  transform: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  width: auto !important;
}
#experienceModal .trust-strip--sidebar .trust-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  border-right: none !important;
  margin: 0 !important;
  padding: 0 !important;
  animation: none !important;
  overflow: hidden !important;
  width: 100% !important;
}
#experienceModal .trust-strip--sidebar .trust-icon {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  display: block !important;
}
#experienceModal .trust-strip--sidebar .trust-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
#experienceModal .trust-strip--sidebar .trust-title {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#experienceModal .trust-strip--sidebar .trust-sub {
  color: rgba(255,255,255,0.65) !important;
  font-size: 11px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#experienceModal .trust-strip--sidebar .trust-contacts a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  white-space: nowrap !important;
}
#experienceModal .trust-strip--sidebar .trust-contacts a:hover { color: #FFD153 !important; }
@media (max-width: 991px) {
  #experienceModal .trust-strip--sidebar { display: none !important; }
}

/* ── 8. Mobile layout ──────────────────────────────────────────── */
@media (max-width: 991px) {
  .exp-popup-v2 .ep-layout {
    grid-template-columns: 1fr !important;
    margin: 12px !important; padding: 16px !important; gap: 16px !important;
  }
  .exp-popup-v2 .ep-hero { height: 280px !important; }
  .exp-popup-v2 .ep-booking-card,
  #experienceModal .booking-card {
    background: #FFF5E7 !important;
    border-radius: 20px !important;
    padding: 22px !important;
    border: 1px solid rgba(15,13,11,0.06) !important;
    overflow: visible !important;
  }
}
@media (max-width: 575px) {
  .exp-popup-v2 .ep-layout { margin: 8px !important; padding: 12px !important; }
  .exp-popup-v2 .ep-hero { height: 220px !important; }
}

/* ── 9. Mobile bar: layout + Checkout button ──────────────────── */
@media (max-width: 991px) {
  #experienceModal .ep-price-bar { display: none !important; }
  #experienceModal .ep-checkout-wrap { display: none !important; }
  #experienceModal .modal-booking.ep-mobile-bar {
    display: block !important;
    position: fixed !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 1050 !important;
    background: linear-gradient(135deg, #ffd153 0%, #f6b800 100%) !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12) !important;
  }
 #experienceModal .modal-booking.ep-mobile-bar .btn {
  padding: 8px 14px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  display: block !important;      /* ← added */
}
#experienceModal .modal-booking.ep-mobile-bar .btn > .d-flex {
  width: 100% !important;         /* ← new rule */
}
#experienceModal .modal-booking.ep-mobile-bar .btn > .d-flex.px-2 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
  #experienceModal .price-info-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  #experienceModal .price-info-section .price,
  #experienceModal .price-info-section .old-pricemobile {
    color: #1a1a1a !important;
  }
  #experienceModal .price-info-section .old-pricemobile {
    color: rgba(26,26,26,0.6) !important;
  }
  /* Price note under the price in the mobile checkout strip: per person / Rate for N people / 2 adults, 1 room, 1 night */
  #experienceModal .price-info-section .ep-bar-note {
    display: block !important; position: relative !important;
    padding-left: 18px !important; max-width: 100% !important;
    font-size: 11px !important; font-weight: 600 !important; line-height: 1.3 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    color: rgba(26,26,26,0.85) !important; margin-top: 1px !important;
    white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  #experienceModal .price-info-section .ep-bar-note::before {
    content: "" !important; position: absolute !important; left: 0 !important; top: 50% !important;
    transform: translateY(-50%) !important; width: 13px !important; height: 13px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center / contain no-repeat !important;
  }
  #experienceModal .price-info-section .ep-bar-note:empty { display: none !important; }
  /* taller strip so price + note are not cramped (clears the iPhone home bar too) */
  #experienceModal .modal-booking.ep-mobile-bar .btn {
    padding-top: 8px !important;
    padding-bottom: max(20px, env(safe-area-inset-bottom)) !important;
    padding-right: 20px !important;
  }
  /* bigger Checkout button on the mobile strip */
  #experienceModal .modal-booking.ep-mobile-bar .book-bbbtn {
    padding: 15px 42px 15px 16px !important;
    min-width: 140px !important;
    font-size: 17px !important;
    border-radius: 14px !important;
  }
  #experienceModal .modal-booking.ep-mobile-bar .book-bbbtn .price-range { font-size: 17px !important; }
  #experienceModal .modal-booking.ep-mobile-bar .book-bbbtn .check-btn1 {
    width: 28px !important; height: 28px !important;
    background: #FEB602 !important; color: #fff !important;
    font-size: 15px !important; font-weight: 900 !important; line-height: 1 !important;
  }
  @media (max-width: 380px) {
    #experienceModal .modal-booking.ep-mobile-bar .price-info-section { padding-right: 26px !important; }
  }
  /* Save badge: same look as the detail page (small green rectangle, 4px corners) */
  #experienceModal .modal-booking.ep-mobile-bar .ep-bar-top-row .discount-badge {
    font-size: 10.5px !important; padding: 2px 7px !important; border-radius: 4px !important;
    letter-spacing: 0.03em !important; text-transform: uppercase !important; line-height: 1.4 !important;
  }
  /* text area = space left of the Checkout button, so the note never goes under it */
  #experienceModal .modal-booking.ep-mobile-bar .price-info-section {
    flex: 1 1 auto !important; min-width: 0 !important; overflow: visible !important; padding-right: 30px !important;
  }
 #experienceModal .book-bbbtn {
        position: static !important;
        flex-shrink: 0 !important;
        z-index: 999 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        color: #fff !important;
        text-transform: capitalize !important;
        min-width: 138px !important;
        height: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        letter-spacing: 0px !important;
        box-shadow: rgb(223, 224, 255) -8px 0px 0px, rgba(0, 0, 0, 0.12) -8px 2px 3px, rgb(195, 197, 255) -16px 0px 0px, rgba(0, 0, 0, 0.16) -16px 3px 4px, rgb(167, 170, 255) -24px 0px 0px, rgba(0, 0, 0, 0.2) -24px 4px 6px, rgba(0, 0, 0, 0.18) -3px 0px 4px, rgba(0, 0, 0, 0.28) 0px 8px 16px, rgba(0, 0, 0, 0.12) 0px -2px 3px inset !important;
        border-radius: 12px !important;
        margin: 0px !important;
        padding: 10px 40px 10px 16px !important;
        background: linear-gradient(135deg, #383bf1 0%, #2d30d0 100%) !important;
        white-space: nowrap !important;
        gap: 6px !important;
        overflow: visible !important;
        transition: transform 0.15s !important;
  }
  #experienceModal .book-bbbtn .price-range { font-size: 16px !important; font-weight: 800 !important; color: #fff !important; }
  #experienceModal .book-bbbtn .check-btn1 {
    width: 24px !important; height: 24px !important;
    background: #c29f2b !important; border-radius: 50% !important;
    display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
  }
  #experienceModal .book-bbbtn .check-btn1 svg { width: 14px !important; height: 14px !important; stroke: #fff !important; }
  /* Bumped from 10px - see the matching comment further up this file for why. */
  #experienceModal .modal-body { padding-bottom: 104px !important; }
  #experienceModal .not-is-coming-container { padding-bottom: 104px !important; }
}
/* Desktop: show ep-price-bar */
@media (min-width: 992px) {
  #experienceModal .ep-price-bar { display: flex !important; }
  #experienceModal .ep-checkout-wrap { display: block !important; }
  #experienceModal .modal-booking.ep-mobile-bar { display: none !important; }
  .exp-popup-v2 .ep-terms-row{
    display:none !important;
  }
  #experienceModal .ep-trending-badge .ep-fire-img {
  height: 32px !important;
  width: auto !important;
}
}

/* ── partner section mobile ─────────────────────────────────── */
@media (max-width: 991px) {
  #experienceModal .lp-partner-section { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section form { grid-template-columns: 1fr !important; }
  #experienceModal .lp-partner-section .lp-full,
  #experienceModal .lp-partner-section button { grid-column: span 1 !important; }
}

  #experienceModal .ep-trending-badge .ep-fire-img {
  height: 32px !important;
  width: auto !important;
}

#experienceModal .highlight-badge-text img {
  height: 14px !important;
  width: auto !important;
}


/* ------------ */
.exp-popup-v2 .share-icons{
  background: none !important;
}
.package-share .share-btn{
  background-color: var(--ep-yellow) !important;
}

/* ===== */

#experienceModal .ep-field .quantity,
.exp-popup-v2 .ep-booking-card .ep-qty-control,
.exp-popup-v2 .ep-booking-card .quantity
 { background: #fff !important;
}



#bookingTimeSlot,
.ep-select,
.nice-select,
.nice-select .current {
    font-size: 15px !important; /* same as other inputs */
}
#bookingDate,
#bookingName,
#bookingEmail,
#bookingMobile,
.ep-field input,
.ep-field select {
    font-size: 15px !important;
}

#experienceModal .nice-select,
#experienceModal .ep-select,
#experienceModal #bookingTimeSlot {
    border: 1.5px solid #e8dcc6 !important;
    border-radius: 10px !important; /* baki inputs cha radius je asel te */
    background: #fff !important;
    /* min-height: 48px !important; */
}

#experienceModal .nice-select .current {
    font-size: 15px !important;
    color: #444 !important;
}

/* New css*/
@media (min-width: 991px) {
.highlight-badge:not(.green-badge){
  height: 100px !important;
  width: auto !important;
}
}

#experienceModal .ep-field .quantity,
.exp-popup-v2 .ep-booking-card .ep-qty-control,
.exp-popup-v2 .ep-booking-card .quantity
 { background: #fff !important;
}



#bookingTimeSlot,
.ep-select,
.nice-select,
.nice-select .current {
    font-size: 15px !important; /* same as other inputs */
}
#bookingDate,
#bookingName,
#bookingEmail,
#bookingMobile,
.ep-field input,
.ep-field select {
    font-size: 15px !important;
}

#experienceModal .nice-select,
#experienceModal .ep-select,
#experienceModal #bookingTimeSlot {
    border: 1.5px solid #000000 !important;
    border-radius: 10px !important; /* baki inputs cha radius je asel te */
    background: #fff !important;
    /* min-height: 48px !important; */
}

#experienceModal .nice-select .current {
    font-size: 15px !important;
    color: #030303 !important;
}

.msgContainer{
  margin-top: 12px !important;
}

.highlight-badge-container:has(.green-badge) .highlight-badge-img > img:nth-child(1) {
    margin-right: 2.5% !important;
}
.highlight-badge-container:has(.green-badge) .highlight-badge-img > img:nth-child(1) {
    width: 7.886vw;
    -o-object-fit: contain;
    object-fit: contain;
}


/* Partner form autofill fix */
.lp-partner-section input:-webkit-autofill,
.lp-partner-section input:-webkit-autofill:hover,
.lp-partner-section input:-webkit-autofill:focus,
.lp-partner-section textarea:-webkit-autofill {
  -webkit-text-fill-color: #ffffff !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--lp-primary) inset !important;
  transition: background-color 5000s ease-in-out 0s;
  caret-color: #ffffff !important;
}

/* Popup desktop: keep info icon beside the real white price, without extra circle */
@media (min-width: 992px) {
  #experienceModal .ep-price-main {
    display: grid !important;
    grid-template-columns: max-content auto !important;
    align-items: center !important;
    column-gap: 6px !important;
  }

  #experienceModal .ep-price-main .ep-price-label,
  #experienceModal .ep-price-main .ep-price-sub {
    grid-column: 1 / -1 !important;
  }

  #experienceModal .ep-price-main .ep-info-icon {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  #experienceModal .ep-price-main .ep-info-icon:hover {
    background: transparent !important;
    transform: scale(1.08) !important;
  }

  #experienceModal .ep-price-main .ep-info-icon img {
    width: 13px !important;
    height: 13px !important;
    display: block !important;
    /* grey (not white/black) regardless of the source PNG's own color */
    filter: brightness(0) invert(55%) !important;
  }
}

@media (max-width: 991px) {
  #experienceModal .ep-bar-top-row .price-info-icon img {
    filter: brightness(0) invert(55%) !important;
  }

  #experienceModal .nice-select,
#experienceModal .ep-select,
#experienceModal #bookingTimeSlot {
    border: none !important;
    border-radius: 10px !important; /* baki inputs cha radius je asel te */
    background: none !important;
    /* min-height: 48px !important; */
}
}
@media (min-width:991px ) and (max-width: 1200px){
.highlight-badge-img:not(.green-badge){
  height: 100px !important;
}
.portfolio-box{
  width: 470px !important;
}
}

@media (max-width: 991px) {
.captcha{
    padding: 5px 10px !important;
    margin-top: 1px !important;
}

#experienceModal .highlight-badge-container .highlight-badge-img > img{
  width:95px !important;
  height:84px !important;
}
}

[data-bs-theme="dark"].exp-popup-v2 .ep-duration-label{
color:black !important;

}

.dropdown-item{
  color:black !important;
}

/* uncomment to show the share on the similar and discover more section*/
/* #similar-experiences-container .share-wrap,
#popup-similar-container .share-wrap,
#discover-more-container .share-wrap,
#popup-discover-more-container .share-wrap,
#popup-discover-container .share-wrap {
  display: none !important;
}
*/

#popupShareToggle {
  display: none !important;
} 


/* Keep popup hero share clickable above Swiper image layers. */
#experienceModal .ep-hero-bottom {
  z-index: 1000 !important;
  pointer-events: auto !important;
}

#experienceModal #popupShareToggle {
  position: relative !important;
  z-index: 1001 !important;
  pointer-events: auto !important;
}

#experienceModal #popupShareToggle .share-icons,
#experienceModal #popupShareToggle .share-btn {
  pointer-events: auto !important;
}

#experienceModal #popupShareToggle.open .share-icons {
  display: flex !important;
}

[data-bs-theme="dark"] .exp-popup-v2 .ep-terms-row a{
  color:white !important;
}

.aw-v2 .included p,
.aw-v2 .address-card,
.exp-popup-v2 .ep-faq-answer,
.ep-included-desc-text
{
  color: #000 !important;
}

/* 3 tabs - changed color to black */
.aw-v2 .included p,
.aw-v2 .address-card,
.aw-v2 .answer {
  color: #000 !important;
}
/* Hero: badge  */
.exp-popup-v2 .ep-hero-bottom {
  align-items: flex-end !important;
}
.exp-popup-v2 .ep-hero-duration {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  color: #fff;
  font-family: var(--ep-sharp);
  font-weight: 700;
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
/* Same green "live" look as the details page's .aw-v2 .hero-duration */
.exp-popup-v2 .ep-hero-duration {
  background: rgba(0, 0, 0, 0.7) !important;
  color: #7CEFAA !important;
  backdrop-filter: blur(8px) !important;
}
.exp-popup-v2 .ep-hero-duration::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #7CEFAA;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 5px;
  display: inline-block;
  vertical-align: middle;
  animation: ep-hero-live-blink 1.4s ease-in-out infinite;
  box-shadow: 0 0 6px #7CEFAA;
}
@keyframes ep-hero-live-blink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.3; transform: scale(0.65); }
}

.exp-popup-v2 .ep-loc-badge {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 50 !important;
  background: rgba(255,255,255,0.95) !important;
  color: #000 !important;
  padding: 5px 10px 5px 8px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}
.exp-popup-v2 .ep-loc-badge svg {
  width: 9px;
  height: 9px;
  color: #000;
  flex-shrink: 0;
}
@media (max-width: 991px) {
  .exp-popup-v2 .ep-loc-badge { font-size: 10px !important; padding: 5px 10px 5px 8px !important; }
}
@media (max-width: 575px) {
  .exp-popup-v2 .ep-loc-badge { font-size: 9.5px !important; padding: 4px 9px 4px 7px !important; }
}

/* Closed state: small price font */
#selectedExperienceTotalPrice.aw-closed-text,
#mobile-total-price.aw-closed-text,
.exp-popup-v2 .ep-price-value.aw-closed-text,
.exp-popup-v2 .ep-price-bar .desktop-price.aw-closed-text,
.exp-popup-v2 .ep-price-bar .ep-price-value.aw-closed-text,
#experienceModal .desktop-price.aw-closed-text,
#experienceModal .modal-booking .price.ep-mobile-price.aw-closed-text {
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 480px) {
  #selectedExperienceTotalPrice.aw-closed-text,
  #mobile-total-price.aw-closed-text,
  .exp-popup-v2 .ep-price-value.aw-closed-text,
  .exp-popup-v2 .ep-price-bar .desktop-price.aw-closed-text,
  .exp-popup-v2 .ep-price-bar .ep-price-value.aw-closed-text,
  #experienceModal .desktop-price.aw-closed-text,
  #experienceModal .modal-booking .price.ep-mobile-price.aw-closed-text {
    font-size: 14px !important;
  }
}

/* Closed state: red message under the Date field */
.aw-closed-msg {
  color: #e53935;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 6px;
  white-space: normal;
}
@media (max-width: 480px) {
  .aw-closed-msg { font-size: 12px; }
}
/* Popup: cancel theme's input bottom-margin, same as the green "Available On Next" msg */
.exp-popup-v2 .aw-closed-msg {
  margin-top: -10px;
}

/* Mobile only: popup hero name - smaller, max 2 lines, then "..." */
@media (max-width: 767px) {
  .exp-popup-v2 .ep-hero-bottom .package-name {
    font-size: 16px !important;
    line-height: 1.2 !important;
    min-width: 0;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* Red note under the People field: "Only X people allowed for this date" */
.aw-qty-limit-msg {
  color: #e53935;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 6px;
  white-space: normal;
}
@media (max-width: 480px) {
  .aw-qty-limit-msg { font-size: 12px; }
}
/* Popup: stepper has Bootstrap .order-1, so the message must be ordered after it to appear BELOW the field */
.ep-field .aw-qty-limit-msg { order: 2; }
/* Popup form fields: lamb text (e.g. "No Slots Today.Change Date.") mule column modu naye,
   mhanje Email / Date / People fields cha size nehmi sarkha rahil */
#experienceModal .ep-form-grid > * { min-width: 0 !important; }
#experienceModal .ep-field .nice-select .current {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Popup cha Time Slot text bold */
#experienceModal .ep-field .nice-select,
#experienceModal .ep-field .nice-select .current {
  font-weight: 600 !important;
}
/* Popup Time Slot dropdown: lamb option text kapla jaau naye, purna dista pahije (wrap hoto) */
#experienceModal .ep-field .nice-select .option {
  white-space: normal !important;
  height: auto !important;
  line-height: 1.35 !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#experienceModal .qty-minus[disabled],
#experienceModal .qty-plus[disabled] { opacity: .35; }
/* iOS Safari / Chrome: disabled input cha text browser grey karto (color ani
   -webkit-text-fill-color donhi override karto). currentColor vaparla tar tochi grey yeto,
   mhanun explicit color: light = black, dark = light. */
.exp-popup-v2 .ep-qty-val:disabled,
.exp-popup-v2 .qty-text:disabled,
#experienceModal .ep-qty-val:disabled,
#experienceModal .qty-text:disabled {
  color: #0a0a0a !important;
  -webkit-text-fill-color: #0a0a0a !important;
  opacity: 1 !important;
}
[data-bs-theme="dark"] .exp-popup-v2 .ep-qty-val:disabled,
[data-bs-theme="dark"] .exp-popup-v2 .qty-text:disabled,
[data-bs-theme="dark"] #experienceModal .ep-qty-val:disabled,
[data-bs-theme="dark"] #experienceModal .qty-text:disabled {
  color: #f2f2f2 !important;
  -webkit-text-fill-color: #f2f2f2 !important;
}

/* Desktop: label above the price (per person / Rate for N people) - bolder */
@media (min-width: 992px) {
  #experienceModal .ep-price-bar .ep-price-label {
    font-weight: 700 !important; opacity: 1 !important; color: #1a1a1a !important;
    -webkit-text-stroke: 0.4px currentColor;
  }
}

/* Next-slot message under the date field (popup + detail page): darker green, white in dark theme */
#next-available-msg, #next-available-msg-detail-page { color: #0a6a2a !important; font-weight: 600 !important; }
html[data-bs-theme="dark"] #next-available-msg, html[data-bs-theme="dark"] #next-available-msg-detail-page { color: #fff !important; }

/* "Visit in this duration" under the time slot: darker green, white in dark theme */
.aw-visit-hint { color: #0a6a2a !important; font-weight: 600 !important; }
html[data-bs-theme="dark"] .aw-visit-hint { color: #fff !important; }


/* ══════════════════════════════════════════════════════════════════════
   BOOKING CARD UI v3 — price card + checkout (desktop only; UI only)
   Popup (#experienceModal .ep-price-bar / .ep-checkout-btn, >=992px) and
   detail page (.aw-v2 .right > .price-bar / .aw-checkout, >=769px).
   Mobile bottom bar is NOT touched here. Light + dark via data-bs-theme.
   ══════════════════════════════════════════════════════════════════════ */
@keyframes aw-pc-strike { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes aw-pc-sheen  { 0% { transform: translateX(-120%) skewX(-20deg); } 100% { transform: translateX(420%) skewX(-20deg); } }
@keyframes aw-pc-pop    { 0% { transform: scale(.92); opacity: 0; } 60% { transform: scale(1.04); opacity: 1; } 100% { transform: scale(1); } }

@media (min-width: 769px) {
  #experienceModal .ep-price-bar,
  #experienceModal .ep-checkout-btn,
  .aw-v2 .right > .price-bar,
  .aw-v2 .right > .aw-checkout {
    --pc-bg: #ffffff; --pc-text: #1a1a18; --pc-text2: #66655f; --pc-line2: #b9b7ac;
    --pc-ok: #12803a; --pc-bad: #d23c3c; --pc-link: #3D3BE8; --pc-btn: #1E6FE8;
    --pc-glow: rgba(61,59,232,.12); --pc-btn-glow: rgba(30,111,232,.35);
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar,
  [data-bs-theme="dark"] #experienceModal .ep-checkout-btn,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar,
  [data-bs-theme="dark"] .aw-v2 .right > .aw-checkout {
    --pc-bg: #1b1b1f; --pc-text: #f3f3ef; --pc-text2: #a5a49d; --pc-line2: #52525a;
    --pc-ok: #4cd07a; --pc-bad: #f26b6b; --pc-link: #9d9bff; --pc-btn: #2D7BF2;
    --pc-glow: rgba(120,118,255,.16); --pc-btn-glow: rgba(45,123,242,.4);
  }

  /* ── Card shell ── */
  #experienceModal .ep-price-bar,
  .aw-v2 .right > .price-bar {
    background: var(--pc-bg) !important;
    color: var(--pc-text) !important;
    border: 1.5px solid var(--pc-line2) !important;
    border-radius: 16px !important;
    padding: 14px 20px 96px !important; /* bottom space = checkout + links, pulled in below */
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    transition: border-color .25s, box-shadow .25s;
  }
  #experienceModal .ep-price-bar:hover,
  .aw-v2 .right > .price-bar:hover {
    border-color: var(--pc-link) !important;
    box-shadow: 0 4px 18px var(--pc-glow) !important;
  }
  #experienceModal .ep-price-bar::before, #experienceModal .ep-price-bar::after,
  .aw-v2 .right > .price-bar::before, .aw-v2 .right > .price-bar::after { display: none !important; }

  /* ── Rows grid (existing elements, re-laid out) ── */
  #experienceModal .ep-price-bar .ep-price-main,
  .aw-v2 .right > .price-bar .total-block {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
  }
  #experienceModal .ep-price-bar .ep-price-main::before,
  .aw-v2 .right > .price-bar .total-block::before {
    content: "Original price";
    display: block !important;
    position: static !important;
    inset: auto !important;
    background: none !important;
    grid-column: 1; grid-row: 2;
    font-size: 13px; font-weight: 500; color: var(--pc-text2);
    padding: 6px 0;
    animation: none !important;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-old-price:empty)::before,
  .aw-v2 .right > .price-bar .total-block:has(.was:empty)::before { display: none !important; }

  /* head: label + info icon */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label,
  .aw-v2 .right > .price-bar .total-block .total-lbl {
    grid-column: 1 !important; grid-row: 1 !important;
    font-size: 15px !important; font-weight: 500 !important;
    text-transform: none !important; letter-spacing: 0 !important;
    opacity: 1 !important; color: var(--pc-text) !important;
    margin: 0 !important; padding: 0 0 4px !important;
    font-family: inherit !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon,
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon {
    grid-column: 2 !important; grid-row: 1 !important;
    justify-self: start !important;
    position: static !important;
    width: 18px !important; height: 18px !important;
    min-width: 18px !important; max-width: 18px !important;
    min-height: 18px !important; max-height: 18px !important;
    margin: 0 0 4px !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important;
    cursor: help;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon img,
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon img {
    width: 18px !important; height: 18px !important; display: block !important;
    filter: brightness(0) invert(55%) !important;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar .ep-price-main .ep-info-icon img,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon img {
    filter: brightness(0) invert(70%) !important;
  }

  /* original price (right) */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-sub,
  .aw-v2 .right > .price-bar .total-block .total-sub { display: contents !important; }
  #experienceModal .ep-price-bar .ep-old-price,
  .aw-v2 .right > .price-bar .total-sub .was {
    grid-column: 2 !important; grid-row: 2 !important;
    justify-self: end !important;
    position: relative !important;
    font-size: 13px !important; font-weight: 500 !important;
    color: var(--pc-text2) !important; opacity: 1 !important;
    padding: 6px 0 !important; margin: 0 !important;
  }
  #experienceModal .ep-price-bar .ep-old-price:empty,
  .aw-v2 .right > .price-bar .total-sub .was:empty { display: none !important; }
  #experienceModal .ep-price-bar .ep-old-price::after,
  .aw-v2 .right > .price-bar .total-sub .was::after {
    top: 52% !important; height: 1.5px !important;
    background: var(--pc-bad) !important;
    transform: scaleX(1); transform-origin: left center;
    animation: aw-pc-strike .5s .4s both !important;
  }

  /* savings row: "You save" (left) + "−₹855" (right), both green.
     The badge text itself ("Save ₹855") is untouched; aw-save-label.js only
     copies the amount into data-aw-save so CSS can show it as "−₹855". */
  #experienceModal .ep-price-bar .ep-save-badge,
  .aw-v2 .right > .price-bar .total-sub .save-badge {
    grid-column: 2 !important; grid-row: 3 !important;
    justify-self: end !important;
    background: none !important; color: var(--pc-ok) !important;
    padding: 4px 0 !important; margin: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important; font-weight: 500 !important;
    animation: none !important;
    box-shadow: none !important;
  }
  #experienceModal .ep-price-bar .ep-save-badge[data-aw-save],
  .aw-v2 .right > .price-bar .total-sub .save-badge[data-aw-save] { font-size: 0 !important; }
  #experienceModal .ep-price-bar .ep-save-badge[data-aw-save]::after,
  .aw-v2 .right > .price-bar .total-sub .save-badge[data-aw-save]::after {
    content: "\2212" attr(data-aw-save);
    font-size: 13px; font-weight: 500;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"]))::after,
  .aw-v2 .right > .price-bar .total-block:has(.save-badge[data-aw-save]:not([style*="none"]))::after {
    content: "You save";
    grid-column: 1; grid-row: 3;
    font-size: 13px; font-weight: 500; color: var(--pc-ok);
    padding: 4px 0;
  }

  /* you pay (big total) */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-value,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price,
  .aw-v2 .right > .price-bar .total-block .total-amt #selectedExperienceTotalPrice {
    grid-column: 1 / -1 !important; grid-row: 4 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin: 8px 0 0 !important;
    padding: 12px 0 2px !important;
    border-top: 1px solid var(--pc-line2) !important;
    font-family: inherit !important;
    font-size: 30px !important; font-weight: 500 !important;
    letter-spacing: -.01em !important; line-height: 1.1 !important;
    color: var(--pc-text) !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-value::before,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price::before,
  .aw-v2 .right > .price-bar .total-block .total-amt #selectedExperienceTotalPrice::before {
    content: "You pay";
    font-size: 17px; font-weight: 500; letter-spacing: 0;
  }
  #experienceModal .ep-price-bar .ep-price-main .aw-closed-text::before { display: none; }
  .aw-v2 .right > .price-bar .total-block .total-amt { display: contents !important; }
  .aw-v2 .right > .price-bar .total-block .perPersonAmt { display: none !important; }

  /* links: inside the card, BELOW the checkout button */
  #experienceModal .ep-price-bar .ep-price-links,
  .aw-v2 .right > .price-bar .links {
    position: absolute !important;
    left: 0 !important; right: 0 !important; bottom: 12px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 16px !important;
  }
  #experienceModal .ep-price-bar .ep-price-links a,
  .aw-v2 .right > .price-bar .links a {
    display: inline !important;
    font-size: 13px !important; font-weight: 500 !important; line-height: 1.4 !important;
    color: var(--pc-text2) !important; opacity: 1 !important;
    text-decoration: underline !important; text-underline-offset: 3px;
    transition: color .2s;
  }
  #experienceModal .ep-price-bar .ep-price-links a:hover,
  .aw-v2 .right > .price-bar .links a:hover { color: var(--pc-link) !important; }
}

/* ── Checkout button: blue, SAME color on hover (animation only) ── */
@media (min-width: 769px) {
  #experienceModal .ep-checkout-btn,
  .aw-v2 .right > .aw-checkout {
    background: var(--pc-btn) !important;
    color: #fff !important;
    height: 48px !important; min-height: 48px !important;
    padding: 0 20px !important;
    border: 0 !important; border-radius: 12px !important;
    font-size: 16px !important; font-weight: 500 !important;
    font-family: inherit !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    gap: 10px !important;
    box-shadow: none !important;
    margin: 0 !important;
    position: relative !important; overflow: hidden !important;
    transition: transform .2s, box-shadow .2s !important;
  }
  #experienceModal .ep-checkout-btn .price-range {
    font-size: 16px !important; font-weight: 500 !important; color: #fff !important;
  }
  #experienceModal .ep-checkout-btn:hover:not(:disabled),
  #experienceModal .ep-checkout-btn:focus:not(:disabled),
  .aw-v2 .right > .aw-checkout:hover:not(:disabled),
  .aw-v2 .right > .aw-checkout:focus:not(:disabled) {
    background: var(--pc-btn) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px var(--pc-btn-glow) !important;
  }
  #experienceModal .ep-checkout-btn:active:not(:disabled),
  .aw-v2 .right > .aw-checkout:active:not(:disabled) {
    background: var(--pc-btn) !important;
    transform: translateY(0) scale(.985) !important;
    box-shadow: none !important;
  }
  #experienceModal .ep-checkout-btn:focus-visible,
  .aw-v2 .right > .aw-checkout:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--pc-btn-glow) !important; }

  /* sheen: only on hover (was an endless loop) */
  #experienceModal .ep-checkout-btn::before,
  .aw-v2 .right > .aw-checkout::before {
    content: "" !important; display: block !important;
    position: absolute !important; top: 0 !important; left: 0 !important;
    width: 30% !important; height: 100% !important;
    background: rgba(255,255,255,.2) !important;
    transform: translateX(-120%) skewX(-20deg);
    animation: none !important;
  }
  #experienceModal .ep-checkout-btn:hover::before,
  .aw-v2 .right > .aw-checkout:hover::before { animation: aw-pc-sheen .8s ease !important; }

  /* lock icon on the left */
  #experienceModal .ep-checkout-btn::after,
  .aw-v2 .right > .aw-checkout::after {
    content: ""; order: -1; flex: 0 0 auto;
    width: 20px; height: 20px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  /* tick (✓) becomes a sliding arrow */
  #experienceModal .ep-checkout-btn .tick,
  #experienceModal .ep-checkout-btn .ep-checkout-tick,
  .aw-v2 .right > .aw-checkout .tick {
    width: auto !important; height: auto !important;
    background: transparent !important; box-shadow: none !important;
    border-radius: 0 !important;
    font-size: 0 !important; line-height: 1 !important;
    animation: none !important;
    transition: transform .25s cubic-bezier(.2,.8,.2,1);
  }
  #experienceModal .ep-checkout-btn .tick::before,
  #experienceModal .ep-checkout-btn .ep-checkout-tick::before,
  .aw-v2 .right > .aw-checkout .tick::before { content: "\2192"; font-size: 20px; color: #fff; }
  #experienceModal .ep-checkout-btn:hover .tick,
  .aw-v2 .right > .aw-checkout:hover .tick { transform: translateX(6px); }
}
/* Checkout sits INSIDE the price card: pulled up over the card's bottom padding.
   Card bottom space (96px) = 12 gap + 48 button + 8 + 16 links + 12.
   Pull-up = 84px (inside card) + 12px (flex gap) ; margin-bottom restores flow. */
@media (min-width: 992px) {
  #experienceModal .ep-right { gap: 12px !important; }
  #experienceModal .ep-checkout-wrap {
    position: relative !important; z-index: 11 !important;
    margin: -96px 20px 36px !important;
  }
}
@media (min-width: 769px) {
  .aw-v2 .right { gap: 12px !important; }
  .aw-v2 .right > .aw-checkout {
    position: relative !important; z-index: 11 !important;
    margin: -96px 20px 36px !important;
  }
}

/* Form box: thin border (all screen sizes) */
.exp-popup-v2 .ep-booking-card,
.aw-v2 .booking-card { border: 1px solid rgba(120,90,40,.28) !important; }
[data-bs-theme="dark"] .exp-popup-v2 .ep-booking-card,
[data-bs-theme="dark"] .aw-v2 .booking-card { border: 1px solid rgba(255,255,255,.22) !important; }

@media (min-width: 769px) and (max-width: 991px) {
  /* popup uses the mobile bar below 992px; keep its desktop card hidden there */
  #experienceModal .ep-price-bar { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #experienceModal .ep-price-bar *, #experienceModal .ep-checkout-btn, #experienceModal .ep-checkout-btn *,
  .aw-v2 .right > .price-bar *, .aw-v2 .right > .aw-checkout, .aw-v2 .right > .aw-checkout * { animation: none !important; transition: none !important; }
}


/* ── Spacing + polish pass (desktop card, form box) ── */
@media (min-width: 769px) {
  /* more air between form box and price card */
  #experienceModal .ep-price-bar,
  .aw-v2 .right > .price-bar { margin-top: 10px !important; }

  /* form box: roomier */
  .exp-popup-v2 .ep-booking-card,
  .aw-v2 .booking-card { padding: 20px 22px 24px !important; }
  .exp-popup-v2 .ep-form-grid,
  .aw-v2 .booking-card .form-grid { row-gap: 16px !important; }

  /* price card: softer border, tighter rhythm, more room above the button */
  #experienceModal .ep-price-bar,
  .aw-v2 .right > .price-bar {
    padding: 18px 22px 106px !important;
    border-width: 1px !important;
    box-shadow: 0 2px 10px rgba(20,20,40,.06) !important;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar { box-shadow: 0 2px 12px rgba(0,0,0,.35) !important; }

  #experienceModal .ep-price-bar .ep-price-main .ep-price-label,
  .aw-v2 .right > .price-bar .total-block .total-lbl {
    font-size: 15px !important; font-weight: 600 !important; padding-bottom: 8px !important;
  }
  #experienceModal .ep-price-bar .ep-price-main::before,
  #experienceModal .ep-price-bar .ep-price-main::after,
  #experienceModal .ep-price-bar .ep-old-price,
  #experienceModal .ep-price-bar .ep-save-badge[data-aw-save]::after,
  #experienceModal .ep-price-bar .ep-save-badge,
  .aw-v2 .right > .price-bar .total-block::before,
  .aw-v2 .right > .price-bar .total-block::after,
  .aw-v2 .right > .price-bar .total-sub .was,
  .aw-v2 .right > .price-bar .total-sub .save-badge[data-aw-save]::after,
  .aw-v2 .right > .price-bar .total-sub .save-badge {
    font-size: 13.5px !important; line-height: 1.3 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main::before,
  #experienceModal .ep-price-bar .ep-price-main::after,
  #experienceModal .ep-price-bar .ep-old-price,
  #experienceModal .ep-price-bar .ep-save-badge,
  .aw-v2 .right > .price-bar .total-block::before,
  .aw-v2 .right > .price-bar .total-block::after,
  .aw-v2 .right > .price-bar .total-sub .was,
  .aw-v2 .right > .price-bar .total-sub .save-badge { padding-top: 5px !important; padding-bottom: 5px !important; }

  #experienceModal .ep-price-bar .ep-price-main .ep-price-value,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price,
  .aw-v2 .right > .price-bar .total-block .total-amt #selectedExperienceTotalPrice {
    margin-top: 10px !important; padding-top: 14px !important;
    font-size: 30px !important; font-weight: 600 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-value::before,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price::before,
  .aw-v2 .right > .price-bar .total-block .total-amt #selectedExperienceTotalPrice::before {
    font-size: 16px !important; font-weight: 500 !important;
  }

  /* checkout: resting depth (hover animation unchanged, color unchanged) */
  #experienceModal .ep-checkout-btn,
  .aw-v2 .right > .aw-checkout { box-shadow: 0 3px 10px rgba(30,111,232,.22) !important; }
  #experienceModal .ep-checkout-btn:active:not(:disabled),
  .aw-v2 .right > .aw-checkout:active:not(:disabled) { box-shadow: none !important; }
}


/* ══ Price section INSIDE the booking form box (stitched, desktop) ══ */
@media (min-width: 992px) {
  /* one box: form (top) + price section (bottom), no gaps between them */
  #experienceModal :has(> .ep-price-bar) { gap: 0 !important; row-gap: 0 !important; }
  #experienceModal #booking-mobile:has(~ .ep-price-bar) .ep-booking-card {
    border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
  }
  #experienceModal .ep-price-bar {
    background: #fff5e7 !important;
    border: 1px solid rgba(120,90,40,.28) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: none !important;
    padding: 18px 44px 128px !important;
    margin: 0 !important;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar {
    background: #2a2218 !important;
    border-color: rgba(255,255,255,.22) !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }
  #experienceModal .ep-price-bar:hover, [data-bs-theme="dark"] #experienceModal .ep-price-bar:hover { box-shadow: none !important; }
  #experienceModal .ep-price-bar:hover { border-color: rgba(120,90,40,.28) !important; border-top: 0 !important; }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar:hover { border-color: rgba(255,255,255,.22) !important; border-top: 0 !important; }

  /* the white price card, drawn inside the cream box */
  #experienceModal .ep-price-bar::before {
    content: "" !important; display: block !important;
    position: absolute !important;
    left: 22px; right: 22px; top: 0; bottom: 22px;
    background: var(--pc-bg);
    border: 1px solid var(--pc-line2);
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(20,20,40,.06);
    z-index: 0; pointer-events: none;
    transition: border-color .25s, box-shadow .25s;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar::before { box-shadow: 0 2px 12px rgba(0,0,0,.35); }
  #experienceModal .ep-price-bar:hover::before { border-color: var(--pc-link); box-shadow: 0 4px 18px var(--pc-glow); }
  #experienceModal .ep-price-bar > * { z-index: 1; }

  /* links sit under the checkout button, inside the white card */
  #experienceModal .ep-price-bar .ep-price-links { bottom: 34px !important; }

  /* checkout pulled up into the white card */
  #experienceModal .ep-checkout-wrap { margin: -106px 44px 58px !important; }

  /* when the form is swapped out for the price breakup, the bar stands alone */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar {
    border-top: 1px solid rgba(120,90,40,.28) !important;
    border-radius: 18px !important;
    margin-top: 12px !important;
  }
  [data-bs-theme="dark"] #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar { border-top: 1px solid rgba(255,255,255,.22) !important; }
}
@media (min-width: 769px) {
  /* one box: form (top) + price section (bottom), no gaps between them */
  .aw-v2 .right { gap: 0 !important; row-gap: 0 !important; }
  .aw-v2 .right > .booking-card:has(~ .price-bar) {
    border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
  }
  .aw-v2 .right > .price-bar {
    background: #fff5e7 !important;
    border: 1px solid rgba(120,90,40,.28) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: none !important;
    padding: 18px 44px 128px !important;
    margin: 0 !important;
  }
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar {
    background: #2a2218 !important;
    border-color: rgba(255,255,255,.22) !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }
  .aw-v2 .right > .price-bar:hover, [data-bs-theme="dark"] .aw-v2 .right > .price-bar:hover { box-shadow: none !important; }
  .aw-v2 .right > .price-bar:hover { border-color: rgba(120,90,40,.28) !important; border-top: 0 !important; }
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar:hover { border-color: rgba(255,255,255,.22) !important; border-top: 0 !important; }

  /* the white price card, drawn inside the cream box */
  .aw-v2 .right > .price-bar::before {
    content: "" !important; display: block !important;
    position: absolute !important;
    left: 22px; right: 22px; top: 0; bottom: 22px;
    background: var(--pc-bg);
    border: 1px solid var(--pc-line2);
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(20,20,40,.06);
    z-index: 0; pointer-events: none;
    transition: border-color .25s, box-shadow .25s;
  }
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar::before { box-shadow: 0 2px 12px rgba(0,0,0,.35); }
  .aw-v2 .right > .price-bar:hover::before { border-color: var(--pc-link); box-shadow: 0 4px 18px var(--pc-glow); }
  .aw-v2 .right > .price-bar > * { z-index: 1; }

  /* links sit under the checkout button, inside the white card */
  .aw-v2 .right > .price-bar .links { bottom: 34px !important; }

  /* checkout pulled up into the white card */
  .aw-v2 .right > .aw-checkout { margin: -106px 44px 58px !important; }

  /* when the form is swapped out for the price breakup, the bar stands alone */
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar {
    border-top: 1px solid rgba(120,90,40,.28) !important;
    border-radius: 18px !important;
    margin-top: 12px !important;
  }
  [data-bs-theme="dark"] .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar { border-top: 1px solid rgba(255,255,255,.22) !important; }
}


/* ── breakup-open state, link spacing, animated cut price ── */
@media (min-width: 992px) {
  /* a little more air between checkout and the links (stitched with form) */
  #experienceModal .ep-price-bar { padding-bottom: 136px !important; }
  #experienceModal .ep-checkout-wrap { margin: -114px 44px 66px !important; }

  /* breakup open: price card stands alone — plain white card, no cream frame */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar {
    background: var(--pc-bg) !important;
    border: 1px solid var(--pc-line2) !important;
    border-radius: 16px !important;
    padding: 18px 22px 114px !important;
    margin-top: 12px !important;
    box-shadow: 0 2px 10px rgba(20,20,40,.06) !important;
  }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar::before { display: none !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar .ep-price-links { bottom: 12px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-checkout-wrap { margin: -92px 22px 44px !important; }

  /* cut price: original animated strike (draws and clears in a loop) */
  #experienceModal .ep-price-bar .ep-old-price::after {
    top: 50% !important; height: 2px !important;
    background: #FF2C2C !important;
    transform: scaleX(0); transform-origin: left center;
    animation: ep-price-cut 1.8s ease-in-out infinite !important;
  }
}
@media (min-width: 769px) {
  /* a little more air between checkout and the links (stitched with form) */
  .aw-v2 .right > .price-bar { padding-bottom: 136px !important; }
  .aw-v2 .right > .aw-checkout { margin: -114px 44px 66px !important; }

  /* breakup open: price card stands alone — plain white card, no cream frame */
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar {
    background: var(--pc-bg) !important;
    border: 1px solid var(--pc-line2) !important;
    border-radius: 16px !important;
    padding: 18px 22px 114px !important;
    margin-top: 12px !important;
    box-shadow: 0 2px 10px rgba(20,20,40,.06) !important;
  }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar::before { display: none !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar .links { bottom: 12px !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .aw-checkout { margin: -92px 22px 44px !important; }

  /* cut price: original animated strike (draws and clears in a loop) */
  .aw-v2 .right > .price-bar .total-sub .was::after {
    top: 50% !important; height: 2px !important;
    background: #FF2C2C !important;
    transform: scaleX(0); transform-origin: left center;
    animation: ep-price-cut 1.8s ease-in-out infinite !important;
  }
}


/* ── info icon: smaller (desktop card) ── */
@media (min-width: 769px) {
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon,
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon {
    width: 14px !important; height: 14px !important;
    min-width: 14px !important; max-width: 14px !important;
    min-height: 14px !important; max-height: 14px !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon img,
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon img {
    width: 14px !important; height: 14px !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   MOBILE / TABLET (<=991px) — price card below the booking form
   Popup: the existing .ep-price-bar is shown in-flow (no checkout / links /
   info icon — those stay in the fixed bottom stripe). Detail page: the
   mirror card (.aw-mc) added in details.html, filled by aw-mobile-price-card.js.
   The fixed bottom stripe is NOT touched.
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  #experienceModal .ep-price-bar {
    --pc-bg:#ffffff; --pc-text:#1a1a18; --pc-text2:#66655f; --pc-line2:#b9b7ac; --pc-ok:#12803a; --pc-bad:#d23c3c;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar {
    --pc-bg:#1b1b1f; --pc-text:#f3f3ef; --pc-text2:#a5a49d; --pc-line2:#52525a; --pc-ok:#4cd07a; --pc-bad:#f26b6b;
  }
  #experienceModal .ep-price-bar {
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    gap: 0 !important; position: relative !important; overflow: visible !important;
    background: #fff5e7 !important;
    border: 1px solid rgba(120,90,40,.28) !important; border-top: 0 !important;
    border-radius: 0 0 16px 16px !important;
    padding: 16px 28px 28px !important; margin: 0 !important;
    box-shadow: none !important; color: var(--pc-text) !important;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar {
    background: #2a2218 !important; border-color: rgba(255,255,255,.22) !important; border-top: 0 !important;
  }
  #experienceModal .ep-price-bar::before {
    content: "" !important; display: block !important; position: absolute !important;
    left: 12px; right: 12px; top: 0; bottom: 12px;
    background: var(--pc-bg); border: 1px solid var(--pc-line2); border-radius: 12px;
    z-index: 0; pointer-events: none;
  }
  #experienceModal .ep-price-bar::after { display: none !important; }
  #experienceModal .ep-price-bar > * { position: relative; z-index: 1; }
  #experienceModal .ep-price-bar .ep-price-links,
  #experienceModal .ep-price-bar .ep-info-icon { display: none !important; }

  /* form box joins the price card */
  #experienceModal #booking-mobile:has(~ .ep-price-bar) .ep-booking-card {
    border-bottom: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
  }
  #experienceModal :has(> .ep-price-bar) { gap: 0 !important; row-gap: 0 !important; }

  /* rows */
  #experienceModal .ep-price-bar .ep-price-main {
    display: grid !important; grid-template-columns: auto 1fr !important; column-gap: 8px !important;
    align-items: center !important; width: 100% !important;
  }
  #experienceModal .ep-price-bar .ep-price-main::before {
    content: "Original price"; display: block !important; position: static !important; background: none !important;
    grid-column: 1; grid-row: 2; font-size: 13px; line-height: 1.3; color: var(--pc-text2); padding: 4px 0; animation: none !important;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-old-price:empty)::before { display: none !important; }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label {
    grid-column: 1 / -1 !important; grid-row: 1 !important;
    font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
    opacity: 1 !important; color: var(--pc-text) !important; margin: 0 !important; padding: 0 0 6px !important; font-family: inherit !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-sub { display: contents !important; }
  #experienceModal .ep-price-bar .ep-old-price {
    grid-column: 2 !important; grid-row: 2 !important; justify-self: end !important;
    position: relative !important; display: inline-block !important;
    font-size: 13px !important; line-height: 1.3 !important; font-weight: 500 !important;
    color: var(--pc-text2) !important; opacity: 1 !important; padding: 4px 0 !important; margin: 0 !important;
  }
  #experienceModal .ep-price-bar .ep-old-price:empty { display: none !important; }
  #experienceModal .ep-price-bar .ep-old-price::after {
    top: 50% !important; height: 2px !important; background: #FF2C2C !important;
    transform: scaleX(0); transform-origin: left center;
    animation: ep-price-cut 1.8s ease-in-out infinite !important;
  }
  #experienceModal .ep-price-bar .ep-save-badge {
    grid-column: 2 !important; grid-row: 3 !important; justify-self: end !important;
    background: none !important; color: var(--pc-ok) !important; box-shadow: none !important; animation: none !important;
    border-radius: 0 !important; padding: 4px 0 !important; margin: 0 !important;
    font-size: 13px !important; line-height: 1.3 !important; font-weight: 500 !important;
  }
  #experienceModal .ep-price-bar .ep-save-badge[data-aw-save] { font-size: 0 !important; }
  #experienceModal .ep-price-bar .ep-save-badge[data-aw-save]::after { content: "\2212" attr(data-aw-save); font-size: 13px; font-weight: 500; }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"]))::after {
    content: "You save"; grid-column: 1; grid-row: 3; font-size: 13px; line-height: 1.3; font-weight: 500; color: var(--pc-ok); padding: 4px 0;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-value,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price {
    grid-column: 1 / -1 !important; grid-row: 4 !important;
    display: flex !important; justify-content: space-between !important; align-items: baseline !important;
    margin: 8px 0 0 !important; padding: 10px 0 0 !important; border-top: 1px solid var(--pc-line2) !important;
    font-family: inherit !important; font-size: 24px !important; font-weight: 600 !important; line-height: 1.1 !important;
    letter-spacing: -.01em !important; color: var(--pc-text) !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-price-value::before,
  #experienceModal .ep-price-bar .ep-price-main .desktop-price::before { content: "You pay"; font-size: 15px; font-weight: 500; letter-spacing: 0; }
  #experienceModal .ep-price-bar .ep-price-main .aw-closed-text::before { display: none; }

  /* breakup open: price card stands alone, form keeps its own full border */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar {
    background: var(--pc-bg) !important; border: 1px solid var(--pc-line2) !important;
    border-radius: 14px !important; padding: 16px 16px 16px !important; margin-top: 12px !important;
  }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar::before { display: none !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) #booking-mobile .ep-booking-card {
    border-bottom: 1px solid rgba(120,90,40,.28) !important;
    border-bottom-left-radius: 14px !important; border-bottom-right-radius: 14px !important;
  }
}

/* Detail page mirror card (markup in details.html, values by aw-mobile-price-card.js) */
.aw-v2 .aw-mc { display: none; }
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]) + .aw-mc {
    display: block;
    --mc-bg:#fff; --mc-text:#1a1a18; --mc-text2:#66655f; --mc-line:#b9b7ac; --mc-ok:#12803a;
    background: #fff5e7; border: 1px solid rgba(120,90,40,.28); border-top: 0;
    border-radius: 0 0 14px 14px; padding: 0 12px 12px; margin: 0 0 12px;
  }
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]) + .aw-mc {
    --mc-bg:#1b1b1f; --mc-text:#f3f3ef; --mc-text2:#a5a49d; --mc-line:#52525a; --mc-ok:#4cd07a;
    background: #2a2218; border-color: rgba(255,255,255,.22);
  }
  .aw-v2 .right > .booking-card:has(+ .aw-mc) {
    border-bottom: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
  }
  .aw-v2 .aw-mc__card { background: var(--mc-bg); border: 1px solid var(--mc-line); border-radius: 12px; padding: 14px 16px; color: var(--mc-text); }
  .aw-v2 .aw-mc__head { font-size: 14px; font-weight: 600; padding-bottom: 6px; }
  .aw-v2 .aw-mc__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; line-height: 1.3; padding: 4px 0; }
  .aw-v2 .aw-mc__orig { color: var(--mc-text2); }
  .aw-v2 .aw-mc__old { position: relative; display: inline-block; }
  .aw-v2 .aw-mc__old::after {
    content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 2px; background: #FF2C2C;
    transform: scaleX(0); transform-origin: left center; animation: ep-price-cut 1.8s ease-in-out infinite;
  }
  .aw-v2 .aw-mc__save { color: var(--mc-ok); font-weight: 500; }
  .aw-v2 .aw-mc__pay { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--mc-line); font-size: 15px; font-weight: 500; }
  .aw-v2 .aw-mc__pay [data-mc="total"] { font-size: 24px; font-weight: 600; letter-spacing: -.01em; }
  .aw-v2 .aw-mc [hidden] { display: none !important; }
}
@media (prefers-reduced-motion: reduce) { .aw-v2 .aw-mc__old::after { animation: none; transform: scaleX(1); } }


/* ── Mobile: Terms & Cancellation links BELOW the price section ── */
@media (max-width: 991px) {
  /* popup: links inside the price card (static, under "You pay") */
  #experienceModal .ep-price-bar .ep-price-links {
    display: flex !important; position: static !important;
    justify-content: center !important; gap: 20px !important; flex-wrap: wrap !important;
    margin: 10px 0 0 !important; text-align: center !important; line-height: 1.4 !important;
  }
  #experienceModal .ep-price-bar .ep-price-links a {
    display: inline !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.4 !important;
    color: var(--pc-text2) !important; opacity: 1 !important;
    text-decoration: underline !important; text-underline-offset: 3px;
  }
  /* the old in-form copy is hidden only while the price card follows the form */
  #experienceModal #booking-mobile:has(~ .ep-price-bar) .ep-terms-row { display: none !important; }
}
@media (max-width: 768px) {
  /* detail page: links inside the mirror card; hide the in-form copy while it shows */
  .aw-v2 .aw-mc__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 10px; }
  .aw-v2 .aw-mc__links a {
    font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--mc-text2);
    text-decoration: underline; text-underline-offset: 3px;
  }
  .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]):has(+ .aw-mc) .aw-field.only-mobile { display: none !important; }
}
@media (min-width: 769px) { .aw-v2 .aw-mc__links { display: none; } }


/* ── Links: OUTSIDE the white price card, INSIDE the cream form box ── */
@media (max-width: 991px) {
  #experienceModal .ep-price-bar { padding-bottom: 58px !important; }
  #experienceModal .ep-price-bar::before { bottom: 42px !important; }
  #experienceModal .ep-price-bar .ep-price-links {
    position: absolute !important; left: 0 !important; right: 0 !important; bottom: 14px !important;
    margin: 0 !important;
  }
  /* breakup open: bar is a plain white card again, links back inside it */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar { padding-bottom: 16px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar .ep-price-links {
    position: static !important; margin: 10px 0 0 !important;
  }
}
@media (max-width: 768px) {
  .aw-v2 .aw-mc > .aw-mc__links { margin-top: 12px; padding-bottom: 2px; }
}


/* ── Mobile booking form: label ABOVE the field (outside the box), compact field below ── */
@media (max-width: 768px) {
  /* wrapper: no box; label sits above, field below */
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) {
    background: none !important; border: 0 !important; border-radius: 0 !important;
    padding: 0 !important; box-shadow: none !important;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *):focus-within,
  .aw-v2 #detailBookingCard .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *) {
    background: none !important; border: 0 !important; box-shadow: none !important;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) > label {
    display: block !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important;
    text-transform: none !important; line-height: 1.2 !important;
    color: #1a1a1a !important; margin: 0 0 6px !important;
  }
  /* the field itself: compact bordered box */
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.qty-text):not(.ep-qty-val),
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    background: #fff !important;
    border: 1.5px solid #0F0D0B !important;
    border-radius: 12px !important;
    height: 44px !important; min-height: 44px !important;
    width: 100% !important; box-sizing: border-box !important;
    padding: 0 14px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 15px !important; font-weight: 500 !important; color: #0F0D0B !important;
    box-shadow: none !important;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect {
    display: flex !important; align-items: center !important; float: none !important;
    line-height: normal !important; padding: 0 34px 0 14px !important;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select .current {
    font-size: 15px !important; font-weight: 500 !important; color: #0F0D0B !important;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    padding: 0 6px !important;
  }
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):focus,
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select.open {
    border-color: #383BF1 !important; box-shadow: 0 0 0 3px rgba(56,59,241,.12) !important;
  }
  /* green tick: centered on the field (label is above it now) */
  .aw-v2 #detailBookingCard .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after {
    top: auto !important; bottom: 0 !important; right: 14px !important;
  }
  /* dark */
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) > label { color: #f2f2f2 !important; }
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.qty-text):not(.ep-qty-val),
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    background: #1c1c22 !important; border-color: rgba(255,255,255,.7) !important; color: #f2f2f2 !important;
  }
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select .current { color: #f2f2f2 !important; }
  .aw-v2 #detailBookingCard .form-grid { gap: 12px !important; }
}
@media (max-width: 991px) {
  /* wrapper: no box; label sits above, field below */
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) {
    background: none !important; border: 0 !important; border-radius: 0 !important;
    padding: 0 !important; box-shadow: none !important;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *):focus-within,
  #experienceModal #booking-mobile .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *) {
    background: none !important; border: 0 !important; box-shadow: none !important;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) > label {
    display: block !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important;
    text-transform: none !important; line-height: 1.2 !important;
    color: #1a1a1a !important; margin: 0 0 6px !important;
  }
  /* the field itself: compact bordered box */
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.qty-text):not(.ep-qty-val),
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    background: #fff !important;
    border: 1.5px solid #0F0D0B !important;
    border-radius: 12px !important;
    height: 44px !important; min-height: 44px !important;
    width: 100% !important; box-sizing: border-box !important;
    padding: 0 14px !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 15px !important; font-weight: 500 !important; color: #0F0D0B !important;
    box-shadow: none !important;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect {
    display: flex !important; align-items: center !important; float: none !important;
    line-height: normal !important; padding: 0 34px 0 14px !important;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select .current {
    font-size: 15px !important; font-weight: 500 !important; color: #0F0D0B !important;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    padding: 0 6px !important;
  }
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):focus,
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select.open {
    border-color: #383BF1 !important; box-shadow: 0 0 0 3px rgba(56,59,241,.12) !important;
  }
  /* green tick: centered on the field (label is above it now) */
  #experienceModal #booking-mobile .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after {
    top: auto !important; bottom: 0 !important; right: 14px !important;
  }
  /* dark */
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) > label { color: #f2f2f2 !important; }
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not(.qty-text):not(.ep-qty-val),
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .qty-control,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .ep-qty-control,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .quantity {
    background: #1c1c22 !important; border-color: rgba(255,255,255,.7) !important; color: #f2f2f2 !important;
  }
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .nice-select .current { color: #f2f2f2 !important; }
  #experienceModal #booking-mobile .ep-form-grid { gap: 12px !important; }
}


/* ── fix: time slot double box (wrapper .niceselect must stay plain) ── */
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect:not(.nice-select),
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect:not(.nice-select) {
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    height: auto !important; min-height: 0 !important; padding: 0 !important; display: block !important;
  }}
@media (max-width: 991px) {
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect:not(.nice-select),
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) .niceselect:not(.nice-select) {
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    height: auto !important; min-height: 0 !important; padding: 0 !important; display: block !important;
  }}


/* ── fix: original <select> (replaced by .nice-select) must stay hidden ── */
@media (max-width: 991px) {
  .aw-v2 #detailBookingCard .aw-field select:has(+ .nice-select),
  #experienceModal #booking-mobile .aw-field select:has(+ .nice-select),
  .aw-v2 #detailBookingCard .aw-field select.niceselect:not(.nice-select),
  #experienceModal #booking-mobile .aw-field select.niceselect:not(.nice-select) { display: none !important; }
}

/* ── fix 2: original <select> stays hidden (beats the wrapper reset) ── */
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select.niceselect:not(.nice-select),
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select.niceselect:not(.nice-select),
  .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select:has(+ .nice-select),
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select:has(+ .nice-select) { display: none !important; }
}
@media (max-width: 991px) {
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select.niceselect:not(.nice-select),
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select.niceselect:not(.nice-select),
  #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select:has(+ .nice-select),
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field:not(.hotel-booking-field):not(.hotel-booking-field *) select:has(+ .nice-select) { display: none !important; }
}



/* ── Mobile bottom stripe: yellow -> white (price text stays dark; checkout unchanged) ── */
@media (max-width: 768px) {
  .aw-v2 .right > .price-bar,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar {
    background: #ffffff !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,.12) !important;
  }
  .aw-v2 .right > .price-bar::before { display: none !important; }
  #experienceModal .price-bar { background: #ffffff !important; }
}
@media (max-width: 991px) {
  #experienceModal .modal-booking.ep-mobile-bar,
  [data-bs-theme="dark"] #experienceModal .modal-booking.ep-mobile-bar {
    background: #ffffff !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,.12) !important;
  }
  #experienceModal .modal-booking.ep-mobile-bar::before,
  #experienceModal .modal-booking.ep-mobile-bar::after { display: none !important; }
}


/* ── Desktop price card: highlight border, bigger rows, label under total ── */
@media (min-width: 992px) {
  /* original price + you save: bigger, original in dark text */
  #experienceModal .ep-price-bar .ep-price-main::before, #experienceModal .ep-price-bar .ep-price-main::after, #experienceModal .ep-price-bar .ep-old-price, #experienceModal .ep-price-bar .ep-save-badge, #experienceModal .ep-price-bar .ep-save-badge[data-aw-save]::after {
    font-size: 15px !important; line-height: 1.3 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main::before, #experienceModal .ep-price-bar .ep-old-price { color: var(--pc-text) !important; }

  /* "Rate for N people" / "per person" label moves BELOW the real price */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label {
    grid-column: 1 !important; grid-row: 5 !important;
    font-size: 14px !important; font-weight: 500 !important;
    color: var(--pc-text2) !important; padding: 6px 0 0 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon { grid-column: 2 !important; grid-row: 5 !important; margin: 6px 0 0 !important; }

  /* highlighted card border (inner white card when joined to the form) */
  #experienceModal .ep-price-bar::before {
    border: 1.5px solid var(--pc-link) !important;
    box-shadow: 0 4px 16px var(--pc-glow) !important;
  }
  #experienceModal .ep-price-bar:hover::before { box-shadow: 0 6px 22px var(--pc-glow) !important; }
  /* highlighted border when the price card stands alone (breakup open) */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar {
    border: 1.5px solid var(--pc-link) !important;
    box-shadow: 0 4px 16px var(--pc-glow) !important;
  }
}
@media (min-width: 769px) {
  /* original price + you save: bigger, original in dark text */
  .aw-v2 .right > .price-bar .total-block::before, .aw-v2 .right > .price-bar .total-block::after, .aw-v2 .right > .price-bar .total-sub .was, .aw-v2 .right > .price-bar .total-sub .save-badge, .aw-v2 .right > .price-bar .total-sub .save-badge[data-aw-save]::after {
    font-size: 15px !important; line-height: 1.3 !important;
  }
  .aw-v2 .right > .price-bar .total-block::before, .aw-v2 .right > .price-bar .total-sub .was { color: var(--pc-text) !important; }

  /* "Rate for N people" / "per person" label moves BELOW the real price */
  .aw-v2 .right > .price-bar .total-block .total-lbl {
    grid-column: 1 !important; grid-row: 5 !important;
    font-size: 14px !important; font-weight: 500 !important;
    color: var(--pc-text2) !important; padding: 6px 0 0 !important;
  }
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon { grid-column: 2 !important; grid-row: 5 !important; margin: 6px 0 0 !important; }

  /* highlighted card border (inner white card when joined to the form) */
  .aw-v2 .right > .price-bar::before {
    border: 1.5px solid var(--pc-link) !important;
    box-shadow: 0 4px 16px var(--pc-glow) !important;
  }
  .aw-v2 .right > .price-bar:hover::before { box-shadow: 0 6px 22px var(--pc-glow) !important; }
  /* highlighted border when the price card stands alone (breakup open) */
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar {
    border: 1.5px solid var(--pc-link) !important;
    box-shadow: 0 4px 16px var(--pc-glow) !important;
  }
}
/* ── Mobile: no shadow on the white stripe; original price in dark text ── */
@media (max-width: 768px) {
  .aw-v2 .right > .price-bar,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar { box-shadow: none !important; }
  .aw-v2 .right > .price-bar .total-sub .was,
  .aw-v2 .right > .price-bar .was.originlAmountFromPriceApi { color: #000 !important; opacity: 1 !important; }
  .aw-v2 .aw-mc__orig { color: var(--mc-text); }
}
@media (max-width: 991px) {
  #experienceModal .modal-booking.ep-mobile-bar,
  [data-bs-theme="dark"] #experienceModal .modal-booking.ep-mobile-bar { box-shadow: none !important; }
  #experienceModal .modal-booking.ep-mobile-bar .old-pricemobile,
  #experienceModal .modal-booking.ep-mobile-bar .originlAmountFromPriceApi,
  [data-bs-theme="dark"] #experienceModal .price-info-section .old-pricemobile,
  [data-bs-theme="dark"] #experienceModal .modal-booking.ep-mobile-bar .old-pricemobile { color: #000 !important; opacity: 1 !important; }
  #experienceModal .ep-price-bar .ep-price-main::before,
  #experienceModal .ep-price-bar .ep-old-price { color: var(--pc-text) !important; }
}


/* ── Desktop: label under price, links outside card, bigger checkout, trust line ── */
@media (min-width: 992px) {
  /* label + info icon: right-aligned, directly under the price */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label {
    grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important;
    text-align: right !important; padding: 4px 22px 0 0 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon { grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important; margin: 6px 0 0 !important; }

  /* joined to the form: white card ends above a cream strip that holds the links */
  #experienceModal .ep-price-bar { padding-bottom: 166px !important; }
  #experienceModal .ep-price-bar::before { bottom: 46px !important; }
  #experienceModal .ep-price-bar .ep-price-links { bottom: 14px !important; }
  #experienceModal .ep-checkout-wrap { margin: -144px 34px 90px !important; }
  #experienceModal .ep-checkout-btn { height: 54px !important; min-height: 54px !important; }

  /* animated green trust line under the checkout button */
  #experienceModal .ep-price-bar::after {
    content: "Secure payment \00B7  Free cancellation \00B7  100% Guaranteed Booking" !important;
    display: block !important; position: absolute !important;
    left: 22px !important; right: 22px !important; top: auto !important; bottom: 58px !important;
    width: auto !important; height: auto !important; border-radius: 0 !important;
    text-align: center; font-size: 12.5px; font-weight: 600; line-height: 16px; white-space: nowrap;
    background: linear-gradient(90deg, var(--pc-ok) 0%, #45d67f 25%, var(--pc-ok) 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent; color: transparent !important;
    animation: aw-pc-secure 3s linear infinite !important;
    pointer-events: none; z-index: 1;
  }

  /* breakup open (card stands alone) */
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar { padding-bottom: 140px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar::after { bottom: 36px !important; left: 14px !important; right: 14px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-checkout-wrap { margin: -118px 14px 64px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #experienceModal .ep-price-bar::after { font-size: 11px; }
}
@media (min-width: 769px) {
  /* label + info icon: right-aligned, directly under the price */
  .aw-v2 .right > .price-bar .total-block .total-lbl {
    grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important;
    text-align: right !important; padding: 4px 22px 0 0 !important;
  }
  .aw-v2 .right > .price-bar .total-block .total-amt .price-info-icon { grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important; margin: 6px 0 0 !important; }

  /* joined to the form: white card ends above a cream strip that holds the links */
  .aw-v2 .right > .price-bar { padding-bottom: 166px !important; }
  .aw-v2 .right > .price-bar::before { bottom: 46px !important; }
  .aw-v2 .right > .price-bar .links { bottom: 14px !important; }
  .aw-v2 .right > .aw-checkout { margin: -144px 34px 90px !important; }
  .aw-v2 .right > .aw-checkout { height: 54px !important; min-height: 54px !important; }

  /* animated green trust line under the checkout button */
  .aw-v2 .right > .price-bar::after {
    content: "Secure payment \00B7  Free cancellation \00B7  100% Guaranteed Booking" !important;
    display: block !important; position: absolute !important;
    left: 22px !important; right: 22px !important; top: auto !important; bottom: 58px !important;
    width: auto !important; height: auto !important; border-radius: 0 !important;
    text-align: center; font-size: 12.5px; font-weight: 600; line-height: 16px; white-space: nowrap;
    background: linear-gradient(90deg, var(--pc-ok) 0%, #45d67f 25%, var(--pc-ok) 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent; color: transparent !important;
    animation: aw-pc-secure 3s linear infinite !important;
    pointer-events: none; z-index: 1;
  }

  /* breakup open (card stands alone) */
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar { padding-bottom: 140px !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar::after { bottom: 36px !important; left: 14px !important; right: 14px !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .aw-checkout { margin: -118px 14px 64px !important; }
}
@media (min-width: 769px) and (max-width: 1199px) {
  .aw-v2 .right > .price-bar::after { font-size: 11px; }
}
/* ── Mobile: wider checkout button only (stripe leaves room for it) ── */
@media (max-width: 768px) {
  .aw-v2 .right > .aw-checkout { min-width: 156px !important; }
  .aw-v2 .right > .price-bar { padding-right: 192px !important; }
  #experienceModal .book-bbbtn { min-width: 156px !important; }
}
@keyframes aw-pc-secure { to { background-position: 200% 0; } }
@media (prefers-reduced-motion: reduce) {
  #experienceModal .ep-price-bar::after, .aw-v2 .right > .price-bar::after { animation: none !important; }
}


/* ── Round: bold label, icon by You save, bigger checkout, dark-green trust line ── */
@media (min-width: 992px) {
  /* label: bold + dark */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label { font-weight: 700 !important; color: var(--pc-text) !important; }

  /* info icon: beside "You save" (falls back to under the price when there is no saving) */
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"])) .ep-info-icon {
    grid-column: 1 !important; grid-row: 3 !important; justify-self: start !important; align-self: center !important;
    margin: 0 0 0 4.4em !important; font-size: 15px !important;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"])) #experienceModal .ep-price-bar .ep-price-main .ep-price-label { padding-right: 0 !important; }

  /* bigger checkout */
  #experienceModal .ep-price-bar { padding-bottom: 172px !important; }
  #experienceModal .ep-checkout-wrap { margin: -150px 30px 90px !important; }
  #experienceModal .ep-checkout-btn { height: 60px !important; min-height: 60px !important; font-size: 17px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-price-bar { padding-bottom: 146px !important; }
  #experienceModal :has(> #priceBreakupBox[style*="block"]) > .ep-checkout-wrap { margin: -124px 10px 64px !important; }

  /* trust line: dark green, bold, with a lighter green shimmer */
  #experienceModal .ep-price-bar::after {
    font-weight: 700 !important;
    background: linear-gradient(90deg, #0a5c25 0%, #22a653 25%, #0a5c25 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
  }
  [data-bs-theme="dark"] #experienceModal .ep-price-bar::after {
    background: linear-gradient(90deg, #4cd07a 0%, #c9f8d9 25%, #4cd07a 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
  }
}
@media (min-width: 769px) {
  /* label: bold + dark */
  .aw-v2 .right > .price-bar .total-block .total-lbl { font-weight: 700 !important; color: var(--pc-text) !important; }

  /* info icon: beside "You save" (falls back to under the price when there is no saving) */
  .aw-v2 .right > .price-bar .total-block:has(.save-badge[data-aw-save]:not([style*="none"])) .total-amt .price-info-icon {
    grid-column: 1 !important; grid-row: 3 !important; justify-self: start !important; align-self: center !important;
    margin: 0 0 0 4.4em !important; font-size: 15px !important;
  }
  .aw-v2 .right > .price-bar .total-block:has(.save-badge[data-aw-save]:not([style*="none"])) .aw-v2 .right > .price-bar .total-block .total-lbl { padding-right: 0 !important; }

  /* bigger checkout */
  .aw-v2 .right > .price-bar { padding-bottom: 172px !important; }
  .aw-v2 .right > .aw-checkout { margin: -150px 30px 90px !important; }
  .aw-v2 .right > .aw-checkout { height: 60px !important; min-height: 60px !important; font-size: 17px !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .price-bar { padding-bottom: 146px !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .aw-checkout { margin: -124px 10px 64px !important; }

  /* trust line: dark green, bold, with a lighter green shimmer */
  .aw-v2 .right > .price-bar::after {
    font-weight: 700 !important;
    background: linear-gradient(90deg, #0a5c25 0%, #22a653 25%, #0a5c25 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
  }
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar::after {
    background: linear-gradient(90deg, #4cd07a 0%, #c9f8d9 25%, #4cd07a 50%) !important;
    background-size: 200% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
  }
}
/* ── Mobile: checkout grows further to the LEFT; stripe has NO shadow ── */
@media (max-width: 768px) {
  .aw-v2 .right > .aw-checkout { min-width: 172px !important; }
  .aw-v2 .right > .price-bar { padding-right: 208px !important; }
  #experienceModal .book-bbbtn { min-width: 172px !important; }

  .aw-v2 .price-bar,
  .aw-v2 .right > .price-bar,
  [data-bs-theme="dark"] .aw-v2 .price-bar,
  [data-bs-theme="dark"] .aw-v2 .right > .price-bar,
  #experienceModal .price-bar {
    box-shadow: none !important; filter: none !important;
    border-top: 1px solid rgba(0,0,0,.06) !important;
  }
}
@media (max-width: 991px) {
  #experienceModal .modal-booking.ep-mobile-bar,
  [data-bs-theme="dark"] #experienceModal .modal-booking.ep-mobile-bar {
    box-shadow: none !important; filter: none !important;
    border-top: 1px solid rgba(0,0,0,.06) !important;
  }
}

/* ── fix: green tick stays centered on the field box (hint text sits below it) ── */
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after,
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after { top: 44px !important; bottom: auto !important; right: 14px !important; }
}
@media (max-width: 991px) {
  #experienceModal #booking-mobile .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after,
  [data-bs-theme="dark"] #experienceModal #booking-mobile .aw-field.is-valid:not(.hotel-booking-field):not(.hotel-booking-field *)::after { top: 44px !important; bottom: auto !important; right: 14px !important; }
}



/* ── Mobile: label under the price, info icon by "You save", no tick on Time Slot ── */
@media (max-width: 991px) {
  /* popup in-form price card */
  #experienceModal .ep-price-bar .ep-price-main .ep-price-label {
    grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important; text-align: right !important;
    font-size: 14px !important; font-weight: 700 !important; color: var(--pc-text) !important;
    padding: 4px 22px 0 0 !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon {
    display: inline-flex !important; align-items: center; justify-content: center;
    grid-column: 2 !important; grid-row: 5 !important; justify-self: end !important;
    width: 14px !important; height: 14px !important; min-width: 14px !important; max-width: 14px !important;
    margin: 6px 0 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; font-size: 13px !important;
  }
  #experienceModal .ep-price-bar .ep-price-main .ep-info-icon img {
    width: 14px !important; height: 14px !important; display: block !important;
    filter: brightness(0) invert(55%) !important;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"])) .ep-info-icon {
    grid-column: 1 !important; grid-row: 3 !important; justify-self: start !important; align-self: center !important;
    margin: 0 0 0 4.3em !important;
  }
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"])) .ep-price-label {
    padding-right: 0 !important;
  }
  /* no green tick on the Time Slot field */
  #experienceModal #booking-mobile #temptimeslot.aw-field::after { display: none !important; }
}
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard #temptimeslot.aw-field::after { display: none !important; }

  /* detail page mirror card: label goes under the price, right-aligned */
  .aw-v2 .aw-mc__card { display: flex; flex-direction: column; }
  .aw-v2 .aw-mc__head {
    order: 5; text-align: right; font-weight: 700; color: var(--mc-text);
    padding: 4px 0 0;
  }
  .aw-v2 .aw-mc__savelbl { display: inline-flex; align-items: center; gap: 6px; }
  .aw-v2 .aw-mc__info {
    display: inline-flex; align-items: center; justify-content: center;
    width: 14px; height: 14px; padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer;
  }
  .aw-v2 .aw-mc__info img { width: 14px; height: 14px; display: block; filter: brightness(0) invert(55%); }
}


/* ── fix: detail mobile card survives the breakup box being inserted between form and card ── */
@media (max-width: 768px) {
  .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]) ~ .aw-mc {
    display: block;
    --mc-bg:#fff; --mc-text:#1a1a18; --mc-text2:#66655f; --mc-line:#b9b7ac; --mc-ok:#12803a;
    background: #fff5e7; border: 1px solid rgba(120,90,40,.28); border-top: 0;
    border-radius: 0 0 14px 14px; padding: 0 12px 12px; margin: 0 0 12px;
  }
  [data-bs-theme="dark"] .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]) ~ .aw-mc {
    --mc-bg:#1b1b1f; --mc-text:#f3f3ef; --mc-text2:#a5a49d; --mc-line:#52525a; --mc-ok:#4cd07a;
    background: #2a2218; border-color: rgba(255,255,255,.22);
  }
  /* form joins the card (general sibling, not only the next element) */
  .aw-v2 .right > .booking-card:has(~ .aw-mc) {
    border-bottom: 0 !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
    margin-bottom: 0 !important;
  }
  .aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]):has(~ .aw-mc) .aw-field.only-mobile { display: none !important; }

  /* breakup open: card hides, form is a plain full box again, its own links show */
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) .aw-mc { display: none !important; }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .booking-card {
    border-bottom: 1px solid rgba(120,90,40,.28) !important;
    border-bottom-left-radius: 14px !important; border-bottom-right-radius: 14px !important;
    margin-bottom: 12px !important;
  }
  [data-bs-theme="dark"] .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) > .booking-card {
    border-bottom-color: rgba(255,255,255,.22) !important;
  }
  .aw-v2 .right:has(> #priceBreakupBox[style*="block"]) #detailBookingCard .aw-field.only-mobile { display: flex !important; }
}


/* ── tighter gap between the form's last line (e.g. "Sold out…") and the price card (desktop) ── */
@media (min-width: 992px) {
  #experienceModal #booking-mobile:has(~ .ep-price-bar) .ep-booking-card { padding-bottom: 12px !important; }
}
@media (min-width: 769px) {
  .aw-v2 .right > .booking-card:has(~ .price-bar) { padding-bottom: 12px !important; }
}


/* ── fix: label right-aligned flush with the price when the info icon is beside "You save" ── */
@media (min-width: 992px) {
  #experienceModal .ep-price-bar .ep-price-main:has(.ep-save-badge[data-aw-save]:not([style*="none"])) .ep-price-label { padding-right: 0 !important; }
}
@media (min-width: 769px) {
  .aw-v2 .right > .price-bar .total-block:has(.save-badge[data-aw-save]:not([style*="none"])) .total-lbl { padding-right: 0 !important; }
}


/* ── Desktop checkout: bold + bigger text ── */
@media (min-width: 992px) {
  #experienceModal .ep-checkout-btn,
  #experienceModal .ep-checkout-btn .price-range { font-size: 20px !important; font-weight: 700 !important; }
  #experienceModal .ep-checkout-btn .tick::before,
  #experienceModal .ep-checkout-btn .ep-checkout-tick::before { font-size: 24px; }
  #experienceModal .ep-checkout-btn::after { width: 22px; height: 22px; }
}
@media (min-width: 769px) {
  .aw-v2 .right > .aw-checkout { font-size: 20px !important; font-weight: 700 !important; }
  .aw-v2 .right > .aw-checkout .tick::before { font-size: 24px; }
  .aw-v2 .right > .aw-checkout::after { width: 22px; height: 22px; }
}



/* ======================================================================
   BOOKING FORM UI v4 - desktop only (UI only, no logic)
   Navbar-style navy + dots form, underline fields with icons, price card
   as the hero, checkout inside it, trust marquee, links without underline.
   Popup (#experienceModal, >=992px) and detail page (.aw-v2, >=769px).
   Mobile / tablet-popup are NOT touched here.
   ====================================================================== */
.aw-trust-mq { display: none; }
.aw-trust-mq__track { display: flex; width: max-content; animation: aw-mq 52s linear infinite; }
.aw-trust-mq:hover .aw-trust-mq__track { animation-play-state: paused; }
.aw-trust-mq__set { display: flex; flex: none; }
.aw-trust-mq__i {
  display: inline-flex; align-items: center; gap: 6px; padding-right: 30px;
  font-size: 12.5px; font-weight: 700; line-height: 18px; white-space: nowrap;
  color: var(--pc-ok, #12803a);
}
.aw-trust-mq__i svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
/* ---- animation gate: price-card animations run only while the card is on screen (class set by aw-hero-rating.js) ---- */
/* animations only exist while their card/button is on screen (class aw-anim-on is set by aw-hero-rating.js); otherwise they are off, not just paused */
:is(.ep-price-bar, .price-bar, .aw-mc, .modal-booking):not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g) :is(.aw-trust-mq__track, .ep-save-badge, .save-badge, [data-mc="save"], .ep-old-price, .was, .aw-mc__old)::after,
:is(.ep-price-bar, .price-bar, .aw-mc, .modal-booking):not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g) :is(.aw-trust-mq__track, [data-mc="save"]),
.ep-checkout-wrap:not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g) .ep-checkout-btn::before,
.ep-checkout-wrap:not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g) .ep-checkout-btn .tick,
.aw-checkout:not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g)::before,
.aw-checkout:not(.aw-anim-on):not(#aw-g):not(#aw-g):not(#aw-g):not(#aw-g) .tick { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .aw-trust-mq__i svg, .aw-trust-mq__i svg path, .ep-checkout-btn .tick, .aw-checkout .tick { animation: none !important; } }
/* ---- checkout shows the amount: "Checkout | ₹4,032" (data-amt is set by aw-save-label.js) ---- */
.ep-checkout-btn .price-range[data-amt]::after { content: attr(data-amt); margin-left: 12px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.45); font-weight: 700; }
@media (min-width: 769px) {
.aw-v2 .right > .aw-checkout .tick[data-amt] { display: inline-flex !important; align-items: center; gap: 10px; }
.aw-v2 .right > .aw-checkout .tick[data-amt]::after { content: attr(data-amt); order: -1; font-size: 21px; font-weight: 700; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.45); }
}
/* ---- service-provider dot: green (detail page + popup) ---- */
.aw-v2 .provider-label:not(#aw-z):not(#aw-y)::before,
.exp-popup-v2 .ep-provider-label:not(#aw-z):not(#aw-y)::before,
[data-bs-theme="dark"] .aw-v2 .provider-label:not(#aw-z):not(#aw-y)::before,
[data-bs-theme="dark"] .exp-popup-v2 .ep-provider-label:not(#aw-z):not(#aw-y)::before { color: #22b35a !important; text-shadow: 0 0 7px rgba(34,179,90,.55); }
/* detail page (mobile) draws the dot as an 8px circle with a yellow background: make that green too */
@media (max-width: 767px) {
.aw-v2 .meta-row-inner .provider-label:not(#aw-z)::before,
[data-bs-theme="dark"] .aw-v2 .meta-row-inner .provider-label:not(#aw-z)::before { background: #22b35a !important; box-shadow: 0 0 7px rgba(34,179,90,.55); }
}
/* ---- detail page tabs (What's included / How to reach / FAQs): larger text on desktop ---- */
@media (min-width: 992px) { .aw-v2 .aw-tab { font-size: 16px !important; } }
/* ---- experience popup tabs (What's included / How to reach / FAQs): larger text, tab row never wraps ---- */
#experienceModal .exp-popup-v2 .ep-tab-btn, #experienceModal .ep-tab-btn { font-size: 14px !important; padding: 9px 14px !important; white-space: nowrap !important; }
@media (min-width: 768px) and (max-width: 1199px) { #experienceModal .exp-popup-v2 .ep-tab-btn, #experienceModal .ep-tab-btn { font-size: 12.5px !important; padding: 8px 10px !important; } }
@media (max-width: 767px) { #experienceModal .exp-popup-v2 .ep-tab-btn, #experienceModal .ep-tab-btn { font-size: 15px !important; padding: 8px 10px !important; } }
/* ---- hero rating number next to the stars ---- */
.aw-hr-num { margin-left: 7px; color: #fff; font-weight: 800; font-size: 14px; line-height: 1; letter-spacing: .01em; text-shadow: 0 1px 2px rgba(0,0,0,.45); opacity: 0; font-variant-numeric: tabular-nums; }
.aw-hr--play .aw-hr-num { animation: aw-hr-numloop 5s linear infinite; }
@media (max-width: 480px) { .aw-hr-num { font-size: 12.5px; margin-left: 5px; } }
@media (prefers-reduced-motion: reduce) { .aw-hr-num { opacity: 1 !important; animation: none !important; } }
/* ---- hero star rating (stars only, no background) ---- */
.hero-rating[hidden], .ep-hero-rating[hidden] { display: none !important; }
.aw-hr { display: inline-flex; align-items: center; gap: 3px; line-height: 0; }
.aw-hr-star { will-change: transform, opacity; }
.aw-hr-star { position: relative; width: 18px; height: 18px; flex: none; opacity: 0; transform: scale(.4); }
.aw-hr-star svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.aw-hr-star .b path { fill: rgba(255,255,255,.4); }
.aw-hr-star .f { clip-path: inset(0 100% 0 0); }
.aw-hr-star .f path { fill: #FFC531; }
.aw-hr--play .aw-hr-star:nth-child(1) { animation: aw-hr-pop-0 5s linear infinite; }
.aw-hr--play .aw-hr-star:nth-child(2) { animation: aw-hr-pop-1 5s linear infinite; }
.aw-hr--play .aw-hr-star:nth-child(3) { animation: aw-hr-pop-2 5s linear infinite; }
.aw-hr--play .aw-hr-star:nth-child(4) { animation: aw-hr-pop-3 5s linear infinite; }
.aw-hr--play .aw-hr-star:nth-child(5) { animation: aw-hr-pop-4 5s linear infinite; }
.aw-hr--play .aw-hr-star.is-full .f { clip-path: inset(0 0 0 0); }
.aw-hr-star.is-part .f { clip-path: inset(0 calc(100% - var(--w)) 0 0); }
@keyframes aw-hr-pop { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 70% { opacity: 1; transform: scale(1.2) rotate(5deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes aw-hr-fill { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 calc(100% - var(--w)) 0 0); } }
@media (max-width: 480px) { .aw-hr-star { width: 15px; height: 15px; } .aw-hr { gap: 2px; } }
@media (prefers-reduced-motion: reduce) {
  .aw-hr-star { opacity: 1 !important; transform: none !important; animation: none !important; }
  .aw-hr-star.is-full .f { clip-path: inset(0 0 0 0) !important; animation: none !important; }
  .aw-hr-star.is-part .f { clip-path: inset(0 calc(100% - var(--w)) 0 0) !important; animation: none !important; }
}/* ---- HERO overlay: [share][duration] row, then the name (max 2 lines, then ...) at the bottom ---- */
/* popup (share button is hidden in the popup): duration (left) + stars (right) on one row, name below */
#experienceModal .ep-hero-bottom {
  display: grid !important; grid-template-columns: auto 1fr !important; column-gap: 12px !important; row-gap: 12px !important;
  align-items: center !important; align-content: end !important; padding: 32px 18px 16px !important;
}
#experienceModal .ep-hero-bottom .ep-hero-duration { grid-column: 1 !important; grid-row: 1 !important; justify-self: start !important; align-self: center !important; }
#experienceModal .ep-hero-bottom .ep-hero-rating { grid-column: 2 !important; grid-row: 1 !important; justify-self: end !important; align-self: center !important; }
#experienceModal .ep-hero-bottom .package-name {
  grid-column: 1 / -1 !important; grid-row: 2 !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  padding-right: 0 !important; display: -webkit-box !important; -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important; line-clamp: 2 !important; overflow: hidden !important; text-overflow: ellipsis !important;
  text-align: left !important;
}/* detail page: share button first, duration beside it, name under them */
.aw-v2 .hero {
  flex-direction: row !important; flex-wrap: wrap !important; align-content: flex-end !important;
  align-items: center !important; justify-content: flex-start !important;
}
.aw-v2 .hero .hero-title-row { display: contents !important; }
.aw-v2 .hero .hero-share {
  position: relative !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
  order: 1 !important; flex: 0 0 auto !important; margin: 0 14px 0 0 !important;
}
.aw-v2 .hero > div.hero-rating:not(.zz):not(.zz):not(.zz):not(.zz) { order: 3 !important; margin: 0 0 0 auto !important; padding: 0 !important; position: relative !important; z-index: 3 !important; flex: 0 0 auto !important; }
.aw-v2 .hero .hero-duration { order: 2 !important; flex: 0 0 auto !important; position: relative !important; z-index: 3 !important; }
.aw-v2 .hero .hero-title {
  position: relative !important; z-index: 3 !important; box-sizing: border-box !important;
  order: 4 !important; flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 0 !important;
  margin: 18px 0 0 !important; text-align: left !important;
  display: -webkit-box !important; -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important; line-clamp: 2 !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
.aw-v2 .hero .share-icons { right: auto !important; left: 0 !important; }
/* mobile / tablet: share icons keep opening as a vertical column above the button, but smaller so the whole column fits inside the (short) hero and is not cut at the top */
@media (max-width: 991px) {
  .aw-v2 .hero .hero-share .share-icons:not(#aw-z) {
    flex-direction: column !important; top: auto !important; right: auto !important; left: 0 !important; bottom: calc(100% + 6px) !important; transform: none !important;
    padding: 5px !important; gap: 3px !important; background: rgba(8,10,28,.62) !important; border-radius: 14px !important;
  }
  .aw-v2 .hero .hero-share .share-icons .share-btn { width: 26px !important; height: 26px !important; font-size: 13px !important; flex: 0 0 auto; }
  .aw-v2 .hero .hero-share.open:not(#aw-z) { z-index: 6 !important; }
}
/* ---- small phones: keep the hero arrows clear of the duration / stars / name block ---- */
@media (max-width: 480px) {
  #experienceModal .ep-hero .swiper-button-prev, #experienceModal .ep-hero .swiper-button-next { top: 34% !important; width: 30px !important; height: 30px !important; }
  .aw-v2 .hero .hero-nav { top: 34%; width: 30px; height: 30px; }
  #experienceModal .ep-hero-bottom { padding: 24px 12px 12px !important; row-gap: 8px !important; column-gap: 8px !important; }
  #experienceModal .ep-hero-bottom .package-name { font-size: 15px !important; line-height: 1.18 !important; }
  #experienceModal .ep-hero-bottom .ep-hero-duration { font-size: 12px !important; padding: 5px 11px !important; }
  .aw-v2 .hero { padding: 12px !important; }
  .aw-v2 .hero .hero-title { font-size: 20px !important; margin-top: 12px !important; }
  .aw-v2 .hero .hero-duration { font-size: 12px !important; padding: 5px 11px !important; }
  .aw-v2 .hero .hero-share { width: 36px !important; height: 36px !important; margin-right: 10px !important; }
}
@media (max-width: 480px) and (max-height: 700px) {
  #experienceModal .ep-hero .swiper-button-prev, #experienceModal .ep-hero .swiper-button-next, .aw-v2 .hero .hero-nav { top: 28%; }
}/* ---- mobile bottom stripe: amount + cut price always on ONE line, text scales with the screen width; Checkout narrows on small phones ---- */
@media (max-width: 768px) {
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .price-info-section { min-width: 0 !important; flex: 1 1 auto !important; overflow: hidden !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .price-info-top { display: flex !important; flex-wrap: nowrap !important; align-items: baseline !important; gap: 6px !important; min-width: 0 !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .price.ep-mobile-price, #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .ep-mobile-price { white-space: nowrap !important; flex: 0 0 auto !important; font-size: clamp(15px, 5.4vw, 25px) !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .old-pricemobile { white-space: nowrap !important; flex: 0 1 auto !important; min-width: 0 !important; font-size: clamp(11px, 3.5vw, 15px) !important; }
  .aw-v2 .right > .price-bar:not(#aw-z) .total-block { min-width: 0 !important; flex-wrap: nowrap !important; }
  .aw-v2 .right > .price-bar:not(#aw-z) .total-amt, .aw-v2 .right > .price-bar:not(#aw-z) .total-sub { display: flex !important; flex-wrap: nowrap !important; align-items: baseline !important; gap: 6px !important; min-width: 0 !important; }
  .aw-v2 .right > .price-bar:not(#aw-z) .total-amt #selectedExperienceTotalPrice { white-space: nowrap !important; flex: 0 0 auto !important; font-size: clamp(15px, 5.4vw, 25px) !important; }
  .aw-v2 .right > .price-bar:not(#aw-z) .total-sub .was, .aw-v2 .right > .price-bar:not(#aw-z) .was.originlAmountFromPriceApi { white-space: nowrap !important; min-width: 0 !important; font-size: clamp(11px, 3.5vw, 15px) !important; }
}
@media (max-width: 400px) {
  #experienceModal .book-bbbtn:not(#aw-z) { min-width: 128px !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .price-info-section { padding-right: 6px !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .old-pricemobile { font-size: clamp(10px, 3.2vw, 15px) !important; }
  #experienceModal .modal-booking.ep-mobile-bar:not(#aw-z) .ep-bar-note { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  .aw-v2 .right > .aw-checkout:not(#aw-z) { min-width: 128px !important; font-size: 16px !important; }
  .aw-v2 .right > .price-bar:not(#aw-z) { padding-right: 148px !important; }
}@keyframes aw-mq { to { transform: translateX(-50%); } }
@keyframes aw-save-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}
@media (prefers-reduced-motion: reduce) {
  [data-aw-save]::after, .aw-mc__save [data-mc="save"] { animation: none !important; }
}
@keyframes aw-hr-pop-0 { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 4.8% { opacity: 1; transform: scale(1.2) rotate(5deg); } 7.0% { opacity: 1; transform: scale(1) rotate(0); } 94% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.85) rotate(0); } }
@keyframes aw-hr-pop-1 { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 2.4% { opacity: 0; transform: scale(.4) rotate(-25deg); } 7.199999999999999% { opacity: 1; transform: scale(1.2) rotate(5deg); } 9.4% { opacity: 1; transform: scale(1) rotate(0); } 94% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.85) rotate(0); } }
@keyframes aw-hr-pop-2 { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 4.8% { opacity: 0; transform: scale(.4) rotate(-25deg); } 9.6% { opacity: 1; transform: scale(1.2) rotate(5deg); } 11.8% { opacity: 1; transform: scale(1) rotate(0); } 94% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.85) rotate(0); } }
@keyframes aw-hr-pop-3 { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 7.2% { opacity: 0; transform: scale(.4) rotate(-25deg); } 12.0% { opacity: 1; transform: scale(1.2) rotate(5deg); } 14.2% { opacity: 1; transform: scale(1) rotate(0); } 94% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.85) rotate(0); } }
@keyframes aw-hr-pop-4 { 0% { opacity: 0; transform: scale(.4) rotate(-25deg); } 9.6% { opacity: 0; transform: scale(.4) rotate(-25deg); } 14.399999999999999% { opacity: 1; transform: scale(1.2) rotate(5deg); } 16.6% { opacity: 1; transform: scale(1) rotate(0); } 94% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(.85) rotate(0); } }
@keyframes aw-hr-numloop { 0%, 6.0% { opacity: 0; } 14.0%, 94% { opacity: 1; } 100% { opacity: 0; } }

/* form part: all screen sizes */
#experienceModal #booking-mobile .ep-booking-card {
  background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 40px -18px rgba(3,6,26,.65) !important;
  color: #fff !important;
  padding-top: 26px !important;
}
#experienceModal #booking-mobile .ep-booking-card::before, #experienceModal #booking-mobile .ep-booking-card::after { display: none !important; }
#experienceModal #booking-mobile .ep-booking-card .ep-book-title {
  background: linear-gradient(90deg,#ffffff 0%,#FFD153 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
  font-size: clamp(22px, 2.1vw, 28px) !important;
  margin: 0 0 24px !important;
  text-align: center !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) {
  position: relative !important;
  background: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important; gap: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3)) > label {
  position: absolute !important; width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important; border: 0 !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6))::before {
  content: "" !important; position: absolute; left: 2px; top: 13px; width: 18px; height: 18px;
  background: rgba(255,255,255,.72); z-index: 3; pointer-events: none;
  -webkit-mask: var(--aw-ico) center / contain no-repeat; mask: var(--aw-ico) center / contain no-repeat;
  transition: background .2s;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)):focus-within::before { background: #FFD153; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(1)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(2)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(3)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.5'/%3E%3Cpath d='M11 18.5h2'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(4)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(5)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):nth-child(6)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2 21a7 7 0 0 1 14 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14.5a7 7 0 0 1 4 6.5'/%3E%3C/svg%3E"); }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val),
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) select.niceselect,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .ep-qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .quantity {
  background: transparent !important;
  border: 0 !important; border-bottom: 1.5px solid rgba(255,255,255,.38) !important;
  border-radius: 0 !important; box-shadow: none !important;
  height: 44px !important; min-height: 44px !important;
  padding: 0 0 0 30px !important; margin: 0 !important;
  width: 100% !important; float: none !important;
  color: #fff !important; font-size: 15px !important; font-weight: 500 !important;
  color-scheme: dark; transition: border-color .2s, box-shadow .2s;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .qty-control:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .ep-qty-control:hover { border-bottom-color: rgba(255,255,255,.7) !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):focus,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select.open,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select:focus {
  border-bottom-color: #FFD153 !important; box-shadow: 0 1px 0 0 #FFD153 !important; outline: none !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val)::placeholder { color: rgba(255,255,255,.62) !important; opacity: 1 !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):-webkit-autofill,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important; caret-color: #fff;
  transition: background-color 9999s ease-in-out 0s !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input[type="date"]::-webkit-calendar-picker-indicator { opacity: .8; cursor: pointer; }

/* time slot (jQuery nice-select) */
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select { display: block !important; padding-right: 24px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select .current {
  display: block !important; line-height: 42px !important; color: #fff !important;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select::after {
  border-color: rgba(255,255,255,.8) !important; right: 4px !important;
}

/* people counter */
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .quantity { display: flex !important; align-items: center !important; justify-content: space-between !important; overflow: visible !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control button,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-btn,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-minus,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-plus {
  width: 30px !important; height: 30px !important; min-width: 30px !important;
  border-radius: 50% !important; border: 0 !important;
  background: rgba(255,255,255,.14) !important; color: #fff !important;
  font-size: 18px !important; font-weight: 700 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; transition: background .2s, color .2s, transform .1s !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control button:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-btn:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-minus:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-plus:hover { background: #FFD153 !important; color: #0a1445 !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-text,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-val,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-text:disabled,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-val:disabled {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important;
  font-size: 17px !important; font-weight: 700 !important; text-align: center !important;
  width: 44px !important; padding: 0 !important; height: 30px !important; flex: 1 1 auto !important;
}

/* "Next slot available..." and "Visit in this duration": same compact white block as the other messages, with normal spacing below the field */
#experienceModal #booking-mobile .ep-booking-card #next-available-msg:not(:empty), #experienceModal #booking-mobile .ep-booking-card #next-available-msg-detail-page:not(:empty), #experienceModal #booking-mobile .ep-booking-card .aw-visit-hint {
  background: #fff !important; color: #0a6a2a !important; border: 1px solid rgba(15,23,42,.10) !important; border-left: 3px solid #13a44c !important;
  border-radius: 8px !important; padding: 6px 10px !important; margin: 8px 0 0 !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.3 !important;
  width: fit-content !important; max-width: 100% !important; box-sizing: border-box !important; position: static !important;
}
#experienceModal #booking-mobile .ep-booking-card #temptimeslot > div[style*="rgb(0, 141, 0)"] { color: #0a6a2a !important; }
#experienceModal #booking-mobile .ep-booking-card .hotel-booking-field, #experienceModal #booking-mobile .ep-booking-card .hotel-booking-dp-field { gap: 0 !important; }
/* staycation: date range trigger = same underline style (label hidden like the other fields) */
#experienceModal #booking-mobile .ep-booking-card .hotel-booking-field > label, #experienceModal #booking-mobile .ep-booking-card .hotel-booking-dp-field > label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important;
  font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger {
  background: transparent !important; border: 0 !important;
  border-bottom: 1.5px solid rgba(255,255,255,.38) !important; border-radius: 0 !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 2px !important; display: flex !important; align-items: center !important; gap: 10px !important;
  color: #fff !important; transition: border-color .2s;
}
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger:hover { border-bottom-color: rgba(255,255,255,.7) !important; }
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger:focus-visible, #experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger[aria-expanded="true"] {
  border-bottom-color: #FFD153 !important; box-shadow: 0 1px 0 0 #FFD153 !important; outline: none !important;
}
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger__label {
  color: #fff !important; font-size: 15px !important; font-weight: 500 !important;
  flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger svg [stroke="#555"], #experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger svg [stroke="#888"] { stroke: rgba(255,255,255,.8) !important; }
#experienceModal #booking-mobile .ep-booking-card .hotel-date-trigger svg [fill="#555"] { fill: rgba(255,255,255,.8) !important; }
/* staycation: Rooms / Adults / Kids */
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col > label, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col > label {
  color: rgba(255,255,255,.72) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important; margin: 0 0 2px !important;
}
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col .ep-qty-control, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-control, #experienceModal #booking-mobile .ep-booking-card #hotelNumRooms {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 10px !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 8px !important; overflow: visible !important; color: #fff !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelNumRooms { text-align: center !important; -webkit-text-fill-color: #fff !important; font-weight: 700 !important; font-size: 17px !important; display: block !important; }
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col .ep-qty-val, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-input, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-display {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important;
  font-size: 17px !important; font-weight: 700 !important; text-align: center !important;
  padding: 0 !important; flex: 1 1 auto !important; min-width: 0 !important; width: auto !important;
}
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col .ep-qty-btn, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-btn {
  width: 28px !important; height: 28px !important; min-width: 28px !important;
  border-radius: 50% !important; border: 0 !important;
  background: rgba(255,255,255,.14) !important; color: #fff !important;
  font-size: 17px !important; font-weight: 700 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col .ep-qty-btn:hover:not(:disabled), #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-btn:hover:not(:disabled) { background: #FFD153 !important; color: #0a1445 !important; }
#experienceModal #booking-mobile .ep-booking-card .ep-hotel-guest-col .ep-qty-btn:disabled, #experienceModal #booking-mobile .ep-booking-card .hotel-guest-col .hotel-qty-btn:disabled { opacity: .35 !important; }

/* staycation hardening: id-scoped copies of the hotel rules above, so they also beat the old
   mobile/tablet rules (cream wrapper boxes, white inputs) that use !important */
#experienceModal #booking-mobile .ep-booking-card #hotelDatePickerWrapper, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper {
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelDatePickerWrapper > label, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important; line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelDatePickerWrapper .hotel-date-trigger {
  background: transparent !important; border: 0 !important; border-bottom: 1.5px solid rgba(255,255,255,.38) !important;
  border-radius: 0 !important; box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 2px !important; color: #fff !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelDatePickerWrapper .hotel-date-trigger__label { color: #fff !important; }
#experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .ep-qty-control, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .hotel-qty-control {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important; padding: 0 8px !important;
  color: #fff !important; display: flex !important; align-items: center !important; justify-content: space-between !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .ep-qty-val, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .hotel-qty-input, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .hotel-qty-display {
  background: transparent !important; border: 0 !important; box-shadow: none !important; color: #fff !important;
  -webkit-text-fill-color: #fff !important; opacity: 1 !important; text-align: center !important; font-size: 17px !important;
  font-weight: 700 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; flex: 1 1 auto !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper #hotelNumRooms {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center !important; font-size: 17px !important; font-weight: 700 !important;
  height: 44px !important; min-height: 44px !important; padding: 0 8px !important; width: 100% !important; display: block !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .ep-qty-btn, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .hotel-qty-btn {
  background: rgba(255,255,255,.14) !important; color: #fff !important; border: 0 !important; border-radius: 50% !important;
  width: 28px !important; height: 28px !important; min-width: 28px !important; padding: 0 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
#experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .ep-qty-btn:disabled, #experienceModal #booking-mobile .ep-booking-card #hotelGuestFieldsWrapper .hotel-qty-btn:disabled { opacity: .35 !important; }

/* every alert / info / warning message in the form: same white block, own text colour kept */
#experienceModal #booking-mobile .ep-booking-card .aw-stay-note,
#experienceModal #booking-mobile .ep-booking-card .aw-qty-limit-msg,
#experienceModal #booking-mobile .ep-booking-card [id^="hotelKidsReasonNote"],
#experienceModal #booking-mobile .ep-booking-card #aw-msg-zone,
#experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp {
  background: #fff !important; border: 1px solid rgba(15,23,42,.10) !important;
  border-left: 3px solid currentColor !important; border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
  padding: 6px 10px !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.3 !important; width: fit-content !important; max-width: 100% !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-stay-note { color: #6b4a00 !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-stay-note--warn { color: #a12b16 !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-stay-note--info { color: #2d3194 !important; }
#experienceModal #booking-mobile .ep-booking-card [id^="hotelKidsReasonNote"], #experienceModal #booking-mobile .ep-booking-card .aw-qty-limit-msg { color: #d32f2f !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-qty-limit-msg { margin: 6px 0 0 !important; border-radius: 8px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-stay-note, #experienceModal #booking-mobile .ep-booking-card [id^="hotelKidsReasonNote"], #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp { border-radius: 8px !important; }
#experienceModal #booking-mobile .ep-booking-card #aw-msg-zone, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp { gap: 4px !important; }
#experienceModal #booking-mobile .ep-booking-card #aw-msg-zone .aw-rules__row, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp .aw-rules__row, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone .aw-msg--inline, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp .aw-msg--inline, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone .aw-breakup-line, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp .aw-breakup-line { font-size: 12px !important; line-height: 1.3 !important; }

/* Date / Time Slot / People: small label above the field, People count in a thin box */
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(4),:nth-child(5),:nth-child(6)) > label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important;
  font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(4),:nth-child(5),:nth-child(6))::before { top: 33px !important; }
/* People count in a thin box: mobile / tablet layout only (desktop keeps the underline) */
@media (max-width: 991px) {
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6))::before { left: 12px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .quantity {
  border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important;
  padding: 0 8px 0 38px !important;
}
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control:hover,
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control:hover { border-color: rgba(255,255,255,.7) !important; }
}
@media (max-width: 991px) {
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(4)).is-valid::after { top: 42px !important; }
}

/* in-form Terms / Cancellation copy (mobile): light, no underline */
#experienceModal #booking-mobile .ep-booking-card .ep-terms-row a, #experienceModal #booking-mobile .ep-booking-card .aw-field.only-mobile a { color: rgba(255,255,255,.8) !important; text-decoration: none !important; }
#experienceModal #booking-mobile .ep-booking-card .ep-terms-row .ep-terms-sep { color: rgba(255,255,255,.5) !important; }

/* green "valid" tick (mobile only): centred on the 44px control */
@media (max-width: 991px) {
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(6)).is-valid::after { top: 22px !important; bottom: auto !important; right: 4px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(4)).is-valid::after { top: 42px !important; bottom: auto !important; right: 4px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(4)) input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0 !important; }
}
#experienceModal #booking-mobile .ep-booking-card #aw-msg-zone, #experienceModal #booking-mobile .ep-booking-card #aw-msg-zone-dp { color: #b45309 !important; }
.aw-v2 #detailBookingCard {
  background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 40px -18px rgba(3,6,26,.65) !important;
  color: #fff !important;
  padding-top: 26px !important;
}
.aw-v2 #detailBookingCard::before, .aw-v2 #detailBookingCard::after { display: none !important; }
.aw-v2 #detailBookingCard > h2 {
  background: linear-gradient(90deg,#ffffff 0%,#FFD153 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: transparent !important;
  font-size: clamp(22px, 2.1vw, 28px) !important;
  margin: 0 0 24px !important;
  text-align: center !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) {
  position: relative !important;
  background: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important; gap: 0 !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3)) > label {
  position: absolute !important; width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important; border: 0 !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6))::before {
  content: "" !important; position: absolute; left: 2px; top: 13px; width: 18px; height: 18px;
  background: rgba(255,255,255,.72); z-index: 3; pointer-events: none;
  -webkit-mask: var(--aw-ico) center / contain no-repeat; mask: var(--aw-ico) center / contain no-repeat;
  transition: background .2s;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)):focus-within::before { background: #FFD153; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(1)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(2)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(3)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.5'/%3E%3Cpath d='M11 18.5h2'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(4)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(5)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):nth-child(6)::before { --aw-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2 21a7 7 0 0 1 14 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14.5a7 7 0 0 1 4 6.5'/%3E%3C/svg%3E"); }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val),
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) select.niceselect,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .ep-qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .quantity {
  background: transparent !important;
  border: 0 !important; border-bottom: 1.5px solid rgba(255,255,255,.38) !important;
  border-radius: 0 !important; box-shadow: none !important;
  height: 44px !important; min-height: 44px !important;
  padding: 0 0 0 30px !important; margin: 0 !important;
  width: 100% !important; float: none !important;
  color: #fff !important; font-size: 15px !important; font-weight: 500 !important;
  color-scheme: dark; transition: border-color .2s, box-shadow .2s;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .qty-control:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .ep-qty-control:hover { border-bottom-color: rgba(255,255,255,.7) !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):focus,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select.open,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) .nice-select:focus {
  border-bottom-color: #FFD153 !important; box-shadow: 0 1px 0 0 #FFD153 !important; outline: none !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val)::placeholder { color: rgba(255,255,255,.62) !important; opacity: 1 !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):-webkit-autofill,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input:not([type="hidden"]):not(.qty-text):not(.ep-qty-val):-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important; caret-color: #fff;
  transition: background-color 9999s ease-in-out 0s !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) input[type="date"]::-webkit-calendar-picker-indicator { opacity: .8; cursor: pointer; }

/* time slot (jQuery nice-select) */
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select { display: block !important; padding-right: 24px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select .current {
  display: block !important; line-height: 42px !important; color: #fff !important;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(5)) .nice-select::after {
  border-color: rgba(255,255,255,.8) !important; right: 4px !important;
}

/* people counter */
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .quantity { display: flex !important; align-items: center !important; justify-content: space-between !important; overflow: visible !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control button,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-btn,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-minus,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-plus {
  width: 30px !important; height: 30px !important; min-width: 30px !important;
  border-radius: 50% !important; border: 0 !important;
  background: rgba(255,255,255,.14) !important; color: #fff !important;
  font-size: 18px !important; font-weight: 700 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; transition: background .2s, color .2s, transform .1s !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control button:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-btn:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-minus:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-plus:hover { background: #FFD153 !important; color: #0a1445 !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-text,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-val,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-text:disabled,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-val:disabled {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important;
  font-size: 17px !important; font-weight: 700 !important; text-align: center !important;
  width: 44px !important; padding: 0 !important; height: 30px !important; flex: 1 1 auto !important;
}

/* "Next slot available..." and "Visit in this duration": same compact white block as the other messages, with normal spacing below the field */
.aw-v2 #detailBookingCard #next-available-msg:not(:empty), .aw-v2 #detailBookingCard #next-available-msg-detail-page:not(:empty), .aw-v2 #detailBookingCard .aw-visit-hint {
  background: #fff !important; color: #0a6a2a !important; border: 1px solid rgba(15,23,42,.10) !important; border-left: 3px solid #13a44c !important;
  border-radius: 8px !important; padding: 6px 10px !important; margin: 8px 0 0 !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.3 !important;
  width: fit-content !important; max-width: 100% !important; box-sizing: border-box !important; position: static !important;
}
.aw-v2 #detailBookingCard #temptimeslot > div[style*="rgb(0, 141, 0)"] { color: #0a6a2a !important; }
.aw-v2 #detailBookingCard .hotel-booking-field, .aw-v2 #detailBookingCard .hotel-booking-dp-field { gap: 0 !important; }
/* staycation: date range trigger = same underline style (label hidden like the other fields) */
.aw-v2 #detailBookingCard .hotel-booking-field > label, .aw-v2 #detailBookingCard .hotel-booking-dp-field > label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important;
  font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
.aw-v2 #detailBookingCard .hotel-date-trigger {
  background: transparent !important; border: 0 !important;
  border-bottom: 1.5px solid rgba(255,255,255,.38) !important; border-radius: 0 !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 2px !important; display: flex !important; align-items: center !important; gap: 10px !important;
  color: #fff !important; transition: border-color .2s;
}
.aw-v2 #detailBookingCard .hotel-date-trigger:hover { border-bottom-color: rgba(255,255,255,.7) !important; }
.aw-v2 #detailBookingCard .hotel-date-trigger:focus-visible, .aw-v2 #detailBookingCard .hotel-date-trigger[aria-expanded="true"] {
  border-bottom-color: #FFD153 !important; box-shadow: 0 1px 0 0 #FFD153 !important; outline: none !important;
}
.aw-v2 #detailBookingCard .hotel-date-trigger__label {
  color: #fff !important; font-size: 15px !important; font-weight: 500 !important;
  flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aw-v2 #detailBookingCard .hotel-date-trigger svg [stroke="#555"], .aw-v2 #detailBookingCard .hotel-date-trigger svg [stroke="#888"] { stroke: rgba(255,255,255,.8) !important; }
.aw-v2 #detailBookingCard .hotel-date-trigger svg [fill="#555"] { fill: rgba(255,255,255,.8) !important; }
/* staycation: Rooms / Adults / Kids */
.aw-v2 #detailBookingCard .ep-hotel-guest-col > label, .aw-v2 #detailBookingCard .hotel-guest-col > label {
  color: rgba(255,255,255,.72) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important; margin: 0 0 2px !important;
}
.aw-v2 #detailBookingCard .ep-hotel-guest-col .ep-qty-control, .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-control, .aw-v2 #detailBookingCard #hotelNumRooms {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 10px !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 8px !important; overflow: visible !important; color: #fff !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
}
.aw-v2 #detailBookingCard #hotelNumRooms { text-align: center !important; -webkit-text-fill-color: #fff !important; font-weight: 700 !important; font-size: 17px !important; display: block !important; }
.aw-v2 #detailBookingCard .ep-hotel-guest-col .ep-qty-val, .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-input, .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-display {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important;
  font-size: 17px !important; font-weight: 700 !important; text-align: center !important;
  padding: 0 !important; flex: 1 1 auto !important; min-width: 0 !important; width: auto !important;
}
.aw-v2 #detailBookingCard .ep-hotel-guest-col .ep-qty-btn, .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-btn {
  width: 28px !important; height: 28px !important; min-width: 28px !important;
  border-radius: 50% !important; border: 0 !important;
  background: rgba(255,255,255,.14) !important; color: #fff !important;
  font-size: 17px !important; font-weight: 700 !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important;
}
.aw-v2 #detailBookingCard .ep-hotel-guest-col .ep-qty-btn:hover:not(:disabled), .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-btn:hover:not(:disabled) { background: #FFD153 !important; color: #0a1445 !important; }
.aw-v2 #detailBookingCard .ep-hotel-guest-col .ep-qty-btn:disabled, .aw-v2 #detailBookingCard .hotel-guest-col .hotel-qty-btn:disabled { opacity: .35 !important; }

/* staycation hardening: id-scoped copies of the hotel rules above, so they also beat the old
   mobile/tablet rules (cream wrapper boxes, white inputs) that use !important */
.aw-v2 #detailBookingCard #hotelDpWrapper, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP {
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
}
.aw-v2 #detailBookingCard #hotelDpWrapper > label, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important; line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
.aw-v2 #detailBookingCard #hotelDpWrapper .hotel-date-trigger {
  background: transparent !important; border: 0 !important; border-bottom: 1.5px solid rgba(255,255,255,.38) !important;
  border-radius: 0 !important; box-shadow: none !important; height: 44px !important; min-height: 44px !important;
  padding: 0 2px !important; color: #fff !important;
}
.aw-v2 #detailBookingCard #hotelDpWrapper .hotel-date-trigger__label { color: #fff !important; }
.aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .ep-qty-control, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .hotel-qty-control {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important;
  box-shadow: none !important; height: 44px !important; min-height: 44px !important; padding: 0 8px !important;
  color: #fff !important; display: flex !important; align-items: center !important; justify-content: space-between !important;
}
.aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .ep-qty-val, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .hotel-qty-input, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .hotel-qty-display {
  background: transparent !important; border: 0 !important; box-shadow: none !important; color: #fff !important;
  -webkit-text-fill-color: #fff !important; opacity: 1 !important; text-align: center !important; font-size: 17px !important;
  font-weight: 700 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; flex: 1 1 auto !important;
}
.aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP #hotelNumRooms {
  background: transparent !important; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important; box-shadow: none !important;
  color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center !important; font-size: 17px !important; font-weight: 700 !important;
  height: 44px !important; min-height: 44px !important; padding: 0 8px !important; width: 100% !important; display: block !important;
}
.aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .ep-qty-btn, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .hotel-qty-btn {
  background: rgba(255,255,255,.14) !important; color: #fff !important; border: 0 !important; border-radius: 50% !important;
  width: 28px !important; height: 28px !important; min-width: 28px !important; padding: 0 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .ep-qty-btn:disabled, .aw-v2 #detailBookingCard #hotelGuestFieldsWrapperDP .hotel-qty-btn:disabled { opacity: .35 !important; }

/* every alert / info / warning message in the form: same white block, own text colour kept */
.aw-v2 #detailBookingCard .aw-stay-note,
.aw-v2 #detailBookingCard .aw-qty-limit-msg,
.aw-v2 #detailBookingCard [id^="hotelKidsReasonNote"],
.aw-v2 #detailBookingCard #aw-msg-zone,
.aw-v2 #detailBookingCard #aw-msg-zone-dp {
  background: #fff !important; border: 1px solid rgba(15,23,42,.10) !important;
  border-left: 3px solid currentColor !important; border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
  padding: 6px 10px !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.3 !important; width: fit-content !important; max-width: 100% !important;
}
.aw-v2 #detailBookingCard .aw-stay-note { color: #6b4a00 !important; }
.aw-v2 #detailBookingCard .aw-stay-note--warn { color: #a12b16 !important; }
.aw-v2 #detailBookingCard .aw-stay-note--info { color: #2d3194 !important; }
.aw-v2 #detailBookingCard [id^="hotelKidsReasonNote"], .aw-v2 #detailBookingCard .aw-qty-limit-msg { color: #d32f2f !important; }
.aw-v2 #detailBookingCard .aw-qty-limit-msg { margin: 6px 0 0 !important; border-radius: 8px !important; }
.aw-v2 #detailBookingCard .aw-stay-note, .aw-v2 #detailBookingCard [id^="hotelKidsReasonNote"], .aw-v2 #detailBookingCard #aw-msg-zone, .aw-v2 #detailBookingCard #aw-msg-zone-dp { border-radius: 8px !important; }
.aw-v2 #detailBookingCard #aw-msg-zone, .aw-v2 #detailBookingCard #aw-msg-zone-dp { gap: 4px !important; }
.aw-v2 #detailBookingCard #aw-msg-zone .aw-rules__row, .aw-v2 #detailBookingCard #aw-msg-zone-dp .aw-rules__row, .aw-v2 #detailBookingCard #aw-msg-zone .aw-msg--inline, .aw-v2 #detailBookingCard #aw-msg-zone-dp .aw-msg--inline, .aw-v2 #detailBookingCard #aw-msg-zone .aw-breakup-line, .aw-v2 #detailBookingCard #aw-msg-zone-dp .aw-breakup-line { font-size: 12px !important; line-height: 1.3 !important; }

/* Date / Time Slot / People: small label above the field, People count in a thin box */
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(4),:nth-child(5),:nth-child(6)) > label {
  display: block !important; color: rgba(255,255,255,.72) !important; font-size: 12px !important;
  font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  line-height: 16px !important; margin: 0 0 4px !important; padding: 0 !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(4),:nth-child(5),:nth-child(6))::before { top: 33px !important; }
/* People count in a thin box: mobile / tablet layout only (desktop keeps the underline) */
@media (max-width: 768px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6))::before { left: 12px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .quantity {
  border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important;
  padding: 0 8px 0 38px !important;
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .qty-control:hover,
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(6)) .ep-qty-control:hover { border-color: rgba(255,255,255,.7) !important; }
}
@media (max-width: 991px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(4)).is-valid::after { top: 42px !important; }
}

/* in-form Terms / Cancellation copy (mobile): light, no underline */
.aw-v2 #detailBookingCard .ep-terms-row a, .aw-v2 #detailBookingCard .aw-field.only-mobile a { color: rgba(255,255,255,.8) !important; text-decoration: none !important; }
.aw-v2 #detailBookingCard .ep-terms-row .ep-terms-sep { color: rgba(255,255,255,.5) !important; }

/* green "valid" tick (mobile only): centred on the 44px control */
@media (max-width: 991px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(6)).is-valid::after { top: 22px !important; bottom: auto !important; right: 4px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(4)).is-valid::after { top: 42px !important; bottom: auto !important; right: 4px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(4)) input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0 !important; }
}
.aw-v2 #detailBookingCard #aw-msg-zone, .aw-v2 #detailBookingCard #aw-msg-zone-dp { color: #b45309 !important; }

/* price tiles: popup card (all sizes) */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar { --pc-bg: #fff; --pc-text: #15130a; --pc-text2: #3d3b48; --pc-line2: rgba(21,19,10,.3); --pc-ok: #08702f; --pc-link: #3d3be8; --pc-bad: #c0152f; --pc-btn: #1b5cf0; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main {
  display: grid !important; grid-template-columns: auto auto minmax(0, 1fr) !important; column-gap: 8px !important; row-gap: 12px !important;
  align-items: center !important; width: 100% !important;
}
/* row 1: Original price ........ ₹5,510 */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main::before {
  grid-column: 1 / 3 !important; grid-row: 1 !important; justify-self: start !important; align-self: center !important;
  padding: 0 !important; margin: 0 !important; text-align: left !important;
  font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pc-text) !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-old-price {
  grid-column: 3 !important; grid-row: 1 !important; justify-self: stretch !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important;
  margin: 0 !important; padding: 0 !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.2 !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important;
  color: var(--pc-text) !important; opacity: 1 !important; text-align: right !important;
  text-decoration: line-through !important; text-decoration-color: var(--pc-bad) !important; text-decoration-thickness: 2px !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-old-price::after { display: none !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-old-price::before, #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-save-badge::before {
  content: "" !important; display: block !important; position: static !important; flex: 1 1 0 !important; min-width: 0 !important; height: 0 !important;
  width: auto !important; background: none !important; transform: none !important; animation: none !important;
  border: 0 !important; border-bottom: 2px dotted color-mix(in srgb, var(--pc-text) 30%, transparent) !important; align-self: flex-end !important; margin: 0 0 7px !important; text-decoration: none !important;
}
/* row 2: You save (i) [27% OFF] ........ -₹1,478 */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:has( .ep-save-badge[data-aw-save]:not([style*="none"]))::after {
  content: "You save" !important; grid-column: 1 !important; grid-row: 2 !important; justify-self: start !important; align-self: center !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; text-align: left !important;
  font-size: 15px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pc-ok) !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:has( .ep-save-badge[data-aw-save]:not([style*="none"])) .ep-info-icon {
  grid-column: 2 !important; grid-row: 2 !important; justify-self: start !important; align-self: center !important;
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  width: auto !important; height: auto !important; min-width: 0 !important; max-width: none !important; min-height: 0 !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; position: static !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-info-icon[data-pct]::after {
  content: attr(data-pct); display: inline-flex; align-items: center; font-size: 14px; font-weight: 800; letter-spacing: .02em; line-height: 1; font-style: normal;
  color: #fff; background: #13a44c; padding: 6px 11px; border-radius: 999px; white-space: nowrap;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-save-badge {
  grid-column: 3 !important; grid-row: 2 !important; justify-self: stretch !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important;
  background: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: right !important; animation: none !important;
  min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-save-badge[data-aw-save]::after {
  display: inline-block !important; font-size: 20px !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--pc-ok) !important;
}
/* row 3: YOU PAY ticket = left label cell + dashed perforation + price stub */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-label {
  grid-column: 1 / -1 !important; grid-row: 3 !important; justify-self: stretch !important; align-self: stretch !important;
  margin: 0 140px 0 0 !important; padding: 11px 0 11px 16px !important; position: relative; z-index: 1;
  display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 2px !important; text-align: left !important;
  font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; opacity: 1 !important; font-family: inherit !important;
  color: var(--pc-text) !important; background: #fffef9 !important; border: 1px solid rgba(61,59,232,.22) !important; border-right: 0 !important; border-radius: 12px 0 0 12px !important;
  -webkit-mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000);
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-label::before {
  content: "YOU PAY"; display: block; font-size: 13px; font-weight: 800; letter-spacing: .09em; color: #3d3be8; padding-left: 21px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3be8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='2 2'/%3E%3C/svg%3E") no-repeat left center / 15px 15px;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-value {
  grid-column: 3 !important; grid-row: 3 !important; justify-self: end !important; align-self: stretch !important;
  min-width: 150px !important; width: max-content !important; box-sizing: border-box !important; position: relative; z-index: 2;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; padding: 0 18px 0 16px !important; background: #ecebfb !important;
  border: 1px solid rgba(61,59,232,.22) !important; border-left: 2px dashed rgba(61,59,232,.45) !important; border-radius: 0 12px 12px 0 !important;
  font-size: 28px !important; font-weight: 800 !important; letter-spacing: -.02em !important; line-height: 1 !important; color: var(--pc-link) !important; text-align: center !important;
  -webkit-mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000);
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-value::before { display: none !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-value:has(.aw-closed-text) { font-size: 16px !important; }
/* info icon when there is no saving: sits at the end of the ticket's label cell */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:not(:has( .ep-save-badge[data-aw-save]:not([style*="none"]))) .ep-info-icon {
  grid-column: 3 !important; grid-row: 3 !important; justify-self: end !important; align-self: center !important; margin: 0 150px 0 0 !important;
  position: relative !important; z-index: 3;
}
/* no discount: the two receipt rows are empty, pull the ticket up */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:has( .ep-old-price:empty):not(:has( .ep-save-badge[data-aw-save]:not([style*="none"]))) .ep-price-label, #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:has( .ep-old-price:empty):not(:has( .ep-save-badge[data-aw-save]:not([style*="none"]))) #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-value { margin-top: -24px !important; }
@media (max-width: 400px) {
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:has( .ep-save-badge[data-aw-save]:not([style*="none"]))::after { font-size: 14px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-info-icon[data-pct]::after { font-size: 11.5px !important; padding: 5px 8px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main { column-gap: 6px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-save-badge[data-aw-save]::after { font-size: 17px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-old-price { font-size: 16px !important; }
}
@media (max-width: 480px) {
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-value { min-width: 128px !important; font-size: 24px !important; padding: 0 14px 0 12px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main .ep-price-label { margin-right: 118px !important; padding-left: 12px !important; }
  #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-main:not(:has( .ep-save-badge[data-aw-save]:not([style*="none"]))) .ep-info-icon { margin-right: 128px !important; }
}

/* price tiles: detail desktop card only (below 769px .price-bar is the fixed bottom stripe) */
@media (min-width: 769px) {
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar { --pc-bg: #fff; --pc-text: #15130a; --pc-text2: #3d3b48; --pc-line2: rgba(21,19,10,.3); --pc-ok: #08702f; --pc-link: #3d3be8; --pc-bad: #c0152f; --pc-btn: #1b5cf0; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block {
  display: grid !important; grid-template-columns: auto auto minmax(0, 1fr) !important; column-gap: 8px !important; row-gap: 12px !important;
  align-items: center !important; width: 100% !important;
}
/* row 1: Original price ........ ₹5,510 */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block::before {
  grid-column: 1 / 3 !important; grid-row: 1 !important; justify-self: start !important; align-self: center !important;
  padding: 0 !important; margin: 0 !important; text-align: left !important;
  font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pc-text) !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .was {
  grid-column: 3 !important; grid-row: 1 !important; justify-self: stretch !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important;
  margin: 0 !important; padding: 0 !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.2 !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important;
  color: var(--pc-text) !important; opacity: 1 !important; text-align: right !important;
  text-decoration: line-through !important; text-decoration-color: var(--pc-bad) !important; text-decoration-thickness: 2px !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .was::after { display: none !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .was::before, .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .save-badge::before {
  content: "" !important; display: block !important; position: static !important; flex: 1 1 0 !important; min-width: 0 !important; height: 0 !important;
  width: auto !important; background: none !important; transform: none !important; animation: none !important;
  border: 0 !important; border-bottom: 2px dotted color-mix(in srgb, var(--pc-text) 30%, transparent) !important; align-self: flex-end !important; margin: 0 0 7px !important; text-decoration: none !important;
}
/* row 2: You save (i) [27% OFF] ........ -₹1,478 */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))::after {
  content: "You save" !important; grid-column: 1 !important; grid-row: 2 !important; justify-self: start !important; align-self: center !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important; text-align: left !important;
  font-size: 15px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pc-ok) !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:has( .total-sub .save-badge[data-aw-save]:not([style*="none"])) .total-amt .price-info-icon {
  grid-column: 2 !important; grid-row: 2 !important; justify-self: start !important; align-self: center !important;
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  width: auto !important; height: auto !important; min-width: 0 !important; max-width: none !important; min-height: 0 !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; position: static !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt .price-info-icon[data-pct]::after {
  content: attr(data-pct); display: inline-flex; align-items: center; font-size: 14px; font-weight: 800; letter-spacing: .02em; line-height: 1; font-style: normal;
  color: #fff; background: #13a44c; padding: 6px 11px; border-radius: 999px; white-space: nowrap;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .save-badge {
  grid-column: 3 !important; grid-row: 2 !important; justify-self: stretch !important;
  display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important;
  background: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: right !important; animation: none !important;
  min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .save-badge[data-aw-save]::after {
  display: inline-block !important; font-size: 20px !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--pc-ok) !important;
}
/* row 3: YOU PAY ticket = left label cell + dashed perforation + price stub */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-lbl {
  grid-column: 1 / -1 !important; grid-row: 3 !important; justify-self: stretch !important; align-self: stretch !important;
  margin: 0 140px 0 0 !important; padding: 11px 0 11px 16px !important; position: relative; z-index: 1;
  display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 2px !important; text-align: left !important;
  font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; opacity: 1 !important; font-family: inherit !important;
  color: var(--pc-text) !important; background: #fffef9 !important; border: 1px solid rgba(61,59,232,.22) !important; border-right: 0 !important; border-radius: 12px 0 0 12px !important;
  -webkit-mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000);
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-lbl::before {
  content: "YOU PAY"; display: block; font-size: 13px; font-weight: 800; letter-spacing: .09em; color: #3d3be8; padding-left: 21px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3be8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='2 2'/%3E%3C/svg%3E") no-repeat left center / 15px 15px;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt #selectedExperienceTotalPrice {
  grid-column: 3 !important; grid-row: 3 !important; justify-self: end !important; align-self: stretch !important;
  min-width: 150px !important; width: max-content !important; box-sizing: border-box !important; position: relative; z-index: 2;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; padding: 0 18px 0 16px !important; background: #ecebfb !important;
  border: 1px solid rgba(61,59,232,.22) !important; border-left: 2px dashed rgba(61,59,232,.45) !important; border-radius: 0 12px 12px 0 !important;
  font-size: 28px !important; font-weight: 800 !important; letter-spacing: -.02em !important; line-height: 1 !important; color: var(--pc-link) !important; text-align: center !important;
  -webkit-mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000);
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt #selectedExperienceTotalPrice::before { display: none !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt #selectedExperienceTotalPrice:has(.aw-closed-text) { font-size: 16px !important; }
/* info icon when there is no saving: sits at the end of the ticket's label cell */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:not(:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))) .total-amt .price-info-icon {
  grid-column: 3 !important; grid-row: 3 !important; justify-self: end !important; align-self: center !important; margin: 0 150px 0 0 !important;
  position: relative !important; z-index: 3;
}
/* no discount: the two receipt rows are empty, pull the ticket up */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:has( .total-sub .was:empty):not(:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))) .total-lbl, .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:has( .total-sub .was:empty):not(:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))) .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt #selectedExperienceTotalPrice { margin-top: -24px !important; }
@media (max-width: 400px) {
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))::after { font-size: 14px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt .price-info-icon[data-pct]::after { font-size: 11.5px !important; padding: 5px 8px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block { column-gap: 6px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .save-badge[data-aw-save]::after { font-size: 17px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-sub .was { font-size: 16px !important; }
}
@media (max-width: 480px) {
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-amt #selectedExperienceTotalPrice { min-width: 128px !important; font-size: 24px !important; padding: 0 14px 0 12px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block .total-lbl { margin-right: 118px !important; padding-left: 12px !important; }
  .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .total-block:not(:has( .total-sub .save-badge[data-aw-save]:not([style*="none"]))) .total-amt .price-info-icon { margin-right: 128px !important; }
}
}

@media (min-width: 992px) {
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(3)) { padding-top: 20px !important; }
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(3))::before { top: 33px !important; }
@media (max-width: 991px) {
#experienceModal #booking-mobile .ep-booking-card .aw-field:not(#aw-z):is(:nth-child(3)).is-valid::after { top: 42px !important; }
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar {
  background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important; border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  box-shadow: none !important;
  padding: 44px 44px 180px !important; margin: 0 !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar::before {
  content: "" !important; display: block !important; position: absolute !important;
  left: 22px !important; right: 22px !important; top: 24px !important; bottom: 22px !important;
  background: linear-gradient(135deg, #e8e8fc 0%, #fff1cb 100%) !important;
  border: 1px solid rgba(255,255,255,.85) !important; border-radius: 14px !important;
  box-shadow: 0 10px 22px -12px rgba(0,0,0,.5) !important;
  z-index: 0; pointer-events: none;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar::after { display: none !important; }
/* breakup (i-icon) open: price section stands alone as a full rounded navy card */
#experienceModal .contact-wrapper-exp:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .ep-price-bar {
  border-top: 1px solid rgba(255,255,255,.16) !important; border-radius: 18px !important; margin-top: 12px !important;
  padding-top: 56px !important;
}
#experienceModal .contact-wrapper-exp:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .ep-price-bar::before { top: 36px !important; }

/* checkout: bigger, flat vivid blue, no shadow, slow sheen; sits inside the card (bottom reserve = 180px) */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap { margin: -162px 44px 110px !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn {
  height: 68px !important; min-height: 68px !important; border-radius: 12px !important;
  background: #1b5cf0 !important; box-shadow: none !important; filter: none !important;
  font-size: 21px !important; font-weight: 800 !important;
}
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn:hover:not(:disabled), #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn:focus:not(:disabled), #experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn:active:not(:disabled) { background: #1b5cf0 !important; box-shadow: none !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn::before { animation: aw-pc-sheen 4.2s ease-in-out infinite !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-checkout-wrap .ep-checkout-btn .price-range { font-size: 21px !important; font-weight: 800 !important; }

/* links: inside the card at the bottom, small, "Terms | Cancellation" */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links { bottom: 36px !important; gap: 0 !important; justify-content: center !important; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a { font-size: 0 !important; line-height: 16px !important; color: var(--pc-text2) !important; text-decoration: none !important; opacity: .85; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a::after { font-size: 11px; font-weight: 500; letter-spacing: .02em; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a[data-tab="terms"]::after { content: "Terms"; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a[data-tab="cancel"]::after { content: "Cancellation"; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a[data-tab="cancel"]::before { content: "|"; font-size: 11px; margin: 0 9px; opacity: .5; }
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .ep-price-links a:hover { color: var(--pc-link) !important; text-decoration: none !important; opacity: 1; }

/* trust marquee, inside the card under the checkout button */
#experienceModal .contact-wrapper-exp:not(#aw-z):not(.zz):not(.zz):not(.zz) > .ep-price-bar .aw-trust-mq {
  display: block !important; position: absolute; left: 44px; right: 44px; bottom: 64px; height: 18px;
  overflow: hidden; z-index: 2;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3)) { padding-top: 20px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3))::before { top: 33px !important; }
@media (max-width: 991px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3)).is-valid::after { top: 42px !important; }
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar {
  background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important; border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  box-shadow: none !important;
  padding: 44px 44px 180px !important; margin: 0 !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar::before {
  content: "" !important; display: block !important; position: absolute !important;
  left: 22px !important; right: 22px !important; top: 24px !important; bottom: 22px !important;
  background: linear-gradient(135deg, #e8e8fc 0%, #fff1cb 100%) !important;
  border: 1px solid rgba(255,255,255,.85) !important; border-radius: 14px !important;
  box-shadow: 0 10px 22px -12px rgba(0,0,0,.5) !important;
  z-index: 0; pointer-events: none;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar::after { display: none !important; }
/* breakup (i-icon) open: price section stands alone as a full rounded navy card */
.aw-v2 .right:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .price-bar {
  border-top: 1px solid rgba(255,255,255,.16) !important; border-radius: 18px !important; margin-top: 12px !important;
  padding-top: 56px !important;
}
.aw-v2 .right:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .price-bar::before { top: 36px !important; }

/* checkout: bigger, flat vivid blue, no shadow, slow sheen; sits inside the card (bottom reserve = 180px) */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout { margin: -162px 44px 110px !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout {
  height: 68px !important; min-height: 68px !important; border-radius: 12px !important;
  background: #1b5cf0 !important; box-shadow: none !important; filter: none !important;
  font-size: 21px !important; font-weight: 800 !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:hover:not(:disabled), .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:focus:not(:disabled), .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:active:not(:disabled) { background: #1b5cf0 !important; box-shadow: none !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout::before { animation: aw-pc-sheen 4.2s ease-in-out infinite !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout .price-range { font-size: 21px !important; font-weight: 800 !important; }

/* links: inside the card at the bottom, small, "Terms | Cancellation" */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links { bottom: 36px !important; gap: 0 !important; justify-content: center !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a { font-size: 0 !important; line-height: 16px !important; color: var(--pc-text2) !important; text-decoration: none !important; opacity: .85; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a::after { font-size: 11px; font-weight: 500; letter-spacing: .02em; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="terms"]::after { content: "Terms"; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="cancel"]::after { content: "Cancellation"; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="cancel"]::before { content: "|"; font-size: 11px; margin: 0 9px; opacity: .5; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a:hover { color: var(--pc-link) !important; text-decoration: none !important; opacity: 1; }

/* trust marquee, inside the card under the checkout button */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .aw-trust-mq {
  display: block !important; position: absolute; left: 44px; right: 44px; bottom: 64px; height: 18px;
  overflow: hidden; z-index: 2;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
}
@media (min-width: 769px) and (max-width: 991px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3)) { padding-top: 20px !important; }
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3))::before { top: 33px !important; }
@media (max-width: 991px) {
.aw-v2 #detailBookingCard .aw-field:not(#aw-z):is(:nth-child(3)).is-valid::after { top: 42px !important; }
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar {
  background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important;
  border: 1px solid rgba(255,255,255,.16) !important; border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  box-shadow: none !important;
  padding: 44px 44px 180px !important; margin: 0 !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar::before {
  content: "" !important; display: block !important; position: absolute !important;
  left: 22px !important; right: 22px !important; top: 24px !important; bottom: 22px !important;
  background: linear-gradient(135deg, #e8e8fc 0%, #fff1cb 100%) !important;
  border: 1px solid rgba(255,255,255,.85) !important; border-radius: 14px !important;
  box-shadow: 0 10px 22px -12px rgba(0,0,0,.5) !important;
  z-index: 0; pointer-events: none;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar::after { display: none !important; }
/* breakup (i-icon) open: price section stands alone as a full rounded navy card */
.aw-v2 .right:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .price-bar {
  border-top: 1px solid rgba(255,255,255,.16) !important; border-radius: 18px !important; margin-top: 12px !important;
  padding-top: 56px !important;
}
.aw-v2 .right:has(> #priceBreakupBox[style*="block"]):not(.zz):not(.zz):not(.zz) > .price-bar::before { top: 36px !important; }

/* checkout: bigger, flat vivid blue, no shadow, slow sheen; sits inside the card (bottom reserve = 180px) */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout { margin: -162px 44px 110px !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout {
  height: 68px !important; min-height: 68px !important; border-radius: 12px !important;
  background: #1b5cf0 !important; box-shadow: none !important; filter: none !important;
  font-size: 21px !important; font-weight: 800 !important;
}
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:hover:not(:disabled), .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:focus:not(:disabled), .aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout:active:not(:disabled) { background: #1b5cf0 !important; box-shadow: none !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout::before { animation: aw-pc-sheen 4.2s ease-in-out infinite !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .aw-checkout .price-range { font-size: 21px !important; font-weight: 800 !important; }

/* links: inside the card at the bottom, small, "Terms | Cancellation" */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links { bottom: 36px !important; gap: 0 !important; justify-content: center !important; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a { font-size: 0 !important; line-height: 16px !important; color: var(--pc-text2) !important; text-decoration: none !important; opacity: .85; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a::after { font-size: 11px; font-weight: 500; letter-spacing: .02em; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="terms"]::after { content: "Terms"; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="cancel"]::after { content: "Cancellation"; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a[data-tab="cancel"]::before { content: "|"; font-size: 11px; margin: 0 9px; opacity: .5; }
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .links a:hover { color: var(--pc-link) !important; text-decoration: none !important; opacity: 1; }

/* trust marquee, inside the card under the checkout button */
.aw-v2 .right:not(#aw-z):not(.zz):not(.zz):not(.zz) > .price-bar .aw-trust-mq {
  display: block !important; position: absolute; left: 44px; right: 44px; bottom: 64px; height: 18px;
  overflow: hidden; z-index: 2;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
}

@media (max-width: 991px) {
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar { background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important; border-color: rgba(255,255,255,.16) !important; padding: 24px 28px 88px !important; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar::before { left: 12px !important; right: 12px !important; top: 10px !important; bottom: 14px !important; background: linear-gradient(135deg, #e8e8fc 0%, #fff1cb 100%) !important; border: 1px solid rgba(255,255,255,.85) !important; border-radius: 14px !important; box-shadow: 0 10px 22px -12px rgba(0,0,0,.5) !important; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links { display: flex !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 28px !important; margin: 0 !important; gap: 0 !important; justify-content: center !important; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links a { font-size: 0 !important; line-height: 16px !important; color: var(--pc-text2) !important; text-decoration: none !important; opacity: .85; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links a::after { font-size: 11px; font-weight: 500; letter-spacing: .02em; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links a[data-tab="terms"]::after { content: "Terms"; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links a[data-tab="cancel"]::after { content: "Cancellation"; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .ep-price-links a[data-tab="cancel"]::before { content: "|"; font-size: 11px; margin: 0 9px; opacity: .5; }
#experienceModal .contact-wrapper-exp:not(:has(> #priceBreakupBox[style*="block"])) > .ep-price-bar .aw-trust-mq { display: block !important; position: absolute; left: 28px; right: 28px; bottom: 52px; height: 18px; overflow: hidden; z-index: 2; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
}

@media (max-width: 768px) {
.aw-v2 #detailBookingCard:not(.pyd-target-hidden):not(.pyd-rst-target-hidden):not([style*="none"]) ~ .aw-mc:not(.zz):not(.zz) { background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.10) 1px, transparent 0) 0 0/14px 14px, linear-gradient(90deg,#03061A 0%,#080D28 22%,#111A40 55%,#1B275C 100%) !important; border-color: rgba(255,255,255,.16) !important; padding-top: 8px !important; padding-bottom: 14px !important; }
.aw-v2 .aw-mc .aw-mc__card { --mc-text: #15130a; --mc-text2: #3d3b48; --mc-line: rgba(21,19,10,.3); --mc-ok: #08702f; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; row-gap: 12px; column-gap: 0; padding: 16px !important; color: #15130a; background: linear-gradient(135deg, #e8e8fc 0%, #fff1cb 100%) !important; border: 1px solid rgba(255,255,255,.85) !important; border-radius: 14px !important; box-shadow: 0 10px 22px -12px rgba(0,0,0,.5) !important; }
.aw-v2 .aw-mc .aw-mc__row { grid-column: 1 / -1; display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 8px; padding: 0 !important; text-align: left; border: 0 !important; margin: 0 !important; }
.aw-v2 .aw-mc .aw-mc__row::after { content: ""; order: 1; flex: 1 1 auto; min-width: 12px; height: 0; border-bottom: 2px dotted rgba(21,19,10,.3); align-self: flex-end; margin-bottom: 7px; }
.aw-v2 .aw-mc .aw-mc__row > span:first-child { order: 0; display: inline-flex; align-items: center; gap: 8px; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0; text-transform: none; color: #15130a !important; }
.aw-v2 .aw-mc .aw-mc__row > span:last-child { order: 2; }
.aw-v2 .aw-mc .aw-mc__orig { grid-row: 1; }
.aw-v2 .aw-mc .aw-mc__old { font-size: 18px !important; font-weight: 700 !important; color: #15130a !important; text-decoration: line-through; text-decoration-color: #c0152f; text-decoration-thickness: 2px; }
.aw-v2 .aw-mc .aw-mc__old::after { display: none !important; }
.aw-v2 .aw-mc .aw-mc__save { grid-row: 2; }
.aw-v2 .aw-mc .aw-mc__save > span:first-child { color: #08702f !important; font-weight: 700 !important; }
.aw-v2 .aw-mc .aw-mc__save [data-mc="save"] { display: inline-block; font-size: 20px !important; font-weight: 800 !important; color: #08702f !important; }
.aw-v2 .aw-mc .aw-mc__info img { filter: brightness(0) opacity(.6); }
.aw-v2 .aw-mc [data-mc="pct"] { display: inline-flex; align-items: center; font-size: 13px; font-weight: 800; letter-spacing: .02em; line-height: 1; color: #fff; background: #13a44c; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.aw-v2 .aw-mc [data-mc="pct"]:empty { display: none; }
.aw-v2 .aw-mc .aw-mc__head { grid-column: 1; grid-row: 3; order: 0 !important; display: flex !important; flex-direction: column; justify-content: center; gap: 2px; text-align: left !important; margin: 0 !important; padding: 11px 0 11px 14px !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: #15130a !important; background: #fffef9; border: 1px solid rgba(61,59,232,.22); border-right: 0; border-radius: 12px 0 0 12px; -webkit-mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 0 50%, #0000 97%, #000); }
.aw-v2 .aw-mc .aw-mc__head::before { content: "YOU PAY"; display: block; font-size: 13px; font-weight: 800; letter-spacing: .09em; color: #3d3be8; padding-left: 21px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3be8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='2 2'/%3E%3C/svg%3E") no-repeat left center / 15px 15px; }
.aw-v2 .aw-mc .aw-mc__pay { grid-column: 2; grid-row: 3; display: flex !important; align-items: center; justify-content: center; min-width: 128px; margin: 0 !important; padding: 0 14px 0 12px !important; background: #ecebfb; border: 1px solid rgba(61,59,232,.22) !important; border-left: 2px dashed rgba(61,59,232,.45) !important; border-radius: 0 12px 12px 0; -webkit-mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000); mask: radial-gradient(circle 8px at 100% 50%, #0000 97%, #000); }
.aw-v2 .aw-mc .aw-mc__pay::after { display: none !important; }
.aw-v2 .aw-mc .aw-mc__pay > span:first-child { display: none; }
.aw-v2 .aw-mc .aw-mc__pay [data-mc="total"] { font-size: 25px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #3d3be8 !important; }
.aw-v2 .aw-mc > .aw-mc__links { display: none !important; }
.aw-v2 .aw-mc .aw-mc__card > .aw-trust-mq { display: block !important; grid-column: 1 / -1; grid-row: 4; height: 18px; overflow: hidden; --pc-ok: #08702f; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links { grid-column: 1 / -1; grid-row: 5; display: flex; justify-content: center; gap: 0; margin: -4px 0 0; padding: 0; }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links a { font-size: 0 !important; line-height: 16px; color: #3d3b48 !important; text-decoration: none !important; opacity: .85; }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links a::after { font-size: 11px; font-weight: 500; letter-spacing: .02em; }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links a[data-tab="terms"]::after { content: "Terms"; }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links a[data-tab="cancel"]::after { content: "Cancellation"; }
.aw-v2 .aw-mc .aw-mc__card > .aw-mc__links a[data-tab="cancel"]::before { content: "|"; font-size: 11px; margin: 0 9px; opacity: .5; }
}

/* ---- hero rating: dark pill behind the stars + number (same look as the duration pill), popup + detail page ---- */
#experienceModal .ep-hero-rating.aw-hr:not(#aw-z):not(#aw-z),
.aw-v2 .hero > div.hero-rating.aw-hr:not(.zz):not(.zz):not(.zz):not(.zz) {
  background: rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  box-sizing: border-box !important;
}
@media (max-width: 480px) {
  #experienceModal .ep-hero-rating.aw-hr:not(#aw-z):not(#aw-z),
  .aw-v2 .hero > div.hero-rating.aw-hr:not(.zz):not(.zz):not(.zz):not(.zz) { padding: 5px 10px !important; }
}