/* Services Near Me — clean, professional customer-facing UI */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #202124; background: #fff; min-height: 100vh; display: flex; flex-direction: column; }
a { text-decoration: none; }

/* Two-tone wordmark: dark ink + one accent, with a location-pin mark. */
.logo { display: inline-flex; align-items: center; font-weight: 700; letter-spacing: -.5px; user-select: none; line-height: 1; }
.logo .lg-dark { color: #1f2937; }
.logo .logo-pin { flex: none; }
.logo.big { font-size: 58px; margin-bottom: 10px; }
.logo.big .logo-pin { margin-right: 8px; filter: drop-shadow(0 1px 1px rgba(26,86,219,.25)); }
.logo.small { font-size: 23px; white-space: nowrap; margin-right: 24px; }
.logo.small .logo-pin { margin-right: 5px; }

/* ── Home ── */
.home-main { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; margin-top: -6vh; }
.tagline { color: #5f6368; font-size: 16px; margin-bottom: 26px; }
.sbox-form { width: 100%; max-width: 584px; }
.sbox { position: relative; display: flex; align-items: center; border: 1px solid #dfe1e5; border-radius: 24px; padding: 0 14px; height: 46px; background: #fff; }
.sbox:hover, .sbox:focus-within { box-shadow: 0 1px 6px rgba(32,33,36,.28); border-color: rgba(223,225,229,0); }
.sbox input { flex: 1; border: none; outline: none; font-size: 16px; padding: 0 10px; background: transparent; }
.sbox .mag { flex: none; }
.sbox .go { border: none; background: none; cursor: pointer; padding: 4px; }
.sbox .clear { border: none; background: none; cursor: pointer; color: #70757a; font-size: 15px; padding: 4px 8px; border-right: 1px solid #dfe1e5; margin-right: 6px; }
.ac { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-radius: 0 0 24px 24px; box-shadow: 0 4px 6px rgba(32,33,36,.28); z-index: 10; padding: 6px 0 12px; margin-top: -4px; border-top: 1px solid #e8eaed; }
.sbox.open { border-radius: 24px 24px 0 0; box-shadow: 0 1px 6px rgba(32,33,36,.28); }
.sbox.open .ac { display: block; }
.ac-item { display: flex; align-items: center; gap: 12px; padding: 7px 16px; font-size: 15px; cursor: pointer; color: #202124; }
.ac-item .t { color: #9aa0a6; font-size: 12px; margin-left: auto; }
.ac-item:hover, .ac-item.sel { background: #f1f3f4; }
.btns { display: flex; gap: 12px; margin: 28px 0 22px; }
.gbtn { background: #f8f9fa; border: 1px solid #f8f9fa; border-radius: 4px; color: #3c4043; font-size: 14px; padding: 10px 18px; cursor: pointer; }
.gbtn:hover { border-color: #dadce0; box-shadow: 0 1px 1px rgba(0,0,0,.1); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; max-width: 640px; }
.chip { border: 1px solid #dadce0; border-radius: 16px; padding: 6px 14px; font-size: 13px; color: #3c4043; background: #fff; }
.chip:hover { background: #f1f3f4; }
.foot { background: #f2f2f2; color: #70757a; font-size: 13px; padding: 12px 24px; display: flex; flex-direction: column; gap: 4px; align-items: center; border-top: 1px solid #dadce0; }
.foot a { color: #70757a; text-decoration: underline; }

/* ── Results ── */
.serp-head { display: flex; align-items: center; padding: 18px 24px 0; border-bottom: 1px solid #ebebeb; padding-bottom: 14px; gap: 4px; flex-wrap: wrap; }
.serp .sbox-form, .trade .sbox-form, .trades-idx .sbox-form { max-width: 584px; flex: 1; min-width: 260px; }
.serp-body { max-width: 652px; padding: 12px 24px 32px; margin-left: 156px; }
.stats { color: #70757a; font-size: 13px; margin: 10px 0 16px; }
.stats .loc { color: #188038; }
.dym { font-size: 16px; margin-bottom: 14px; }
.dym a { color: #1a0dab; }
.dym-sub { font-size: 14px; color: #70757a; }
.res { margin-bottom: 26px; max-width: 600px; }
.crumb { color: #202124; font-size: 13px; display: flex; align-items: center; gap: 7px; margin-bottom: 2px; }
.ricon { font-size: 15px; }
.rtitle { color: #1a0dab; font-size: 20px; line-height: 1.3; display: inline-block; }
.rtitle:visited { color: #609; }
.rtitle:hover { text-decoration: underline; }
.rsnip { color: #4d5156; font-size: 14px; line-height: 1.57; margin-top: 3px; }
.urgent { background: #fce8e6; color: #c5221f; font-size: 11px; border-radius: 4px; padding: 2px 6px; vertical-align: middle; font-weight: bold; }
.sitelinks { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 8px 0 0 12px; }
.sitelinks a { color: #1a0dab; font-size: 14px; }
.sitelinks a:hover { text-decoration: underline; }
.answer { border: 1px solid #dfe1e5; border-radius: 8px; padding: 16px 20px; margin-bottom: 24px; max-width: 600px; }
.alabel { color: #70757a; font-size: 12px; margin-bottom: 8px; }
.aq { font-size: 18px; font-weight: bold; margin-bottom: 8px; }
.aa { font-size: 14px; line-height: 1.58; color: #4d5156; }
.asrc { margin-top: 10px; font-size: 13px; }
.asrc a { color: #1a0dab; }
.paa { border-top: 1px solid #ebebeb; border-bottom: 1px solid #ebebeb; padding: 14px 0; margin: 20px 0; max-width: 600px; }
.paa-t { font-size: 18px; margin-bottom: 8px; }
.paa details, .trade details { border-bottom: 1px solid #ebebeb; }
.paa summary, .trade summary { padding: 10px 4px; font-size: 15px; cursor: pointer; list-style-position: inside; }
.paa summary:hover, .trade summary:hover { color: #1a0dab; }
.paa-a { padding: 2px 10px 12px 22px; font-size: 14px; color: #4d5156; line-height: 1.55; }
.paa-a a { color: #1a0dab; }
.rel { margin: 22px 0; }
.rel-t { font-size: 18px; margin-bottom: 10px; }
.rel .chips { justify-content: flex-start; }
.pager { display: flex; gap: 14px; font-size: 15px; margin-top: 26px; }
.pager a { color: #1a0dab; }
.pager .cur { color: #202124; font-weight: bold; }
.none { font-size: 15px; color: #4d5156; line-height: 1.6; }
.none a { color: #1a0dab; }

/* ── Trade page ── */
.trade-body { max-width: 760px; padding: 20px 24px 40px; margin: 0 auto; width: 100%; }
.hero h1 { font-size: 32px; margin-bottom: 8px; }
.hero .one { color: #4d5156; font-size: 16px; line-height: 1.6; max-width: 640px; }
.cta { display: flex; gap: 12px; margin: 18px 0 8px; flex-wrap: wrap; }
.cta.bottom { margin-top: 30px; }
.cta-main { background: #1a73e8; color: #fff; border-radius: 24px; padding: 12px 26px; font-size: 15px; font-weight: bold; }
.cta-main:hover { background: #1765cc; }
.cta-sec { border: 1px solid #dadce0; color: #1a73e8; border-radius: 24px; padding: 12px 26px; font-size: 15px; }
.trade section { margin-top: 30px; }
.trade h2 { font-size: 21px; margin-bottom: 12px; }
.svc-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.svc { border: 1px solid #dadce0; border-radius: 16px; padding: 7px 14px; font-size: 13px; color: #3c4043; }
.svc:hover { background: #f1f3f4; border-color: #1a73e8; color: #1a73e8; }
.probs li, .safety li { font-size: 14.5px; color: #3c4043; line-height: 1.7; margin-left: 4px; list-style: none; }
.safety li { margin-bottom: 8px; }
.terms dt { font-weight: bold; font-size: 14.5px; margin-top: 10px; }
.terms dd { font-size: 14px; color: #4d5156; margin-left: 0; line-height: 1.5; }
.letter { color: #1a73e8; font-size: 20px; margin: 22px 0 10px; }
.serp-foot { flex-direction: row; gap: 18px; margin-top: auto; }

/* ── Accounts ── */
.home-head { display: flex; justify-content: flex-end; padding: 14px 22px 0; min-height: 44px; position: relative; z-index: 5; }
.signin-btn { background: #1a73e8; color: #fff; border-radius: 4px; padding: 9px 22px; font-size: 14px; font-weight: 500; }
.signin-btn:hover { background: #1765cc; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.serp-head .signin-btn { margin-left: auto; }
.acct { position: relative; margin-left: auto; }
.avatar { width: 34px; height: 34px; border-radius: 50%; background: #1a73e8; color: #fff; border: none; font-size: 15px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.avatar.sm { width: 28px; height: 28px; font-size: 13px; }
.avatar:hover { box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.acct-menu { display: none; position: absolute; right: 0; top: 44px; background: #fff; border: 1px solid #dadce0; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.2); padding: 14px; min-width: 220px; z-index: 20; }
.acct-menu.open { display: block; }
.acct-email { font-size: 13px; color: #5f6368; margin-bottom: 10px; word-break: break-all; }
.acct-menu button { width: 100%; border: 1px solid #dadce0; background: #fff; border-radius: 4px; padding: 8px; cursor: pointer; font-size: 14px; }
.acct-menu button:hover { background: #f1f3f4; }

/* ── Sign-in page ── */
.signin-main { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 40px 24px; }
.signin-card { border: 1px solid #e5e7eb; border-radius: 14px; padding: 36px; max-width: 400px; width: 100%; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.signin-card h1 { font-size: 24px; margin-bottom: 22px; text-align: center; font-weight: 700; }
.signin-sub { color: #5f6368; font-size: 14px; margin-bottom: 20px; line-height: 1.5; }
.oauth-list { display: flex; flex-direction: column; gap: 10px; }
.oauth-btn { display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid #dadce0; border-radius: 8px; padding: 11px; font-size: 14px; font-weight: 600; color: #3c4043; background: #fff; transition: background .12s, box-shadow .12s; }
.oauth-btn:hover { background: #f8f9fa; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.oauth-btn svg { flex: none; }
.oauth-apple, .oauth-dark { background: #000; color: #fff; border-color: #000; }
.oauth-apple:hover, .oauth-dark:hover { background: #1a1a1a; }
.or-div { display: flex; align-items: center; text-align: center; color: #9aa0a6; font-size: 12px; font-weight: 600; margin: 18px 0; }
.or-div::before, .or-div::after { content: ""; flex: 1; height: 1px; background: #e5e7eb; }
.or-div span { padding: 0 12px; }
.fld-label { display: block; font-size: 13px; font-weight: 600; color: #3c4043; margin-bottom: 6px; }
.signin-legal { color: #9aa0a6; font-size: 11.5px; text-align: center; margin-top: 18px; line-height: 1.5; }
.signin-card input { width: 100%; border: 1px solid #dadce0; border-radius: 6px; padding: 13px; font-size: 16px; margin-bottom: 14px; }
.signin-card input:focus { outline: none; border-color: #1a73e8; }
.signin-card .cta-main { width: 100%; border: none; cursor: pointer; }
.signin-msg { margin-top: 14px; font-size: 14px; color: #188038; text-align: center; }
.signin-msg.err { color: #c5221f; }
.linklike { background: none; border: none; color: #1a73e8; cursor: pointer; font-size: 13px; margin-top: 10px; display: block; }

/* ── Reviews ── */
.stars { color: #fbbc04; letter-spacing: 1px; }
.rating-num { font-weight: bold; color: #202124; }
.rating-count { color: #70757a; font-size: 13px; }
.rrating { margin: 2px 0; font-size: 14px; }
.rphone { font-size: 14px; color: #202124; margin-top: 3px; }
.rphone a { color: #1a73e8; }
#reviews .rev-agg { font-size: 16px; font-weight: normal; margin-left: 8px; }
.rev-form { border: 1px solid #dadce0; border-radius: 10px; padding: 16px; margin-bottom: 20px; }
.star-pick button { background: none; border: none; font-size: 28px; color: #fbbc04; cursor: pointer; padding: 0 2px; }
.rev-form textarea { width: 100%; min-height: 70px; border: 1px solid #dadce0; border-radius: 6px; padding: 10px; font: inherit; font-size: 14px; margin: 8px 0; resize: vertical; }
.rev-msg { margin-left: 10px; font-size: 13px; color: #c5221f; }
.rev-signin { background: #f8f9fa; border-radius: 8px; padding: 14px; font-size: 14px; }
.rev-signin a, .doc-content a { color: #1a73e8; }
.review { border-top: 1px solid #ebebeb; padding: 14px 0; }
.rev-head { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.rev-date { color: #70757a; font-size: 13px; }
.rev-stars { color: #fbbc04; margin: 4px 0; }
.rev-text { font-size: 14px; line-height: 1.55; color: #3c4043; }
.no-reviews { color: #70757a; font-size: 14px; }
.doc-content { font-size: 15px; line-height: 1.7; color: #3c4043; max-width: 680px; }
.doc-content p { margin-bottom: 14px; }

/* ── Customer directory + business pages ── */
.verified-badge { background: #e6f4ea; color: #137333; font-size: 11px; font-weight: bold; border-radius: 4px; padding: 2px 7px; margin-left: 8px; vertical-align: middle; white-space: nowrap; }
.verified-badge.big { font-size: 13px; }
.tf { color: #1a73e8; font-weight: bold; }
.biz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-top: 8px; }
.biz-card { border: 1px solid #dadce0; border-radius: 12px; padding: 16px; display: block; transition: box-shadow .15s; }
.biz-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.12); border-color: #1a73e8; }
.biz-name { font-size: 17px; font-weight: 600; color: #1a0dab; }
.biz-trade { font-size: 13px; color: #5f6368; margin: 4px 0; }
.biz-rating { font-size: 14px; margin: 4px 0; }
.biz-cities { font-size: 13px; color: #3c4043; margin-top: 6px; line-height: 1.5; }
.svc.area { color: #3c4043; cursor: default; }
.svc.area:hover { background: #fff; border-color: #dadce0; color: #3c4043; }
.verified-badge2 { color: #137333; }

/* ── Contact page ── */
.contact-main { flex: 1; display: flex; justify-content: center; padding: 30px 20px; }
.contact-card, .contact-done { border: 1px solid #dadce0; border-radius: 12px; padding: 34px; max-width: 460px; width: 100%; }
.contact-card h1, .contact-done h1 { font-size: 26px; margin-bottom: 6px; }
.contact-sub { color: #5f6368; font-size: 14px; margin-bottom: 20px; line-height: 1.5; }
.contact-sub a, .contact-done a:not(.cta-main) { color: #1a73e8; }
.cf-row, .cf-row2 { margin-bottom: 12px; }
.cf-row2 { display: flex; gap: 10px; }
.contact-card input, .contact-card textarea { width: 100%; border: 1px solid #dadce0; border-radius: 6px; padding: 12px; font: inherit; font-size: 15px; }
.contact-card input:focus, .contact-card textarea:focus { outline: none; border-color: #1a73e8; }
.contact-card textarea { min-height: 70px; resize: vertical; }
.contact-card .cta-main { width: 100%; border: none; cursor: pointer; margin-top: 4px; }
.contact-msg { margin-top: 12px; font-size: 14px; color: #c5221f; text-align: center; }
.contact-done { text-align: center; }
.done-check { width: 60px; height: 60px; border-radius: 50%; background: #e6f4ea; color: #137333; font-size: 34px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.contact-done p { color: #3c4043; font-size: 15px; line-height: 1.6; margin-bottom: 10px; }
.done-ref { color: #5f6368; font-size: 14px; }
.done-ref b { font-family: monospace; font-size: 16px; color: #202124; }

@media (max-width: 900px) {
  .serp-body { margin-left: 0; }
  .logo.big { font-size: 56px; }
  .serp-head { padding: 12px 12px 10px; }
  .serp-body, .trade-body { padding: 10px 16px 32px; }
}
