/* Dreamery Estimator — scoped to .drm-est. Tokens fall back to the child theme's
 * dreamery-ui.css palette so the widget can sit on any page. */
.drm-est{--e-ink:var(--drm-ink,#1F1A1B);--e-ink2:var(--drm-ink-2,#5A4E52);--e-brand:var(--drm-burgundy,#5E2233);--e-gold:var(--drm-gold,#C9A227);--e-cta:var(--drm-orange,#F0883E);--e-paper2:var(--drm-paper-2,#F6F3EE);--e-line:var(--drm-line,#E4DDD6);
  font-family:var(--drm-sans,"Outfit","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);color:var(--e-ink);line-height:1.5;max-width:640px;margin:0 auto;box-sizing:border-box}
.drm-est *,.drm-est *::before,.drm-est *::after{box-sizing:border-box}
.drm-est{scroll-margin-top:110px}
@media (max-width:760px){.drm-est{scroll-margin-top:160px}}
.drm-est-card{background:#fff;border:1px solid var(--e-line);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.06);overflow:hidden}
.drm-est-progress{height:6px;background:var(--e-paper2)}
.drm-est-progress span{display:block;height:100%;background:var(--e-cta);transition:width .4s ease}
.drm-est-body{padding:24px}
@media (min-width:640px){.drm-est-body{padding:32px}}
.drm-est-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:13px}
.drm-est-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--e-brand);margin:0}
.drm-est-kicker-light{color:var(--e-gold)}
.drm-est-count{color:var(--e-ink2)}
.drm-est-back{background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:500;color:var(--e-ink2);cursor:pointer}
.drm-est-back:hover{color:var(--e-ink)}
.drm-est-h{font-family:inherit;font-size:24px;font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0 0 8px;color:var(--e-ink)}
@media (min-width:640px){.drm-est-h{font-size:28px}}
.drm-est-sub{margin:0 0 20px;font-size:15px;color:var(--e-ink2)}
.drm-est-opts{display:flex;flex-direction:column;gap:10px}
.drm-est-opt{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;width:100%;text-align:left;background:#fff;border:2px solid var(--e-line);border-radius:12px;padding:14px 48px 14px 16px;font:inherit;color:var(--e-ink);cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.drm-est-opt:hover{border-color:#c9bfb8}
.drm-est-opt.is-selected{border-color:var(--e-brand);box-shadow:0 0 0 3px rgba(94,34,51,.12)}
.drm-est-opt-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}
.drm-est-opt-title{font-size:16px;font-weight:600;line-height:1.25}
.drm-est-opt-detail{font-size:13.5px;line-height:1.35;color:var(--e-ink2)}
.drm-est-opt-right{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--e-brand);white-space:nowrap}
.drm-est-radio{position:absolute;right:16px;top:50%;margin-top:-10px;width:20px;height:20px;border-radius:50%;border:2px solid var(--e-line)}
.drm-est-opt.is-selected .drm-est-radio{border-color:var(--e-brand);background:var(--e-brand)}
.drm-est-opt.is-selected .drm-est-radio::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.drm-est-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:20px;padding:15px 22px;border:2px solid transparent;border-radius:8px;background:var(--e-cta);color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.drm-est-btn:hover{background:#d9732c;transform:translateY(-1px);color:#fff}
.drm-est-btn[disabled]{opacity:.6;cursor:default;transform:none}
.drm-est-btn[hidden]{display:none}
.drm-est-btn-ghost{background:transparent;color:var(--e-ink);border-color:var(--e-line)}
.drm-est-btn-ghost:hover{background:transparent;color:var(--e-ink);border-color:var(--e-ink2)}
.drm-est-input{width:100%;padding:14px 16px;border:2px solid var(--e-line);border-radius:10px;font:inherit;font-size:16px;background:#fafafa;color:var(--e-ink);transition:border-color .15s,background .15s;-webkit-appearance:none;appearance:none}
.drm-est-input:focus{border-color:var(--e-brand);background:#fff;outline:none}
.drm-est-input::placeholder{color:#8a8083}
textarea.drm-est-input{resize:none;line-height:1.45}
.drm-est-fields{display:flex;flex-direction:column;gap:12px}
.drm-est-field-unit{position:relative}
.drm-est-field-unit .drm-est-input{padding-right:64px;font-size:18px;font-weight:600}
.drm-est-field-unit span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:500;color:var(--e-ink2);pointer-events:none}
.drm-est-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.drm-est-input-zip{max-width:240px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.drm-est-input-zip::placeholder{letter-spacing:normal}
.drm-est-note{margin:12px 0 0;font-size:13.5px;line-height:1.5;color:var(--e-ink2)}
.drm-est-note-box{background:var(--e-paper2);border-radius:12px;padding:12px 16px;margin-top:16px}
.drm-est-small{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--e-ink2)}
.drm-est-privacy{text-align:center}
.drm-est-link{background:none;border:0;padding:0;font:inherit;font-size:inherit;color:var(--e-brand);text-decoration:underline;cursor:pointer}
.drm-est-error{margin:12px 0 0;font-size:14px;font-weight:500;color:#b3261e}
.drm-est-teaser{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px dashed rgba(94,34,51,.45);border-radius:12px;background:rgba(94,34,51,.05)}
.drm-est-teaser p{margin:0;font-size:14.5px;line-height:1.4}
.drm-est-blur{filter:blur(6px);user-select:none;-webkit-user-select:none;font-weight:700}
.drm-est-lock{flex:0 0 auto;width:18px;height:22px;position:relative}
.drm-est-lock::before{content:"";position:absolute;left:3px;top:0;width:12px;height:12px;border:2.5px solid var(--e-brand);border-bottom:0;border-radius:7px 7px 0 0}
.drm-est-lock::after{content:"";position:absolute;left:0;top:9px;width:18px;height:13px;background:var(--e-brand);border-radius:3px}
.drm-est-call{margin:14px 0 0;text-align:center;font-size:13.5px;color:var(--e-ink2)}
.drm-est-call a{color:var(--e-brand);font-weight:600;text-decoration:none}
/* result */
.drm-est-result-head{background:var(--e-ink);color:#fff;padding:28px 24px}
@media (min-width:640px){.drm-est-result-head{padding:32px}}
.drm-est-result-tag{margin:10px 0 0;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.55)}
.drm-est-result-num{margin:10px 0 0;font-size:34px;font-weight:800;line-height:1;letter-spacing:-.01em;color:#fff}
@media (min-width:640px){.drm-est-result-num{font-size:44px}}
.drm-est-result-num-sm{font-size:28px;line-height:1.15}
.drm-est-result-why{margin:12px 0 0;max-width:34em;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.7)}
.drm-est-result-min{margin:8px 0 0;font-size:13px;color:var(--e-gold)}
.drm-est-box{background:var(--e-paper2);border:1px solid var(--e-line);border-radius:12px;padding:18px 20px;margin-bottom:22px}
.drm-est-box-t{margin:0;font-size:16px;font-weight:700;color:var(--e-ink)}
.drm-est-box .drm-est-note{margin-top:6px}
.drm-est-box-sum{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--e-line);font-size:14px;font-weight:600}
.drm-est-label{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--e-ink2)}
.drm-est-breakdown{list-style:none;margin:0 0 22px;padding:0}
.drm-est-breakdown li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--e-line);font-size:14.5px}
.drm-est-breakdown li:last-child{border-bottom:1px solid var(--e-line)}
.drm-est-breakdown b{flex:0 0 auto;font-weight:600;color:var(--e-ink2);font-size:14px}
.drm-est-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.drm-est-actions .drm-est-btn{margin-top:0}
@media (min-width:520px){.drm-est-actions{flex-direction:row}.drm-est-actions .drm-est-btn{flex:1}}
.drm-est-next{margin-bottom:0}
/* placement inside the "What it costs" section */
.drm-pricing-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media (min-width:980px){.drm-pricing-grid{grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:48px;align-items:center}.drm-pricing-calc{position:sticky;top:24px}}
