html{scroll-behavior:smooth;scroll-padding-top:90px}.calculator-contact{max-width:760px;margin:70px auto;padding:32px;background:#eeeae4;border-radius:24px}.calculator-contact h2{font-size:32px}.calculator-contact label{display:block;margin:18px 0}.calculator-contact input,.calculator-contact textarea{box-sizing:border-box;width:100%;padding:14px;border:1px solid #b9b9b5;border-radius:8px;font:inherit;background:#f6f4ef}.calculator-contact button{padding:16px 24px;border:0;border-radius:30px;background:#2d3142;color:white;font:inherit}.calculator-contact .honeypot{display:none}.calculator-contact .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}#onova-prices .op-nav{position:sticky;top:0;z-index:20;background:#e5e5e2}@media(max-width:600px){.calculator-contact{padding:22px;margin:40px 0}.calculator-contact .form-row{display:block}#onova-prices .op-nav{flex-wrap:wrap;gap:12px}#onova-prices .op-links{display:flex;flex-wrap:wrap;gap:12px;font-size:12px}}
body[data-direction=cool]{background:#e5e5e2}body[data-direction=cool] #main{padding-top:110px}#onova-prices button{font-family:inherit}#onova-prices .op-section{scroll-margin-top:110px}#onova-prices .op-hero{padding-top:24px}#onova-prices .op-summary{top:100px}#onova-prices .calculator-contact{color:#2d3142}#onova-prices .calculator-contact input,#onova-prices .calculator-contact textarea{color:#2d3142}#onova-prices .calculator-contact .button{color:white}@media(max-width:600px){body[data-direction=cool] #main{padding-top:86px}}

html[lang=en] #onova-prices .op-path::after{content:"Choose ↗"}@media(max-width:600px){html[lang=en] #onova-prices .op-path::after{content:"↗"}}

html[lang=en] #onova-prices .op-paths .op-path:after{content:"Choose ↗"}html[lang=en] #onova-prices .op-paths .op-path[aria-pressed=true]:after{content:"Selected ✓"}@media(max-width:600px){html[lang=en] #onova-prices .op-paths .op-path:after{content:"↗"}html[lang=en] #onova-prices .op-paths .op-path[aria-pressed=true]:after{content:"✓"}}
#onova-prices dialog.calculator-contact{position:fixed;inset:0;margin:auto;width:min(680px,calc(100% - 32px));max-width:680px;max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;border:1px solid #d1cec7;padding:32px;border-radius:24px;background:#eeeae4;color:#2d3142;box-shadow:0 24px 90px #0004}
#onova-prices dialog.calculator-contact:not([open]){display:none}
#onova-prices dialog.calculator-contact::backdrop{background:#20243299;backdrop-filter:blur(5px)}
#onova-prices .calculator-contact .calculator-close{position:absolute;right:14px;top:12px;width:40px;height:40px;padding:0;background:transparent;color:#2d3142;font-size:30px;line-height:1;cursor:pointer}
#onova-prices .calculator-contact h2{padding-right:30px;font-size:30px;margin-bottom:16px}
#onova-prices .calculator-contact textarea{line-height:1.5;resize:vertical}
@media(max-width:600px){#onova-prices dialog.calculator-contact{padding:24px 20px;border-radius:18px}#onova-prices .calculator-contact h2{font-size:25px}}

/* Light enquiry dialog must not inherit the dark contact section colours. */
#onova-prices .calculator-contact .contact-form{padding-top:8px;color:#2d3142}
#onova-prices .calculator-contact .contact-form label{color:#2d3142;font-size:14px;font-weight:500;line-height:1.5;margin:0 0 18px}
#onova-prices .calculator-contact .contact-form label small{color:#60616a;font-size:12px;font-weight:400}
#onova-prices .calculator-contact .contact-form input,
#onova-prices .calculator-contact .contact-form textarea{color:#2d3142;background:#faf8f4;border:1px solid #999a9e;border-radius:9px;font-size:16px;font-weight:400;margin:7px 0 0;padding:13px 14px;line-height:1.5}
#onova-prices .calculator-contact .contact-form input::placeholder,
#onova-prices .calculator-contact .contact-form textarea::placeholder{color:#696b73;opacity:1}
#onova-prices .calculator-contact .contact-form input:focus,
#onova-prices .calculator-contact .contact-form textarea:focus{border-color:#c65c35;outline:2px solid #ef835460;outline-offset:2px}
#onova-prices .calculator-contact .contact-form .form-note{color:#60616a;font-size:12px;line-height:1.5;margin-top:12px}
#onova-prices .calculator-contact .contact-form button[type=submit]{color:#252939;font-weight:550}
#onova-prices .calculator-contact .contact-form .form-row{gap:20px}

/* Selection preserves each direction's original surface. */
#onova-prices .op-paths .op-path:nth-child(1)[aria-pressed=true]{background:#eeeee9;color:#2d3142}
#onova-prices .op-paths .op-path:nth-child(2)[aria-pressed=true]{background:#bfc0c0;color:#2d3142}
#onova-prices .op-paths .op-path:nth-child(3)[aria-pressed=true]{background:#4f5d75;color:#f4f3ef}
#onova-prices .op-paths .op-path:nth-child(1)[aria-pressed=true] .op-path-number{color:#626570}
#onova-prices .op-paths .op-path:nth-child(2)[aria-pressed=true] .op-path-number{color:#444956}
#onova-prices .op-paths .op-path:nth-child(3)[aria-pressed=true] .op-path-number{color:#e0e3eb}

/* Let the calculator grow with selected steps, without reserved placeholder space. */
body #onova-prices :is(#route-package-panel,#route-care,#route-payment,#route-works,#route-question,#route-summary,#route-selection,#route-care-summary,#route-base-row,#route-addon-row,#route-total,#route-detail,#route-recurring,#route-year-row,#route-next){min-height:0;height:auto}
body #onova-prices .op-pending,body #onova-prices .op-skipped{display:none}
body #onova-prices #route-status[style*="hidden"],body #onova-prices #route-year-row[style*="hidden"],body #onova-prices #route-recurring[style*="hidden"]{display:none}
body #onova-prices :is(#route-care-summary,#route-base-row,#route-addon-row,#route-detail,#recap-second-label,#recap-second-amount,#route-recurring-quarter,#route-recurring-year):empty{display:none}
body #onova-prices .op-steps{align-self:start}
body #onova-prices .op-summary{align-self:start}
body #onova-prices .op-works{margin-top:24px}
@media(max-width:850px){body #onova-prices #route-options .op-option,body #onova-prices .op-pay-options .op-option{min-height:0;height:auto}body #onova-prices .op-summary{position:static;margin-top:8px}}

/* Gaps belong between steps, never below the final visible card. */
body #onova-prices .op-steps{display:flex;flex-direction:column;gap:18px}
body #onova-prices .op-steps>.op-section{margin:0}
