/* Premium, mobile-first, theme-independent booking form. All rules scoped. */
.tdbf-shell,.tdbf-shell *{box-sizing:border-box}
.tdbf-shell{--tm7-green:#15784c;--tm7-dark:#153d31;--tm7-soft:#eff8f2;--tm7-border:#dce9df;--tm7-muted:#63776d;position:relative;max-width:700px;margin:20px auto;padding:clamp(22px,5vw,42px);background:#fff;border:1px solid #e5ece7;border-radius:24px;color:var(--tm7-dark);box-shadow:0 22px 68px rgba(16,57,37,.10);font-family:inherit;text-align:left}
.tdbf-shell .tdbf-eyebrow,.tdbf-shell .tdbf-kicker{display:block;color:var(--tm7-green);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;line-height:1.3}
.tdbf-shell .tdbf-intro{padding-bottom:21px}
.tdbf-shell .tdbf-intro h3{font-family:inherit;color:var(--tm7-dark);font-weight:750;font-size:clamp(25px,4vw,34px);line-height:1.16;margin:11px 0 8px;letter-spacing:-.04em}
.tdbf-shell .tdbf-intro p{margin:0;color:var(--tm7-muted);font-size:15px;line-height:1.6}
.tdbf-progress-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px;color:var(--tm7-muted);font-size:12px;font-weight:750}
.tdbf-progress-header span:last-child{color:var(--tm7-green)}
.tdbf-progress{height:6px;width:100%;border-radius:99px;background:#e9f1ec;overflow:hidden;margin-bottom:33px}
.tdbf-progress span{height:100%;display:block;background:linear-gradient(90deg,#1d8856,#59b987);border-radius:99px;transition:width .28s ease}
.tdbf-wizard.tdbf-ready .tdbf-step:not(.is-active){display:none!important}
.tdbf-wizard .tdbf-step[hidden],.tdbf-wizard [hidden],.tdbf-shell [hidden]{display:none!important}
.tdbf-shell .tdbf-step h4,.tdbf-shell .tdbf-complete h4,.tdbf-shell .tdbf-result h4{font-family:inherit;font-size:clamp(23px,4.5vw,30px);font-weight:800;letter-spacing:-.035em;line-height:1.18;margin:10px 0 9px;color:var(--tm7-dark)}
.tdbf-shell .tdbf-step h4:focus{outline:none}
.tdbf-shell .tdbf-step>p{font-size:14px;color:var(--tm7-muted);line-height:1.55;margin:0 0 24px}
.tdbf-choices{display:grid;gap:10px;margin:0 0 28px}
.tdbf-choice{position:relative;display:flex!important;align-items:center;gap:12px;border:1px solid var(--tm7-border);padding:16px 17px;background:#fff;border-radius:14px;color:var(--tm7-dark);cursor:pointer;font-weight:700!important;font-size:15px!important;min-height:58px;line-height:1.4;transition:.18s;max-width:100%;margin:0}
.tdbf-choice:hover,.tdbf-choice:focus-within{border-color:#7cbea0;background:#f8fcf9;transform:translateY(-1px)}
.tdbf-choice:has(input:checked){background:var(--tm7-soft);border-color:var(--tm7-green)}
.tdbf-choice input[type=radio]{accent-color:var(--tm7-green);width:18px;height:18px;flex:0 0 18px;margin:0}
.tdbf-choice span:not(.tdbf-choice-arrow){flex:1}
.tdbf-choice-arrow{margin-left:auto;font-size:20px;color:#80a491;line-height:1}
.tdbf-shell .tdbf-field-label{font-size:13px;color:var(--tm7-dark);display:block;margin:0 0 9px;font-weight:750}
.tdbf-shell input[type=text]:not(.tdbf-hp),.tdbf-shell input[type=tel],.tdbf-shell input[type=email],.tdbf-shell select,.tdbf-shell textarea{display:block;appearance:auto;width:100%;min-width:0;max-width:100%;border:1px solid #cfded5;border-radius:13px;background:#fff;color:#163b2a;padding:15px 16px;font:inherit;font-size:16px;min-height:54px;box-shadow:none;outline:none;margin:0 0 24px}
.tdbf-shell textarea{resize:vertical;min-height:95px}
.tdbf-shell input:focus,.tdbf-shell select:focus,.tdbf-shell textarea:focus{border-color:var(--tm7-green)!important;box-shadow:0 0 0 3px rgba(22,122,77,.13)!important}
.tdbf-shell input::placeholder,.tdbf-shell textarea::placeholder{color:#8da196}
.tdbf-shell .tdbf-consent{display:flex!important;align-items:flex-start!important;gap:12px!important;color:var(--tm7-muted);font-size:12px!important;line-height:1.55;font-weight:500!important;cursor:pointer;margin:3px 0 20px}
.tdbf-consent input[type=checkbox]{margin:3px 0 0!important;accent-color:var(--tm7-green);width:17px;height:17px;flex:0 0 17px}
.tdbf-consent strong{color:var(--tm7-dark)}
.tdbf-shell .tdbf-error{border:1px solid #ffcccc;background:#fff5f5;border-radius:10px;padding:12px 14px;color:#a32929;font-size:13px;font-weight:650;margin-bottom:14px}
.tdbf-nav{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:28px}
.tdbf-shell button.tdbf-next{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;margin-left:auto;padding:13px 24px;border:0;border-radius:12px;background:var(--tm7-green);color:#fff;font-family:inherit;font-size:14px;font-weight:800;line-height:1.3;cursor:pointer;box-shadow:0 9px 20px rgba(21,120,76,.18);transition:background .2s,transform .2s;text-transform:none;letter-spacing:0}
.tdbf-shell button.tdbf-next:hover{background:#11653f;transform:translateY(-1px)}
.tdbf-shell button.tdbf-next:disabled{opacity:.55;cursor:wait;transform:none}
.tdbf-shell button.tdbf-back{background:none;border:0;color:var(--tm7-muted);font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:10px 4px}
.tdbf-shell button.tdbf-back:hover{color:var(--tm7-green)}
.tdbf-safe-note{text-align:center;color:#839489;font-size:12px;margin-top:21px;line-height:1.4}
.tdbf-wa-divider{display:flex;align-items:center;gap:12px;margin:26px 0 15px;font-size:12px;color:#73857b;text-align:center}
.tdbf-wa-divider:before,.tdbf-wa-divider:after{content:'';flex:1;height:1px;background:#e7eeea}
.tdbf-shell a.tdbf-wa-button,.tdbf-wa-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;max-width:100%;border:1px solid #b9dcc5;border-radius:13px;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:800!important;color:#17683f!important;background:#f2faf4!important;text-decoration:none!important;line-height:1.3;transition:.2s}
.tdbf-wa-button:hover{border-color:#1a995e!important;background:#e7f5ec!important}
.tdbf-wa-button>span:first-child{font-size:19px;line-height:1}
.tdbf-complete,.tdbf-result{text-align:center;padding:24px 8px 12px}
.tdbf-complete-icon{display:flex;width:58px;height:58px;align-items:center;justify-content:center;margin:0 auto 15px;border-radius:50%;background:#e2f5e7;color:var(--tm7-green);font-size:26px;font-weight:900}
.tdbf-complete p,.tdbf-result p{color:var(--tm7-muted);line-height:1.6}
.tdbf-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.tdbf-floating-wa{position:fixed;right:22px;bottom:22px;z-index:9998;max-width:225px}
.tdbf-floating-wa .tdbf-wa-button{border-radius:99px;background:#1f9d5b!important;color:#fff!important;box-shadow:0 9px 22px rgba(0,0,0,.18);border-color:#1f9d5b}
.tdbf-floating-wa .tdbf-wa-button:hover{background:#187d49!important}
@media (max-width:620px){.tdbf-shell{padding:23px 18px;border-radius:19px;margin:12px auto}.tdbf-shell .tdbf-intro{padding-bottom:20px}.tdbf-progress{margin-bottom:25px}.tdbf-shell .tdbf-step h4{font-size:25px}.tdbf-shell .tdbf-choices{gap:9px}.tdbf-choice{padding:14px 13px;font-size:14px!important;min-height:57px}.tdbf-shell button.tdbf-next{min-height:53px;padding:14px 18px}.tdbf-floating-wa{bottom:14px;right:14px;max-width:182px}.tdbf-floating-wa .tdbf-wa-button{font-size:13px;padding:12px 15px}}
/* A non-JS fallback keeps the complete original form operable. */
.tdbf-wizard:not(.tdbf-ready) .tdbf-step[hidden]{display:block!important}
.tdbf-wizard:not(.tdbf-ready) .tdbf-step{display:block!important;margin:24px 0;border-bottom:1px solid #e6ebe8;padding-bottom:20px}
.tdbf-wizard:not(.tdbf-ready) [data-tdbf-email-wrap][hidden]{display:block!important}
.tdbf-wizard:not(.tdbf-ready) .tdbf-progress-header,.tdbf-wizard:not(.tdbf-ready) .tdbf-progress,.tdbf-wizard:not(.tdbf-ready) .tdbf-nav button[data-tdbf-next]{display:none!important}
.tdbf-wizard:not(.tdbf-ready) .tdbf-nav button[data-tdbf-submit][hidden]{display:block!important}
