:root{--dr-navy:#133450;--dr-gold:#b99557;--dr-bg:#f8f6f1;--dr-text:#132c41;--dr-border:#dfdfdc}
.dr-shell{box-sizing:border-box;max-width:840px;margin:16px auto;padding:23px;background:#fff;border:1px solid var(--dr-border);border-radius:16px;box-shadow:0 6px 24px rgba(9,31,53,.05);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dr-text);line-height:1.45}
.dr-shell *, .dr-shell *:before,.dr-shell *:after{box-sizing:border-box;max-width:100%}
.dr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--dr-border)}
.dr-brand{font-size:24px;font-weight:850;letter-spacing:.06em;color:var(--dr-navy)}.dr-brand span{color:var(--dr-gold)}
.dr-kicker{font-size:12px;color:var(--dr-navy);font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.dr-shell h2{color:var(--dr-navy);font-size:1.25rem;margin:.6em 0}.dr-shell h3{font-size:1.04rem;margin:1rem 0 .5rem}
.dr-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.dr-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:650;color:var(--dr-navy);min-width:0}
.dr-form input:not([type=checkbox]),.dr-form select,.dr-shell input:not([type=checkbox]){width:100%;min-width:0;border:1px solid var(--dr-border);border-radius:8px;min-height:38px;height:38px;background:#fff;color:#132c41;padding:6px 10px;font:400 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif}
.dr-form input:focus,.dr-form select:focus{outline:2px solid var(--dr-gold);outline-offset:0}
.dr-full{grid-column:1/-1}.dr-small-field{max-width:130px}
.dr-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dr-triple label{min-width:0}
.dr-shell button:focus-visible,.dr-shell a:focus-visible{outline:3px solid var(--dr-gold);outline-offset:3px}
.dr-form .dr-terms{font-size:12px;font-weight:400;flex-direction:row;align-items:flex-start;color:#414d58}.dr-terms input{width:auto;margin:2px 5px 0 0;flex:none}
.dr-btn,.dr-shell button.dr-btn,.dr-shell a.dr-btn{background:var(--dr-navy);border:1px solid var(--dr-navy);color:#fff;border-radius:8px;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:9px 14px;min-height:38px;font-size:13px;line-height:1.2;font-weight:750;text-decoration:none;cursor:pointer}
.dr-btn:hover{filter:brightness(1.1);color:#fff}.dr-btn-ghost,.dr-shell button.dr-btn-ghost{background:#fff;color:var(--dr-navy)}
.dr-small{font-size:12px;color:#65717d;margin:12px 0}.dr-notice{background:#f8f2e6;border-left:4px solid var(--dr-gold);padding:12px;color:var(--dr-navy);margin:12px 0;border-radius:4px;font-size:14px}
.dr-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.dr-trip{border:1px solid var(--dr-border);border-radius:11px;padding:13px;margin:12px 0;background:#fff}.dr-trip-top{display:flex;gap:12px;justify-content:space-between;color:#a27d40;font-size:12px}.dr-trip p{font-size:13px;margin:7px 0;color:#435361}.dr-actions{display:flex;flex-wrap:wrap;gap:8px}.dr-table-wrap{overflow-x:auto}
@media(max-width:540px){.dr-shell{padding:12px;margin:6px auto;border-radius:10px}.dr-form{gap:8px 9px}.dr-form input:not([type=checkbox]),.dr-form select{height:38px;font-size:16px;padding:6px 8px}.dr-shell .dr-head{gap:4px}.dr-brand{font-size:21px}.dr-small-field{max-width:100%}.dr-form label{font-size:11px}}
@media(max-width:330px){.dr-form{grid-template-columns:1fr}.dr-full{grid-column:auto}.dr-brand{font-size:19px}}

@media(max-width:540px){.dr-triple{gap:6px}.dr-triple select{padding-left:6px;padding-right:3px}.dr-shell .dr-brand{text-transform:none;letter-spacing:-.02em}}

/* DeiWay unified partner portal 0.3.1 — scoped to avoid altering public booking */
.dr-portal{max-width:1020px;padding:22px 25px;background:#fff;border-color:#e2e8ee}
.dr-portal-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e2e8ee;padding-bottom:16px}
.dr-portal-top .dr-kicker{margin:0}
.dr-portal-identity{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;min-width:0}
.dr-portal-identity strong{color:#12324e;word-break:break-word}.dr-portal-identity small{color:#647586}
.dr-portal-identity a{font-size:12px;color:#87672f;text-decoration:underline}
.dr-portal-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0}
.dr-portal-intro h2{margin:4px 0}.dr-portal-intro p{font-size:13px;color:#50657a;margin:4px 0}
.dr-portal-state{flex-shrink:0;padding:7px 12px;font-size:12px;border-radius:40px;font-weight:700}
.dr-state-on{background:#e9f6ed;color:#17613c}.dr-state-off{background:#fff1e8;color:#a14320}
.dr-portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.dr-portal-stats>div{background:#f5f7f9;border:1px solid #edf0f3;border-radius:13px;padding:14px 17px;display:flex;flex-direction:column;gap:3px;min-width:0}
.dr-portal-stats strong{font-size:28px;line-height:1.2;color:#12324e}
.dr-portal-stats span{font-size:12px;color:#50657a}
.dr-portal-tabs{display:flex;gap:5px;border-bottom:1px solid #dce4eb;flex-wrap:wrap;margin-bottom:16px}
.dr-portal-tabs a{display:inline-block;padding:11px 15px;color:#45617a;text-decoration:none;font-weight:700;font-size:13px;border-bottom:3px solid transparent}
.dr-portal-tabs a:hover,.dr-portal-tabs a[aria-current=page]{color:#12324e;border-color:#c09a53;background:#fcf8f0}
.dr-portal-panel{min-height:110px}.dr-portal-panel h3{font-size:17px;margin:10px 0 15px;color:#12324e}
.dr-portal-settings{display:grid;gap:13px;max-width:580px}
.dr-portal-settings>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#12324e}
.dr-portal-settings .dr-portal-check{display:flex;flex-direction:row;align-items:center;gap:8px}
.dr-portal-settings .dr-portal-check input{width:18px;height:18px;flex:0 0 auto}
.dr-portal-settings .dr-btn{justify-self:start}
.dr-portal-admin-only{border-left:3px solid #c09a53;background:#fbf7ee;padding:12px 14px;color:#50657a;font-size:12px;margin-top:19px}
.dr-portal .dr-table-wrap{width:100%;max-width:100%;overflow-x:auto}
.dr-portal .dw-table{border-collapse:collapse;width:100%;font-size:13px}
.dr-portal .dw-table th,.dr-portal .dw-table td{border-bottom:1px solid #e2e8ee;text-align:left;padding:10px 8px}
.dr-portal-login{max-width:520px;margin:auto}
.dr-portal-login form label{display:block;margin:12px 0 5px}.dr-portal-login .login-submit input{background:#12324e;color:#fff;cursor:pointer;border-radius:8px}
@media(max-width:650px){.dr-portal{padding:14px}.dr-portal-top{align-items:flex-start}.dr-portal-identity{text-align:right}.dr-portal-intro{align-items:flex-start;flex-direction:column}.dr-portal-stats{gap:7px}.dr-portal-stats>div{padding:11px 9px}.dr-portal-stats strong{font-size:22px}.dr-portal-stats span{font-size:10px}.dr-portal-tabs{flex-wrap:nowrap;overflow-x:auto}.dr-portal-tabs a{white-space:nowrap;font-size:12px;padding:11px}.dr-portal .dw-table{min-width:580px}}
@media(max-width:350px){.dr-portal-stats{grid-template-columns:1fr}.dr-portal-identity strong{font-size:11px}}


/* DeiWay Booking 0.3.2 — genuine SVG identity and responsive partner sign-in.
   Scoped only to this plugin; no global Elementor or theme selectors. */
.dr-shell .dr-logo-home {display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;max-width:100%!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;text-decoration:none!important;box-shadow:none!important;line-height:0!important}
.dr-shell .dr-logo-home:hover {opacity:.94}
.dr-shell .dr-logo-home img {display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important}
.dr-head .dr-logo-home {width:158px!important;max-width:47%!important}
.dr-portal-header-brand .dr-logo-home {width:170px!important;max-width:100%!important}
.dr-portal-header-brand .dr-kicker {margin:4px 0 0!important}
.dr-portal--guest.dr-shell {
  max-width:1140px!important;width:calc(100% - 20px)!important;
  margin:36px auto 56px!important;padding:0!important;
  border:1px solid #e0e8ef!important;border-radius:22px!important;
  background:#fff!important;overflow:hidden!important;
  box-shadow:0 22px 65px rgba(7,32,53,.10)!important;
  color:#12324e!important;
}
.dr-portal--guest .dr-login-layout {display:grid!important;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr)!important;min-height:565px!important}
.dr-portal--guest .dr-login-side {position:relative!important;isolation:isolate!important;display:flex!important;min-width:0!important;overflow:hidden!important;background:linear-gradient(148deg,#163c59 0%,#09263f 78%,#082137 100%)!important;color:#fff!important}
.dr-portal--guest .dr-login-side:before {content:""!important;position:absolute!important;z-index:-1!important;width:420px!important;height:420px!important;right:-235px!important;top:-165px!important;border:1px solid rgba(217,182,111,.36)!important;border-radius:50%!important}
.dr-portal--guest .dr-login-side:after {content:""!important;position:absolute!important;z-index:-1!important;width:420px!important;height:420px!important;right:-270px!important;top:-110px!important;border:1px solid rgba(217,182,111,.18)!important;border-radius:50%!important}
.dr-portal--guest .dr-login-side-inner {padding:66px 46px 35px!important;display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important}
.dr-portal--guest .dr-login-eyebrow {color:#e2c58b!important;font:750 11px/1.5 system-ui,sans-serif!important;letter-spacing:.15em!important;display:flex!important;align-items:center!important;gap:9px!important}
.dr-portal--guest .dr-login-gold-dot {background:#d6ad5f!important;width:7px!important;height:7px!important;border-radius:50%!important;flex:none!important}
.dr-portal--guest .dr-login-side h2 {color:#fff!important;font:400 clamp(32px,3.5vw,46px)/1.17 Georgia,serif!important;letter-spacing:-.025em!important;margin:32px 0 15px!important;text-transform:none!important}
.dr-portal--guest .dr-login-side h2 em {font-style:normal!important;color:#e4c387!important}
.dr-portal--guest .dr-login-side-inner>p:not(.dr-login-side-footer) {color:#d5e0e9!important;font:400 15px/1.72 system-ui,sans-serif!important;margin:0 0 24px!important}
.dr-portal--guest .dr-login-benefits {display:flex!important;flex-direction:column!important;gap:20px!important;margin-top:14px!important}
.dr-portal--guest .dr-login-benefits>div {display:flex!important;align-items:flex-start!important;gap:14px!important}
.dr-portal--guest .dr-login-benefit-icon {display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:35px!important;height:35px!important;border:1px solid rgba(213,174,105,.46)!important;border-radius:10px!important;color:#e1c58b!important;font-size:12px!important;font-weight:700!important}
.dr-portal--guest .dr-login-benefits strong {display:block!important;color:#fff!important;font:700 14px/1.4 system-ui,sans-serif!important;margin:0 0 3px!important}
.dr-portal--guest .dr-login-benefits small {display:block!important;color:#bfcedb!important;font:400 12px/1.5 system-ui,sans-serif!important}
.dr-portal--guest .dr-login-side-footer {margin:auto 0 0!important;padding-top:44px!important;color:#b2cadc!important;letter-spacing:.1em!important;font:600 10px/1.6 system-ui,sans-serif!important}
.dr-portal--guest .dr-login-right {display:flex!important;align-items:center!important;justify-content:center!important;padding:35px!important;min-width:0!important;background:#fff!important}
.dr-portal--guest .dr-login-inner {width:min(100%,410px)!important;margin:0 auto!important;text-align:left!important}
.dr-portal--guest .dr-login-inner .dr-logo-home {width:174px!important;margin:0 0 29px!important}
.dr-portal--guest .dr-login-label {color:#b18c50!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important;margin:0 0 8px!important}
.dr-portal--guest .dr-login-right h2 {font:700 clamp(24px,2.4vw,31px)/1.18 system-ui,sans-serif!important;letter-spacing:-.03em!important;color:#12324e!important;margin:0 0 10px!important}
.dr-portal--guest .dr-login-subtitle {font:400 13px/1.65 system-ui,sans-serif!important;color:#617386!important;margin:0 0 25px!important}
.dr-portal--guest #dr-partner-loginform {display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.dr-portal--guest #dr-partner-loginform>p {margin:0 0 16px!important;padding:0!important;background:none!important;border:0!important}
.dr-portal--guest #dr-partner-loginform label {display:block!important;margin:0 0 7px!important;font:700 12px/1.45 system-ui,sans-serif!important;color:#263e54!important}
.dr-portal--guest #dr-partner-loginform input:not([type=checkbox]) {display:block!important;width:100%!important;max-width:100%!important;min-height:46px!important;height:46px!important;padding:10px 13px!important;border:1px solid #dbe3e9!important;border-radius:10px!important;background:#f9fafc!important;color:#12324e!important;font:400 15px/1.3 system-ui,sans-serif!important;box-shadow:none!important;outline:0!important}
.dr-portal--guest #dr-partner-loginform input:not([type=checkbox]):focus {background:#fff!important;border-color:#bb9859!important;box-shadow:0 0 0 3px rgba(187,152,89,.14)!important}
.dr-portal--guest #dr-partner-loginform .login-remember {margin:3px 0 19px!important}
.dr-portal--guest #dr-partner-loginform .login-remember label {display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:12px!important;font-weight:500!important;color:#50657a!important}
.dr-portal--guest #dr-partner-loginform input[type=checkbox] {width:16px!important;height:16px!important;accent-color:#c09a53!important;margin:0!important;min-width:16px!important}
.dr-portal--guest #dr-partner-loginform #dr-partner-submit {width:100%!important;display:block!important;min-height:47px!important;height:auto!important;background:#bd9855!important;color:#fff!important;border:0!important;border-radius:10px!important;font:800 14px/1.2 system-ui,sans-serif!important;cursor:pointer!important;padding:13px 16px!important;text-align:center!important;transition:background .15s ease!important}
.dr-portal--guest #dr-partner-loginform #dr-partner-submit:hover {background:#a8803d!important}
.dr-portal--guest .dr-login-footer-links {display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:5px 0 0!important;justify-content:center!important;align-items:center!important;font-size:12px!important}
.dr-portal--guest .dr-login-footer-links a {text-decoration:none!important;color:#264e6b!important;font-weight:650!important}
.dr-portal--guest .dr-login-footer-links a:hover {text-decoration:underline!important}
.dr-portal--guest .dr-login-footer-links span {color:#b5c0c9!important}
.dr-portal--guest .dr-login-help {border-top:1px solid #edf0f2!important;padding:18px 0 0!important;margin:24px 0 0!important;font:400 12px/1.6 system-ui,sans-serif!important;color:#8190a0!important;text-align:center!important}
@media(max-width:760px){
 .dr-portal--guest.dr-shell {margin:14px auto 30px!important;width:calc(100% - 20px)!important;border-radius:16px!important}
 .dr-portal--guest .dr-login-layout {grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
 .dr-portal--guest .dr-login-right {grid-row:1!important;padding:28px 22px 26px!important}
 .dr-portal--guest .dr-login-inner {max-width:450px!important}
 .dr-portal--guest .dr-login-inner .dr-logo-home {width:150px!important;margin-bottom:21px!important}
 .dr-portal--guest .dr-login-side {grid-row:2!important}
 .dr-portal--guest .dr-login-side-inner {padding:27px 24px 25px!important}
 .dr-portal--guest .dr-login-side h2 {font-size:25px!important;margin:16px 0 8px!important}
 .dr-portal--guest .dr-login-side-inner>p:not(.dr-login-side-footer) {font-size:12px!important;margin-bottom:10px!important}
 .dr-portal--guest .dr-login-benefits {margin-top:6px!important;gap:10px!important}
 .dr-portal--guest .dr-login-benefits>div {gap:10px!important}
 .dr-portal--guest .dr-login-side-footer {display:none!important}
}
@media(max-width:360px){.dr-portal--guest .dr-login-right{padding:22px 14px!important}.dr-portal--guest .dr-login-side-inner{padding:22px 14px!important}}

/* 0.3.3 Branded recovery, WPML and compact booking integration */
.dr-password-portal{max-width:520px!important;padding:34px!important;margin:28px auto!important;background:#fff!important;border:1px solid #e1e7ed!important;box-shadow:0 18px 44px #09243d16!important}
.dr-password-wrap>.dr-logo-home{display:inline-flex;width:180px!important;margin:0 0 24px!important}
.dr-password-wrap h2{font-size:26px!important;font-weight:750!important;margin:10px 0!important;color:#12324e!important}
.dr-password-form{display:grid;gap:15px;margin:18px 0}
.dr-password-form label{font-size:13px;font-weight:650;display:grid;gap:7px;color:#12324e}
.dr-password-form input{width:100%!important;height:47px!important;border:1px solid #dce4ec!important;border-radius:10px!important;padding:12px!important}
.dr-password-form .dr-btn{width:100%;min-height:45px}
.dr-portal--guest .dw-partner-languages{margin:0 0 13px;max-width:max-content}
.dw-partner-languages{position:relative;display:inline-block;z-index:50;font:700 12px/1.3 system-ui,sans-serif;color:#12324e}
.dw-partner-languages summary{cursor:pointer;padding:6px 10px;background:#f7f9fa;border:1px solid #e2e7eb;border-radius:7px;list-style:none}
.dw-partner-languages summary::-webkit-details-marker{display:none}
.dw-partner-languages-list{position:absolute;right:0;top:100%;min-width:156px;background:white;border:1px solid #dce4eb;border-radius:9px;box-shadow:0 10px 25px #12324e22;padding:6px;z-index:55}
.dw-partner-languages-list a{display:flex;align-items:center;gap:9px;padding:9px;color:#12324e;text-decoration:none;font-size:12px}
.dw-partner-languages-list img{width:18px;height:auto}
.dr-portal-top>.dw-partner-languages{margin-left:auto}
.dw-quick-booking{min-width:0!important;max-width:100%!important}
.dw-quick-booking .dw-quick-form{display:grid;gap:11px}
.dw-quick-booking label{display:flex;flex-direction:column;gap:5px;color:#12324e;font-size:12px;font-weight:700;min-width:0}
.dw-quick-booking select,.dw-quick-booking input{width:100%!important;min-width:0!important;height:41px!important;min-height:41px!important;border:1px solid #d9e2e9!important;border-radius:8px!important;padding:7px 10px!important;background:#fff!important;color:#12324e!important;font-size:13px!important}
.dw-quick-booking .dw-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dw-quick-booking .dw-quick-submit{display:block!important;background:#bc9650!important;color:white!important;border:0!important;border-radius:8px!important;text-align:center!important;font-weight:750!important;font-size:13px!important;padding:13px!important;cursor:pointer!important;text-decoration:none!important}
.dw-quick-booking .dw-quick-note{font-size:10px;color:#6d7e8a;text-align:center;margin:0}
.dw-booking-integration .dr-shell{max-width:980px!important;width:100%!important}
.dw-booking-integration .dr-head{align-items:center}
@media(max-width:560px){.dr-password-portal{padding:20px!important;margin:12px auto!important}.dr-portal-top>.dw-partner-languages{order:3;margin:3px 0}.dw-quick-booking .dw-quick-grid{gap:7px}}

/* Exact, theme-resistant rendering for the public DeiWay quick booking shortcode. */
.dw-render-booking,.dw-render-booking *{box-sizing:border-box}
.dw-render-booking{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.dw-render-booking .dw-render-card{display:block!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:32px 34px!important;border-radius:28px!important;background:#fff!important;border:1px solid rgba(18,50,78,.08)!important;box-shadow:0 16px 50px rgba(15,46,73,.12)!important;color:#12324e!important;overflow:hidden!important}
.dw-render-booking .dw-render-kicker{display:block!important;margin:0 0 10px!important;color:#b89452!important;font-size:12px!important;font-weight:800!important;line-height:1.3!important;letter-spacing:.18em!important;text-transform:uppercase!important}
.dw-render-booking h3{margin:0 0 10px!important;padding:0!important;color:#12324e!important;font-size:clamp(28px,3.1vw,52px)!important;font-weight:800!important;line-height:1.08!important;letter-spacing:-.03em!important;text-transform:none!important}
.dw-render-booking .dw-render-subtitle{margin:0 0 22px!important;padding:0!important;color:#6c7d8d!important;font-size:18px!important;line-height:1.65!important;font-weight:400!important}
.dw-render-booking .dw-render-form{display:grid!important;gap:16px!important;margin:0!important}
.dw-render-booking .dw-render-grid-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.dw-render-booking .dw-render-field{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;margin:0!important}
.dw-render-booking .dw-render-field span{margin:0!important;color:#12324e!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important}
.dw-render-booking .dw-render-field select,.dw-render-booking .dw-render-field input{appearance:none!important;-webkit-appearance:none!important;display:block!important;width:100%!important;height:58px!important;min-height:58px!important;margin:0!important;padding:0 18px!important;border-radius:16px!important;border:1px solid #d8e0e7!important;background:#fff!important;box-shadow:none!important;color:#12324e!important;font-size:16px!important;line-height:1.2!important;font-weight:500!important;outline:none!important}
.dw-render-booking .dw-render-field input[type="date"],.dw-render-booking .dw-render-field input[type="time"]{padding-right:16px!important}
.dw-render-booking .dw-render-field select:focus,.dw-render-booking .dw-render-field input:focus{border-color:#b89452!important;box-shadow:0 0 0 4px rgba(184,148,82,.14)!important}
.dw-render-booking .dw-render-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:64px!important;margin:4px 0 0!important;padding:18px 24px!important;border:0!important;border-radius:18px!important;background:#c19a53!important;color:#fff!important;text-align:center!important;text-decoration:none!important;font-size:18px!important;font-weight:800!important;line-height:1.2!important;cursor:pointer!important;transition:transform .15s ease,filter .15s ease!important}
.dw-render-booking .dw-render-submit:hover{filter:brightness(1.03)!important;transform:translateY(-1px)!important}
.dw-render-booking .dw-render-submit span{display:inline-block!important;font-size:20px!important;line-height:1!important}
.dw-render-booking .dw-render-note,.dw-render-booking .dw-render-empty{margin:16px 0 0!important;padding:0!important;text-align:center!important;color:#7b8996!important;font-size:12px!important;line-height:1.5!important}
@media (max-width: 767px){
  .dw-render-booking .dw-render-card{padding:24px 22px!important;border-radius:24px!important}
  .dw-render-booking h3{font-size:clamp(22px,7vw,34px)!important}
  .dw-render-booking .dw-render-subtitle{font-size:15px!important;line-height:1.6!important;margin-bottom:18px!important}
  .dw-render-booking .dw-render-grid-two{grid-template-columns:1fr!important;gap:14px!important}
  .dw-render-booking .dw-render-field select,.dw-render-booking .dw-render-field input{height:54px!important;min-height:54px!important;font-size:15px!important;border-radius:14px!important}
  .dw-render-booking .dw-render-submit{min-height:58px!important;font-size:17px!important;border-radius:16px!important}
}

/* DeiWay transfer card 0.3.5 — faithful to approved booking rendering, isolated from themes. */
.dw-booking-widget,.dw-booking-widget *{box-sizing:border-box!important}
.dw-booking-widget{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;color:#153551!important;font-family:Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-card{display:block!important;width:100%!important;max-width:800px!important;margin:0 auto!important;padding:44px 46px!important;background:#fff!important;border:0!important;border-radius:30px!important;box-shadow:0 14px 40px rgba(12,44,68,.13)!important;color:#143550!important;overflow:hidden!important}
.dw-booking-widget h2{font:700 clamp(29px,3vw,39px)/1.15 Georgia,'Times New Roman',serif!important;letter-spacing:-.035em!important;color:#12324e!important;margin:0 0 26px!important;padding:0!important;text-transform:none!important}
.dw-booking-widget .dw-booking-form{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;max-width:100%!important}
.dw-booking-widget .dw-booking-fields{display:flex!important;flex-direction:column!important;gap:20px!important;min-width:0!important;width:100%!important}
.dw-booking-widget .dw-booking-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:4px!important;width:100%!important;margin:0 0 5px!important;padding:5px!important;border-radius:16px!important;background:#f1f4f6!important}
.dw-booking-widget .dw-booking-tab{position:relative!important;display:block!important;margin:0!important;padding:0!important;min-width:0!important;cursor:pointer!important}
.dw-booking-widget .dw-booking-tab>input{position:absolute!important;opacity:0!important;inset:0!important;width:100%!important;height:100%!important;cursor:pointer!important;margin:0!important}
.dw-booking-widget .dw-booking-tab>span{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:61px!important;padding:8px!important;border-radius:12px!important;background:transparent!important;color:#586c82!important;font:700 16px/1.2 Arial,Helvetica,sans-serif!important;text-align:center!important;white-space:normal!important;transition:background .12s!important}
.dw-booking-widget .dw-booking-tab>input:checked+span{background:#12324e!important;color:#fff!important}
.dw-booking-widget .dw-booking-tab>input:focus-visible+span{outline:3px solid #c09a53!important;outline-offset:2px!important}
.dw-booking-widget .dw-booking-field{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;color:#31485f!important;font:700 15px/1.3 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-field>span{color:#31485f!important;font:700 15px/1.3 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-field input:not([type=checkbox]),.dw-booking-widget .dw-booking-field select{display:block!important;min-width:0!important;max-width:100%!important;width:100%!important;height:74px!important;min-height:74px!important;margin:0!important;padding:0 22px!important;appearance:auto!important;background:#fff!important;border:1.5px solid #d9e4eb!important;border-radius:18px!important;box-shadow:none!important;color:#153551!important;font:400 19px/1.35 Arial,Helvetica,sans-serif!important;text-transform:none!important;outline:none!important}
.dw-booking-widget .dw-booking-field input::placeholder{color:#8ca0ae!important;opacity:1!important}
.dw-booking-widget .dw-booking-field input:focus,.dw-booking-widget .dw-booking-field select:focus{border-color:#b99557!important;box-shadow:0 0 0 3px #d9b66f30!important}
.dw-booking-widget .dw-booking-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start!important;max-width:100%!important;min-width:0!important}
.dw-booking-widget .dw-booking-return{display:block!important;background:#fcfaf5!important;border:1px solid #ecdfc9!important;padding:18px!important;border-radius:16px!important}
.dw-booking-widget .dw-booking-return[hidden]{display:none!important}
.dw-booking-widget .dw-booking-return-title{font:700 15px/1.3 Arial,Helvetica,sans-serif!important;color:#a27e40!important;margin:0 0 12px!important}
.dw-booking-widget .dw-booking-return-hint{margin:12px 0 0!important;color:#75899b!important;font:400 12px/1.5 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-price{margin:0!important;min-height:0!important;font:700 15px/1.3 Arial,Helvetica,sans-serif!important;color:#12324e!important}
.dw-booking-widget .dw-booking-price:empty{display:none!important}
.dw-booking-widget .dw-booking-error{border-left:3px solid #bd6a56!important;background:#fff6f2!important;margin:0!important;padding:10px!important;color:#9a402b!important;font:600 13px/1.4 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-error[hidden]{display:none!important}
.dw-booking-widget .dw-booking-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;width:100%!important;min-height:77px!important;margin:28px 0 0!important;padding:18px!important;color:#fff!important;background:#c09a53!important;border:0!important;border-radius:17px!important;font:700 19px/1.2 Arial,Helvetica,sans-serif!important;box-shadow:none!important;text-decoration:none!important;cursor:pointer!important;transition:filter .12s!important}
.dw-booking-widget .dw-booking-submit:hover{filter:brightness(1.07)!important;color:#fff!important}
.dw-booking-widget .dw-booking-submit:disabled{cursor:not-allowed!important;opacity:.6!important}
.dw-booking-widget .dw-booking-footnote{font:400 14px/1.35 Arial,Helvetica,sans-serif!important;letter-spacing:.04em!important;color:#8192a2!important;margin:18px 0 0!important;text-align:center!important}
.dw-booking-widget .dw-booking-availability{font:400 13px/1.5 Arial,Helvetica,sans-serif!important;color:#8e6c2a!important;text-align:center!important;margin:12px 0 0!important}
.dw-booking-widget .dw-booking-details{display:flex!important;flex-direction:column!important;gap:18px!important;margin:26px 0 0!important;padding:26px 0 0!important;border-top:1px solid #e2e7ee!important}
.dw-booking-widget .dw-booking-details h3{font:700 25px/1.2 Georgia,serif!important;color:#143550!important;margin:0!important}
.dw-booking-widget .dw-booking-terms{display:flex!important;align-items:flex-start!important;flex-direction:row!important;gap:10px!important;color:#526579!important;font:400 13px/1.5 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-booking-terms input{margin:3px 0 0!important;flex:0 0 auto!important;width:18px!important;height:18px!important;min-height:18px!important}
.dw-booking-widget .dw-booking-terms span{font-size:13px!important;line-height:1.5!important;color:#526579!important}
@media(max-width:767px){
.dw-booking-widget .dw-booking-card{padding:25px 22px!important;border-radius:24px!important}
.dw-booking-widget h2{font-size:clamp(25px,6.8vw,33px)!important;margin-bottom:20px!important}
.dw-booking-widget .dw-booking-fields{gap:14px!important}
.dw-booking-widget .dw-booking-tab>span{min-height:46px!important;font-size:13px!important;padding:8px 4px!important}
.dw-booking-widget .dw-booking-field>span{font-size:13px!important}
.dw-booking-widget .dw-booking-field input:not([type=checkbox]),.dw-booking-widget .dw-booking-field select{height:53px!important;min-height:53px!important;border-radius:12px!important;padding:0 12px!important;font-size:16px!important}
.dw-booking-widget .dw-booking-pair{gap:10px!important}
.dw-booking-widget .dw-booking-return{padding:12px!important}
.dw-booking-widget .dw-booking-submit{min-height:58px!important;margin-top:20px!important;border-radius:12px!important;font-size:15px!important}
.dw-booking-widget .dw-booking-footnote{font-size:11px!important}
}
@media(max-width:355px){.dw-booking-widget .dw-booking-card{padding:22px 14px!important}.dw-booking-widget .dw-booking-pair{gap:6px!important}.dw-booking-widget .dw-booking-field input:not([type=checkbox]),.dw-booking-widget .dw-booking-field select{padding:0 7px!important;font-size:14px!important}}
/* 0.3.7: removed the old desktop hero expansion. Original DeiWay column sizing remains in control. */

/* 0.3.6: keep APPROVED booking-card proportions. Replace only browser-native calendar/time UI. */
.dw-booking-widget .dw-booking-card{overflow:visible!important}
.dw-booking-widget .dw-datetime-field>label{display:block!important;margin:0!important;padding:0!important}
.dw-booking-widget .dw-datetime-field>label>span{font:700 15px/1.3 Arial,Helvetica,sans-serif!important;color:#31485f!important}
.dw-booking-widget .dw-picker-host{position:relative!important;min-width:0!important;width:100%!important}
.dw-booking-widget .dw-picker-host>.dw-picker-native{width:100%!important}
.dw-booking-widget .dw-picker-trigger{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  width:100%!important;min-width:0!important;height:74px!important;min-height:74px!important;
  margin:0!important;padding:0 20px!important;box-sizing:border-box!important;
  border:1.5px solid #d9e4eb!important;border-radius:18px!important;background:#fff!important;
  text-align:left!important;color:#153551!important;box-shadow:none!important;
  font:400 19px/1.3 Arial,Helvetica,sans-serif!important;cursor:pointer!important;
}
.dw-booking-widget .dw-picker-trigger:hover{border-color:#bfcbda!important}
.dw-booking-widget .dw-picker-trigger:focus-visible{outline:3px solid rgba(192,154,83,.38)!important;outline-offset:1px!important}
.dw-booking-widget .dw-picker-trigger:disabled{opacity:.55!important;cursor:not-allowed!important}
.dw-booking-widget .dw-picker-trigger.dw-picker-empty .dw-picker-display{color:#8ca0ae!important}
.dw-booking-widget .dw-picker-display{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dw-booking-widget .dw-picker-icon{display:inline-flex!important;color:#748fa5!important;flex:none!important}
.dw-picker-popup[hidden]{display:none!important}
.dw-picker-popup{
  position:fixed!important;top:0;left:0;z-index:2147483000!important;display:block!important;
  width:min(334px,calc(100vw - 20px))!important;padding:17px!important;box-sizing:border-box!important;
  border-radius:18px!important;border:1px solid #dfe7ec!important;
  background:#fff!important;box-shadow:0 22px 58px rgba(11,39,62,.25)!important;
  color:#12324e!important;font-family:Arial,Helvetica,sans-serif!important;
}
.dw-cal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px}
.dw-cal-title{font-size:17px;color:#12324e;text-transform:capitalize;font-weight:800;text-align:center}
.dw-cal-header button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#f4f6f7;border:0;border-radius:10px;color:#12324e;cursor:pointer;font-size:25px;line-height:1}
.dw-cal-header button:hover{background:#e6ebef}
.dw-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;align-items:center}
.dw-cal-weekday{display:flex;justify-content:center;align-items:center;height:26px;font-size:12px;font-weight:700;color:#7a8996;text-transform:capitalize}
.dw-cal-grid button.dw-cal-day{height:36px!important;min-height:36px!important;min-width:0!important;padding:0!important;margin:0!important;background:#fff!important;border:0!important;border-radius:10px!important;box-shadow:none!important;color:#12324e!important;font:600 13px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important}
.dw-cal-grid button.dw-cal-day:hover:not(:disabled){background:#f6f0e3!important;color:#12324e!important}
.dw-cal-grid button.dw-cal-day.is-selected{background:#12324e!important;color:#fff!important}
.dw-cal-grid button.dw-cal-day.is-today:not(.is-selected){outline:1px solid #bc9551!important;outline-offset:-2px!important}
.dw-cal-grid button.dw-cal-day:disabled{opacity:.25!important;cursor:not-allowed!important}
.dw-time-header{padding:0 0 12px;font-size:16px;font-weight:800;color:#12324e}
.dw-time-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c8d6e1 transparent}
.dw-time-list .dw-time-option{display:block!important;width:100%!important;min-height:38px!important;padding:6px 4px!important;margin:0!important;border:0!important;border-radius:9px!important;box-shadow:none!important;background:#f5f7f9!important;color:#12324e!important;font:600 13px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important}
.dw-time-list .dw-time-option:hover{background:#f3eadb!important}
.dw-time-list .dw-time-option.is-selected{background:#12324e!important;color:white!important}
@media(max-width:767px){
  .dw-booking-widget .dw-datetime-field>label>span{font-size:13px!important}
  .dw-booking-widget .dw-picker-trigger{height:53px!important;min-height:53px!important;border-radius:12px!important;padding:0 12px!important;font-size:16px!important}
  .dw-booking-widget .dw-picker-icon svg{width:17px;height:17px}
  .dw-picker-popup{padding:13px!important;border-radius:15px!important}
}
/* Hidden ISO fields are never laid out, even if a theme styles all inputs. */
.dw-booking-widget .dw-datetime-field input.dw-picker-enhanced[type="hidden"]{display:none!important;position:absolute!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;visibility:hidden!important}

/* DeiWay 0.3.7 desktop-only scale correction.
   Matched against the approved Home 1 HTML proportions; mobile CSS and picker popup unchanged. */
@media (min-width: 801px) {
  .dw-booking-widget .dw-booking-card {
    width:100%!important; max-width:485px!important;
    margin-inline:auto!important; padding:25px 27px!important;
    border-radius:15px!important;
    box-shadow:0 20px 45px rgba(3,21,37,.19)!important;
  }
  .dw-booking-widget h2 {
    font:600 24px/1.2 Georgia,'Times New Roman',serif!important;
    letter-spacing:-.025em!important;
    margin:0 0 16px!important;
  }
  .dw-booking-widget .dw-booking-fields { gap:11px!important; }
  .dw-booking-widget .dw-booking-tabs {
    padding:3px!important; gap:3px!important;
    border-radius:9px!important; margin:0 0 5px!important;
  }
  .dw-booking-widget .dw-booking-tab>span {
    min-height:37px!important; padding:8px 4px!important;
    border-radius:7px!important; font-size:11px!important;
  }
  .dw-booking-widget .dw-booking-field { gap:6px!important; }
  .dw-booking-widget .dw-booking-field>span,
  .dw-booking-widget .dw-datetime-field>label>span {
    font:800 11.5px/1.35 Arial,Helvetica,sans-serif!important;
  }
  .dw-booking-widget .dw-booking-field input:not([type=checkbox]),
  .dw-booking-widget .dw-booking-field select,
  .dw-booking-widget .dw-picker-trigger {
    height:45px!important; min-height:45px!important;
    padding:0 13px!important; border-radius:9px!important;
    border-width:1px!important; font-size:13px!important;
    line-height:1.25!important;
  }
  .dw-booking-widget .dw-booking-pair { gap:12px!important; }
  .dw-booking-widget .dw-booking-return {padding:12px!important; border-radius:10px!important;}
  .dw-booking-widget .dw-booking-return-title {font-size:12px!important;margin-bottom:9px!important;}
  .dw-booking-widget .dw-booking-return-hint {font-size:11px!important;margin-top:8px!important;}
  .dw-booking-widget .dw-booking-price {font-size:12px!important;}
  .dw-booking-widget .dw-booking-submit {
    min-height:46px!important; margin:17px 0 0!important;
    padding:12px 15px!important; border-radius:9px!important;
    font:800 13px/1.3 Arial,Helvetica,sans-serif!important;
  }
  .dw-booking-widget .dw-booking-submit span {font-size:17px!important;}
  .dw-booking-widget .dw-booking-footnote {
    margin:10px 0 0!important; font-size:10.5px!important;
    letter-spacing:0!important;
  }
  .dw-booking-widget .dw-booking-availability {font-size:11px!important;margin:7px 0 0!important;}
  .dw-booking-widget .dw-booking-details {gap:12px!important;margin-top:16px!important;padding-top:16px!important;}
  .dw-booking-widget .dw-booking-details h3 {font-size:20px!important;}
}

/* 0.3.8: dual-source autocomplete — fixed fares first, Google Maps second. */
.dw-booking-widget .dw-location-field{position:relative!important}
.dw-booking-widget .dw-location-field>label>span{display:block!important;color:#31485f!important;font:700 15px/1.3 Arial,Helvetica,sans-serif!important}
.dw-booking-widget .dw-location-control{position:relative!important;min-width:0!important;width:100%!important}
.dw-booking-widget .dw-location-dropdown{position:absolute!important;top:calc(100% + 5px)!important;left:0!important;right:0!important;max-height:295px!important;overflow-y:auto!important;z-index:999999!important;background:#fff!important;border:1px solid #d7e0e7!important;border-radius:13px!important;box-shadow:0 13px 35px rgba(9,36,61,.19)!important;padding:6px!important;text-align:left!important}
.dw-booking-widget .dw-location-dropdown[hidden]{display:none!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-heading{display:block!important;padding:9px 10px 6px!important;font:800 10px/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#b38c45!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-google-heading{margin-top:5px!important;border-top:1px solid #ecf0f3!important;color:#58718a!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-option{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-height:40px!important;margin:0!important;padding:10px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;text-align:left!important;cursor:pointer!important;color:#12324e!important;line-height:1.3!important;text-transform:none!important;letter-spacing:normal!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-option:hover,.dw-booking-widget .dw-location-dropdown .dw-suggest-option.is-active{background:#f3f5f7!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-title{font:600 12px/1.4 Arial,Helvetica,sans-serif!important;min-width:0!important;word-break:normal!important;overflow-wrap:anywhere!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-price{font:800 12px/1.3 Arial,Helvetica,sans-serif!important;color:#a37b36!important;white-space:nowrap!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-empty{padding:12px!important;font:400 12px/1.4 Arial,Helvetica,sans-serif!important;color:#718597!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-attribution{text-align:right!important;font:700 11px/1.3 Arial,Helvetica,sans-serif!important;color:#64748b!important;padding:7px 8px 4px!important}
@media (min-width:801px){.dw-booking-widget .dw-location-field>label>span{font:800 11.5px/1.35 Arial,Helvetica,sans-serif!important}}
@media (max-width:767px){.dw-booking-widget .dw-location-field>label>span{font-size:13px!important}.dw-booking-widget .dw-location-dropdown{max-height:225px!important}.dw-booking-widget .dw-location-dropdown .dw-suggest-option{min-height:38px!important}}
/* 0.3.9: location results and complete fixed routes inside existing popup, no card resizing. */
.dw-booking-widget .dw-location-dropdown .dw-suggest-location .dw-suggest-title{font-weight:700!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-count{color:#657b8d!important;font:500 10px/1.35 Arial,Helvetica,sans-serif!important;white-space:nowrap!important;flex-shrink:0!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-routes-heading{margin-top:4px!important;border-top:1px solid #edf0f3!important}
.dw-booking-widget .dw-location-dropdown .dw-suggest-option:focus-visible{outline:2px solid #176aa2!important;outline-offset:-2px!important}

/* DeiWay 0.3.10 – dedicated booking page, not the approved compact Home card. */
.dw-booking-widget.dw-booking-full{width:100%!important;max-width:1160px!important;margin:10px auto 44px!important;padding:0 18px!important}
.dw-booking-widget.dw-booking-full .dw-booking-card{max-width:1140px!important;width:100%!important;padding:0!important;border-radius:26px!important;overflow:visible!important;background:#fff!important;border:1px solid #e2e9ee!important;box-shadow:0 25px 65px rgba(17,47,72,.1)!important}
.dw-booking-full .dw-full-header{padding:40px 46px 31px!important;background:linear-gradient(120deg,#10324d 0%,#174c60 63%,#206a72 100%)!important;border-radius:26px 26px 0 0!important;position:relative!important;overflow:hidden!important}
.dw-booking-full .dw-full-header:before{content:""!important;position:absolute!important;width:270px!important;height:270px!important;right:-92px!important;top:-170px!important;border:1px solid rgba(255,255,255,.23)!important;border-radius:50%!important;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.025)!important;pointer-events:none!important}
.dw-booking-full .dw-full-kicker{display:block!important;color:#e8c996!important;font:800 11px/1.4 Arial,sans-serif!important;letter-spacing:.15em!important;margin:0 0 10px!important}
.dw-booking-widget.dw-booking-full h2{color:#fff!important;font:700 clamp(30px,3.8vw,44px)/1.13 Georgia,serif!important;letter-spacing:-.04em!important;margin:0 0 10px!important}
.dw-booking-full .dw-full-header>p{font:400 15px/1.6 Arial,sans-serif!important;margin:0 0 24px!important;color:#d8e6ed!important;max-width:640px!important}
.dw-booking-full .dw-full-steps{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important;margin:0!important}
.dw-booking-full .dw-full-steps>span{display:flex!important;align-items:center!important;gap:8px!important;color:#d3e1e8!important;font:600 12px/1.4 Arial,sans-serif!important}
.dw-booking-full .dw-full-steps>span>b{width:25px!important;height:25px!important;display:inline-grid!important;place-items:center!important;border-radius:50%!important;border:1px solid #6b909d!important;color:#d1e6e8!important;font:700 12px/1 Arial,sans-serif!important}
.dw-booking-full .dw-full-steps>span.is-complete b{background:#d5b77b!important;border-color:#d5b77b!important;color:#17364c!important}
.dw-booking-full .dw-full-steps>span.is-current{color:#fff!important}
.dw-booking-full .dw-full-steps>span.is-current b{background:#fff!important;border-color:#fff!important;color:#174358!important}
.dw-booking-full .dw-full-columns{display:grid!important;grid-template-columns:minmax(0,1fr) 298px!important;gap:30px!important;padding:36px 43px 14px!important;align-items:start!important;width:100%!important}
.dw-booking-full .dw-full-primary{min-width:0!important}
.dw-booking-full .dw-full-edit{border:1px solid #e1e9ee!important;border-radius:16px!important;padding:0!important;margin:0 0 24px!important;background:#fff!important}
.dw-booking-full .dw-full-edit>summary{list-style:none!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:57px!important;padding:14px 18px!important;color:#25465a!important;font:700 14px/1.4 Arial,sans-serif!important;cursor:pointer!important}
.dw-booking-full .dw-full-edit>summary::-webkit-details-marker{display:none!important}
.dw-booking-full .dw-full-edit[open]>summary{border-bottom:1px solid #e5ebf0!important}
.dw-booking-full .dw-full-edit-icon{display:inline-grid!important;place-items:center!important;height:29px!important;width:29px!important;border-radius:8px!important;background:#e8f1f2!important;color:#1b6671!important;font-size:17px!important}
.dw-booking-full .dw-full-edit-chevron{margin-left:auto!important;color:#68838b!important;transition:transform .14s}
.dw-booking-full .dw-full-edit[open] .dw-full-edit-chevron{transform:rotate(180deg)}
.dw-booking-full .dw-full-edit-content{padding:20px!important}
.dw-booking-widget.dw-booking-full .dw-booking-details{margin:0!important;padding:0!important;border:0!important;gap:18px!important}
.dw-booking-full .dw-full-section-heading{display:flex!important;align-items:flex-start!important;gap:13px!important;margin:1px 0 8px!important}
.dw-booking-full .dw-full-section-number{display:grid!important;place-items:center!important;width:39px!important;height:39px!important;flex:0 0 39px!important;background:#f2e7d1!important;color:#8f6e32!important;border-radius:11px!important;font:700 14px/1.3 Arial,sans-serif!important}
.dw-booking-widget.dw-booking-full .dw-booking-details h3{color:#153951!important;font:700 27px/1.15 Georgia,serif!important;letter-spacing:-.02em!important;margin:0 0 3px!important}
.dw-booking-full .dw-full-section-heading p{color:#72869a!important;font:400 12px/1.5 Arial,sans-serif!important;margin:0!important}
.dw-booking-widget.dw-booking-full .dw-booking-field>span,.dw-booking-full .dw-full-phone-field>label>span{font:700 13px/1.4 Arial,sans-serif!important;color:#2c495f!important}
.dw-booking-widget.dw-booking-full .dw-booking-field input:not([type=checkbox]),.dw-booking-widget.dw-booking-full .dw-booking-field select{height:56px!important;min-height:56px!important;border-radius:12px!important;padding:0 15px!important;font:400 15px/1.3 Arial,sans-serif!important;background:#fbfcfd!important}
.dw-booking-full .dw-full-phone-field>label{display:block!important;margin:0!important;font:700 13px/1.4 Arial,sans-serif!important}
.dw-booking-full .dw-full-phone-control{display:grid!important;grid-template-columns:139px minmax(0,1fr)!important;gap:7px!important;min-width:0!important;width:100%!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{display:block!important;width:139px!important;min-width:0!important;height:56px!important;min-height:56px!important;padding:0 6px!important;border-radius:12px!important;border:1.5px solid #d9e4eb!important;background:#fff!important;font-size:13px!important;line-height:1.2!important;color:#153551!important;box-shadow:none!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control input[type="tel"]{width:100%!important;min-width:0!important;height:56px!important;min-height:56px!important;padding:0 12px!important;border-radius:12px!important}
.dw-booking-full .dw-full-phone-field small{font:400 11px/1.4 Arial,sans-serif!important;color:#778a98!important;margin-top:-2px!important}
.dw-booking-widget.dw-booking-full .dw-booking-pair{gap:15px!important}
.dw-booking-full .dw-full-optional-row{margin-top:1px!important}
.dw-booking-full .dw-booking-terms{background:#f7f9fa!important;padding:15px!important;border:1px solid #e7edf1!important;border-radius:12px!important;margin:8px 0 0!important}
.dw-booking-full .dw-full-aside{min-width:0!important}
.dw-booking-full .dw-full-summary{background:#f7faf9!important;border:1px solid #e0eae7!important;border-radius:18px!important;padding:23px!important;color:#233f50!important}
.dw-booking-full .dw-full-summary-kicker{font:800 11px/1.3 Arial,sans-serif!important;color:#387578!important;text-transform:uppercase!important;letter-spacing:.12em!important;display:block!important;margin:0 0 22px!important}
.dw-booking-full .dw-full-route{display:grid!important;grid-template-columns:12px minmax(0,1fr)!important;column-gap:11px!important;row-gap:0!important;margin:0 0 23px!important}
.dw-booking-full .dw-full-route strong{font:700 14px/1.5 Arial,sans-serif!important;color:#143a52!important;overflow-wrap:anywhere!important}
.dw-booking-full .dw-full-dot{display:block!important;align-self:center!important;width:11px!important;height:11px!important;background:#fff!important;border:3px solid #be9851!important;border-radius:50%!important}
.dw-booking-full .dw-full-route-line{width:1px!important;height:27px!important;background:#b5c5ca!important;margin:0 0 0 5px!important}
.dw-booking-full .dw-full-dot-end{background:#1b6b6d!important;border-color:#1b6b6d!important}
.dw-booking-full .dw-full-summary-row{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:12px!important;padding:10px 0!important;border-top:1px solid #e2eae9!important;font:400 12px/1.5 Arial,sans-serif!important;color:#71818c!important}
.dw-booking-full .dw-full-summary-row[hidden]{display:none!important}
.dw-booking-full .dw-full-summary-row strong{color:#1b3a4b!important;font:700 12px/1.4 Arial,sans-serif!important;text-align:right!important}
.dw-booking-full .dw-full-total{margin:17px 0 0!important;padding:18px 0 0!important;border-top:2px solid #b8d3d0!important;display:flex!important;flex-direction:column!important;gap:5px!important}
.dw-booking-full .dw-full-total>span{font:700 12px/1.5 Arial,sans-serif!important;color:#526b76!important}
.dw-booking-full .dw-full-total strong{font:700 27px/1.3 Georgia,serif!important;color:#0c4751!important}
.dw-booking-full .dw-full-summary-note{font:400 11px/1.5 Arial,sans-serif!important;color:#778a91!important;margin:12px 0 0!important}
.dw-booking-full .dw-full-trust{display:flex!important;gap:10px!important;align-items:center!important;color:#657986!important;font:600 12px/1.45 Arial,sans-serif!important;margin:16px 0 0 5px!important}
.dw-booking-full .dw-full-trust span{color:#2b8380!important;font-size:17px!important}
.dw-booking-full .dw-full-footer{max-width:660px!important;width:100%!important;padding:0 43px 38px!important;margin:0!important}
.dw-booking-widget.dw-booking-full .dw-booking-submit{min-height:61px!important;border-radius:12px!important;margin:10px 0 0!important;font-size:15px!important;background:#ba9251!important}
.dw-booking-widget.dw-booking-full .dw-booking-footnote{margin-top:12px!important;font-size:11px!important}
@media(max-width:940px){
.dw-booking-full .dw-full-columns{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;padding:26px!important}
.dw-booking-full .dw-full-aside{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.dw-booking-full .dw-full-footer{max-width:none!important;padding:0 26px 28px!important}
.dw-booking-full .dw-full-header{padding:30px 26px 27px!important}
}
@media(max-width:600px){
.dw-booking-widget.dw-booking-full{padding:0 8px!important;margin:6px auto 25px!important}
.dw-booking-widget.dw-booking-full .dw-booking-card{border-radius:18px!important}
.dw-booking-full .dw-full-header{border-radius:18px 18px 0 0!important;padding:25px 20px!important}
.dw-booking-full .dw-full-header>p{font-size:13px!important;margin-bottom:18px!important}
.dw-booking-full .dw-full-steps{gap:10px!important}
.dw-booking-full .dw-full-steps>span{font-size:10px!important;gap:4px!important}
.dw-booking-full .dw-full-steps>span>b{width:22px!important;height:22px!important;font-size:11px!important}
.dw-booking-full .dw-full-columns{padding:22px 18px 8px!important;gap:17px!important}
.dw-booking-full .dw-full-edit-content{padding:13px!important}
.dw-booking-full .dw-full-section-heading h3{font-size:23px!important}
.dw-booking-widget.dw-booking-full .dw-booking-pair{grid-template-columns:1fr!important;gap:14px!important}
.dw-booking-full .dw-full-phone-control{grid-template-columns:135px minmax(0,1fr)!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{width:135px!important}
.dw-booking-full .dw-full-footer{padding:0 18px 25px!important}
.dw-booking-full .dw-full-summary{padding:19px!important}
.dw-booking-full .dw-full-trust{font-size:11px!important}
}
@media(max-width:365px){
.dw-booking-full .dw-full-phone-control{grid-template-columns:114px minmax(0,1fr)!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{width:114px!important;font-size:12px!important}
}


/* DeiWay 0.3.11 — checkout compact + journey route grid repair + IVA detail.
   All changes are scoped to checkout; approved Home widget dimensions are untouched. */
.dw-booking-widget.dw-booking-full{max-width:990px!important;margin:8px auto 32px!important;padding:0 12px!important}
.dw-booking-widget.dw-booking-full .dw-booking-card{max-width:966px!important;border-radius:20px!important;overflow:visible!important}
.dw-booking-full .dw-full-header{padding:28px 32px 23px!important;border-radius:20px 20px 0 0!important}
.dw-booking-widget.dw-booking-full h2{font-size:clamp(27px,3vw,35px)!important}
.dw-booking-full .dw-full-header>p{font-size:13px!important;margin-bottom:16px!important}
.dw-booking-full .dw-full-columns{grid-template-columns:minmax(0,1fr) 288px!important;gap:22px!important;padding:25px 30px 12px!important}
.dw-booking-full .dw-full-edit{margin-bottom:19px!important}
.dw-booking-full .dw-full-edit>summary{min-height:46px!important;padding:11px 14px!important}
.dw-booking-widget.dw-booking-full .dw-booking-details{gap:14px!important}
.dw-booking-widget.dw-booking-full .dw-booking-details h3{font-size:23px!important}
.dw-booking-widget.dw-booking-full .dw-booking-field input:not([type=checkbox]),
.dw-booking-widget.dw-booking-full .dw-booking-field select{height:49px!important;min-height:49px!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control input[type="tel"],
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{height:49px!important;min-height:49px!important}
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{width:118px!important}
.dw-booking-full .dw-full-phone-control{grid-template-columns:118px minmax(0,1fr)!important}
.dw-booking-full .dw-full-summary{padding:18px!important;border-radius:15px!important}
.dw-booking-full .dw-full-summary-kicker{margin-bottom:14px!important}
/* Original markup has five nodes (line included). Remove line from normal grid flow,
   or destination wrongly enters 12px-wide first column and wraps one character per line. */
.dw-booking-full .dw-full-route{
 position:relative!important;display:grid!important;
 grid-template-columns:13px minmax(0,1fr)!important;
 grid-template-rows:auto auto!important;
 column-gap:12px!important;row-gap:12px!important;
 width:100%!important;min-width:0!important;margin:0 0 17px!important;
}
.dw-booking-full .dw-full-route strong{
 display:block!important;grid-column:2!important;min-width:0!important;width:100%!important;
 word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;
 white-space:normal!important;font-size:13px!important;line-height:1.4!important;
}
.dw-booking-full .dw-full-route [data-dw-summary-from]{grid-row:1!important}
.dw-booking-full .dw-full-route [data-dw-summary-to]{grid-row:2!important}
.dw-booking-full .dw-full-route>.dw-full-dot:not(.dw-full-dot-end){grid-column:1!important;grid-row:1!important}
.dw-booking-full .dw-full-route>.dw-full-dot-end{grid-column:1!important;grid-row:2!important}
.dw-booking-full .dw-full-route-line{
 position:absolute!important;left:5px!important;top:18px!important;bottom:17px!important;
 width:1px!important;height:auto!important;margin:0!important;pointer-events:none!important;
}
.dw-booking-full .dw-full-summary-row{padding:8px 0!important}
.dw-booking-full .dw-full-total{margin:13px 0 0!important;padding:13px 0 0!important;display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;flex-wrap:wrap!important;column-gap:5px!important;row-gap:2px!important}
.dw-booking-full .dw-full-total>span{font-size:12px!important;color:#173c51!important}
.dw-booking-full .dw-full-total strong{font-size:23px!important;line-height:1.25!important}
.dw-booking-full .dw-full-total small{font:400 10px/1.5 Arial,Helvetica,sans-serif!important;color:#617784!important;white-space:nowrap!important}
.dw-booking-full .dw-full-vat-detail{margin:4px 0 0!important;font:400 10.5px/1.5 Arial,Helvetica,sans-serif!important;color:#617784!important}
.dw-booking-full .dw-full-vat-detail:empty{display:none!important}
.dw-booking-full .dw-full-summary-note{margin-top:9px!important;font-size:10px!important}
.dw-booking-full .dw-full-trust{margin-top:11px!important;font-size:11px!important}
.dw-booking-full .dw-full-footer{padding:0 30px 26px!important}
@media(max-width:940px){
 .dw-booking-full .dw-full-columns{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding:23px!important}
 .dw-booking-full .dw-full-footer{padding:0 23px 26px!important}
 .dw-booking-full .dw-full-aside{min-width:0!important}
}
@media(max-width:600px){
 .dw-booking-widget.dw-booking-full{padding:0 6px!important}
 .dw-booking-full .dw-full-header{padding:23px 19px!important}
 .dw-booking-full .dw-full-columns{padding:18px 15px 9px!important;gap:16px!important}
 .dw-booking-full .dw-full-summary{padding:16px!important}
 .dw-booking-full .dw-full-footer{padding:0 15px 24px!important}
 .dw-booking-full .dw-full-phone-control{grid-template-columns:113px minmax(0,1fr)!important}
 .dw-booking-widget.dw-booking-full .dw-full-phone-control select{width:113px!important}
 .dw-booking-widget.dw-booking-full .dw-booking-details h3{font-size:22px!important}
}
@media(max-width:365px){
 .dw-booking-full .dw-full-phone-control{grid-template-columns:100px minmax(0,1fr)!important}
 .dw-booking-widget.dw-booking-full .dw-full-phone-control select{width:100px!important}
}


/* DeiWay 0.3.12 BETA — denser customer details, larger journey summary.
   Exclusively for the full checkout; Home booking styling is intentionally unchanged. */
@media (min-width:941px){
 .dw-booking-full .dw-full-columns{grid-template-columns:minmax(0,1fr) 312px!important;gap:20px!important;padding:21px 26px 8px!important}
}
.dw-booking-full .dw-full-edit{margin-bottom:13px!important}
.dw-booking-full .dw-full-edit>summary{min-height:43px!important;padding:9px 13px!important}
.dw-booking-widget.dw-booking-full .dw-booking-details{gap:10px!important}
.dw-booking-full .dw-full-section-heading{gap:10px!important;margin:0 0 3px!important}
.dw-booking-full .dw-full-section-number{width:35px!important;height:35px!important;flex-basis:35px!important;border-radius:10px!important}
.dw-booking-widget.dw-booking-full .dw-booking-details h3{font-size:22px!important;margin:0 0 2px!important}
.dw-booking-full .dw-full-section-heading p{font-size:12px!important;line-height:1.35!important}
.dw-booking-widget.dw-booking-full .dw-booking-field{gap:5px!important}
.dw-booking-widget.dw-booking-full .dw-booking-field>span,
.dw-booking-full .dw-full-phone-field>label>span{font-size:12.5px!important;line-height:1.3!important}
.dw-booking-widget.dw-booking-full .dw-booking-field input:not([type=checkbox]),
.dw-booking-widget.dw-booking-full .dw-booking-field select,
.dw-booking-widget.dw-booking-full .dw-full-phone-control input[type="tel"],
.dw-booking-widget.dw-booking-full .dw-full-phone-control select{
 height:45px!important;min-height:45px!important;border-radius:10px!important;
 font-size:14px!important;padding-top:0!important;padding-bottom:0!important;
}
.dw-booking-widget.dw-booking-full .dw-booking-pair{gap:11px!important}
.dw-booking-full .dw-full-optional-row{margin-top:0!important}
.dw-booking-full .dw-full-phone-field small{display:block!important;margin-top:0!important;font-size:10.5px!important;line-height:1.3!important}
.dw-booking-full .dw-booking-terms{gap:9px!important;margin:2px 0 0!important;padding:10px 12px!important;border-radius:10px!important}
.dw-booking-full .dw-booking-terms span{font-size:12px!important;line-height:1.4!important}
.dw-booking-full .dw-booking-terms input{width:17px!important;height:17px!important;min-height:17px!important}
.dw-booking-full .dw-full-footer{padding:0 26px 22px!important}
.dw-booking-widget.dw-booking-full .dw-booking-submit{min-height:51px!important;margin:9px 0 0!important;padding:12px!important;border-radius:11px!important;font-size:14px!important}

/* Summary: prioritize legibility over the previously tiny 11–13 px values. */
.dw-booking-full .dw-full-summary{padding:20px!important}
.dw-booking-full .dw-full-summary-kicker{font-size:13px!important;line-height:1.4!important;letter-spacing:.085em!important;margin-bottom:18px!important}
.dw-booking-full .dw-full-route{row-gap:14px!important;margin-bottom:19px!important}
.dw-booking-full .dw-full-route strong{font-size:17px!important;line-height:1.4!important}
.dw-booking-full .dw-full-summary-row{font-size:15px!important;line-height:1.4!important;padding:10px 0!important;gap:9px!important}
.dw-booking-full .dw-full-summary-row strong{font-size:16px!important;line-height:1.35!important;white-space:normal!important}
.dw-booking-full .dw-full-total{margin-top:16px!important;padding-top:15px!important;gap:4px 7px!important}
.dw-booking-full .dw-full-total>span{font-size:14px!important}
.dw-booking-full .dw-full-total strong{font-size:26px!important;line-height:1.25!important}
.dw-booking-full .dw-full-total small{font-size:11px!important}
.dw-booking-full .dw-full-vat-detail{font-size:11.5px!important;line-height:1.5!important;margin-top:5px!important}
.dw-booking-full .dw-full-summary-note{font-size:11.5px!important;line-height:1.45!important;margin-top:8px!important}
.dw-booking-full .dw-full-trust{font-size:12px!important;margin-top:10px!important}
@media (max-width:940px){
 .dw-booking-full .dw-full-columns{padding:20px!important;gap:17px!important}
 .dw-booking-full .dw-full-footer{padding:0 20px 23px!important}
}
@media (max-width:600px){
 .dw-booking-full .dw-full-columns{padding:15px 14px 8px!important;gap:13px!important}
 .dw-booking-full .dw-full-section-heading{gap:9px!important}
 .dw-booking-widget.dw-booking-full .dw-booking-details{gap:11px!important}
 .dw-booking-widget.dw-booking-full .dw-booking-pair{grid-template-columns:minmax(0,1fr)!important;gap:11px!important}
 .dw-booking-widget.dw-booking-full .dw-booking-field input:not([type=checkbox]),
 .dw-booking-widget.dw-booking-full .dw-booking-field select,
 .dw-booking-widget.dw-booking-full .dw-full-phone-control input[type="tel"],
 .dw-booking-widget.dw-booking-full .dw-full-phone-control select{height:46px!important;min-height:46px!important}
 .dw-booking-full .dw-full-summary{padding:18px!important}
 .dw-booking-full .dw-full-summary-kicker{font-size:12.5px!important}
 .dw-booking-full .dw-full-route strong{font-size:16px!important}
 .dw-booking-full .dw-full-summary-row{font-size:14.5px!important}
 .dw-booking-full .dw-full-footer{padding:0 14px 22px!important}
}

/* 0.3.14: explicit warning when admin-enabled, expiring no-payment demo is active. */
.dw-booking-widget .dr-demo-banner, .dr-status .dr-demo-banner{
  box-sizing:border-box!important;max-width:100%;margin:12px 0 16px!important;
  padding:13px 16px!important;border:1px solid #d5b77b!important;border-radius:12px!important;
  background:#fff8e6!important;color:#614518!important;font:500 13px/1.55 Arial,sans-serif!important;
}
.dw-booking-widget .dr-demo-banner strong,.dr-status .dr-demo-banner strong{
  color:#614518!important;font-weight:800!important;
}

/* 0.3.16 — route reversal without resizing the approved booking card. */
.dw-booking-widget .dw-booking-swap-line{display:flex!important;justify-content:flex-end!important;align-items:center!important;height:1px!important;margin:-9px 4px -8px!important;position:relative!important;z-index:20!important;pointer-events:none!important}
.dw-booking-widget .dw-booking-swap{pointer-events:auto!important;display:inline-flex!important;align-items:center!important;gap:5px!important;padding:4px 11px!important;height:34px!important;min-height:34px!important;border:1px solid #d6e2e8!important;border-radius:18px!important;background:#fff!important;color:#14546b!important;box-shadow:0 3px 10px #12324e14!important;font:700 12px/1 Arial,Helvetica,sans-serif!important;cursor:pointer!important}
.dw-booking-widget .dw-booking-swap span[aria-hidden]{font-size:21px!important;line-height:1!important}
.dw-booking-widget .dw-booking-swap:hover{border-color:#b89550!important;background:#fcf9f2!important}
.dw-booking-widget .dw-booking-swap:focus-visible{outline:2px solid #1c7894!important;outline-offset:2px!important}
@media(max-width:600px){.dw-booking-widget .dw-booking-swap-line{margin:-8px 2px -7px!important}.dw-booking-widget .dw-booking-swap{height:32px!important;min-height:32px!important}}
