/* Portrait Wallah Popup Booking v1.5.6. Only enabled on pages with an active form. */
.pwbs-pop-entry,
.pwbs-pop-overlay,
.pwbs-pop-overlay * { box-sizing: border-box; }
.pwbs-pop-entry {
  width: 100%; max-width: 760px; margin: 0 auto 26px; padding: 32px 28px;
  text-align: center; color: #f9f6ec; border: 1px solid rgba(237,182,73,.50);
  border-radius: 18px; background: radial-gradient(ellipse at 50% 0,rgba(237,182,73,.12),transparent 65%), #0e1410;
  box-shadow: 0 16px 52px rgba(0,0,0,.20);
  font-family: Inter, Arial, Helvetica, sans-serif;
}
.pwbs-pop-entry-eyebrow {color:#edb649;font:800 10px/1.5 Montserrat,Inter,Arial,sans-serif;letter-spacing:.18em;margin-bottom:12px}
.pwbs-pop-entry-title {font:900 clamp(24px,3vw,34px)/1.12 Montserrat,Inter,Arial,sans-serif!important;letter-spacing:-.045em;color:#ffe2a0!important;margin:0 0 11px!important}
.pwbs-pop-entry-text {color:#d4d4ca!important;font:400 13px/1.6 Inter,Arial,sans-serif!important;margin:0 auto 21px!important;max-width:500px}
.pwbs-pop-launch-button,.pwbs-popup-shortcode-trigger {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:50px;padding:15px 26px!important;color:#15130d!important;
  border:1px solid #f6c36b!important;border-radius:11px!important;
  background:linear-gradient(130deg,#ffe5a1,#eebd58 51%,#ce9038)!important;
  box-shadow:0 8px 26px rgba(229,165,67,.18)!important;
  text-decoration:none!important;cursor:pointer;transition:filter .18s,transform .18s;
  font:900 12px/1.3 Montserrat,Inter,Arial,sans-serif!important;letter-spacing:.035em;
}
.pwbs-pop-launch-button:hover,.pwbs-popup-shortcode-trigger:hover{filter:brightness(1.08);transform:translateY(-2px)}
.pwbs-pop-launch-button:focus-visible,.pwbs-popup-shortcode-trigger:focus-visible{outline:2px solid #fff;outline-offset:3px}
.pwbs-pop-overlay[hidden] {display:none!important}
.pwbs-pop-overlay {position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:18px!important;isolation:isolate!important}
.pwbs-pop-backdrop {position:absolute;inset:0;background:rgba(1,5,3,.88);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.pwbs-pop-body-open {overflow:hidden!important}
.pwbs-pop-dialog {
  position:relative;z-index:1;display:block;width:min(1150px,100%)!important;
  height:min(780px,calc(100dvh - 36px))!important;max-height:calc(100dvh - 36px)!important;
  min-height:0;overflow:hidden;outline:none;border:1px solid rgba(239,190,102,.58);
  border-radius:19px;background:#090d0b;color:#f9f6ec;
  box-shadow:0 25px 110px rgba(0,0,0,.64);
  font-family:Inter,Arial,sans-serif;
}
.pwbs-pop-close {
  position:absolute!important;top:14px!important;right:14px!important;z-index:6!important;
  display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:0!important;
  font:400 31px/1 Georgia,serif!important;background:rgba(12,15,12,.87)!important;color:#ffde9d!important;
  border:1px solid rgba(239,190,102,.55)!important;border-radius:50%!important;cursor:pointer;
}
.pwbs-pop-close:hover{background:#2c2519!important}
.pwbs-pop-close:focus-visible{outline:3px solid white!important;outline-offset:2px}
.pwbs-pop-layout {display:grid!important;grid-template-columns:minmax(0,42%) minmax(0,58%)!important;width:100%!important;height:100%!important;min-height:0!important}
.pwbs-pop-hero {position:relative;overflow:hidden!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;isolation:isolate;background:#15110c}
.pwbs-pop-hero-img {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 30%!important;filter:saturate(.95) brightness(.86)}
.pwbs-pop-hero-shade {position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,8,.08) 0%,rgba(7,9,8,.11) 30%,rgba(7,9,8,.72) 62%,#080d0b 100%)}
.pwbs-pop-hero-copy {position:absolute!important;bottom:0!important;left:0!important;right:0!important;z-index:1!important;padding:34px 32px 32px!important;color:#fff4da;text-align:left}
.pwbs-pop-kicker {font:900 10px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.13em;color:#efbc65;margin:0 0 13px}
.pwbs-pop-badge {display:inline-block;padding:8px 11px;margin:0 0 15px;border:1px solid rgba(255,219,147,.59);border-radius:999px;background:rgba(23,18,12,.68);color:#ffe6ae;font:900 9px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.065em}
.pwbs-pop-headline {font:900 clamp(28px,2.7vw,42px)/1.08 Montserrat,Inter,Arial,sans-serif!important;letter-spacing:-.052em;color:#ffe5aa!important;margin:0 0 11px!important;text-wrap:balance}
.pwbs-pop-description {font:400 13px/1.68 Inter,Arial,sans-serif!important;color:#e7e2d9!important;margin:0 0 18px!important}
.pwbs-pop-details {padding:0!important;margin:0 0 19px!important;list-style:none!important;display:grid!important;gap:9px!important}
.pwbs-pop-details li {display:flex!important;align-items:flex-start!important;gap:9px!important;color:#f4ede0!important;font:550 12px/1.5 Inter,Arial,sans-serif!important;margin:0!important;padding:0!important}
.pwbs-pop-detail-star{color:#efbd62;flex:0 0 10px}
.pwbs-pop-fineprint{font:500 10px/1.4 Inter,Arial,sans-serif;color:#d2c4a8}
.pwbs-pop-form-panel {width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;padding:26px 30px 32px!important;overscroll-behavior:contain;scrollbar-color:#8e723c #101711}
.pwbs-pop-form-panel .pwbs {display:block!important;max-width:100%!important;width:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:22px 16px 25px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.pwbs-pop-form-panel .pwbs .pwbs-header h2{font-size:clamp(22px,2.4vw,30px)!important}
.pwbs-pop-form-panel .pwbs .pwbs-step-heading h3{font-size:clamp(20px,2vw,25px)!important}
/* Keep existing Elementor-requested helper descriptions hidden after moving form out of Elementor's widget DOM. */
.pwbs-pop-form-panel .pwbs .pwbs-step[data-step="4"] .pwbs-step-heading p,
.pwbs-pop-form-panel .pwbs .pwbs-step[data-step="7"] .pwbs-step-heading p{display:none!important}
@media (min-width:768px) and (max-width:1024px){
  .pwbs-pop-dialog{width:min(930px,100%)!important;height:min(760px,calc(100dvh - 30px))!important}
  .pwbs-pop-overlay{padding:15px!important}
  .pwbs-pop-layout{grid-template-columns:minmax(0,39%) minmax(0,61%)!important}
  .pwbs-pop-hero-copy{padding:26px 20px!important}
  .pwbs-pop-headline{font-size:clamp(25px,3vw,33px)!important}
  .pwbs-pop-details{gap:6px!important;margin-bottom:12px!important}
  .pwbs-pop-description{font-size:12px!important;margin-bottom:12px!important}
  .pwbs-pop-form-panel{padding:22px 19px!important}
}
@media (max-width:767px){
  .pwbs-pop-entry{padding:26px 15px;margin:0 auto 16px!important;border-radius:15px}
  .pwbs-pop-entry-title{font-size:25px!important}
  .pwbs-pop-entry-eyebrow{font-size:9px!important;letter-spacing:.10em!important}
  .pwbs-pop-launch-button{width:100%!important;padding:14px 12px!important}
  .pwbs-pop-overlay{padding:8px!important;align-items:center!important}
  .pwbs-pop-dialog{width:100%!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:15px!important}
  .pwbs-pop-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:clamp(145px,23dvh,200px) minmax(0,1fr)!important}
  .pwbs-pop-close{top:10px!important;right:10px!important;width:36px!important;height:36px!important;font-size:27px!important}
  .pwbs-pop-hero-img{object-position:center 28%!important}
  .pwbs-pop-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.13),rgba(4,8,5,.82))!important}
  .pwbs-pop-hero-copy{padding:18px 16px 13px!important}
  .pwbs-pop-kicker{font-size:8px!important;margin-bottom:6px!important}
  .pwbs-pop-badge{padding:5px 7px!important;margin:0 0 5px!important;font-size:8px!important}
  .pwbs-pop-headline{font-size:clamp(21px,5.7vw,28px)!important;line-height:1.12!important;margin-bottom:0!important}
  .pwbs-pop-description,.pwbs-pop-details,.pwbs-pop-fineprint{display:none!important}
  .pwbs-pop-form-panel{padding:8px 11px 24px!important}
  .pwbs-pop-form-panel .pwbs{margin:0!important;padding:17px 9px 18px!important;max-width:100%!important}
  .pwbs-pop-form-panel .pwbs .pwbs-header h2{font-size:clamp(20px,5.6vw,27px)!important}
  .pwbs-pop-form-panel .pwbs .pwbs-step-heading h3{font-size:clamp(19px,5vw,23px)!important}
}
@media (max-width:360px){
  .pwbs-pop-hero-copy{padding:10px 12px!important}
  .pwbs-pop-kicker{display:none!important}
  .pwbs-pop-headline{font-size:20px!important}
  .pwbs-pop-form-panel{padding:5px 8px 20px!important}
}
@media (prefers-reduced-motion:reduce){
  .pwbs-pop-launch-button,.pwbs-popup-shortcode-trigger{transition:none!important}
  .pwbs-pop-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}


/* v1.5.1 — Final review: keep Complete & Open WhatsApp visible without
   scrolling the entire popup. Scroll only the booking summary. */
.pwbs-pop-form-panel.pwbs-pop-review-active{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active > .pwbs{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  padding-top:12px!important;
  padding-bottom:10px!important;
}
/* The review has its own title. Repeating the full booking heading consumes
   valuable vertical space and pushes the action below the popup viewport. */
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-header,
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-save-status{
  display:none!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active [data-pwbs-booking]{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"]:not([hidden]){
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-step-heading{
  flex:0 0 auto!important;
  margin:0 0 13px!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-review{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-color:#98743b #111b14;
  scrollbar-width:thin;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-review:focus-visible{
  outline:2px solid #ffe1a1;
  outline-offset:2px;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-disclosure{
  flex:0 0 auto!important;
  width:100%!important;
  margin:9px 0 0!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-controls{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  margin:11px 0 0!important;
  padding:12px 0 0!important;
  border-top:1px solid rgba(237,182,73,.27)!important;
  background:#090d0b!important;
  z-index:2!important;
}
.pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-controls .pwbs-next{
  min-height:54px!important;
  flex:1 1 auto!important;
  box-shadow:0 4px 15px rgba(225,156,51,.12)!important;
}
@media (max-width:767px){
  .pwbs-pop-form-panel.pwbs-pop-review-active{padding-bottom:8px!important}
  .pwbs-pop-form-panel.pwbs-pop-review-active > .pwbs{
    padding:6px 8px 6px!important;
  }
  .pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-step-heading{
    margin-bottom:9px!important;
  }
  .pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-step[data-step="9"] .pwbs-disclosure{
    padding:8px 10px!important;
    font-size:10px!important;
    line-height:1.45!important;
  }
  .pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-controls{
    gap:7px!important;
    padding-top:9px!important;
    margin-top:8px!important;
  }
  .pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-controls .pwbs-next{
    min-width:0!important;
    min-height:52px!important;
    padding:12px 9px!important;
    font-size:11px!important;
    letter-spacing:0!important;
  }
  .pwbs-pop-form-panel.pwbs-pop-review-active .pwbs-controls .pwbs-back{
    padding:11px 12px!important;
    font-size:11px!important;
  }
}

/* v1.5.2 — Preserve the same helper-text visibility in the popup as on the
   Elementor inline form. The original fields and UTM autofill are untouched. */
.pwbs-pop-form-panel .pwbs-step[data-step="4"] .pwbs-step-heading p,
.pwbs-pop-form-panel .pwbs-step[data-step="7"] .pwbs-step-heading p {
  display:none!important;
}


/* v1.5.6 — Always-visible Back / Continue controls on steps 1–8.
   The POPUP form is a constrained flex layout; only the active step scrolls.
   The form outside the popup is completely untouched. Step 9 retains its
   independently scrollable review summary from v1.5.1. */
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active){
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  min-height:0!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) > .pwbs{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  padding:10px 13px 9px!important;
}
/* Popup artwork already introduces the campaign; repeat of the large form
   heading wastes the space needed for the controls. The inline original still
   keeps that heading. Autosave feedback remains visible in a compact row. */
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-header{
  display:none!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-save-status{
  flex:0 0 auto!important;
  width:100%!important;
  margin:0 0 6px!important;
  padding:0!important;
  text-align:right!important;
  font-size:10px!important;
  line-height:1.35!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-error:not([hidden]){
  flex:0 0 auto!important;
  max-height:78px!important;
  overflow-y:auto!important;
  margin:0 0 7px!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) [data-pwbs-booking]:not([hidden]){
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-step:not([hidden]){
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-color:#98743b #111b14;
  scrollbar-width:thin;
  padding:4px 6px 10px 1px!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-controls{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:stretch!important;
  width:100%!important;
  gap:10px!important;
  margin:7px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid rgba(237,182,73,.25)!important;
  background:#090d0b!important;
  z-index:2!important;
}
.pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-controls .pwbs-next{
  flex:1 1 auto!important;
  min-height:52px!important;
  margin:0!important;
}
@media(max-width:767px){
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active){padding-bottom:8px!important}
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) > .pwbs{padding:5px 8px 6px!important}
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-step-heading{margin:0 0 13px!important}
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-controls{gap:7px!important;margin:6px 0 0!important;padding:9px 0 0!important}
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-controls .pwbs-next{min-height:50px!important;padding:12px 9px!important;font-size:11px!important;letter-spacing:0!important}
  .pwbs-pop-form-panel.pwbs-pop-step-active:not(.pwbs-pop-review-active) .pwbs-controls .pwbs-back{padding:11px 12px!important;font-size:11px!important}
}
