/* ══════════════════════════════════════════════════════════
   TOWER DENTAL — Lead Form Styles v2.0
   Premium · Mobile-First · Modular
   ══════════════════════════════════════════════════════════ */

/* ── MODAL OVERLAY ── */
.tdf-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,22,40,.82);z-index:9999;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.tdf-overlay.open{display:flex;opacity:1}
.tdf-modal{background:#fff;max-width:460px;width:94%;max-height:90vh;overflow-y:auto;position:relative;border-radius:10px;box-shadow:0 24px 64px rgba(0,0,0,.3);-webkit-overflow-scrolling:touch}
.tdf-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.4rem;cursor:pointer;color:#999;line-height:1;z-index:3;padding:4px;transition:color .15s}
.tdf-close:hover{color:#333}

/* ── FORM CONTAINER ── */
.tdf{font-family:'Outfit',system-ui,-apple-system,sans-serif;color:#0a1628}
.tdf *{box-sizing:border-box;margin:0}
.tdf-pad{padding:1.75rem 2rem 2rem}
@media(max-width:480px){.tdf-pad{padding:1.5rem 1.25rem 1.75rem}}

/* ── PROGRESS BAR ── */
.tdf-bar{display:flex;gap:3px;padding:1.25rem 2rem 0}
@media(max-width:480px){.tdf-bar{padding:1rem 1.25rem 0}}
.tdf-bar-seg{flex:1;height:3px;border-radius:2px;background:#e8e4de;transition:background .35s ease}
.tdf-bar-seg.done{background:#b8976a}

/* ── STEP HEADER ── */
.tdf-label{font-size:.6rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#b8976a;margin-bottom:.45rem}
.tdf-heading{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;font-weight:700;color:#0a1628;line-height:1.22;margin-bottom:.2rem}
.tdf-sub{color:#8a8a8a;font-size:.82rem;line-height:1.55;margin-bottom:1.4rem}
@media(max-width:480px){.tdf-heading{font-size:1.3rem}}

/* ── OPTION BUTTONS ── */
.tdf-opt{display:flex;align-items:center;gap:.85rem;width:100%;padding:.95rem 1.1rem;margin-bottom:.5rem;border:1.5px solid #e8e4de;background:#fff;font-size:.87rem;font-weight:500;color:#0a1628;cursor:pointer;transition:all .18s ease;text-align:left;border-radius:7px;font-family:inherit;-webkit-tap-highlight-color:transparent;outline:none}
.tdf-opt:hover,.tdf-opt:focus-visible{border-color:#b8976a;background:rgba(184,151,106,.035);box-shadow:0 0 0 3px rgba(184,151,106,.08)}
.tdf-opt:active{transform:scale(.985);background:rgba(184,151,106,.06)}
.tdf-opt-ic{font-size:1.1rem;width:26px;text-align:center;flex-shrink:0}
@media(max-width:480px){.tdf-opt{padding:.85rem 1rem;font-size:.84rem}}

/* ── INPUTS ── */
.tdf-input{width:100%;border:1.5px solid #e8e4de;padding:.9rem 1.1rem;font-size:.9rem;font-family:inherit;outline:none;border-radius:7px;transition:border-color .2s,box-shadow .2s;color:#0a1628;background:#fff;margin-bottom:.6rem;-webkit-appearance:none}
.tdf-input:focus{border-color:#b8976a;box-shadow:0 0 0 3px rgba(184,151,106,.1)}
.tdf-input::placeholder{color:#b5b5b5}
.tdf-input.has-error{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.08)}
.tdf-textarea{resize:vertical;min-height:72px}
.tdf-err-msg{color:#dc3545;font-size:.72rem;margin:-0.35rem 0 .55rem .15rem;display:block}

/* ── CONTACT METHOD RADIO ── */
.tdf-radio-group{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1rem}
.tdf-radio-label{display:flex;align-items:center;gap:.35rem;padding:.55rem .95rem;border:1.5px solid #e8e4de;border-radius:7px;font-size:.8rem;cursor:pointer;transition:all .18s;font-weight:500;-webkit-tap-highlight-color:transparent}
.tdf-radio-label:has(input:checked){border-color:#b8976a;background:rgba(184,151,106,.05)}
.tdf-radio-label input{display:none}

/* ── BUTTONS ── */
.tdf-btn{width:100%;background:#b8976a;color:#fff;border:none;padding:1.05rem;font-size:.86rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;font-family:inherit;border-radius:7px;transition:all .18s;margin-top:.4rem}
.tdf-btn:hover{background:#a68558}
.tdf-btn:active{transform:scale(.985)}
.tdf-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.tdf-btn-dark{background:#0a1628}
.tdf-btn-dark:hover{background:#152a4a}

/* ── BACK LINK ── */
.tdf-back{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;color:#b8976a;cursor:pointer;margin-top:1rem;border:none;background:none;font-family:inherit;padding:0;transition:opacity .15s}
.tdf-back:hover{opacity:.7}

/* ── TRUST BADGES ── */
.tdf-trust{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:1rem 0 .4rem}
.tdf-badge{background:rgba(184,151,106,.07);border:1px solid rgba(184,151,106,.18);padding:.3rem .7rem;font-size:.66rem;font-weight:700;color:#b8976a;border-radius:4px;white-space:nowrap}

/* ── FINE PRINT ── */
.tdf-fine{font-size:.68rem;color:#aaa;text-align:center;margin-top:.65rem;line-height:1.55}
.tdf-fine a{color:#b8976a}

/* ── CONSENT ── */
.tdf-consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.76rem;color:#555;line-height:1.6;margin-bottom:1rem;cursor:pointer}
.tdf-consent input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:#b8976a;cursor:pointer}
.tdf-consent a{color:#b8976a}

/* ── REVIEW BOX ── */
.tdf-review{background:#f8f6f2;padding:1rem 1.15rem;border-radius:8px;margin-bottom:1.2rem;font-size:.8rem;color:#444;line-height:1.85}
.tdf-review strong{color:#0a1628;font-weight:600}

/* ── THANK YOU ── */
.tdf-ty{text-align:center;padding:.5rem 0}
.tdf-ty-icon{font-size:3.5rem;margin-bottom:.65rem}
.tdf-ty h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;color:#0a1628;margin-bottom:.65rem}
.tdf-ty p{color:#666;font-size:.88rem;line-height:1.7;margin-bottom:1.25rem}

/* ── NEXT STEPS BOX ── */
.tdf-next{background:#f8f6f2;padding:1.15rem 1.2rem;text-align:left;border-radius:8px;margin-bottom:1.4rem}
.tdf-next-title{font-size:.62rem;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:#b8976a;margin-bottom:.65rem}
.tdf-next-item{font-size:.83rem;color:#444;line-height:2;display:flex;align-items:center;gap:.5rem}

/* ── EXIT POPUP ── */
.tdf-exit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,22,40,.85);z-index:9998;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.tdf-exit-overlay.open{display:flex;opacity:1}
.tdf-exit-box{background:#fff;max-width:400px;width:92%;padding:2.5rem;position:relative;text-align:center;border-radius:10px}

/* ── ANIMATIONS ── */
@keyframes tdf-fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.tdf-pad{animation:tdf-fadeUp .3s ease}

/* ── MOBILE STICKY CTA BAR ── */
.td-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9990;background:#0a1628;padding:.6rem .75rem;box-shadow:0 -4px 20px rgba(0,0,0,.25);border-top:1px solid rgba(184,151,106,.2)}
.td-sticky-inner{display:flex;gap:.45rem;max-width:600px;margin:0 auto}
.td-sticky a,.td-sticky button{flex:1;text-decoration:none;border:none;padding:.7rem .4rem;font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;text-align:center;cursor:pointer;font-family:inherit;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:.3rem}
.td-sticky-call{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)!important}
.td-sticky-wa{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)!important}
.td-sticky-book{background:#b8976a;color:#fff}
@media(max-width:768px){.td-sticky{display:block}}
@media(min-width:769px){.td-sticky{display:none!important}}

/* ── CTA REASSURANCE ── */
.td-cta-proof{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.6rem;font-size:.72rem;color:rgba(255,255,255,.6)}
.td-cta-proof span{display:flex;align-items:center;gap:.25rem}
.td-cta-proof-dark{color:#888}

/* Prevent iOS zoom on input focus */
.tdf-input,.tdf-textarea{font-size:16px !important}
@media(max-width:640px){
  .tdf{padding:.75rem}
  .tdf-opt{padding:.85rem;min-height:48px}
  .tdf-heading{font-size:1.15rem}
}
