.dabs-options,.dabs-app{--p:#087da8;--soft:#e7f6fc;--card:#fff;--ink:#102635;--muted:#687985;--line:#d6e4eb;--shadow:0 8px 28px rgba(24,66,91,.07);width:100%;max-width:1280px;margin:0 auto;font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.45}.dabs-options *,.dabs-app *{box-sizing:border-box}.dabs-options svg,.dabs-app svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dabs-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%}.dabs-card{min-width:0;display:flex;flex-direction:column;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 28px;box-shadow:var(--shadow);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dabs-card:hover{border-color:color-mix(in srgb,var(--p) 45%,#d6e4eb);box-shadow:0 12px 32px rgba(24,66,91,.1);transform:translateY(-2px)}.dabs-title{display:flex;align-items:flex-start;gap:14px}.dabs-title>div{min-width:0}.dabs-icon,.dabs-choice>div>.dabs-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--soft);color:var(--p);flex:0 0 46px}.dabs-title h3{font-size:18px;line-height:1.3;color:var(--ink)!important;margin:4px 0 4px;font-weight:700}.dabs-title p{font-size:13px;line-height:1.45;color:var(--muted)!important;margin:0;overflow-wrap:anywhere}.dabs-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:27px}.dabs-meta small,.dabs-card footer small{display:block;font-size:11px;letter-spacing:.09em;color:#71828d}.dabs-meta b{display:block;margin-top:5px;font-size:14px;color:#071b27}.dabs-card footer{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.dabs-card footer strong{font-size:24px;line-height:1.1;color:var(--p);display:block;margin-top:5px}.dabs-card footer a,.dabs-next,.dabs-actions a{display:inline-flex;align-items:center;justify-content:center;background:var(--p)!important;color:#fff!important;text-decoration:none!important;border:1px solid var(--p)!important;border-radius:9px;padding:11px 19px;font-weight:700;font-size:14px;line-height:1.2;cursor:pointer;box-shadow:none!important;transition:filter .18s ease,transform .18s ease}.dabs-card footer a:hover,.dabs-card footer a:focus,.dabs-next:hover,.dabs-next:focus,.dabs-actions a:hover,.dabs-actions a:focus{background:var(--p)!important;color:#fff!important;border-color:var(--p)!important;filter:brightness(.92);transform:translateY(-1px)}.dabs-app{overflow:visible}.dabs-stepper{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;width:100%;margin:0 0 28px;overflow-x:auto;padding:2px 0 5px}.dabs-step{display:flex;align-items:center;gap:9px;color:#87969e;white-space:nowrap;flex:none}.dabs-step span{display:grid;place-items:center;width:34px;height:34px;background:#edf2f4;border-radius:50%;font-weight:700;font-size:13px;color:#87969e}.dabs-step b{font-size:14px;color:inherit}.dabs-step.active,.dabs-step.done{color:var(--ink)}.dabs-step.active span,.dabs-step.done span{background:var(--p);color:#fff}.dabs-stepper i{flex:1 1 72px;min-width:28px;max-width:74px;height:1px;background:#d5e1e7}.dabs-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.95fr);gap:30px;width:100%;align-items:start}.dabs-layout main,.dabs-summary,.dabs-why{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.dabs-layout main{padding:34px 36px}.dabs-layout aside{min-width:0}.dabs-stage h2{font-size:27px;line-height:1.25;color:var(--ink)!important;margin:0 0 8px;font-weight:600}.dabs-stage>p{font-size:15px;color:var(--muted)!important;margin:0}.dabs-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:27px}.dabs-app button.dabs-choice{appearance:none;-webkit-appearance:none;width:100%;min-width:0;background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:13px!important;padding:19px!important;text-align:left!important;cursor:pointer;box-shadow:none!important;transform:none!important;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.dabs-app button.dabs-choice:hover,.dabs-app button.dabs-choice:focus{background:#fff!important;color:var(--ink)!important;border-color:var(--p)!important;box-shadow:0 7px 20px rgba(24,66,91,.07)!important}.dabs-app button.dabs-choice.selected,.dabs-app button.dabs-choice.selected:hover,.dabs-app button.dabs-choice.selected:focus{border-color:var(--p)!important;background:var(--soft)!important;color:var(--ink)!important}.dabs-choice>div{display:flex;gap:12px;align-items:flex-start}.dabs-choice>div>div{min-width:0}.dabs-choice b,.dabs-choice small{display:block;color:var(--ink)!important}.dabs-choice b{font-size:16px;line-height:1.3}.dabs-choice p,.dabs-choice small{font-size:12px;color:var(--muted)!important;margin:3px 0 0;overflow-wrap:anywhere}.dabs-choice footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px}.dabs-choice footer strong{font-size:20px;color:var(--p)!important}.dabs-choice footer small{font-size:12px}.dabs-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:34px}.dabs-app button.dabs-back{appearance:none;background:#fff!important;color:#d12f60!important;border:1px solid var(--line)!important;border-radius:9px!important;padding:10px 17px!important;font-weight:700;box-shadow:none!important}.dabs-app button.dabs-back:hover,.dabs-app button.dabs-back:focus{background:#fff!important;color:#d12f60!important;border-color:#d12f60!important}.dabs-next:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.dabs-summary,.dabs-why{padding:24px 25px}.dabs-summary h3,.dabs-why h3{font-size:16px;color:var(--ink)!important;margin:0 0 18px}.dabs-summary dl{margin:0}.dabs-summary dl>div{display:flex;justify-content:space-between;gap:18px;margin:15px 0}.dabs-summary dt{font-size:11px;letter-spacing:.08em;color:#80909a}.dabs-summary dd{text-align:right;margin:0;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.dabs-summary dd small{display:block}.dabs-fee{display:flex;justify-content:space-between;align-items:center;background:var(--soft);padding:15px 17px;border-radius:10px;margin-top:18px}.dabs-fee strong{font-size:22px;color:var(--p)}.dabs-why{margin-top:20px}.dabs-why ul{list-style:none;padding:0;margin:0}.dabs-why li{display:flex;align-items:center;gap:13px;margin:16px 0}.dabs-why li>.dabs-icon{width:42px;height:42px;flex-basis:42px}.dabs-why b,.dabs-why small{display:block}.dabs-why b{color:var(--ink);font-size:15px}.dabs-why small{font-size:12px;color:#74858f}.dabs-stage h4{font-size:15px;color:var(--ink)!important;margin:30px 0 13px}.dabs-dates{display:flex;gap:10px;flex-wrap:wrap}.dabs-app .dabs-dates button,.dabs-app .dabs-times button{appearance:none;background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none!important;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.dabs-app .dabs-dates button{min-width:82px;padding:12px 11px;border-radius:12px!important}.dabs-app .dabs-dates button:hover,.dabs-app .dabs-times button:hover{background:#fff!important;color:var(--ink)!important;border-color:var(--p)!important}.dabs-app .dabs-dates button.selected,.dabs-app .dabs-dates button.selected:hover,.dabs-app .dabs-times button.selected,.dabs-app .dabs-times button.selected:hover{background:var(--p)!important;color:#fff!important;border-color:var(--p)!important}.dabs-dates small,.dabs-dates b{display:block;color:inherit!important}.dabs-dates b{font-size:15px;margin-top:2px}.dabs-times{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.dabs-app .dabs-times button{padding:12px 7px;border-radius:9px!important;font-size:14px}.dabs-times button:disabled{opacity:.4;cursor:not-allowed}.dabs-app button.dabs-walkin{appearance:none;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:18px 20px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;border-radius:12px!important;box-shadow:none!important}.dabs-app button.dabs-walkin:hover,.dabs-app button.dabs-walkin:focus,.dabs-app button.dabs-walkin.selected{background:var(--soft)!important;color:var(--ink)!important;border-color:var(--p)!important}.dabs-walkin b{font-size:17px}.dabs-walkin small{display:block;color:var(--muted)!important;text-align:right}.dabs-form{display:grid;gap:17px;margin-top:25px}.dabs-form label{font-size:13px;font-weight:700;color:var(--ink)}.dabs-form input,.dabs-form textarea{width:100%;display:block;margin-top:7px;background:#fff!important;color:var(--ink)!important;border:1px solid #cbdbe3!important;border-radius:9px!important;padding:12px 14px!important;font:inherit;box-shadow:none!important}.dabs-form input:focus,.dabs-form textarea:focus{outline:0;border-color:var(--p)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 12%,transparent)!important}.dabs-success{display:grid;place-items:center;width:60px;height:60px;border-radius:15px;background:var(--soft);color:var(--p);font-size:28px;font-weight:800}.dabs-confirm{border:1px solid var(--line);border-radius:12px;margin-top:24px;overflow:hidden}.dabs-confirm>div{display:flex;justify-content:space-between;gap:20px;padding:14px 17px;border-bottom:1px solid #e5edf1;font-size:13px}.dabs-confirm>div:last-child{border-bottom:0}.dabs-confirm .price{color:var(--p);font-size:19px}.dabs-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.dabs-actions .outline{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}.dabs-actions .outline:hover{background:#fff!important;color:var(--ink)!important;border-color:var(--p)!important}
@media(max-width:1024px){.dabs-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dabs-layout{grid-template-columns:minmax(0,1fr)}.dabs-layout aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dabs-why{margin-top:0}.dabs-times{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.dabs-card-grid,.dabs-choice-grid{grid-template-columns:1fr}.dabs-card{padding:22px}.dabs-layout main{padding:25px 22px}.dabs-layout aside{grid-template-columns:1fr}.dabs-why{margin-top:0}.dabs-stepper{gap:7px}.dabs-step b{font-size:12px}.dabs-stepper i{min-width:18px}.dabs-times{grid-template-columns:repeat(3,minmax(0,1fr))}.dabs-walkin{align-items:flex-start!important;flex-direction:column}.dabs-walkin small{text-align:left}.dabs-summary,.dabs-why{padding:22px}}
@media(max-width:480px){.dabs-card footer{align-items:flex-start;flex-direction:column}.dabs-card footer a{width:100%}.dabs-meta{grid-template-columns:1fr}.dabs-step b{display:none}.dabs-stepper{justify-content:space-between}.dabs-stepper i{flex:1;min-width:14px}.dabs-times{grid-template-columns:repeat(2,minmax(0,1fr))}.dabs-nav{align-items:stretch}.dabs-nav button{flex:1}.dabs-summary dl>div{align-items:flex-start;flex-direction:column;gap:4px}.dabs-summary dd{text-align:left}.dabs-confirm>div{flex-direction:column;gap:5px}}


/* v1.3 visual alignment and form refinements */
.dabs-choice>div{align-items:center!important}
.dabs-choice>div>div{display:flex;flex-direction:column;justify-content:center;gap:0}
.dabs-choice b{margin:0!important}
.dabs-choice small{margin-top:5px!important;line-height:1.35!important}
.dabs-app button.dabs-choice.selected .dabs-icon,
.dabs-app button.dabs-choice.selected:hover .dabs-icon,
.dabs-app button.dabs-choice.selected:focus .dabs-icon{background:#cceefe!important;color:var(--p)!important}
.dabs-app button.dabs-choice:focus{outline:none!important}
.dabs-app button.dabs-choice.selected:focus-visible{box-shadow:0 0 0 3px rgba(8,125,168,.16)!important}
.dabs-stage h4{display:flex!important;align-items:center!important;gap:9px!important;line-height:1.25!important}
.dabs-stage h4 svg{width:20px!important;height:20px!important;flex:0 0 20px!important;color:var(--p)!important}
.dabs-app button.dabs-back{color:var(--ink)!important;border-color:var(--line)!important;background:#fff!important}
.dabs-app button.dabs-back:hover,.dabs-app button.dabs-back:focus{color:var(--p)!important;border-color:var(--p)!important;background:#fff!important}
.dabs-layout{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)!important;gap:32px!important}
.dabs-layout main{padding:36px 40px!important}
.dabs-choice-grid{gap:16px!important}
.dabs-form{max-width:none!important}
.dabs-form label{display:block!important}
.dabs-optional{font-size:12px!important;font-weight:500!important;color:var(--muted)!important;margin-left:4px}
.dabs-success{width:60px!important;height:60px!important;border-radius:18px!important;background:var(--soft)!important;color:var(--p)!important;margin-bottom:8px!important}
.dabs-success svg{width:34px!important;height:34px!important;stroke-width:1.8!important}
.dabs-success + h2{margin-top:0!important;margin-bottom:8px!important}
.dabs-confirm{background:color-mix(in srgb,var(--soft) 48%,#fff)!important}
.dabs-confirm>div{padding:16px 20px!important}
.dabs-walkin small{line-height:1.4!important}
@media(max-width:1024px){.dabs-layout{grid-template-columns:minmax(0,1fr)!important}.dabs-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dabs-why{margin-top:0!important}.dabs-layout main{padding:30px!important}}
@media(max-width:767px){.dabs-layout aside{grid-template-columns:1fr}.dabs-layout main{padding:24px 20px!important}.dabs-choice-grid{grid-template-columns:1fr!important}.dabs-choice footer{align-items:center!important}.dabs-stepper{gap:8px!important}.dabs-step b{font-size:12px!important}.dabs-step span{width:31px!important;height:31px!important}.dabs-app button.dabs-walkin{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}.dabs-walkin small{text-align:left!important}.dabs-nav{flex-wrap:wrap}.dabs-nav button{flex:0 1 auto!important}.dabs-next{margin-left:auto}.dabs-confirm>div{flex-direction:column!important;gap:5px!important}.dabs-confirm>div b{text-align:left!important}}


/* v1.4 full-width booking canvas fix */
.dabs-app{
    width:calc(100vw - 40px)!important;
    max-width:1480px!important;
    margin-left:50%!important;
    margin-right:0!important;
    transform:translateX(-50%)!important;
}
.elementor-widget-shortcode:has(.dabs-app),
.elementor-widget-shortcode:has(.dabs-app)>.elementor-widget-container,
.elementor-widget-shortcode:has(.dabs-app) .elementor-shortcode{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}
.dabs-layout{
    grid-template-columns:minmax(0,2.05fr) minmax(360px,1fr)!important;
}
@media(max-width:1024px){
    .dabs-app{width:calc(100vw - 32px)!important;max-width:none!important}
    .dabs-layout{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:767px){
    .dabs-app{width:calc(100vw - 24px)!important}
}

/* v1.5 horizontal 60-day date slider */
.dabs-date-slider{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;width:100%}
.dabs-dates{display:flex!important;gap:10px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:3px 2px 9px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--p) 35%,#dbe7ec) transparent}
.dabs-dates::-webkit-scrollbar{height:6px}.dabs-dates::-webkit-scrollbar-track{background:transparent}.dabs-dates::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--p) 28%,#dbe7ec);border-radius:99px}
.dabs-app .dabs-dates button{flex:0 0 86px;scroll-snap-align:start}
.dabs-app button.dabs-date-arrow{appearance:none;display:grid;place-items:center;width:38px;height:38px;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important;color:var(--p)!important;font-size:27px!important;line-height:1!important;font-weight:500!important;box-shadow:0 5px 14px rgba(24,66,91,.06)!important;cursor:pointer}
.dabs-app button.dabs-date-arrow:hover,.dabs-app button.dabs-date-arrow:focus{background:var(--soft)!important;border-color:var(--p)!important;color:var(--p)!important;transform:none!important}
@media(max-width:767px){.dabs-date-slider{grid-template-columns:minmax(0,1fr)}.dabs-date-arrow{display:none!important}.dabs-dates{padding-bottom:10px}.dabs-app .dabs-dates button{flex-basis:82px}}

/* v2.0 holidays, live availability, phone help and reCAPTCHA */
.dabs-app .dabs-dates button.dabs-date-off{position:relative;opacity:.58;background:#f7f9fa!important;color:#7f8c94!important;border-style:dashed!important;cursor:not-allowed!important;overflow:visible}
.dabs-app .dabs-dates button.dabs-date-off:hover{background:#f7f9fa!important;color:#7f8c94!important;border-color:#c8d4da!important}
.dabs-dates button.dabs-date-off em{display:block;margin-top:3px;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#9a5d5d!important}
.dabs-dates button.dabs-date-off::after{content:attr(data-reason);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:240px;padding:8px 10px;border-radius:7px;background:#17242b;color:#fff;font-size:11px;font-weight:600;line-height:1.35;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.16);transition:.15s ease}
.dabs-dates button.dabs-date-off:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dabs-holiday-help,.dabs-availability-note,.dabs-field-help{display:block;color:var(--muted)!important;font-size:12px!important;line-height:1.45!important}
.dabs-holiday-help{margin:4px 0 0!important}
.dabs-availability-note{margin:10px 0 0!important}
.dabs-error-note{color:#9b3434!important;font-weight:600}
.dabs-app .dabs-times button.dabs-slot-booked{opacity:.55;background:#f5f7f8!important;color:#73828a!important;border-style:dashed!important;cursor:not-allowed!important}
.dabs-times button span,.dabs-times button small{display:block;color:inherit!important}
.dabs-times button small{margin-top:3px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.dabs-field-help{margin-top:6px;font-weight:500!important}
.dabs-captcha-wrap{padding-top:2px;overflow-x:auto;min-height:78px}
@media(max-width:480px){.dabs-dates button.dabs-date-off::after{display:none}.dabs-captcha-wrap{transform-origin:left top}.dabs-captcha-wrap .g-recaptcha{transform:scale(.92);transform-origin:left top}}
