.tdl-wrap{max-width:1280px;margin:0 auto;font-family:var(--tdl-font-body);color:var(--tdl-dark)}

/* ---- Gate form ---- */
.tdl-gate{display:flex;justify-content:center;padding:24px 0}
.tdl-gate-card{background:var(--tdl-card);border:1px solid var(--tdl-border);border-radius:var(--tdl-radius);padding:36px 34px;width:fit-content;max-width:100%;box-shadow:0 10px 34px rgba(17,24,15,.07)}
.tdl-gate-card form,.tdl-field input{width:340px;max-width:100%}
.tdl-title,.tdl-sub{max-width:340px}
.tdl-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tdl-primary);margin:0 0 10px}
.tdl-title{font-family:var(--tdl-font-head);font-weight:600;font-size:30px;letter-spacing:-.02em;color:var(--tdl-dark);margin:0 0 8px;line-height:1.15}
.tdl-sub{color:var(--tdl-muted);font-size:15.5px;margin:0 0 24px;line-height:1.55}
.tdl-field{margin-bottom:16px}
.tdl-field label{display:block;font-size:13px;font-weight:700;color:var(--tdl-dark);margin-bottom:6px}
.tdl-field input{width:100%;box-sizing:border-box;border:1.5px solid var(--tdl-border);border-radius:10px;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--tdl-dark);background:#fff;transition:border-color .15s,box-shadow .15s}
.tdl-field input:focus{outline:none;border-color:var(--tdl-primary);box-shadow:0 0 0 3px rgba(64,160,56,.14)}
.tdl-error{color:#B3261E;font-size:14px;margin:0 0 12px}

button.tdl-btn,a.tdl-btn,.tdl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--tdl-primary) !important;background-color:var(--tdl-primary) !important;background-image:none !important;color:#fff !important;border:none !important;border-radius:var(--tdl-btn-radius);font-size:15px;font-weight:700;font-family:var(--tdl-font-body);padding:13px 28px;cursor:pointer;text-decoration:none !important;box-shadow:none;transition:background-color .15s,transform .1s}
button.tdl-btn:hover,a.tdl-btn:hover,.tdl-btn:hover{background:var(--tdl-deep) !important;background-color:var(--tdl-deep) !important;color:#fff !important}
.tdl-btn:active{transform:scale(.98)}
.tdl-btn[disabled]{opacity:.6;cursor:wait}
#tdl-submit{width:100%}

/* ---- Results ---- */
.tdl-group-title{font-family:var(--tdl-font-head);font-weight:600;font-size:26px;letter-spacing:-.02em;color:var(--tdl-dark);margin:34px 0 18px}
.tdl-group-city{color:var(--tdl-primary);font-size:20px}
.tdl-group-all{color:var(--tdl-muted);font-size:22px}
.tdl-nomatch-card{background:var(--tdl-pale);border:1px solid var(--tdl-border);border-radius:16px;padding:38px 26px;margin:28px 0 0;text-align:center}
.tdl-nomatch-icon{width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:var(--tdl-primary,#40A038);color:#fff;display:flex;align-items:center;justify-content:center}
.tdl-nomatch-title{font-family:Georgia,serif;font-size:22px;color:var(--tdl-dark,#11180F);margin:0 0 8px}
.tdl-nomatch{color:var(--tdl-muted);font-size:15px;line-height:1.6;max-width:480px;margin:0 auto}

.tdl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tdl-card{position:relative;background:var(--tdl-card);border:1px solid var(--tdl-border);border-radius:var(--tdl-radius);padding:24px 22px;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
.tdl-card:hover{box-shadow:0 12px 30px rgba(17,24,15,.10);transform:translateY(-2px)}
.tdl-card--near{border-color:var(--tdl-primary);background:linear-gradient(180deg,#F7FBF5 0%,#fff 55%)}
.tdl-badge{position:absolute;top:14px;right:14px;background:var(--tdl-primary);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:4px 11px}
.tdl-card-name{font-family:var(--tdl-font-head);font-weight:600;font-size:18px;color:var(--tdl-dark);margin:0 0 8px;padding-right:76px;line-height:1.25}
.tdl-card-addr{color:var(--tdl-muted);font-size:14px;line-height:1.6;margin:0 0 12px;flex:1}
.tdl-card-phone{display:inline-block;color:var(--tdl-deep);font-size:14px;font-weight:600;text-decoration:none;margin-bottom:14px}
.tdl-btn--dir{padding:11px 18px;font-size:14px;align-self:flex-start}

/* ---- Responsive ---- */
@media(max-width:1024px){.tdl-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:767px){
	.tdl-grid{grid-template-columns:1fr;gap:12px}
	.tdl-gate-card{padding:26px 20px}
	.tdl-title{font-size:25px}
	.tdl-group-title{font-size:22px;margin-top:26px}
	.tdl-card{padding:20px 18px}
	.tdl-btn--dir{align-self:stretch;justify-content:center}
}
