/* Project-specific additions. Keep this small. */
/* lead: star ratings drawn in CSS (the star character fails the emoji check). Use
   <span class="stars" style="--w:92%" aria-label="4.6 out of 5"></span>; --w = rating / 5. sm and lg sizes. */
.stars{display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:1px;color:#d9dce1;white-space:nowrap;vertical-align:-1px}
.stars::before{content:"\2605\2605\2605\2605\2605"}
.stars::after{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;width:var(--w,100%);overflow:hidden;color:#e8a317}
.stars.sm{font-size:12px}.stars.lg{font-size:20px}
.star1::after,.star1::before{content:"\2605"}

/* builder B: widget editor shell (ED01 to ED08) and the clinic's teal review widget in the preview */
.ed-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}
.ed{display:grid;grid-template-columns:172px 360px minmax(0,1fr);gap:16px;align-items:start}
.ed-rail{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}
.ed-rail a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--muted-fg);font-weight:500;font-size:13.5px}
.ed-rail a:hover{background:var(--muted)}
.ed-rail a.on{background:var(--accent);color:var(--fg)}
.ed-rail .ed-sep{height:1px;background:var(--border);margin:6px 4px}
.ed-pv{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.ed-pv-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg)}
.ed-pv-body{padding:20px}
.ed-frame{background:#fff;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;margin:0 auto}
.ed-frame-bar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#f3f4f6;border-bottom:1px solid var(--border);font:400 11.5px/14px var(--font-mono);color:var(--muted-fg)}
.ed-frame-bar i.ed-d{width:8px;height:8px;border-radius:50%;background:#d1d5db;display:inline-block}
.ed-frame.phone{width:250px;border-radius:24px;border-width:6px;border-color:#2b2b30}
.ed-lock{display:inline-flex;align-items:center;gap:4px;font:500 11px/14px var(--font-mono);text-transform:uppercase;color:var(--muted-fg)}
.ed-rv{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid var(--border)}
.ed-rv.dim{opacity:.55}
.ed-hl{background:#fff1b8;border-radius:2px}
.ed-code{font:400 11.5px/18px var(--font-mono);background:#0f172a;color:#cbd5e1;border-radius:8px;padding:12px 14px;white-space:pre-wrap;word-break:break-word}
.ed-code .ed-hl{background:#3f5a1e;color:#e7f5c8}
.ed-code .ed-tag{color:#7dd3fc}
.wg{font-family:Poppins,var(--font-sans);color:#1f2937;--wg:#0f766e}
.wg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.wg-title{font-weight:600;font-size:16px;color:#111827}
.wg-score{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#374151}
.wg-btn{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--wg);color:#fff;font-size:12px;font-weight:500}
.wg-disc{font-size:11px;color:#6b7280;margin-top:4px}
.wg-row{display:flex;align-items:stretch;gap:8px;margin-top:12px}
.wg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-width:0}
.wg-cards.one{grid-template-columns:1fr}
.wg-cards.g16{gap:16px}
.wg-arrow{align-self:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid #d1d5db;display:grid;place-items:center;color:var(--wg)}
.wg-card{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:6px;min-width:0}
.wg-card.pin{border-color:var(--wg)}
.wg-who{display:flex;align-items:center;gap:7px}
.wg-av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:600;color:#fff;flex-shrink:0}
.wg-name{font-size:12px;font-weight:600;color:#111827;line-height:15px}
.wg-date{font-size:10.5px;color:#6b7280;line-height:13px}
.wg-text{font-size:11.5px;line-height:16px;color:#374151;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.wg-more{font-size:11px;color:var(--wg);font-weight:500}
.wg-reply{font-size:10.5px;color:#4b5563;background:#f0fdfa;border-radius:6px;padding:4px 6px}
.wg-foot{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-top:auto;font-size:10.5px;color:#6b7280}
.wg-g{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;border:1px solid #d1d5db;font-size:8.5px;font-weight:700;color:#4285f4}
.wg-pinlabel{font-size:10px;color:var(--wg);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.wg-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}
.wg-dots i{width:6px;height:6px;border-radius:50%;background:#d1d5db;display:block}
.wg-dots i.on{background:var(--wg)}
.wg-attr{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:11px;color:#6b7280}
.wg-link{color:var(--wg);font-weight:500}

/* builder A: the clinic's review widget drawn inside app previews (teal brand from Company Brain, Poppins-like) */
.rwa{border:1px solid #dfe5e4;border-radius:12px;background:#fff;padding:20px;color:#1f2a2a}
.rwa-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rwa-title{font-size:18px;font-weight:600;color:#12312e}
.rwa-note{font-size:12px;color:#5b6b69;margin-top:4px}
.rwa-btn{display:inline-flex;align-items:center;gap:6px;background:#0f766e;color:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;white-space:nowrap}
.rwa-btn.o{background:#fff;color:#0f766e;border:1px solid #0f766e}
.rwa-link{color:#0f766e;font-size:12px;font-weight:500}
.rwa-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;align-items:start}
.rwa-card{border:1px solid #e3e8e7;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5;background:#fff}
.rwa-who{display:flex;align-items:center;gap:8px}
.rwa-av{width:30px;height:30px;border-radius:50%;background:#d5ebe8;color:#0f766e;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.rwa-reply{background:#f2f7f6;border-radius:8px;padding:6px 10px;font-size:12px;color:#3d4f4d}
.rwa-g{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid #d0d5d4;font-size:10px;font-weight:700;color:#4a6fd6;background:#fff;flex-shrink:0}
.rwa-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;font-size:12px;color:#5b6b69;flex-wrap:wrap}
.rwa-dots{display:inline-flex;gap:5px}.rwa-dots i{width:7px;height:7px;border-radius:50%;background:#cfd8d6;display:inline-block}.rwa-dots i.on{background:#0f766e}
.rwa-arrow{width:28px;height:28px;border-radius:50%;border:1px solid #d6dedd;display:inline-flex;align-items:center;justify-content:center;color:#0f766e;background:#fff}
/* builder A: small layout thumbnails for the layout picker */
.rwa-thumb{background:#f4f6f6;border-radius:10px;padding:10px;height:150px;overflow:hidden;display:flex;flex-direction:column;gap:6px;font-size:10px;line-height:1.35;color:#2b3a39}
.rwa-mini{background:#fff;border:1px solid #e1e7e6;border-radius:7px;padding:6px 7px;display:flex;flex-direction:column;gap:3px;min-width:0}
.rwa-mini .stars{font-size:9px;letter-spacing:0}
.rwa-pill{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #d6dedd;border-radius:999px;padding:4px 9px;font-size:10px;white-space:nowrap}
.rwa-pill .stars{font-size:9px;letter-spacing:0}
.rwa-teal{color:#0f766e}
@media (max-width:700px){.rwa-cards{grid-template-columns:1fr}.rwa-cards .rwa-card:nth-child(n+2){display:none}}
.ed-mark{outline:2px dashed #3f68f7;outline-offset:3px;border-radius:4px}
.ed-note{font:500 10.5px/13px var(--font-mono);text-transform:uppercase;color:#3f68f7;letter-spacing:.03em}

/* builder E: the clinic's own review widgets on its website (teal brand #0f766e from Company Brain), not theStacc's look */
.rw { --rw: #0f766e; --rw-soft: #e6f2f0; --rw-line: #dfe5e4; --rw-card: #fff; --rw-fg: #17201f; --rw-mut: #5c6866; color: var(--rw-fg); }
.rw.dark { --rw: #5eead4; --rw-soft: #12302c; --rw-line: #2a3534; --rw-card: #1b2221; --rw-fg: #e9efee; --rw-mut: #9aa8a6;
  background: #111716; border-radius: 16px; padding: 28px; }
.rw-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rw-title { font-size: 26px; line-height: 32px; font-weight: 650; letter-spacing: -.01em; }
.rw-sum { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14.5px; }
.rw-sum .big { font-size: 22px; font-weight: 700; }
.rw-disc { font-size: 12.5px; color: var(--rw-mut); }
.rw-by { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--rw-mut); white-space: nowrap; }
.rw-g { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 999px; background: #fff;
  border: 1px solid #dadce0; font: 700 11px/1 Arial, sans-serif; color: #4285f4; flex-shrink: 0; }
.rw-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 16px; border-radius: 999px; background: var(--rw);
  color: #fff; font-weight: 600; font-size: 14px; white-space: nowrap; }
.rw.dark .rw-btn { color: #0b1514; }
.rw-btn.o { background: transparent; color: var(--rw); border: 1.5px solid var(--rw); }
.rw-btn.sm { height: 32px; padding: 0 12px; font-size: 13px; }
.rw-track { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 12px; align-items: center; }
.rw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.rw-arrow { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; border: 1px solid var(--rw-line);
  background: var(--rw-card); color: var(--rw); }
.rw-dots { display: flex; justify-content: center; gap: 8px; }
.rw-dots i { width: 8px; height: 8px; border-radius: 999px; background: var(--rw-line); }
.rw-dots i.on { background: var(--rw); width: 22px; }
.rw-card { background: var(--rw-card); border: 1px solid var(--rw-line); border-radius: 12px; padding: 18px; display: flex;
  flex-direction: column; gap: 10px; font-size: 14.5px; line-height: 22px; break-inside: avoid; }
.rw-who { display: flex; align-items: center; gap: 10px; }
.rw-who .n { font-weight: 600; font-size: 14.5px; line-height: 19px; }
.rw-who .d { font-size: 12.5px; color: var(--rw-mut); line-height: 16px; }
.rw-av { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 999px; flex-shrink: 0;
  font-weight: 600; font-size: 14px; color: #fff; background: var(--c, #7c8a88); }
.rw-text { color: var(--rw-fg); }
.rw-clamp { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rw-more { color: var(--rw); font-weight: 600; font-size: 13.5px; }
.rw-reply { background: var(--rw-soft); border-radius: 10px; padding: 10px 12px; font-size: 13.5px; line-height: 20px; }
.rw-reply .h { font-weight: 600; font-size: 12.5px; color: var(--rw); display: block; margin-bottom: 2px; }
.rw-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--rw-mut);
  border-top: 1px solid var(--rw-line); padding-top: 10px; margin-top: auto; }
.rw-link { color: var(--rw); font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.rw-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 999px; background: var(--rw-card);
  border: 1px solid var(--rw-line); box-shadow: 0 1px 2px rgb(0 0 0 / .05); font-size: 13.5px; line-height: 18px; }
.rw-badge .big { font-size: 17px; font-weight: 700; }
.rw-corner { position: absolute; z-index: 40; left: 20px; bottom: 20px; box-shadow: 0 6px 22px rgb(0 0 0 / .14); }
.rw-wa { position: absolute; z-index: 40; right: 20px; bottom: 20px; display: grid; place-items: center; width: 54px; height: 54px;
  border-radius: 999px; background: #1f9d55; color: #fff; box-shadow: 0 6px 22px rgb(0 0 0 / .18); }
.rw-pop { position: absolute; z-index: 45; left: 20px; bottom: 84px; width: 380px; max-height: 560px; display: flex; flex-direction: column;
  background: #fff; border: 1px solid #dfe5e4; border-radius: 16px; box-shadow: 0 18px 50px rgb(0 0 0 / .22); overflow: hidden; }
.rw-pop-head { padding: 16px 18px 12px; border-bottom: 1px solid #dfe5e4; display: flex; flex-direction: column; gap: 6px; }
.rw-pop-body { padding: 12px 18px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; background: #f7faf9; }
.rw-pop-foot { padding: 12px 18px; border-top: 1px solid #dfe5e4; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rw-strip { display: flex; align-items: center; gap: 18px; padding: 12px 18px; border-radius: 12px; background: var(--rw-soft);
  font-size: 13.5px; flex-wrap: wrap; }
.rw-strip .q { flex: 1; min-width: 200px; color: var(--rw-fg); }
.rw-masonry { columns: 3; column-gap: 16px; } .rw-masonry > .rw-card { margin-bottom: 16px; }
.rw-row { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--rw-line); }
.rw-quote { font-size: 30px; line-height: 40px; font-weight: 600; letter-spacing: -.01em; max-width: 820px; }
.rw-bars { display: grid; grid-template-columns: 44px minmax(0, 1fr) 28px; gap: 6px 10px; align-items: center; font-size: 13px; color: var(--rw-mut); }
.rw-bars b { height: 8px; border-radius: 999px; background: var(--rw-line); position: relative; overflow: hidden; display: block; }
.rw-bars b::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--rw); border-radius: 999px; }
.rw-qr { width: 132px; height: 132px; border-radius: 10px; background:
  repeating-conic-gradient(#17201f 0 25%, #fff 0 50%) 0 0 / 22px 22px; border: 8px solid #fff; outline: 1px solid #dfe5e4; }
.rw-hl { background: #fdf0c4; color: #5b4300; border-radius: 3px; }
.rw-cm { color: #8c8c91; }
@media (max-width: 767px) {
  .rw-cards { grid-template-columns: minmax(0, 1fr); } .rw-track { grid-template-columns: minmax(0, 1fr); }
  .rw-track > .rw-arrow { display: none; } .rw-title { font-size: 22px; line-height: 28px; }
  .rw-corner { left: 12px; bottom: 12px; } .rw-wa { right: 12px; bottom: 12px; width: 50px; height: 50px; }
  .rw-masonry { columns: 1; } .rw-row { grid-template-columns: minmax(0, 1fr); }
}
.ed-pt8{padding-top:8px}.ed-pt16{padding-top:16px}
.ed > div:last-child{position:sticky;top:16px}
.ed-lock{white-space:nowrap;flex-shrink:0}
.wg-score{flex-wrap:wrap;margin-top:2px}
.wg-attr{flex-wrap:wrap}.wg-attr > span{white-space:nowrap}
.rw .stars { align-self: flex-start; } .rw-sum .stars, .rw-who .stars, .rw .row > .stars, .rw-strip .stars, .rw-badge .stars { align-self: center; }
.rw-bars { width: 100%; grid-template-columns: 56px minmax(0, 1fr) 28px; }
.rw-badge .col .stars { align-self: flex-start; }
body.k-site:has(.rw-corner) .site-foot { padding-bottom: 96px; }

/* lead: the clinic website uses its own teal, not theStacc blue */
body.k-site{--primary:#0f766e}
