/* The finished house leads. Booking loads only after the visitor asks for it. */
.elegant-designer.result-step { padding-top:0; }
.result-step .designer-search-intro,.result-step .steps { display:none; }
.elegant-designer.result-step .hdr { max-width:1600px; padding:10px 24px; margin:0 auto; border-bottom:0; }
.elegant-designer.result-step .brand-logo { height:42px; }
.result-step .stage { max-width:1600px; padding:6px 24px 30px; }
.result-step .estimate { max-width:none; }
.result-step .est-eyebrow { display:none; }
.result-step .est-head { margin-bottom:16px; }
.result-step .h-title { font-size:clamp(26px,3vw,38px); margin:0 0 6px; }
.result-step .est-head .h-sub { margin:0; max-width:none; font-size:14px; }
.result-step #designResult { width:100%; max-width:calc(var(--render-ratio,1.5) * clamp(320px,calc(100svh - 278px),1000px)); margin-inline:auto; }
.result-step .est-render { position:relative; aspect-ratio:var(--render-ratio,1.5); border:1px solid #d8be8d30; border-radius:12px; background:#071c16; }
.result-step .compare { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; border:0; border-radius:0; background:transparent; box-shadow:none; }
.result-step .compare img { width:100%; height:100%; object-fit:contain; object-position:center; }
.result-step .compare:not(.comparison-ready) #quoteImg { clip-path:none!important; }
.result-step .compare:not(.comparison-ready) :is(#imgBefore,#beforeLabel,#cHandle,#cKnob,#cRange) { visibility:hidden; }
.result-step .compare .tagB,.result-step .compare .tagA { top:16px; font-size:12px; letter-spacing:.02em; padding:7px 12px; pointer-events:none; }
.result-step .compare .tagB { left:16px; }
.result-step .compare .tagA { right:16px; background:#d8be8d; color:#143225; }
.result-step .compare .handle,.result-step .compare .knob { pointer-events:none; }
.result-step .compare input[type=range] { touch-action:pan-y; }
.result-step .compare:focus-within { outline:3px solid #e5ce9f; outline-offset:-4px; }
.comparison-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; }
.comparison-caption .cap-hint { margin:0; text-align:left; font-size:12px; }
.image-expand { flex:none; min-height:40px; padding:8px 0 8px 12px; border:0; background:none; color:var(--muted); font:inherit; font-size:12px; text-decoration:underline; cursor:pointer; }
.next-step-card { max-width:980px; margin:0 auto; text-align:center; padding:8px 0 0; }
.result-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:12px; }
.next-step-card .intent-card,.next-step-card .intent-choices { display:contents; }
.elegant-designer .result-choices .btn { width:100%; min-height:54px; justify-content:center; padding:14px 12px!important; border-radius:7px; font-family:var(--body)!important; font-size:15px!important; font-weight:700!important; text-transform:none!important; letter-spacing:0!important; }
.elegant-designer .result-choices .browse-choice { background:transparent; border:1px solid #d8be8d45; color:var(--muted); font-weight:500!important; }
.elegant-designer .result-choices .browse-choice:hover { background:#d8be8d0d; border-color:#d8be8d90; }
.result-choices :is(.text-budget-form,.intent-status,.intent-retry) { grid-column:1/-1; }
.next-step-card .intent-status:not([hidden]) { margin:4px 0 0; text-align:left; border:1px solid #d8be8d66; padding:16px; border-radius:8px; background:#16392e; }
.next-step-card #legacyIntent { margin-top:16px; }
.result-step .est-disc { margin:12px auto 0; max-width:620px; font-size:11px; }
.result-more { max-width:760px; margin:32px auto 0; }
.result-more summary { cursor:pointer; width:fit-content; margin:0 auto; padding:10px; min-height:44px; color:var(--muted); font-size:13px; }
.result-step .result-actions { margin:12px auto 0; justify-content:center; }
.result-step #newDesign { font:13px var(--body); min-height:44px; padding:10px 16px; border:0; text-decoration:underline; }
.result-step .ft { font-size:11px; padding-block:20px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.text-budget-form { width:100%; max-width:580px; justify-self:center; margin:4px 0; padding:22px; border:1px solid #d8be8d66; background:#16392e; border-radius:10px; text-align:left; }
.text-request-help { margin:0 0 18px; color:var(--ink); font-size:15px; }
.text-budget-form label { display:block; margin-bottom:10px; font-size:14px; line-height:1.5; font-weight:600; }
.text-budget-form select { width:100%; min-height:48px; padding:10px 12px; margin-bottom:14px; border:1px solid #d8be8d99; border-radius:5px; background:#fff; color:#17382c; font:16px Arial,sans-serif; }
.text-budget-form .intent-note { text-align:left; font-size:11px; margin:0 0 16px; color:var(--muted); }
.text-request-cancel { display:block; margin:6px auto 0; min-height:44px; border:0; padding:10px 16px; background:none; color:var(--muted); font:14px var(--body); text-decoration:underline; cursor:pointer; }
.booking-open { overflow:hidden; }
.booking-dialog { width:min(820px,calc(100% - 32px)); max-width:none; max-height:calc(100svh - 32px); padding:0; margin:auto; border:1px solid #d8be8d; border-radius:14px; background:#fff; color:#17382c; box-shadow:0 24px 90px #0008; overflow:hidden; }
.booking-dialog::backdrop { background:#031a13bf; backdrop-filter:blur(5px); }
.booking-inline { display:flex; flex-direction:column; max-height:calc(100svh - 34px); }
.booking-head { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px 22px 16px; border-bottom:1px solid #e6e2d7; }
.booking-head h2 { margin:0 0 6px; font:400 clamp(23px,4vw,29px)/1.2 Georgia,serif; color:#17382c; }
.booking-head p { margin:0; font-size:13px; color:#53685c; }
.booking-close { flex:none; display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid #d8ded7; border-radius:6px; background:#f6f7f3; color:#17382c; font:600 13px var(--body); cursor:pointer; }
.booking-close span { font-size:24px; line-height:1; }
.booking-body { overflow:auto; min-height:0; flex:1 1 auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
#designCalendar { display:block; width:100%; height:850px; border:0; background:#fff; }
.booking-fallback { flex:none; margin:0; padding:12px 22px; font-size:12px; line-height:1.5; border-top:1px solid #e6e2d7; }
.booking-fallback a { color:#17382c; text-decoration:underline; }
@media(max-width:600px) {
  .elegant-designer.result-step .hdr { padding:8px 12px; }
  .elegant-designer.result-step .brand-logo { height:34px; }
  .result-step .stage { padding:8px 12px 24px; }
  .result-step .h-title { font-size:26px; }
  .result-step .est-head { margin-bottom:12px; }
  .result-step .est-head .h-sub { font-size:12px; }
  .result-step #designResult { max-width:calc(var(--render-ratio,1.5) * clamp(240px,calc(100svh - 375px),650px)); }
  .result-step .est-render { border-radius:9px; }
  .result-step .compare .tagB,.result-step .compare .tagA { top:10px; font-size:11px; padding:5px 9px; }
  .result-step .compare .tagB { left:10px; }
  .result-step .compare .tagA { right:10px; }
  .comparison-caption { gap:8px; }
  .comparison-caption .cap-hint,.image-expand { font-size:11px; }
  .result-choices { grid-template-columns:1fr; gap:8px; }
  .elegant-designer .result-choices .btn { min-height:48px; padding-block:12px!important; }
  .text-budget-form { padding:18px; }
  .booking-dialog { width:calc(100% - 16px); max-height:calc(100svh - 16px); border-radius:10px; }
  .booking-inline { max-height:calc(100svh - 18px); }
  .booking-head { gap:10px; padding:16px; }
  .booking-head h2 { font-size:24px; }
  .booking-head p { font-size:12px; }
  .booking-close { padding-inline:8px; }
  .booking-fallback { padding:12px 16px; }
  #designCalendar { height:1100px; }
}
