/* open house feedback card (feedback.js). Brand: sage/cream/serif, mobile-first, non-blocking (no backdrop). */
.fb-card{position:fixed;left:0;right:0;bottom:0;z-index:70;max-width:540px;margin:0 auto;max-height:86vh;max-height:86dvh;overflow:auto;-webkit-overflow-scrolling:touch;background:var(--white,#fbf9f4);color:var(--char,#2a2a27);border:1px solid rgba(42,42,39,.12);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -14px 40px rgba(42,42,39,.18);padding:22px 20px calc(18px + env(safe-area-inset-bottom));transform:translateY(110%);visibility:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s .45s;font-family:var(--sans,'Lato',system-ui,sans-serif)}
.fb-card.on{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
@media(min-width:700px){.fb-card{right:22px;left:auto;bottom:22px!important;width:440px;border-radius:22px;border-bottom:1px solid rgba(42,42,39,.12);max-height:calc(100vh - 44px)}}
.fb-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:var(--cream,#f3ede2);border-radius:50%;font-size:1.6rem;line-height:1;color:var(--char,#2a2a27);cursor:pointer}
.fb-eye{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-d,#4e5b49);font-weight:600;margin-right:48px}
.fb-card h2{font-family:var(--serif,'Noto Serif',Georgia,serif);font-weight:500;font-size:1.65rem;line-height:1.1;margin:6px 48px 4px 0}
.fb-addr{font-size:.85rem;color:var(--muted,#6b6a64);margin-bottom:10px}
.fb-card fieldset{border:0;margin:0 0 12px;padding:0}
.fb-card legend,.fb-l{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:var(--char,#2a2a27)}.fb-l span{font-weight:400;color:var(--muted,#6b6a64)}
.fb-stars{display:flex;gap:4px}
.fb-stars label{position:relative;cursor:pointer}.fb-stars input{position:absolute;opacity:0;inset:0;margin:0}
.fb-stars span{display:block;font-size:2.1rem;line-height:1;width:46px;height:46px;text-align:center;padding-top:5px;color:#d9d4c8;transition:color .12s}
.fb-stars:has(input:checked) label span{color:var(--sage-d,#4e5b49)}.fb-stars label:has(input:checked)~label span{color:#d9d4c8}
.fb-stars input:focus-visible+span{outline:2px solid var(--sage-d,#4e5b49);border-radius:8px}
.fb-seg{display:flex;gap:8px}.fb-seg label{flex:1;position:relative}
.fb-seg input,.fb-chip input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.fb-seg span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1.5px solid rgba(42,42,39,.18);border-radius:12px;background:#fff;font-size:.92rem;text-align:center}
.fb-chips{display:flex;flex-wrap:wrap;gap:7px}.fb-chip{position:relative}
.fb-chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1.5px solid rgba(42,42,39,.18);border-radius:999px;background:#fff;font-size:.88rem}
.fb-seg input:checked+span,.fb-chip input:checked+span{background:var(--sage-d,#4e5b49);border-color:var(--sage-d,#4e5b49);color:#fff}
.fb-seg input:focus-visible+span,.fb-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(78,91,73,.25)}
.fb-card textarea,.fb-contact input{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid rgba(42,42,39,.18);border-radius:12px;background:#fff;color:inherit;min-height:46px;margin-bottom:8px;-webkit-appearance:none}
.fb-card textarea{min-height:64px;resize:vertical}
.fb-contact{background:var(--cream,#f3ede2);border-radius:14px;padding:10px 10px 2px;margin:4px 0 10px}
.fb-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border:0;border-radius:999px;background:var(--sage-d,#4e5b49);color:#fff;font:inherit;font-weight:500;font-size:1rem;letter-spacing:.03em;cursor:pointer;margin-top:4px}.fb-go:disabled{opacity:.6}
.fb-err{color:var(--err,#9b3b2e);font-size:.85rem;margin:2px 0 6px}
.fb-fine{font-size:.72rem;color:var(--muted,#6b6a64);line-height:1.45;margin-top:10px}.fb-fine a{color:var(--sage-d,#4e5b49)}
.fb-who{font-size:.72rem;color:var(--muted,#6b6a64);margin-top:4px}
.fb-done{text-align:center;padding:18px 4px 6px}.fb-done .fb-eye{margin:0}.fb-done h2{margin:6px 0}.fb-done-t{color:var(--muted,#6b6a64);margin-bottom:14px}
.fb-pill{position:fixed;right:14px;bottom:14px;z-index:65;display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:var(--sage-d,#4e5b49);color:#fff;font:500 .92rem var(--sans,'Lato',system-ui,sans-serif);box-shadow:0 8px 22px rgba(42,42,39,.22);cursor:pointer}
.fb-pill[hidden],.fb-card [hidden]{display:none!important}
.fb-card .hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.fb-card legend{float:none;width:auto;padding:0}.fb-card fieldset::after{display:none}
.fb-card .fb-seg,.fb-card .fb-chips,.fb-card .fb-stars{clear:none}
