/* Better Living Services — smart interaction layer */
.smart-tool{background:linear-gradient(145deg,#fff 0%,#f1f8f6 100%);border:1px solid #d8e8e3;border-radius:24px;padding:clamp(20px,3vw,34px);box-shadow:0 12px 34px rgba(18,52,71,.055)}
.smart-tool h2{margin:.25rem 0 .65rem}.smart-tool p{max-width:68ch}.smart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.smart-tool label,.smart-label{display:block;font-weight:750;color:#173b4a}.smart-tool input:not([type=checkbox]),.smart-tool select,.smart-tool textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:13px 14px;border:1px solid #cbdad7;border-radius:12px;background:#fff;color:#173b4a;font:inherit;min-height:48px}.smart-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.smart-choice{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #d6e5e1;border-radius:14px;background:#fff;cursor:pointer;font-weight:650}.smart-choice:has(input:checked){border-color:#148b86;background:#eaf7f4;box-shadow:inset 0 0 0 1px #148b86}.smart-choice input{width:19px;height:19px;margin:2px 0 0;accent-color:#087f86;flex:0 0 auto}.smart-result{margin-top:18px;padding:17px;border-radius:15px;background:#123747;color:#fff}.smart-result a{color:#b9f0e5;font-weight:800}.smart-result[hidden],.smart-tool [hidden]{display:none!important}.smart-note{font-size:.9rem;color:#52666b}.smart-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.smart-toolbar input{flex:1;min-width:220px}.smart-empty{padding:16px;background:#f7f8f7;border-radius:12px}.smart-filtered-out{display:none!important}.smart-area-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.smart-area-result{margin-top:14px;padding:16px;border-radius:14px;background:#eef7f4;color:#153b4b}.smart-area-result[data-kind="check"]{background:#fff5df}.smart-area-result[data-kind="outside"]{background:#f3f4f4}.smart-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;background:#f5faf8;border:1px solid #dce9e5;border-radius:14px}.smart-contact-fields .full{grid-column:1/-1}.smart-sticky-contact{display:none}
@media(max-width:680px){.smart-grid,.smart-choices,.smart-contact-fields{grid-template-columns:1fr}.smart-contact-fields .full{grid-column:auto}.smart-area-form{grid-template-columns:1fr}.smart-area-form .btn{width:100%}.smart-sticky-contact{position:fixed;z-index:1000;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:none;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid rgba(18,55,71,.14);border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 8px 30px rgba(18,52,71,.18);backdrop-filter:blur(12px)}.smart-sticky-contact.is-visible{display:grid}.smart-sticky-contact a{display:flex;justify-content:center;align-items:center;min-height:46px;border-radius:11px;text-decoration:none;font-weight:800;background:#087f86;color:#fff}.smart-sticky-contact a:last-child{background:#123747}.site-page{padding-bottom:72px}}
@media(prefers-reduced-motion:no-preference){.smart-tool,.smart-result{transition:box-shadow .2s ease,border-color .2s ease}.smart-tool:focus-within{box-shadow:0 14px 36px rgba(18,52,71,.09)}}
@media(min-width:681px){.smart-sticky-contact{display:none!important}}
/* UI-002: resilient mobile navigation state; works with both menu-state classes. */
@media(max-width:850px){.header .navlinks.open,.header .navlinks.is-open,.header .navlinks[data-open="true"]{display:flex!important}.header .nav{position:relative}.header .menu{touch-action:manipulation;cursor:pointer}.header .menu:focus-visible{outline:3px solid #e0a82e;outline-offset:3px}}
/* UI-002 follow-up: show one clear menu icon, not the button text plus pseudo-icon. */
@media(max-width:850px){
  .header .menu{font-size:0!important;line-height:1!important;}
  .header .menu::after{content:"☰";font-size:1.2rem;line-height:1;}
  .header .menu[aria-expanded="true"]::after{content:"×";font-size:1.55rem;}
}
/* UI-003: orient visitors by clearly marking the current primary-nav destination. */
.navlinks a[aria-current="page"]:not(.navcta){color:var(--teal,#087f86)!important;font-weight:850!important;}
@media(min-width:851px){.navlinks a[aria-current="page"]:not(.navcta){position:relative}.navlinks a[aria-current="page"]:not(.navcta)::after{content:"";position:absolute;left:10px;right:10px;bottom:-7px;height:3px;border-radius:99px;background:var(--teal,#087f86)}}
@media(max-width:850px){.navlinks a[aria-current="page"]:not(.navcta){background:#eef7f6!important;color:#087f86!important;border-radius:10px;font-weight:850!important}}
