.mdi-est{--mdi-c:#1f2a44;--mdi-a:#c8a46a;--mdi-r:10px;max-width:760px;margin:0 auto;font-size:16px;color:#222;box-sizing:border-box}
.mdi-est *,.mdi-est *::before,.mdi-est *::after{box-sizing:border-box}
.mdi-est [hidden]{display:none!important}
.mdi-est__progress{display:flex;gap:6px;margin-bottom:20px}
.mdi-est__progress span{flex:1;font-size:13px;font-weight:600;color:#999;padding-top:10px;border-top:4px solid #e5e5e5;transition:.3s}
.mdi-est__progress span.is-active{color:var(--mdi-c);border-color:var(--mdi-a)}
.mdi-est__form{background:#fff;border-radius:var(--mdi-r);box-shadow:0 8px 30px rgba(0,0,0,.08);padding:32px}
.mdi-est__step{display:none;border:0;padding:0;margin:0;min-width:0}
.mdi-est__step.is-active{display:block;animation:mdiFade .35s ease}
@keyframes mdiFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mdi-est__step legend{font-size:22px;font-weight:700;color:var(--mdi-c);margin-bottom:20px;padding:0}
.mdi-est__field{margin-bottom:18px;position:relative}
.mdi-est__field label,.mdi-est__label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#333}
.mdi-est__field small{display:block;color:#888;font-size:12px;margin-top:6px}
.mdi-est input[type=text],.mdi-est input[type=email],.mdi-est input[type=tel],.mdi-est input[type=number],.mdi-est select{width:100%;height:48px;padding:0 14px;border:1px solid #d6d6d6;border-radius:8px;font-size:16px;background:#fff;color:#222;transition:border-color .2s,box-shadow .2s}
.mdi-est input:focus,.mdi-est select:focus{outline:none;border-color:var(--mdi-a);box-shadow:0 0 0 3px rgba(200,164,106,.25)}
.mdi-est__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.mdi-est__suggest{position:absolute;z-index:50;left:0;right:0;top:76px;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.12);max-height:280px;overflow:auto}
.mdi-est__suggest li{padding:10px 14px;cursor:pointer;font-size:15px;margin:0}
.mdi-est__suggest li:hover,.mdi-est__suggest li.is-active{background:#f6f2ea}
.mdi-est__suggest li.is-empty{color:#999;cursor:default}
.mdi-est__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mdi-est__card{margin:0!important;cursor:pointer}
.mdi-est__card input{position:absolute;opacity:0;pointer-events:none}
.mdi-est__card span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;border:2px solid #e2e2e2;border-radius:var(--mdi-r);font-weight:600;font-size:16px;color:#444;transition:.2s}
.mdi-est__card svg{width:38px;height:38px;fill:#bbb;transition:.2s}
.mdi-est__card input:checked+span{border-color:var(--mdi-a);background:#fbf8f2;color:var(--mdi-c)}
.mdi-est__card input:checked+span svg{fill:var(--mdi-a)}
.mdi-est__card input:focus-visible+span{box-shadow:0 0 0 3px rgba(200,164,106,.35)}
.mdi-est__checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:18px}
.mdi-est__checks--col{flex-direction:column}
.mdi-est__checks label{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:15px;margin:0;cursor:pointer;line-height:1.4}
.mdi-est__checks input{width:18px;height:18px;margin-top:2px;accent-color:var(--mdi-a);flex:none}
.mdi-est__checks a{color:var(--mdi-c);text-decoration:underline}
.mdi-est__dpe{display:flex;flex-wrap:wrap;gap:6px}
.mdi-est__dpe label{margin:0;cursor:pointer}
.mdi-est__dpe input{position:absolute;opacity:0;pointer-events:none}
.mdi-est__dpe span{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:6px;color:#fff;font-weight:700;opacity:.45;border:2px solid transparent;transition:.2s}
.mdi-est__dpe input:checked+span{opacity:1;border-color:#222;transform:scale(1.06)}
.mdi-dpe-a span{background:#009c6d}.mdi-dpe-b span{background:#52b153}.mdi-dpe-c span{background:#a5cc74}.mdi-dpe-d span{background:#f4e70f;color:#333}.mdi-dpe-e span{background:#f0b40f}.mdi-dpe-f span{background:#eb8235}.mdi-dpe-g span{background:#d7221f}
.mdi-dpe-nc span{background:#eee;color:#555;font-weight:500;font-size:14px}
.mdi-est__hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.mdi-est__error{background:#fdecea;color:#a12622;border-radius:8px;padding:12px 14px;font-size:14px;margin:6px 0 0}
.mdi-est__nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
.mdi-est__nav [data-next],.mdi-est__nav [data-submit]{margin-left:auto}
.mdi-est__btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:2px solid var(--mdi-a);border-radius:8px;background:var(--mdi-a);color:#fff!important;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none!important;transition:.2s;line-height:1.2}
.mdi-est__btn:hover{filter:brightness(.93)}
.mdi-est__btn--ghost{background:transparent;color:var(--mdi-c)!important;border-color:#d6d6d6}
.mdi-est__btn--ghost:hover{border-color:var(--mdi-c);filter:none}
.mdi-est__btn:disabled{opacity:.7;cursor:wait}
.mdi-est__btn.is-loading::before{content:"";width:16px;height:16px;margin-right:10px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:mdiSpin .8s linear infinite}
@keyframes mdiSpin{to{transform:rotate(360deg)}}
.mdi-est__result{background:#fff;border-radius:var(--mdi-r);box-shadow:0 8px 30px rgba(0,0,0,.08);padding:32px;text-align:center;animation:mdiFade .4s ease}
.mdi-est__res-box{background:#fbf8f2;border:1px solid var(--mdi-a);border-radius:var(--mdi-r);padding:28px 20px}
.mdi-est__res-box p{margin:0}
.mdi-est__res-kicker{text-transform:uppercase;letter-spacing:1px;font-size:13px;color:#777}
.mdi-est__res-price{font-size:44px;font-weight:800;color:var(--mdi-c);line-height:1.1;margin:10px 0!important}
.mdi-est__res-price--sm{font-size:24px}
.mdi-est__res-range{font-size:17px;color:#444}
.mdi-est__res-meta{font-size:14px;color:#777;margin-top:8px!important}
.mdi-est__stars{color:var(--mdi-a);font-size:18px;letter-spacing:2px}
.mdi-est__res-mail{margin:22px 0;font-size:15px;color:#444}
.mdi-est__res-cta{border-top:1px solid #eee;padding-top:22px}
.mdi-est__res-cta p{margin:0 0 14px}
.mdi-est__res-cta .mdi-est__btn{margin:4px 6px}
@media (max-width:640px){
	.mdi-est__form,.mdi-est__result{padding:22px 18px}
	.mdi-est__grid{grid-template-columns:1fr}
	.mdi-est__progress span{font-size:0;padding-top:0}
	.mdi-est__step legend{font-size:19px}
	.mdi-est__res-price{font-size:34px}
	.mdi-est__nav{flex-wrap:wrap}
	.mdi-est__nav .mdi-est__btn{flex:1}
}
