/* Checked Local "Find a pro" helper. Small, quiet, sized to its content. Uses the site's color tokens. */
.clc{--clc-brand:#2f5d7c;position:fixed;right:16px;bottom:16px;z-index:60;font-family:"Instrument Sans",ui-sans-serif,system-ui,sans-serif}
.clc-bubble{position:relative;display:block;width:64px;height:64px;padding:0;border:3px solid var(--surface,#fffdf9);border-radius:50%;cursor:pointer;
  background:#2f5d7c;box-shadow:0 8px 22px -8px #1b2b3a99;transition:transform .15s}
.clc-bubble img{display:block;width:100%;height:100%;border-radius:50%}
.clc-bubble:hover{transform:scale(1.06)}
.clc-badge{position:absolute;right:-3px;bottom:-1px;width:22px;height:22px;border-radius:50%;background:#3d7a55;border:2px solid var(--surface,#fffdf9);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.6' stroke='white' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:14px;background-position:center;background-repeat:no-repeat}
@media (prefers-reduced-motion:reduce){.clc-bubble{transition:none}}
.clc-teaser{position:absolute;right:76px;bottom:6px;width:250px;background:var(--surface,#fffdf9);color:var(--ink,#1b2b3a);
  border:1px solid var(--line,#e5dfd4);border-radius:16px 16px 4px 16px;box-shadow:0 8px 24px -12px #1b2b3a80}
.clc-teaser[hidden]{display:none}
.clc-teaser-body{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 28px 12px 13px;cursor:pointer;color:inherit}
.clc-teaser-body b{display:block;font-size:14px;margin-bottom:2px}
.clc-teaser-body span{display:block;font-size:13px;line-height:1.4;color:var(--muted,#6c6860)}
.clc-teaser-x{position:absolute;top:5px;right:5px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted,#6c6860);cursor:pointer;display:grid;place-items:center}
.clc-teaser-x svg{width:13px;height:13px}
.clc-teaser-x:hover{background:var(--bg,#f6f3ee)}
.clc-bubble:focus-visible,.clc button:focus-visible,.clc a:focus-visible,.clc input:focus-visible,.clc select:focus-visible{outline:2px solid var(--orange,#dc5a23);outline-offset:2px}
.clc.open .clc-bubble,.clc.open .clc-teaser{display:none}

.clc-panel{position:fixed;right:16px;bottom:16px;width:320px;max-width:calc(100vw - 24px);max-height:min(460px,calc(100vh - 32px));
  display:flex;flex-direction:column;background:var(--surface,#fffdf9);color:var(--ink,#1b2b3a);border:1px solid var(--line,#e5dfd4);
  border-radius:18px;box-shadow:0 10px 32px -14px #1b2b3a80;overflow:hidden}
.clc-panel[hidden]{display:none}
.clc-head{display:flex;align-items:center;gap:10px;padding:10px 8px 8px 12px}
.clc-ava{flex:none;width:36px;height:36px}
.clc-ava img{width:36px;height:36px;border-radius:50%;display:block}
.clc-title{flex:1;min-width:0}
.clc-head b{display:block;font-size:14.5px;line-height:1.2}
.clc-town{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted,#6c6860)}
.clc-town{margin-top:3px}
.clc-town svg{width:14px;height:14px;color:var(--lake,#2f5d7c);flex:none}
.clc-town select{border:1px solid var(--line,#e5dfd4);background:var(--bg,#f6f3ee);color:var(--ink,#1b2b3a);font-weight:600;font-size:13px;padding:3px 6px;border-radius:8px;cursor:pointer;max-width:150px}
.clc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.clc-x{flex:none;border:0;background:transparent;color:var(--muted,#6c6860);width:30px;height:30px;border-radius:8px;cursor:pointer;display:grid;place-items:center}
.clc-x:hover{background:var(--bg,#f6f3ee);color:var(--ink,#1b2b3a)}
.clc-x svg{width:16px;height:16px}

.clc-log{flex:1 1 auto;overflow-y:auto;padding:2px 14px 8px;display:flex;flex-direction:column;gap:8px}
.clc-msg{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.clc-msg.bot{align-self:stretch;color:var(--ink,#1b2b3a)}
.clc-msg.me{align-self:flex-end;max-width:85%;background:var(--bg,#f6f3ee);border-radius:12px;padding:6px 10px;color:var(--ink,#1b2b3a)}
.clc-wait{color:var(--muted,#6c6860);font-size:13.5px}
.clc-chips{display:flex;flex-wrap:wrap;gap:6px}
.clc-chips button{border:1px solid var(--line,#e5dfd4);color:var(--ink,#1b2b3a);background:var(--surface,#fffdf9);border-radius:999px;
  padding:5px 11px;font-size:13px;cursor:pointer;text-align:left}
.clc-chips button:hover:not(:disabled){border-color:var(--lake,#2f5d7c)}
.clc-chips button.on{border-color:var(--lake,#2f5d7c);color:var(--lake,#2f5d7c);font-weight:600}
.clc-chips button:disabled:not(.on){opacity:.4;cursor:default}
.clc-chips .clc-ghost{border-style:dashed;color:var(--muted,#6c6860)}

.clc-cards{display:flex;flex-direction:column;margin-top:6px;border-top:1px solid var(--line,#e5dfd4)}
.clc .clc-card{display:block;margin:0;padding:9px 0;border:0;border-bottom:1px solid var(--line,#e5dfd4);border-radius:0;background:transparent;box-shadow:none}
.clc-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.clc .clc-card .c-name{margin:0;font-size:14px;line-height:1.3;font-weight:600}
.clc .clc-card .c-name a{color:var(--ink,#1b2b3a);text-decoration:none}
.clc .clc-card .c-name a:hover{text-decoration:underline}
.clc-score{flex:none;font-size:12px;font-weight:600;color:var(--green,#3d7a55);white-space:nowrap}
.clc-score.none{color:var(--muted,#6c6860);font-weight:500}
.clc .clc-card .c-sub{font-size:12.5px;color:var(--muted,#6c6860);margin:1px 0 0}
.clc-tag{color:var(--orange,#dc5a23);font-weight:600}
.clc .clc-card p{margin:3px 0 6px;font-size:13px;color:var(--muted,#6c6860)}
.clc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}
.clc-foot .site{color:var(--lake,#2f5d7c)}
.clc-foot span{color:var(--muted,#6c6860)}
.clc .clc-foot .call{background:var(--orange,#dc5a23);color:#fff;text-decoration:none;font-weight:600;border-radius:999px;padding:5px 11px;font-size:12.5px;white-space:nowrap}
.clc-more{display:inline-block;margin-top:8px;font-size:13px;color:var(--lake,#2f5d7c);font-weight:600}

.clc-form{display:flex;gap:6px;padding:8px 10px 10px;border-top:1px solid var(--line,#e5dfd4)}
.clc-in{flex:1;min-width:0;border:1px solid var(--line,#e5dfd4);background:var(--bg,#f6f3ee);border-radius:999px;padding:8px 13px;font-size:16px;color:var(--ink,#1b2b3a)}
.clc-send{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:var(--clc-brand);color:#fff;cursor:pointer;display:grid;place-items:center;align-self:center}
.clc-send svg{width:16px;height:16px}

@media (max-width:520px){
  .clc{right:12px;bottom:12px}
  .clc-bubble{width:58px;height:58px}
  .clc-teaser{right:68px;bottom:10px;width:auto;max-width:200px}
  .clc-teaser-body span{display:none}
  .clc-teaser-body b{margin:0}
  .clc-panel{right:8px;left:8px;bottom:8px;width:auto;max-width:none;max-height:60vh;border-radius:16px}
}

/* Home page: the hero search bar is replaced by a button that opens the helper. */
.cl-hero-cta{display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:var(--surface,#fffdf9);color:var(--muted,#6c6860);
  border:1px solid var(--line,#e5dfd4);font-size:16px;padding:14px 22px 14px 18px;border-radius:999px;box-shadow:var(--shadow);min-width:min(420px,100%);text-align:left}
.cl-hero-cta svg{width:18px;height:18px;color:var(--lake,#2f5d7c);flex:none}
.cl-hero-cta:hover{border-color:var(--lake,#2f5d7c)}

/* Header button that opens the helper (replaces the per-town nav links). */
.cl-nav-cta{border:0;cursor:pointer;background:#2f5d7c;color:#fff;font-weight:600;font-size:14px;border-radius:999px;white-space:nowrap}
.cl-nav-cta:hover{filter:brightness(1.1)}
.cl-foot-links{white-space:nowrap}

/* Dropped down from the header button (top right). */
.clc-panel.clc-attop,.clc-teaser.clc-attop{position:fixed}
.clc-panel.clc-attop{max-width:calc(100vw - 16px)}
.clc-teaser.clc-attop{border-radius:16px 4px 16px 16px}
.clc-teaser.clc-attop::before{content:"";position:absolute;top:-7px;right:22px;width:12px;height:12px;background:inherit;border-left:1px solid var(--line,#e5dfd4);border-top:1px solid var(--line,#e5dfd4);transform:rotate(45deg)}
@media (max-width:520px){
  .clc-panel.clc-attop{left:8px;right:8px!important;width:auto}
  .clc-teaser.clc-attop{max-width:230px}
}
/* Header: avatar inside the button; About link under the brand. */
.cl-nav-cta{display:inline-flex;align-items:center;gap:8px;padding:5px 15px 5px 5px}
.cl-nav-cta img{width:30px;height:30px;border-radius:50%;display:block;border:2px solid #fff}
.cl-brandbox{display:flex;flex-direction:column;gap:2px}
.cl-about{margin-left:40px;font-size:13px;color:var(--muted,#6c6860);text-decoration:none;border-bottom:1px solid var(--line,#e5dfd4);align-self:flex-start;line-height:1.3}
.cl-about:hover{color:var(--ink,#1b2b3a)}
.cl-about{white-space:nowrap}
@media (max-width:520px){.cl-about{font-size:12px}.cl-nav-cta{font-size:14px;padding:4px 13px 4px 4px}.cl-nav-cta img{width:28px;height:28px}.cl-w{display:none}header .brand{font-size:16px;white-space:nowrap;gap:8px}header .brand svg{width:26px;height:26px}.cl-about{margin-left:34px}}

/* Readable links on the About and How-we-rate pages (the browser default blue disappears on dark backgrounds). */
.hw-wrap a{color:var(--lake,#2f5d7c);text-decoration-thickness:1px;text-underline-offset:2px}
.hw-wrap a:hover{color:var(--ink,#1b2b3a)}
footer a{color:inherit}
