/* Scoped additions to the existing FlexSalon design. No listing data changes. */
:root { --ux-focus: #245e58; }
:focus-visible { outline: 3px solid var(--ux-focus); outline-offset: 4px; }
.ux-skip { position: fixed; left: 16px; top: -100px; z-index: 10000; padding: 12px 18px; background: #fff; color: #171612; border: 2px solid var(--ux-focus); border-radius: 8px; }
.ux-skip:focus { top: 12px; }
.home-search { box-shadow: 0 8px 28px #211b1108; }
.home-search label, .search-cell label, .application-form label { font-family: 'Work Sans', sans-serif; text-transform: none; letter-spacing: 0; opacity: 1; color: #504a42; }
.home-search input, .home-search select { font-size: 16px; border-radius: 8px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 16px 0 0; list-style: none; font-size: .84rem; color: #415c53; }
.hero-points li { padding-left: 10px; border-left: 2px solid #61a89a; }
.ux-rent-link { display: none; }
.ux-note { font: 400 .83rem/1.55 'Work Sans', sans-serif; color: #5d574f; margin: 8px 0 0; }
.search-panel input, .search-panel select { font-size: 16px; }
.application-form input, .application-form select, .application-form textarea { font-size: 16px; min-height: 48px; border-radius: 8px; }
.application-form .application-consent { font-family: 'Work Sans',sans-serif; text-transform: none; letter-spacing: 0; line-height: 1.55; }
.application-form input[type=checkbox] { min-height: 20px; min-width: 20px; }
.ux-optional { border: 1px solid var(--line); border-radius: 8px; padding: 0 12px; }
.ux-optional summary { cursor: pointer; min-height: 48px; padding: 13px 0; font-weight: 650; font-size: .9rem; }
.ux-optional[open] { padding-bottom: 14px; }
.ux-optional label + label { margin-top: 14px; }
.application-box:has(.application-form.open) > #applyToggle { display: none; }
.application-form.open { margin-top: 12px; }
.ux-price-note { grid-column: 1 / -1; }
@media(max-width:860px) {
  .home-hero { gap: 18px; }
  .home-search { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px; }
  .home-search h2, .home-search .field:first-of-type, .home-search > button, .ux-rent-link { grid-column: 1 / -1; }
  .home-search h2 { margin: 0; font-size: 1.15rem; }
  .home-search .field { min-width: 0; margin: 0; }
  .home-search input, .home-search select { width: 100%; min-width: 0; min-height: 46px; }
  .home-search label { display: block; margin-bottom: 6px; font-size: .8rem; }
  .home-actions { display: none; }
  .ux-rent-link { display: block; text-align: center; color: #474239; font-weight: 600; font-size: .88rem; padding: 12px 0; min-height:44px; box-sizing:border-box; text-underline-offset: 4px; }
  .hero-points { display: none; }
  .hero-proof { margin-top: 10px; }
  .hero-intro { margin-bottom: 8px; }
}
@media(max-width:600px) {
  .home-hero h1 { font-size: clamp(1.8rem, 7vw, 2.15rem); }
  .fsbot-toggle { width: 46px!important; height: 46px!important; padding: 0!important; justify-content: center; }
  .fsbot-toggle strong { display: none; }
  .fsbot-toggle > span { margin: 0!important; }
  .fsbot { bottom: max(12px, env(safe-area-inset-bottom))!important; right: 12px!important; }
  body.ux-form-focused .fsbot-toggle { visibility: hidden; }
  .filter-actions { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  .application-actions { padding-bottom: 16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto!important; }
  .filter-panel, .filter-backdrop { transition: none!important; }
}
