/* ZonalTrip v1.0.13 — scoped account modal with WhatsApp OTP login. */
.tb-header-quick-links>.tb-package-account-button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:42px;padding:11px 17px!important;border:1px solid var(--tb-primary,#0a527a);
  border-radius:10px;background:var(--tb-primary,#0a527a);color:#fff!important;
  font-size:14px!important;font-weight:500!important;white-space:nowrap;text-decoration:none;
}
.tb-header-quick-links>.tb-package-account-button:after{display:none!important}
.tb-header-quick-links>.tb-package-account-button:hover{background:#09496b;border-color:#09496b}
.tb-package-account-button:focus-visible,.tb-package-mobile-account:focus-visible{outline:3px solid #008272;outline-offset:3px}
.tb-package-mobile-actions{display:flex;align-items:center;gap:9px;margin-left:auto;flex-shrink:0}
.tb-package-mobile-account{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid #d9e6eb;color:var(--tb-primary,#0a527a);background:#f6f9fb;font-size:18px;text-decoration:none;flex-shrink:0}
.tb-mobile-header-links>[data-zpp-account-trigger],.tb-mobile-header-links>a[href^="tel:"]{grid-column:1/-1}
@media(min-width:992px){.tb-package-mobile-actions{display:none!important}}
@media(min-width:992px) and (max-width:1199px){.tb-header-quick-links{gap:18px}.tb-header-quick-links>.tb-package-account-button{padding:11px 13px!important;font-size:13px!important}}
@media(max-width:479px){.tb-header-top .navbar-brand img{max-width:calc(100vw - 148px)!important;height:auto!important;max-height:50px}.tb-header-top-row{gap:10px!important}.tb-package-mobile-actions{gap:7px}}

html.zpa-modal-open,body.zpa-modal-open{overflow:hidden!important;overscroll-behavior:contain}
.zpa-modal{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:452px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #e0e7ee;border-radius:20px;background:#fff;color:#172133;box-shadow:0 26px 100px rgba(10,31,49,.25);overflow:auto;overscroll-behavior:contain;font-family:inherit;text-align:left}
.zpa-modal:not([open]){display:none!important}
.zpa-modal::backdrop{background:rgba(13,30,43,.54);backdrop-filter:blur(3px)}
.zpa-modal *{box-sizing:border-box}.zpa-modal [hidden]{display:none!important}
.zpa-content{position:relative;padding:32px}
.zpa-close{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border:0;border-radius:50%;background:#f3f6f8;color:#53657a;cursor:pointer}
.zpa-close:hover{background:#e9eff4}.zpa-close svg,.zpa-brand-mark svg,.zpa-security svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}
.zpa-brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:600;padding-right:22px;margin-bottom:24px;color:var(--tb-primary,#0a527a)}
.zpa-brand-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:13px;background:#eef5f8}
.zpa-brand-mark img{display:block;width:27px;height:32px;object-fit:contain}
.zpa-brand small{display:block;font-size:9px;letter-spacing:1.4px;font-weight:600;margin-top:3px;color:#697a8a}
.zpa-modal h2{font-family:inherit;font-weight:600;font-size:25px;line-height:1.25;letter-spacing:-.4px;margin:0 0 9px;color:#172133}
.zpa-description{font-size:14px;line-height:1.6;color:#6a788b;margin:0 0 23px}
.zpa-label{display:block;font-size:13px;font-weight:600;line-height:1.45;color:#29364b;margin:0 0 7px}
.zpa-input{display:block;width:100%;height:46px;padding:11px 13px;margin:0 0 18px;border:1px solid #d9e2ea;border-radius:9px;font:inherit;font-size:14px;line-height:1.4;color:#172133;background:#fff;box-shadow:none;outline:none}
.zpa-input::placeholder{color:#91a0ae}.zpa-input:focus{border-color:var(--tb-primary,#0a527a);box-shadow:0 0 0 3px rgba(10,82,122,.09)}
.zpa-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:3px;margin-bottom:7px}.zpa-label-row .zpa-label{margin:0}
.zpa-password{position:relative}.zpa-password .zpa-input{padding-right:62px;margin-bottom:21px}
.zpa-eye{position:absolute;top:0;right:5px;height:46px;min-width:49px;padding:0 8px;border:0;background:none;color:var(--tb-primary,#0a527a);font:inherit;font-size:12px;font-weight:500;cursor:pointer}
.zpa-primary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:46px;padding:12px 16px;border:1px solid var(--tb-primary,#0a527a);border-radius:9px;background:var(--tb-primary,#0a527a);color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.zpa-primary:hover{background:#09496b}.zpa-primary:disabled{opacity:.6;cursor:wait}
.zpa-primary:focus-visible,.zpa-text-button:focus-visible,.zpa-eye:focus-visible,.zpa-close:focus-visible{outline:2px solid var(--tb-primary,#0a527a);outline-offset:3px}
.zpa-text-button{display:inline;padding:0;border:0;background:none;color:var(--tb-primary,#0a527a);font:inherit;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer;text-align:left}
.zpa-text-button:hover{text-decoration:underline}
.zpa-new-account{text-align:center;margin:22px 0 0;font-size:12px;line-height:1.6;color:#718094}.zpa-new-account>span{display:block;margin-bottom:3px}.zpa-new-account .zpa-text-button{font-size:13px}
.zpa-back{display:inline-block;margin:21px 0 0;font-size:13px}
.zpa-security{display:flex;align-items:flex-start;gap:9px;border-top:1px solid #e9edf2;padding-top:18px;margin-top:24px;font-size:11px;line-height:1.7;color:#748395}
.zpa-security svg{width:15px;height:17px;flex-shrink:0;margin-top:2px;color:#7b8c9c}
.zpa-message{padding:11px 13px;margin:0 0 18px;border:1px solid #d5e5ec;border-radius:9px;background:#f0f7fa;color:#27556a;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.zpa-message.is-error{border-color:#edcfc8;background:#fff5f3;color:#923d30}
/* Native <dialog> is preferred; fallback still traps keyboard focus. */
.zpa-fallback-backdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(13,30,43,.54)}
.zpa-modal.zpa-fallback[open]{display:block;z-index:2147483001;height:max-content}
@media(max-width:575px){.zpa-content{padding:27px 23px}.zpa-modal h2{font-size:24px}.zpa-input{font-size:16px}.zpa-brand{margin-bottom:22px}.zpa-description{font-size:13px}.zpa-label-row .zpa-text-button{font-size:11px}}
@media(max-height:640px){.zpa-content{padding-top:24px;padding-bottom:22px}.zpa-brand{margin-bottom:18px}.zpa-security{margin-top:18px;padding-top:14px}.zpa-new-account{margin-top:16px}}

/* v1.0.6 account creation */
.zpa-account-options{display:grid;gap:9px;margin:20px 0 0;padding-top:18px;border-top:1px solid #e9edf2;text-align:center}
.zpa-account-options>div{font-size:12px;line-height:1.55;color:#718094}
.zpa-account-options>div>span{margin-right:6px}
[data-zpa-panel="register"] .zpa-input{margin-bottom:14px}
[data-zpa-panel="register"] .zpa-password .zpa-input{margin-bottom:14px}
@media(max-width:575px){.zpa-account-options>div>span{display:block;margin:0 0 2px}}


/* v1.0.7 — keep account modal clean without a visible inner scrollbar.
   Scrolling remains available on very short screens, but the scrollbar itself is hidden. */
.zpa-modal{scrollbar-width:none;-ms-overflow-style:none}
.zpa-modal::-webkit-scrollbar{width:0;height:0;display:none}
[data-zpa-panel="register"] .zpa-description{margin-bottom:16px}
[data-zpa-panel="register"] .zpa-input{height:44px;margin-bottom:11px}
[data-zpa-panel="register"] .zpa-password .zpa-input{margin-bottom:11px}
[data-zpa-panel="register"] .zpa-back{margin-top:14px}
@media(min-width:576px){
  .zpa-modal:has([data-zpa-panel="register"]:not([hidden])) .zpa-content{padding-top:25px;padding-bottom:24px}
  .zpa-modal:has([data-zpa-panel="register"]:not([hidden])) .zpa-brand{margin-bottom:17px}
  .zpa-modal:has([data-zpa-panel="register"]:not([hidden])) .zpa-security{display:none}
}

/* v1.0.12 — logged-in customer name + compact account dropdown in website header. */
[data-zpp-account-guest][hidden],[data-zpp-account-user][hidden]{display:none!important}
.tb-package-account-user,.tb-package-mobile-user{position:relative;flex-shrink:0}
.tb-package-user-button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;
  max-width:230px;padding:11px 15px;border:1px solid var(--tb-primary,#0a527a);border-radius:10px;
  background:var(--tb-primary,#0a527a);color:#fff;font:inherit;font-size:14px;font-weight:600;
  line-height:1.2;white-space:nowrap;cursor:pointer
}
.tb-package-user-button:hover,.tb-package-user-button[aria-expanded="true"]{background:#09496b;border-color:#09496b}
.tb-package-user-button:focus-visible,.tb-package-account-menu a:focus-visible,.tb-package-account-menu button:focus-visible,.tb-mobile-account-links a:focus-visible,.tb-mobile-account-links button:focus-visible{outline:3px solid #008272;outline-offset:2px}
.tb-package-user-name{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-package-user-caret{font-size:10px;transition:transform .18s ease}
.tb-package-user-button[aria-expanded="true"] .tb-package-user-caret{transform:rotate(180deg)}
.tb-package-account-menu{
  position:absolute;right:0;top:calc(100% + 10px);z-index:2147482000;width:210px;padding:7px;
  border:1px solid #dfe8ee;border-radius:12px;background:#fff;box-shadow:0 16px 42px rgba(15,43,61,.16);
  color:#172133;text-align:left
}
.tb-package-account-menu[hidden]{display:none!important}
.tb-package-account-menu a,.tb-package-account-menu button{
  display:flex;align-items:center;gap:11px;width:100%;min-height:42px;margin:0;padding:10px 11px;border:0;
  border-radius:8px;background:transparent;color:#25374b;font:inherit;font-size:13px;font-weight:500;
  line-height:1.35;text-decoration:none;cursor:pointer;text-align:left
}
.tb-package-account-menu a:hover,.tb-package-account-menu button:hover{background:#f1f6f8;color:var(--tb-primary,#0a527a)}
.tb-package-account-menu i{width:17px;text-align:center;color:#688095}
.tb-package-account-menu button[data-zpp-header-logout]{border-top:1px solid #edf1f4;border-radius:0 0 8px 8px;margin-top:4px;padding-top:12px;color:#a13e35}
.tb-package-account-menu button[data-zpp-header-logout]:hover{background:#fff4f2;color:#8d3028}
.tb-package-account-menu-name{padding:9px 11px 8px;margin-bottom:4px;border-bottom:1px solid #edf1f4;color:#172133;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-package-mobile-user .tb-package-account-menu{right:0;top:calc(100% + 8px)}
.tb-mobile-account-links{display:grid;grid-column:1/-1;gap:4px;padding-top:8px;border-top:1px solid rgba(10,82,122,.12)}
.tb-mobile-account-links[hidden]{display:none!important}
.tb-mobile-account-links strong,.tb-mobile-account-links a,.tb-mobile-account-links button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 0;color:#203247;font:inherit;font-size:14px;text-decoration:none;text-align:left}
.tb-mobile-account-links strong{font-weight:700;color:var(--tb-primary,#0a527a)}
.tb-mobile-account-links button{border:0;background:none;color:#a13e35;cursor:pointer}
.tb-mobile-account-links i{width:18px;text-align:center}
@media(min-width:992px) and (max-width:1199px){.tb-package-user-button{padding:11px 12px;font-size:13px;max-width:205px}.tb-package-user-name{max-width:118px}}
@media(max-width:991px){.tb-package-account-menu-mobile{width:200px}}

/* v1.0.13 — WhatsApp OTP login inside the existing account modal. */
.zpa-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:#8a98a7;font-size:10px;font-weight:700;letter-spacing:.7px}
.zpa-or:before,.zpa-or:after{content:"";height:1px;flex:1;background:#e6ebf0}
.zpa-secondary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:11px 15px;border:1px solid #cfe0da;border-radius:9px;background:#fff;color:#126b51;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.zpa-secondary:hover{background:#f2faf7;border-color:#9fcbbd}
.zpa-secondary:focus-visible{outline:2px solid var(--tb-primary,#0a527a);outline-offset:3px}
.zpa-whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eaf8f2;font-size:12px}
.zpa-phone-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px}
.zpa-phone-row .zpa-input{min-width:0}
.zpa-country-code{text-align:center;padding-left:8px;padding-right:8px}
.zpa-otp-sent{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#f3f8fa;color:#53677a;font-size:12px;line-height:1.55}
.zpa-otp-input{text-align:center;font-size:20px!important;font-weight:700;letter-spacing:7px;font-variant-numeric:tabular-nums}
.zpa-resend{display:block;margin:14px auto 0;text-align:center}
[data-zpa-panel="otp"] .zpa-back{margin-top:17px}
@media(max-width:420px){.zpa-phone-row{grid-template-columns:74px minmax(0,1fr)}}
