.mtb-wrap{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:980px;margin:20px auto;color:#18202a}.mtb-card{background:#fff;border-radius:24px;box-shadow:0 18px 55px rgba(20,30,50,.14);overflow:hidden;border:1px solid #e8edf4}.mtb-hero{padding:26px;display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#fff7ed,#eef7ff,#f5efff)}.mtb-logo{max-width:90px;max-height:70px;object-fit:contain}.mtb-kicker{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#7b3ff2}.mtb-hero h2{margin:4px 0;font-size:30px;color:#111827}.mtb-hero p{margin:4px 0;color:#596574;font-size:16px}.mtb-progress{display:flex;align-items:center;justify-content:center;padding:18px;background:#fff}.mtb-progress span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e9edf3;color:#697586;font-weight:800}.mtb-progress span.active{background:#7b3ff2;color:#fff}.mtb-progress i{height:3px;width:70px;background:#e9edf3}.mtb-step{display:none;padding:8px 28px 30px}.mtb-step.active{display:block}.mtb-step h3{margin:8px 0 20px;font-size:21px;color:#111827}.mtb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.mtb-grid label,.mtb-multi>span{font-weight:700;font-size:13px;color:#3b4654}.mtb-grid input:not([type=checkbox]),.mtb-grid select,.mtb-grid textarea,.mtb-multi-btn{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #d8dee8;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;outline:none}.mtb-grid input:focus,.mtb-grid select:focus,.mtb-grid textarea:focus,.mtb-multi-btn:focus{border-color:#7b3ff2;box-shadow:0 0 0 3px rgba(123,63,242,.1)}.mtb-full{grid-column:1/-1}.mtb-multi{position:relative}.mtb-multi-btn{text-align:left;cursor:pointer;color:#5d6877;min-height:46px}.mtb-multi-btn em{float:right;font-style:normal}.mtb-menu{display:none;position:absolute;z-index:30;left:0;right:0;top:76px;background:#fff;border:1px solid #d8dee8;border-radius:12px;padding:8px;box-shadow:0 15px 30px rgba(20,30,50,.15);max-height:230px;overflow:auto}.mtb-menu.open{display:block}.mtb-menu label{display:block;padding:9px;border-radius:8px;font-weight:600}.mtb-menu label:hover{background:#f4f1ff}.mtb-counter{border:1px solid #d8dee8;border-radius:12px;padding:11px 13px;display:flex;justify-content:space-between;align-items:center}.mtb-counter>div{display:flex;gap:12px;align-items:center}.mtb-counter button{width:34px;height:34px;border:0;border-radius:9px;background:#eee8ff;color:#6030c9;font-size:20px;cursor:pointer}.mtb-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.mtb-actions button,.mtb-submit,.mtb-wa,.mtb-secondary{border:0;border-radius:12px;padding:13px 20px;font-weight:800;text-decoration:none;cursor:pointer}.mtb-next,.mtb-submit{background:linear-gradient(135deg,#7b3ff2,#ef4d91);color:#fff}.mtb-prev,.mtb-secondary{background:#eef1f5;color:#334155}.mtb-submit:disabled{opacity:.65;cursor:wait}.mtb-consent{display:flex!important;align-items:flex-start;gap:8px;font-weight:600!important}.mtb-consent input{width:auto!important;margin-top:3px}.mtb-msg{margin:0 26px 15px;padding:12px 14px;border-radius:10px;background:#fff2f2;color:#a32020}.mtb-popup{display:none;position:fixed;inset:0;z-index:2147483000!important;width:100vw;height:100vh;visibility:hidden;opacity:0}.mtb-popup.open{display:block!important;visibility:visible!important;opacity:1!important}
/* v5.6.0: CSS failsafe auto-opens the popup after the configured 5-second delay.
   This does not depend on JavaScript, so CSP/script-cache failures cannot prevent the first popup. */
.mtb-popup.mtb-auto-open{display:block!important;visibility:visible!important;opacity:0;pointer-events:none;animation:mtbAutoPopupIn .35s ease 5s forwards}
@keyframes mtbAutoPopupIn{0%{opacity:0;pointer-events:none}99%{opacity:0;pointer-events:none}100%{opacity:1;pointer-events:auto}}
.mtb-popup.mtb-auto-open .mtb-overlay{pointer-events:none}
.mtb-popup.mtb-auto-open.open .mtb-overlay{pointer-events:auto}
.mtb-popup.mtb-auto-open[aria-hidden="false"]{opacity:1!important;pointer-events:auto;animation:none}
.mtb-overlay{position:absolute;inset:0;background:rgba(5,12,25,.66);backdrop-filter:blur(3px)}.mtb-popbox{position:relative;max-width:1000px;max-height:94vh;overflow:auto;margin:3vh auto}.mtb-close{position:absolute;right:14px;top:14px;z-index:40;width:38px;height:38px;border:0;border-radius:50%;font-size:25px;background:#fff;cursor:pointer}.mtb-result{max-width:800px;margin:35px auto;padding:35px;background:#fff;border-radius:24px;box-shadow:0 18px 55px rgba(20,30,50,.14);text-align:center}.mtb-success-icon{width:70px;height:70px;border-radius:50%;margin:0 auto 15px;display:grid;place-items:center;background:#dcfce7;color:#15803d;font-size:38px;font-weight:900}.mtb-result h2{margin:5px 0 8px}.mtb-booking-id{margin:20px auto;padding:14px;border-radius:12px;background:#f3efff;color:#5b2cc7}.mtb-summary{text-align:left;border:1px solid #e3e8ef;border-radius:15px;overflow:hidden;margin:20px 0}.mtb-summary h3{margin:0;padding:13px 16px;background:#f7f8fa}.mtb-summary div{display:flex;justify-content:space-between;gap:20px;padding:10px 16px;border-top:1px solid #edf0f4}.mtb-summary span{text-align:right}.mtb-wa{display:inline-block;background:#18a558;color:#fff;margin:5px}.mtb-error{color:#7a1f1f}.mtb-secondary{display:inline-block;margin:5px}@media(max-width:680px){.mtb-grid{grid-template-columns:1fr}.mtb-step{padding:8px 17px 24px}.mtb-hero{padding:20px}.mtb-hero h2{font-size:23px}.mtb-progress i{width:28px}.mtb-popbox{margin:0;max-height:100vh}.mtb-card{border-radius:0;min-height:100vh}.mtb-summary div{display:block}.mtb-summary span{display:block;text-align:left;margin-top:4px}.mtb-actions button{flex:1}.mtb-result{margin:15px;padding:24px}}
.mtb-floating-open{position:fixed;right:18px;bottom:18px;z-index:999998;border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#7b3ff2,#ef4d91);color:#fff;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.22);cursor:pointer}.mtb-floating-open:hover{transform:translateY(-1px)}
html.mtb-modal-open{overflow:hidden}.mtb-popup{isolation:isolate}

/* v6.3.0 Compact mobile-first popup */
.mtb-popbox{width:min(520px,calc(100vw - 24px));max-width:520px;max-height:88vh;margin:6vh auto 0;overflow:hidden;border-radius:18px}
.mtb-popbox .mtb-wrap{width:100%;max-width:none;margin:0;padding:0}
.mtb-popbox .mtb-card{width:100%;max-width:none;max-height:88vh;min-height:0;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.mtb-popbox .mtb-hero{padding:14px 42px 10px 15px;flex:0 0 auto}
.mtb-popbox .mtb-hero h2{font-size:20px;line-height:1.15;margin:2px 0 3px}
.mtb-popbox .mtb-hero p{font-size:12px;line-height:1.35;margin:0}
.mtb-popbox .mtb-kicker{font-size:10px;letter-spacing:1.2px}
.mtb-popbox .mtb-progress{padding:8px 14px 7px;flex:0 0 auto}
.mtb-popbox .mtb-progress span{width:25px;height:25px;font-size:12px}
.mtb-popbox .mtb-progress i{height:2px}
.mtb-popbox .mtb-form{min-height:0;overflow:auto;padding:0 15px 4px;flex:1 1 auto;-webkit-overflow-scrolling:touch}
.mtb-popbox .mtb-step{padding:8px 0 6px}
.mtb-popbox .mtb-step h3{font-size:17px;line-height:1.2;margin:3px 0 10px}
.mtb-popbox .mtb-grid{gap:8px 10px}
.mtb-popbox .mtb-grid label,.mtb-popbox .mtb-multi>span,.mtb-popbox .mtb-counter>span{font-size:11px;font-weight:700}
.mtb-popbox input:not([type=checkbox]):not([type=radio]),.mtb-popbox select,.mtb-popbox textarea{font-size:13px;padding:8px 10px;min-height:36px;border-radius:9px}
.mtb-popbox textarea{min-height:62px}
.mtb-popbox input::placeholder,.mtb-popbox textarea::placeholder{font-size:11px}
.mtb-popbox .mtb-actions{position:sticky;bottom:0;background:#fff;margin:8px -15px 0;padding:8px 15px 9px;border-top:1px solid #edf0f4;z-index:20;box-shadow:0 -5px 12px rgba(20,30,50,.06);flex:0 0 auto}
.mtb-popbox .mtb-actions button{font-size:13px;padding:10px 14px;min-height:40px;border-radius:10px}
.mtb-popbox .mtb-close{right:9px;top:9px;width:34px;height:34px;font-size:22px;line-height:34px;z-index:100}
.mtb-popbox .mtb-counter{padding:7px 9px;border-radius:9px;min-height:42px}
.mtb-popbox .mtb-counter button{width:30px;height:30px;font-size:18px;border-radius:8px}
.mtb-popbox .mtb-number-counter>div{gap:7px}
.mtb-popbox .mtb-number-input{width:48px!important;text-align:center;font-size:16px!important;font-weight:800;padding:5px!important;min-height:30px!important}
.mtb-popbox .mtb-multi{position:relative}
.mtb-popbox .mtb-multi-btn{width:100%;font-size:12px;padding:8px 10px;min-height:36px;border-radius:9px;text-align:left}
.mtb-popbox .mtb-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);max-height:245px;overflow:auto;background:#fff;border:1px solid #dfe4ec;border-radius:11px;box-shadow:0 14px 30px rgba(0,0,0,.18);padding:7px;z-index:3000}
.mtb-popbox .mtb-menu strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#6b7280;padding:5px 7px 3px}
.mtb-popbox .mtb-menu label{display:flex;align-items:center;gap:6px;padding:6px 7px;font-size:12px;border-radius:7px}
.mtb-popbox .mtb-menu input{width:16px!important;height:16px!important;margin:0!important}
.mtb-menu-ok{position:sticky;bottom:-7px;background:#fff;padding:7px 0 0;margin-top:4px;border-top:1px solid #edf0f4}
.mtb-menu-ok-btn{width:100%;border:0;border-radius:8px;padding:8px;background:#7b3ff2;color:#fff;font-weight:800;font-size:12px;cursor:pointer}
@media(max-width:600px){
 .mtb-popbox{width:calc(100vw - 16px);max-width:none;max-height:90dvh;margin:5dvh auto 0;border-radius:15px}
 .mtb-popbox .mtb-card{max-height:90dvh;border-radius:15px}
 .mtb-popbox .mtb-hero{padding:12px 40px 8px 13px}
 .mtb-popbox .mtb-hero h2{font-size:18px}
 .mtb-popbox .mtb-hero p{font-size:11px;line-height:1.3}
 .mtb-popbox .mtb-form{padding-left:12px;padding-right:12px}
 .mtb-popbox .mtb-actions{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
 .mtb-popbox .mtb-step h3{font-size:16px;margin-bottom:8px}
 .mtb-popbox .mtb-grid{gap:7px}
 .mtb-popbox input:not([type=checkbox]):not([type=radio]),.mtb-popbox select{min-height:34px;padding:7px 9px;font-size:12px}
 .mtb-popbox .mtb-actions button{min-height:38px;padding:9px 12px;font-size:12px}
}
@media(max-height:650px){
 .mtb-popbox{max-height:94dvh;margin-top:2dvh}
 .mtb-popbox .mtb-hero{padding-top:8px;padding-bottom:6px}
 .mtb-popbox .mtb-progress{padding-top:5px;padding-bottom:5px}
 .mtb-popbox .mtb-step{padding-top:5px}
}

/* v6.4.0 Compact enquiry-success details */
.mtb-result-compact{max-width:560px!important;margin:18px auto!important;padding:18px!important;border-radius:16px!important}
.mtb-result-compact .mtb-success-icon{width:46px;height:46px;font-size:25px;margin:0 auto 8px}
.mtb-result-compact h2{font-size:20px!important;margin:3px 0 5px!important}
.mtb-result-compact .mtb-success-note{font-size:12px;line-height:1.4;margin:0 0 10px;color:#64748b}
.mtb-result-compact .mtb-booking-id{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px auto;padding:8px 10px;border-radius:9px;font-size:12px}
.mtb-summary-compact{margin:10px 0!important;border-radius:11px!important}
.mtb-summary-compact h3{font-size:13px!important;padding:8px 10px!important}
.mtb-summary-compact .mtb-detail-grid{display:grid;grid-template-columns:1fr 1fr}
.mtb-summary-compact .mtb-detail-item{display:grid;grid-template-columns:minmax(92px,42%) 1fr;align-items:center;gap:6px;padding:6px 9px!important;border-top:1px solid #edf0f4;font-size:11px;min-width:0}
.mtb-summary-compact .mtb-detail-item b{font-size:10.5px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtb-summary-compact .mtb-detail-item span{text-align:right;font-size:11px;color:#172033;word-break:break-word}
.mtb-result-actions{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.mtb-result-actions .mtb-wa,.mtb-result-actions .mtb-secondary{font-size:11px!important;padding:8px 11px!important;border-radius:8px!important;margin:0!important}
@media(max-width:600px){
 .mtb-result-compact{width:calc(100vw - 24px);box-sizing:border-box;margin:10px auto!important;padding:12px!important;border-radius:13px!important}
 .mtb-result-compact .mtb-success-icon{width:40px;height:40px;font-size:22px;margin-bottom:5px}
 .mtb-result-compact h2{font-size:17px!important}
 .mtb-result-compact .mtb-success-note{font-size:10.5px}
 .mtb-summary-compact h3{font-size:12px!important;padding:7px 8px!important}
 .mtb-summary-compact .mtb-detail-grid{grid-template-columns:1fr}
 .mtb-summary-compact .mtb-detail-item{grid-template-columns:42% 58%;padding:5px 8px!important;font-size:10px}
 .mtb-summary-compact .mtb-detail-item b,.mtb-summary-compact .mtb-detail-item span{font-size:10px}
 .mtb-result-actions .mtb-wa,.mtb-result-actions .mtb-secondary{font-size:10px!important;padding:7px 9px!important}
}

/* v7.1.0 — restore v6.5 compact sizing + robust destination picker */
.mtb-popbox{width:min(500px,calc(100vw - 20px));max-width:500px;max-height:84vh;margin:5vh auto 0;overflow:hidden;border-radius:16px}
.mtb-popbox .mtb-card{max-height:84vh;border-radius:16px;min-height:0}
.mtb-popbox .mtb-hero{padding:11px 40px 8px 13px}
.mtb-popbox .mtb-hero h2{font-size:18px;line-height:1.12;margin:1px 0 2px}
.mtb-popbox .mtb-hero p{font-size:11px;line-height:1.25}
.mtb-popbox .mtb-kicker{font-size:9px}
.mtb-popbox .mtb-progress{padding:6px 12px}
.mtb-popbox .mtb-progress span{width:23px;height:23px;font-size:11px}
.mtb-popbox .mtb-progress i{width:26px;height:2px}
.mtb-popbox .mtb-form{padding:0 12px 3px;overflow:auto;flex:1 1 auto;min-height:0}
.mtb-popbox .mtb-step{padding:5px 0 4px}
.mtb-popbox .mtb-step h3{font-size:15px;line-height:1.15;margin:2px 0 7px}
.mtb-popbox .mtb-grid{gap:6px 8px}
.mtb-popbox .mtb-grid label,.mtb-popbox .mtb-multi>span,.mtb-popbox .mtb-counter>span{font-size:10px}
.mtb-popbox input:not([type=checkbox]):not([type=radio]),.mtb-popbox select{font-size:12px;padding:6px 8px;min-height:32px;border-radius:8px}
.mtb-popbox input::placeholder,.mtb-popbox textarea::placeholder{font-size:10px}
.mtb-popbox textarea{min-height:54px;font-size:12px;padding:6px 8px}
.mtb-popbox .mtb-counter{padding:6px 8px;min-height:38px;border-radius:8px}
.mtb-popbox .mtb-counter button{width:28px;height:28px;font-size:17px;border-radius:7px}
.mtb-popbox .mtb-number-input{width:44px!important;font-size:14px!important;min-height:27px!important;padding:3px!important}
.mtb-popbox .mtb-multi-btn{font-size:11px;padding:6px 8px;min-height:32px;border-radius:8px}
.mtb-popbox .mtb-actions{position:sticky;bottom:0;background:#fff;margin:6px -12px 0;padding:6px 12px 7px;border-top:1px solid #edf0f4;z-index:20;box-shadow:0 -5px 12px rgba(20,30,50,.07)}
.mtb-popbox .mtb-actions button{font-size:12px;padding:8px 12px;min-height:36px;border-radius:9px}
.mtb-popbox .mtb-close{right:8px;top:8px;width:32px;height:32px;font-size:21px;line-height:32px}
/* Destination menu is positioned by JS as a fixed portal so the form's scroll container cannot clip it. */
.mtb-popbox .mtb-menu{position:fixed!important;z-index:2147483646!important;width:min(390px,calc(100vw - 28px));max-height:min(300px,55vh);overflow:auto;padding:6px;border-radius:10px;box-shadow:0 18px 42px rgba(0,0,0,.24)}
.mtb-popbox .mtb-menu strong{font-size:9px;padding:4px 6px 2px}
.mtb-popbox .mtb-menu label{padding:6px;font-size:11px;min-height:28px}
.mtb-menu-ok{position:sticky;bottom:0;background:#fff;padding:6px 0 0;margin-top:3px;border-top:1px solid #edf0f4;z-index:2}
.mtb-menu-ok-btn{width:100%;border:0;border-radius:8px;padding:8px;background:#7b3ff2;color:#fff;font-weight:800;font-size:11px;cursor:pointer;min-height:32px}
@media(max-width:600px){
 .mtb-popbox{width:calc(100vw - 14px);max-width:none;max-height:86dvh;margin:4dvh auto 0}
 .mtb-popbox .mtb-card{max-height:86dvh;border-radius:14px}
 .mtb-popbox .mtb-hero{padding:10px 38px 7px 11px}
 .mtb-popbox .mtb-hero h2{font-size:17px}
 .mtb-popbox .mtb-hero p{font-size:10.5px}
 .mtb-popbox .mtb-form{padding-left:10px;padding-right:10px}
 .mtb-popbox .mtb-actions{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
 .mtb-popbox .mtb-menu{width:calc(100vw - 24px);max-height:48dvh}
}
@media(max-height:650px){.mtb-popbox{max-height:92dvh;margin-top:2dvh}.mtb-popbox .mtb-hero{padding-top:7px;padding-bottom:5px}.mtb-popbox .mtb-progress{padding-top:4px;padding-bottom:4px}}
/* v7.2 compact room counters: match Adults/Children row without oversized room numbers */
.mtb-popbox .mtb-counter:not(.mtb-number-counter)>div{gap:6px;align-items:center;flex:0 0 auto}
.mtb-popbox .mtb-counter:not(.mtb-number-counter)>div b[data-value]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;width:22px;font-size:15px;line-height:1;font-weight:700;color:#18202a;text-align:center}
@media(max-width:600px){
  .mtb-popbox .mtb-counter:not(.mtb-number-counter)>div{gap:5px}
  .mtb-popbox .mtb-counter:not(.mtb-number-counter)>div b[data-value]{min-width:20px;width:20px;font-size:14px}
}


/* =========================================================
 * Madhu Tourism Booking v8.0.0 — FINAL MOBILE COMPACT
 * Purpose: never let the enquiry popup become a full-screen form
 * on Android/iPhone; keep it compact above the software keyboard.
 * ========================================================= */
.mtb-popup{
  --mtb-vh:100vh;
}
.mtb-popbox{
  box-sizing:border-box;
  width:min(500px,calc(100vw - 20px));
  max-width:500px;
  height:auto;
  max-height:56dvh;
  margin:4dvh auto 0;
  overflow:hidden;
  border-radius:16px;
}
.mtb-popbox .mtb-card{
  box-sizing:border-box;
  width:100%;
  max-height:56dvh;
  min-height:0;
  height:auto;
  overflow:hidden;
  border-radius:16px;
}
.mtb-popbox .mtb-form{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.mtb-popbox .mtb-grid label,
.mtb-popbox .mtb-multi>span,
.mtb-popbox .mtb-counter>span{
  line-height:1.15;
}
.mtb-popbox .mtb-counter,
.mtb-popbox .mtb-multi-btn,
.mtb-popbox input:not([type=checkbox]):not([type=radio]),
.mtb-popbox select{
  box-sizing:border-box;
}
.mtb-popbox .mtb-counter{
  min-height:34px;
  padding:5px 8px;
}
.mtb-popbox .mtb-counter>div{
  gap:5px;
}
.mtb-popbox .mtb-counter button{
  width:26px;
  height:26px;
  min-width:26px;
  font-size:16px;
  line-height:26px;
  padding:0;
}
.mtb-popbox .mtb-number-input{
  width:42px!important;
  min-width:42px!important;
  height:28px!important;
  min-height:28px!important;
  padding:2px!important;
  font-size:14px!important;
  line-height:24px!important;
  border-radius:7px!important;
}
.mtb-popbox .mtb-counter:not(.mtb-number-counter)>div b[data-value]{
  min-width:20px;
  width:20px;
  font-size:13px;
  line-height:1;
}
.mtb-popbox .mtb-multi-btn{
  min-height:34px;
  padding:6px 8px;
  font-size:11px;
}
.mtb-popbox input:not([type=checkbox]):not([type=radio]),
.mtb-popbox select{
  min-height:34px;
  padding:6px 8px;
  font-size:16px; /* prevents iOS Safari focus zoom */
  line-height:1.15;
}
.mtb-popbox input::placeholder,
.mtb-popbox textarea::placeholder{
  font-size:11px;
}
.mtb-popbox textarea{
  min-height:50px;
  font-size:14px;
  padding:6px 8px;
}
.mtb-popbox .mtb-actions{
  margin-top:5px;
  padding-top:5px;
  padding-bottom:6px;
}
.mtb-popbox .mtb-actions button{
  min-height:34px;
  padding:7px 11px;
  font-size:11px;
}

/* Keyboard-aware mode: VisualViewport height is the usable area above
   Android/iOS software keyboard. The popup never sits behind the keyboard. */
.mtb-popup.mtb-keyboard-open{
  height:var(--mtb-vh);
}
.mtb-popup.mtb-keyboard-open .mtb-popbox{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:5px;
  top:auto;
  margin:0;
  width:min(500px,calc(100vw - 16px));
  max-height:min(82dvh,calc(var(--mtb-vh) - 10px));
}
.mtb-popup.mtb-keyboard-open .mtb-popbox .mtb-card{
  max-height:min(82dvh,calc(var(--mtb-vh) - 10px));
}
.mtb-popup.mtb-keyboard-open .mtb-form{
  max-height:calc(min(82dvh,calc(var(--mtb-vh) - 10px)) - 108px);
}

/* Android/iPhone narrow screens */
@media(max-width:600px){
  .mtb-popbox{
    width:calc(100vw - 16px);
    max-width:none;
    max-height:56dvh;
    margin:4dvh auto 0;
    border-radius:14px;
  }
  .mtb-popbox .mtb-card{
    max-height:56dvh;
    border-radius:14px;
  }
  .mtb-popbox .mtb-hero{
    padding:9px 38px 6px 11px;
  }
  .mtb-popbox .mtb-hero h2{font-size:17px}
  .mtb-popbox .mtb-hero p{font-size:10px}
  .mtb-popbox .mtb-progress{padding:5px 10px}
  .mtb-popbox .mtb-progress span{width:21px;height:21px;font-size:10px}
  .mtb-popbox .mtb-progress i{width:22px}
  .mtb-popbox .mtb-form{padding-left:10px;padding-right:10px}
  .mtb-popbox .mtb-step{padding:4px 0 3px}
  .mtb-popbox .mtb-step h3{font-size:14px;margin:1px 0 5px}
  .mtb-popbox .mtb-grid{gap:5px 7px}
  .mtb-popbox .mtb-grid label,
  .mtb-popbox .mtb-multi>span,
  .mtb-popbox .mtb-counter>span{font-size:10px}
  .mtb-popbox .mtb-actions{
    margin-left:-10px;
    margin-right:-10px;
    padding-left:10px;
    padding-right:10px;
  }
  .mtb-popbox .mtb-close{
    right:7px;
    top:7px;
    width:30px;
    height:30px;
    line-height:30px;
    font-size:20px;
  }
  .mtb-popup.mtb-keyboard-open .mtb-popbox{
    width:calc(100vw - 12px);
    bottom:4px;
    max-height:calc(var(--mtb-vh) - 8px);
  }
  .mtb-popup.mtb-keyboard-open .mtb-popbox .mtb-card{
    max-height:calc(var(--mtb-vh) - 8px);
  }
  .mtb-popup.mtb-keyboard-open .mtb-form{
    max-height:calc(var(--mtb-vh) - 105px);
  }
}

/* Very short landscape / split-screen devices */
@media(max-height:520px){
  .mtb-popbox{
    max-height:72dvh;
    margin-top:2dvh;
  }
  .mtb-popbox .mtb-card{max-height:72dvh}
}
