/* SuiteRulesCanada V23: global UI + address checker repair */
:root{--suite-v23-ink:#17212b;--suite-v23-muted:#53606d;--suite-v23-line:#d7dde3;--suite-v23-soft:#f5f7f8;--suite-v23-strong:#243846;--suite-v23-success:#256542;--suite-v23-warn:#8a5a13}

/* Smaller footer across the entire site */
.footer{padding:28px 0 24px!important}
.footer .footer-grid{gap:22px!important}
.footer .wordmark.footer-mark{font-size:1rem!important}
.footer p,.footer a,.footer strong,.footer small{font-size:.78rem!important;line-height:1.4!important}
.footer p{margin:.45rem 0!important;max-width:34rem}
.footer small{opacity:.78}
.footer-grid>div:nth-child(n+2){gap:5px!important}

/* Darker trust notice */
.suite-trust-banner{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 12px;border-radius:10px;background:#263d4b;color:#fff;font-weight:800;font-size:.88rem;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.suite-trust-banner:before{content:'✓';display:grid;place-items:center;width:19px;height:19px;border-radius:999px;background:#fff;color:#263d4b;font-size:.72rem}

/* Address checker */
.suite-address-v23{background:#fff;border:1px solid var(--suite-v23-line);border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(30,45,55,.07)}
.suite-address-v23 .suite-address-heading{margin-bottom:14px}
.suite-address-v23 .suite-address-heading .eyebrow{margin-bottom:4px}
.suite-address-v23 .suite-address-heading h2,.suite-address-v23 .suite-address-heading h3{margin:0 0 6px}
.suite-address-v23 .suite-address-heading p{margin:0;color:var(--suite-v23-muted)}
.suite-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.suite-address-row .tool-field{min-width:0;margin:0}
.suite-address-row input{width:100%}
.suite-address-row .button{white-space:nowrap;min-height:46px}
.suite-address-help{margin:7px 0 0!important;color:var(--suite-v23-muted)}
.suite-address-v23 .tool-form-error{margin-top:10px}

/* Address typeahead */
.suite-address-input-wrap{position:relative}
.suite-address-suggestions{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #cbd4db;border-radius:12px;box-shadow:0 16px 34px rgba(18,33,44,.16);overflow:hidden;max-height:300px;overflow-y:auto}
.suite-address-suggestions[hidden]{display:none!important}
.suite-address-suggestion{display:block;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #e6eaed;background:#fff;text-align:left;color:#1d2933;font:inherit;cursor:pointer}
.suite-address-suggestion:last-child{border-bottom:0}
.suite-address-suggestion:hover,.suite-address-suggestion:focus{background:#f1f5f7;outline:0}
.suite-address-suggestion strong{display:block;font-size:.9rem}
.suite-address-suggestion small{display:block;margin-top:2px;color:#60707c;font-size:.73rem}

/* Manual fallback is intentionally directly below the address field */
.suite-manual-inline{margin-top:10px;border:1px solid #d7dde3;border-radius:12px;background:#f7f9fa}
.suite-manual-inline summary{cursor:pointer;padding:11px 12px;font-weight:800;color:#263d4b;list-style:none}
.suite-manual-inline summary::-webkit-details-marker{display:none}
.suite-manual-inline summary:after{content:'+';float:right;font-size:1.1rem;line-height:1}
.suite-manual-inline[open] summary:after{content:'–'}
.suite-manual-body{border-top:1px solid #dfe4e8;padding:12px}
.suite-manual-grid-v23{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end}
.suite-manual-grid-v23 .tool-field{margin:0}
.suite-manual-grid-v23 .suite-area-input{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:6px}
.suite-manual-result-v23{margin-top:10px;padding:11px 12px;border-radius:10px;background:#fff;border:1px solid #d9dfe4}
.suite-manual-result-v23 strong{display:block;margin-bottom:3px}

/* Loader/status card */
.suite-progress-card-v23{margin-top:12px;padding:12px 14px;border:1px solid #cfd7dd;border-radius:12px;background:#f7f9fa}
.suite-progress-card-v23[hidden]{display:none!important}
.suite-progress-head-v23{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.suite-progress-spinner{width:18px;height:18px;border:2px solid #b8c2c9;border-top-color:#263d4b;border-radius:50%;animation:suiteSpin .8s linear infinite;flex:0 0 auto}
.suite-progress-card-v23.is-complete .suite-progress-spinner{animation:none;border-color:#2f7751;position:relative}
.suite-progress-card-v23.is-complete .suite-progress-spinner:after{content:'✓';position:absolute;inset:-5px;display:grid;place-items:center;color:#2f7751;font-size:.8rem;font-weight:900}
.suite-progress-card-v23.is-error .suite-progress-spinner{animation:none;border-color:#a44b3f}
@keyframes suiteSpin{to{transform:rotate(360deg)}}
.suite-progress-steps-v23{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.suite-progress-step-v23{position:relative;padding:8px 8px 8px 28px;border-radius:9px;background:#fff;border:1px solid #e0e5e9;color:#64717b;font-size:.76rem;font-weight:700;min-height:42px;display:flex;align-items:center}
.suite-progress-step-v23:before{content:'';position:absolute;left:9px;width:9px;height:9px;border-radius:50%;background:#c6ced4}
.suite-progress-step-v23.is-active{border-color:#91a5b2;color:#263d4b;background:#fdfefe}
.suite-progress-step-v23.is-active:before{background:#263d4b;box-shadow:0 0 0 4px rgba(38,61,75,.12)}
.suite-progress-step-v23.is-done{color:#275f43;border-color:#b9d5c6}
.suite-progress-step-v23.is-done:before{background:#2f7751}

/* Result stays out of the layout before a lookup */
.suite-address-result-v23{margin-top:14px;border:1px solid #ccd5db;border-radius:14px;background:#fff;padding:16px}
.suite-address-result-v23[hidden]{display:none!important}
.suite-address-result-v23 h3{margin:.2rem 0 .35rem}
.suite-matched-address{margin:.15rem 0 .8rem;color:#55636e}
.suite-property-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.suite-property-facts>div{padding:9px 10px;border-radius:9px;background:#f5f7f8}
.suite-property-facts span{display:block;font-size:.69rem;letter-spacing:.03em;text-transform:uppercase;color:#687682}
.suite-property-facts strong{display:block;margin-top:2px;color:#17212b;font-size:.91rem}
.suite-fact-help{display:block;margin-top:3px;color:#6a7780;font-size:.69rem}
.suite-result-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.suite-data-badge{padding:5px 8px;border-radius:999px;background:#edf1f3;font-size:.69rem;font-weight:800;color:#53616b}
.suite-data-badge.good{background:#e8f3ec;color:#2d6948}
.suite-band-callout{margin:10px 0;padding:11px 12px;border-left:4px solid #526a78;background:#f5f7f8;border-radius:8px}
.suite-band-callout span,.suite-band-callout small{display:block}
.suite-band-callout span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#68757e;font-weight:800}
.suite-band-callout strong{display:block;margin:2px 0 3px}
.suite-result-explain,.suite-unresolved{margin-top:10px}
.suite-unresolved ul{margin:.4rem 0 0;padding-left:1.1rem}
.suite-professional-cta{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:12px;border-radius:12px;background:#273e4b;color:#fff}
.suite-professional-cta span,.suite-professional-cta small{display:block;color:#dce6eb}
.suite-professional-cta strong{display:block;margin:2px 0}
.suite-professional-cta .button{background:#fff;color:#203541;border-color:#fff;white-space:nowrap}
.suite-data-sources{margin-top:12px;padding-top:10px;border-top:1px solid #e0e5e8}
.suite-data-sources>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}
.suite-data-sources a{font-size:.78rem}
.suite-source-note{margin-bottom:0!important}
.suite-parcel-missing{padding:12px;border-radius:10px;background:#fff6e8;border:1px solid #eed3a8}
.suite-parcel-missing strong{display:block;color:#6b4813;margin-bottom:3px}

/* Inline city placement: checker immediately above provincial baseline card */
.utility-city-cta .suite-inline-address-checker{margin-bottom:14px}
.utility-city-cta .suite-address-v23{padding:18px}
.utility-city-cta .suite-address-heading h3{font-size:1.15rem}

@media(max-width:760px){
 .footer{padding:22px 0 18px!important}.footer .footer-grid{gap:15px!important}.footer p,.footer a,.footer strong,.footer small{font-size:.73rem!important}
 .suite-address-v23{padding:15px;border-radius:14px}
 .suite-address-row{grid-template-columns:1fr;gap:8px}.suite-address-row .button{width:100%}
 .suite-manual-grid-v23{grid-template-columns:1fr}.suite-manual-grid-v23 .button{width:100%}
 .suite-progress-steps-v23{grid-template-columns:1fr;gap:6px}.suite-progress-step-v23{min-height:36px}
 .suite-property-facts{grid-template-columns:1fr}
 .suite-professional-cta{align-items:flex-start;flex-direction:column}.suite-professional-cta .button{width:100%;text-align:center}
 .suite-result-top{align-items:flex-start;flex-direction:column}
}


/* V25 visual restore: keep the original SuiteRules burgundy / cream palette. */
.suite-address-v23{background:#fff;border-color:var(--border);box-shadow:0 12px 30px rgba(78,30,53,.06)}
.suite-address-v23 .suite-address-heading p,.suite-address-help{color:var(--muted)!important}
.suite-address-row input{border:1px solid #bdb7bb;border-radius:14px;background:#fff;color:var(--ink);min-height:52px;padding:12px 14px;font:inherit;font-size:16px}
.suite-address-row input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px;border-color:var(--accent)}
.suite-address-row .button{background:var(--accent);border-color:var(--accent);color:#fff}
.suite-address-suggestions{border-color:var(--border);box-shadow:0 16px 34px rgba(78,30,53,.14)}
.suite-address-suggestion{color:var(--ink);border-bottom-color:var(--border)}
.suite-address-suggestion:hover,.suite-address-suggestion:focus{background:var(--soft)}
.suite-address-suggestion small{color:var(--muted)}
.suite-progress-card-v23{border-color:var(--border);background:var(--soft)}
.suite-progress-spinner{border-color:#d8bdc8;border-top-color:var(--accent)}
.suite-progress-step-v23{background:#fff;border-color:var(--border);color:var(--muted)}
.suite-progress-step-v23.is-active{border-color:#c896a9;color:var(--dark);background:#fff8fa}
.suite-progress-step-v23.is-active:before{background:var(--accent);box-shadow:0 0 0 4px rgba(139,52,86,.12)}
.suite-address-result-v23{border-color:var(--border);background:#fff}
.suite-property-facts>div{background:var(--soft)}
.suite-property-facts span,.suite-fact-help{color:var(--muted)}
.suite-property-facts strong{color:var(--ink)}
.suite-data-badge{background:#f3ecef;color:#6d5d67}.suite-data-badge.good{background:#e8f3ec;color:#2d6948}
.suite-band-callout{border-left-color:var(--accent);background:var(--soft)}
.suite-band-callout span{color:var(--muted)}
.suite-professional-cta{background:var(--dark);box-shadow:none}
.suite-professional-cta .button{color:var(--dark)}
.suite-trust-banner{background:var(--dark);color:#fff}.suite-trust-banner:before{color:var(--dark)}

/* The original V19 calculator is the visible fallback directly below the address checker. */
.suite-manual-full-v25{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.suite-manual-full-heading-v25{max-width:760px;margin-bottom:16px}
.suite-manual-full-heading-v25 .eyebrow{margin-bottom:6px}
.suite-manual-full-heading-v25 h3{font-size:clamp(24px,3vw,32px);margin:0 0 8px}
.suite-manual-full-heading-v25 p{margin:0;color:var(--muted)}
.suite-manual-full-v25 .suite-tool-page .suite-checker-layout{grid-template-columns:minmax(0,1fr);gap:14px;margin:0}
.suite-manual-full-v25 .suite-tool-page .suite-result-rail{position:static}
.suite-manual-full-v25 .suite-tool-page .suite-checker-form{border-radius:20px}
.suite-manual-full-v25 .suite-tool-page .suite-progress{background:var(--dark)}
.suite-manual-full-v25 .suite-tool-page .suite-step-header .tool-step-num{background:var(--accent)}
.suite-manual-full-v25 .suite-tool-page .suite-result-card[hidden]{display:none!important}
.suite-manual-full-v25 #suite-placeholder{display:none!important}
.suite-manual-full-v25 .suite-local-only{background:var(--soft);border-radius:12px;padding:10px 12px;margin:0 24px 18px}
.suite-address-v23>.suite-address-result-v23[hidden]+.suite-manual-full-v25{margin-top:18px}

@media(max-width:760px){
 .suite-manual-full-v25{margin-top:16px;padding-top:16px}
 .suite-manual-full-heading-v25 h3{font-size:24px}
 .suite-manual-full-v25 .suite-tool-page .suite-question-group{padding:20px 16px}
 .suite-manual-full-v25 .suite-tool-page .suite-progress{padding:18px 16px}
 .suite-manual-full-v25 .suite-tool-page .suite-form-actions{padding:0 16px 20px}
 .suite-manual-full-v25 .suite-local-only{margin:0 16px 16px}
}
