/* Shared, reproducible interaction and layout improvements. */
:root{--ux-ink:#352b28;--ux-muted:#6a554e;--ux-accent:#84364c;--ux-line:#e2d4ce;--ux-paper:#fffdfb}
html{scroll-padding-top:6rem}body{min-width:0!important}*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
button,input,select,textarea,a{touch-action:manipulation}
button,a,input,select,textarea,summary{scroll-margin-block:6rem}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #84364c!important;outline-offset:4px!important}
input::placeholder,textarea::placeholder{color:#705e57!important;opacity:1}
summary{cursor:pointer}summary::marker{color:var(--ux-accent)}
.ux-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;border:1px solid var(--ux-line);border-radius:10px;background:var(--ux-paper);color:var(--ux-accent);font:inherit;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer}
.ux-button:hover{background:#f5e9e7;border-color:var(--ux-accent)}
.ux-button[aria-pressed=true],.ux-button--primary{background:var(--ux-accent);border-color:var(--ux-accent);color:white}
.ux-button:disabled{opacity:.6;cursor:not-allowed}
.ux-note{color:var(--ux-muted);font-size:.9rem;line-height:1.55}
.ux-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.8rem 0}
.ux-international{font-size:.85rem;color:var(--ux-muted);margin:.5rem 0}
.ux-js .ux-only-nojs{display:none}.ux-js .ux-enhanced-only{display:initial}
.ux-enhanced-only{display:none}
.ux-js .ux-tools.ux-enhanced-only,.ux-js .ux-request-choice.ux-enhanced-only{display:flex}
.site-nav>.ux-nav-link{padding:.6rem .65rem;font-size:.84rem;font-weight:700;border-radius:999px}
.site-nav>.ux-nav-link:hover{background:#f5e9e7}
.aside-card--contact{display:none!important}
.ux-comparison-table{overflow:auto;border:1px solid var(--ux-line);border-radius:12px;margin:.8rem 0;overscroll-behavior-x:contain}
.ux-comparison-table table{border-collapse:separate;border-spacing:0;width:100%;font-size:.87rem;line-height:1.5}
.ux-comparison-table caption{text-align:left;padding:.7rem;font-size:.8rem;color:var(--ux-muted)}
.ux-comparison-table th,.ux-comparison-table td{padding:.8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ux-line);border-right:1px solid var(--ux-line);min-width:150px;overflow-wrap:anywhere}
.ux-comparison-table th:first-child{min-width:90px;width:100px;background:#f7eee7;font-size:.78rem;white-space:nowrap;overflow-wrap:normal}
.ux-comparison-table thead th{position:sticky;top:0;background:#f7eee7;z-index:1;color:var(--ux-accent)}
.ux-comparison-table .ux-button{display:flex;width:100%;margin:.35rem 0;font-size:.8rem;padding:.5rem}
.hero{min-height:0!important}.hero__inner{min-height:0!important}.hero__main{padding-top:0!important}
.home-hero-map{height:250px!important;min-height:230px!important}
.site-header:not(.site-header--app) .site-header__bar{width:min(1200px,calc(100% - 24px))}
.owner-request-form{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--ux-line);border-radius:14px;background:var(--ux-paper)}
.owner-request-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.owner-request-form label{display:flex;flex-direction:column;gap:.35rem;margin:0!important;font-size:.9rem;font-weight:650}
.owner-request-form input,.owner-request-form select,.owner-request-form textarea{width:100%;min-width:0;padding:.7rem;border:1px solid #ab9185;border-radius:8px;background:#fff;color:var(--ux-ink);font:inherit}
.owner-request-form .owner-request-form__consent{flex-direction:row;align-items:flex-start;font-weight:400;gap:.7rem}
.owner-request-form .owner-request-form__consent input{width:22px;flex:0 0 22px;margin-top:.15rem}
.owner-request-form__status{margin:0!important;font-size:.9rem;color:var(--ux-ink)}
.owner-request-form [type=submit]{justify-self:start;min-height:44px}
@media(max-width:600px){.owner-request-form__grid{grid-template-columns:1fr}.owner-request-form{padding:1rem}.owner-request-form [type=submit]{width:100%}}
.ux-comparison-status:empty{display:none}.ux-list-context{margin:.4rem 0 .7rem;font-size:.9rem;line-height:1.6}
.ux-list-context>summary{color:var(--ux-muted);padding:.3rem 0;min-height:36px}.ux-list-context p{margin:.6rem 0!important;max-width:950px}
.ds-card__matches{display:flex!important;flex-wrap:wrap!important;align-items:center}
.ds-card__matches li{display:inline-flex!important;align-items:center;gap:.3rem;font-size:.78rem;padding:.25rem .45rem;background:#f7f0e9;border-radius:6px}
.ds-card__care{padding:.35rem .6rem!important;margin:0!important}
@media(min-width:1024px){.site-header--app .site-header__bar{max-width:none!important;grid-template-columns:180px minmax(0,1fr) auto!important;gap:.6rem!important;padding:0 1rem!important}.site-header--app .header-search{display:none!important}.site-header--app .site-nav{justify-self:center!important}}
.ux-js.ux-has-query [data-ds-root]:not([data-ux-ready]) [data-ds-card-list],.ux-js.ux-has-query [data-ds-root]:not([data-ux-ready]) [data-ds-result-count]{visibility:hidden}
.ux-js.ux-has-query [data-ds-root]:not([data-ux-ready]) [data-ds-loading]{display:block!important}
[data-directory-pending] [data-ds-card-list]{opacity:.45;pointer-events:none}
.site-nav>.ux-nav-link{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.site-header__bar{max-width:1240px}
.language-switch__flag,.lang-switch__flag{display:none!important}
.ux-language-label{font-size:.8rem;font-weight:700}
.hero{padding-block:2rem!important}.hero__inner{gap:1.4rem!important}.hero__copy h1{font-size:clamp(2rem,4.4vw,3.5rem)!important;line-height:1.1!important;max-width:860px}
.hero-search{padding:1rem!important;max-width:900px}.hero-search__row{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr) auto;gap:.7rem;align-items:end}
.hero-search__row>.hero-search__input{min-width:0}.hero-search__input input{min-height:48px}
.hero-search__row .hero-select-field{min-width:0}.hero-search__row .hero-select-field>span{font-size:.8rem}
.hero-search__row .hero-select-field select{min-height:48px}
.hero-search__row>.button{min-height:48px}
.ux-home-extra{margin-top:.7rem}.ux-home-extra summary{color:var(--ux-accent);font-size:.9rem;font-weight:650;min-height:32px;padding:.3rem 0}
.ux-home-extra .hero-selects{margin-top:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.ds-results-screen{padding-top:1rem!important}.ds-results-topbar{margin-bottom:.75rem!important}.ds-results-heading{padding-block:.8rem!important;margin-bottom:.5rem!important}
.ds-results-heading h1{font-size:clamp(1.65rem,2.5vw,2.35rem)!important;line-height:1.2!important}
.ds-share-button{min-width:44px!important;min-height:44px!important;flex-shrink:0}
.ds-card{padding:1.1rem!important;gap:.75rem!important;animation:none!important}
.ds-card__avatar{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:1rem!important}
.ds-card__identity h3{font-size:1.08rem!important;line-height:1.35!important}.ds-card__identity{min-width:0}.ds-card__identity h3 a{overflow-wrap:anywhere}
.ds-card__matches{gap:.4rem!important;margin:0!important}.ds-card__meta{gap:.45rem!important}.ds-card__meta p{margin:0!important;line-height:1.5!important}
.ds-card__care{font-size:.85rem!important}.ds-card__actions{flex-wrap:wrap!important;gap:.65rem!important}
.ds-card__actions .ux-select-shop{margin-left:auto;font-size:.83rem;padding:.45rem .7rem}
.ds-card__details,.ds-card__primary{min-height:44px;display:inline-flex;align-items:center}
.ds-results-layout{gap:1rem!important}.ds-results-column{min-width:0}
[data-ds-map-canvas]{height:min(650px,calc(100dvh - 165px))!important;min-height:360px!important}
.ux-search-message{padding:.75rem 1rem;background:#f7ece6;border:1px solid var(--ux-line);border-radius:10px;font-size:.9rem;color:var(--ux-ink);margin:.7rem 0}
.ux-local-data{border:1px solid var(--ux-line);border-radius:12px;background:var(--ux-paper);margin:1rem 0;overflow:hidden}
.ux-local-data>summary{padding:.9rem 1rem;font-weight:700;color:var(--ux-accent);min-height:48px}
.ux-local-data .local-comparison{padding:0 1rem 1rem;margin:0;max-width:none}.ux-local-data .local-comparison h2{font-size:1.4rem;margin-top:.7rem}
.business-profile{padding-top:1rem!important}.profile-hero{display:block!important;gap:0!important;margin-bottom:.5rem!important;padding:1.3rem!important}
.profile-hero__panel{display:none!important}.profile-hero h1{font-size:clamp(1.9rem,3.2vw,3rem)!important;line-height:1.13!important}
.profile-hero__category{margin-bottom:.5rem!important}.profile-hero__location{margin-block:.6rem!important}
.ux-profile-address{margin:.4rem 0 .8rem;line-height:1.5;font-size:.95rem;color:var(--ux-muted);overflow-wrap:anywhere}
.profile-actions{display:flex!important;flex-wrap:wrap!important;gap:.6rem!important;margin:.8rem 0!important;padding:0!important}
.profile-actions .button{min-height:44px!important;flex:0 1 auto!important}
.ux-profile-tools{margin:.5rem 0 1rem}.profile-layout{margin-top:1rem!important;gap:1.25rem!important;align-items:start!important}
.profile-main{gap:1rem!important;min-width:0}.profile-card{padding:1.15rem!important}.profile-card__heading{margin-bottom:.7rem!important}
.profile-card__heading p{display:none}.profile-card h2{font-size:1.3rem!important}.profile-card--intro p{line-height:1.7!important}
.profile-aside{gap:1rem!important}.aside-card{padding:1.1rem!important}.aside-card--contact{display:none}
.ux-provenance{margin:1.2rem 0;border:1px solid var(--ux-line);border-radius:12px;background:var(--ux-paper)}
.ux-provenance>summary{padding:1rem;color:var(--ux-accent);font-weight:700;line-height:1.5}.ux-provenance .verification-panel{margin:0!important;border:0!important;padding:1rem!important}
.ux-provenance .status-grid{margin:.5rem 1rem!important}.ux-profile-checks{border:1px solid var(--ux-line);border-radius:12px;margin:1rem 0;background:var(--ux-paper)}
.ux-profile-checks>summary{padding:1rem;font-weight:700;color:var(--ux-accent)}.ux-profile-checks .profile-fit{margin:0!important;padding:1rem!important}
.ux-short-hours p{margin:.4rem 0 0}.ux-review-line{font-size:.85rem;color:var(--ux-muted);margin:.5rem 0}
.ux-dialog{width:min(1050px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:1.25rem;border:1px solid var(--ux-line);border-radius:18px;color:var(--ux-ink);background:#fffdfb;overflow:auto}
.ux-dialog::backdrop{background:rgba(42,30,29,.5)}.ux-dialog h2{font-size:1.6rem;line-height:1.2;margin:.2rem 0}
.ux-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:1rem;position:sticky;top:-1.25rem;background:#fffdfb;padding-block:.8rem;z-index:1}
.ux-comparison-grid{display:grid;grid-template-columns:repeat(var(--ux-columns,2),minmax(0,1fr));gap:1rem}
.ux-comparison-item{border:1px solid var(--ux-line);border-radius:12px;padding:1rem;min-width:0;background:white}.ux-comparison-item h3{font-size:1.05rem;margin:0 0 .7rem;overflow-wrap:anywhere}
.ux-comparison-item dl{margin:0}.ux-comparison-item dt{font-size:.78rem;font-weight:700;color:var(--ux-muted);margin-top:.9rem}.ux-comparison-item dd{margin:.2rem 0;line-height:1.5;font-size:.9rem;overflow-wrap:anywhere}
.ux-comparison-item .ux-button{width:100%;margin-top:.6rem}.ux-comparison-status{min-height:1.5em;font-size:.9rem}
.ux-budget-summary{background:#f7ece6;border:1px solid var(--ux-line);border-radius:14px;padding:1rem;margin:1rem 0}
.ux-budget-summary h2{font-size:1.2rem!important;margin:0 0 .6rem!important}.ux-budget-totals{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ux-budget-totals p{margin:.3rem 0!important;overflow-wrap:anywhere}.ux-budget-totals strong{display:block;font-size:.88rem}.ux-budget-totals output{padding:.7rem!important;font-size:.95rem;background:white!important;margin:.4rem 0!important}
.ux-budget-details{border:1px solid var(--ux-line);border-radius:12px;background:white;min-width:0}.ux-budget-details>summary{font-size:1.05rem;padding:1rem;font-weight:700;color:var(--ux-accent)}.ux-budget-details fieldset{border:0!important;padding-top:0!important}
.editorial .compare-grid{align-items:start}.editorial .table-scroll{overscroll-behavior-x:contain}.editorial table{min-width:0}
.ux-request-choice{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.ux-owner-intro{max-width:750px}.ux-owner-forms{max-width:820px}.ux-owner-panel>h2{font-size:1.4rem}
.ux-js [data-ux-owner-panel][hidden]{display:none!important}.owner-request-form__honeypot{display:none!important}.owner-request-form input,.owner-request-form select{min-height:44px}.owner-request-form input[type=checkbox]{min-height:22px;min-width:22px}
.owner-request-form__heading{display:none}.ux-owner-mail{border-top:1px solid var(--ux-line);margin-top:1rem;padding-top:1rem}
@media(min-width:1200px){.ds-results-layout{grid-template-columns:235px minmax(0,1fr) minmax(300px,34%)!important}.ds-card__meta{font-size:.88rem!important}}
@media(max-width:760px){.hero{padding-top:1rem!important}.hero-search__row{grid-template-columns:minmax(0,1fr)!important}.hero-search__row .hero-select-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center}.hero-search__row .hero-select-field>span{min-width:35px}.hero-search__row .hero-select-field select{min-height:44px}.ux-home-extra .hero-selects{grid-template-columns:1fr!important}.hero__copy h1{font-size:2.15rem!important}.hero__copy>p{font-size:1rem!important}.hero-search{margin-top:.8rem!important}.profile-hero{padding:1rem!important}.profile-actions .button{flex:1 1 calc(50% - .6rem)!important;padding:.6rem!important;font-size:.88rem!important}.profile-layout{display:flex!important;flex-direction:column!important}.profile-main,.profile-aside{width:100%!important}.profile-aside{position:static!important}.profile-related{margin-top:1.3rem!important}.ux-comparison-grid{grid-template-columns:1fr}.ux-dialog{padding:1rem}.ux-dialog-head{top:-1rem}.ux-dialog h2{font-size:1.25rem}.ux-budget-totals{gap:.5rem}.editorial .compare-grid{gap:.8rem}.ux-tools .ux-button{font-size:.82rem}.ds-card__actions .ux-select-shop{margin-left:0}.ux-request-choice .ux-button{flex:1 1 45%}.site-nav>.ux-nav-link{display:flex}.ux-budget-summary{padding:.75rem}}
@media(max-width:360px){.site-header__bar{gap:.2rem!important;padding:.4rem!important}.site-logo img{max-width:105px}.header-actions{gap:.2rem!important}.ux-language-label{font-size:.72rem}.hero__copy h1{font-size:1.9rem!important}.ux-tools{gap:.4rem}.ux-budget-totals{grid-template-columns:1fr}.ds-card__actions>*{flex:1 1 100%;justify-content:center}.ds-card__actions .ux-select-shop{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.ux-tools,.ux-request-choice,.ux-local-data>summary,.ux-budget-details>summary{display:none!important}.ux-budget-details{display:block!important}.ux-budget-details>*{display:block!important}.ux-budget-summary{break-inside:avoid}.ux-dialog{position:static;max-height:none;width:100%}}
@media(max-width:760px){.ux-dialog{width:calc(100% - 16px);max-width:calc(100% - 16px);padding:.75rem}.ux-dialog-head{top:-.75rem}.ux-comparison-table th,.ux-comparison-table td{min-width:108px;padding:.5rem}.ux-comparison-table th:first-child{min-width:58px;width:64px}.ux-comparison-table .ux-button{padding:.35rem}}
