/* Business Profile editor (widget/gbp-profile.js) — Local SEO onboarding
   step 1.4 AND the client dashboard's Local SEO tab (2026-09-23). Loaded by
   both index.html and client-dashboard.html, so it lives outside styles.css
   (the dashboard page does not load that). Button and warning rules the
   widget already has are repeated here ONLY under `.gbp-host-dashboard`, the
   class the dashboard puts on the editor's container. */
.gbp-form { margin: 8px 0 12px; border: 1px solid var(--border, #e2e8f0); border-radius: 8px; background: #fff; }
.gbp-form-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--border, #e2e8f0); background: #f8fafc; }
.gbp-form-title { font-weight: 600; font-size: 13px; }
.gbp-form-body { padding: 10px 12px; }
.gbp-muted { color: var(--muted, #64748b); font-size: 12px; }
.gbp-check { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; }
.gbp-check-score { font-weight: 700; font-size: 13px; margin-right: 4px; }
.gbp-check-item { font-size: 11px; padding: 2px 7px; border-radius: 10px; border: 1px solid #cbd5e1; }
.gbp-check-item.ok { background: #dcfce7; border-color: #86efac; }
.gbp-check-item.missing { background: #fee2e2; border-color: #fca5a5; }
.gbp-check-item.unknown { background: #f1f5f9; color: #64748b; }
.gbp-check-item.na { background: #f1f5f9; color: #64748b; border-style: dashed; }
.gbp-field { display: grid; grid-template-columns: 170px 1fr; gap: 8px; padding: 8px 0; border-top: 1px solid #f1f5f9; }
.gbp-label { font-weight: 600; font-size: 12px; color: var(--navy, #0f172a); padding-top: 6px; }
.gbp-control { min-width: 0; }
.gbp-help { font-size: 11px; color: var(--muted, #64748b); margin-top: 4px; }
.gbp-in { width: 100%; box-sizing: border-box; padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; font-size: 13px; }
.gbp-in-sm { margin-top: 4px; }
.gbp-in-xs { width: auto; }
.gbp-desc { resize: vertical; }
.gbp-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.gbp-row > .gbp-cat-q { flex: 1 1 220px; width: auto; }   /* search box and its button on one line */
.gbp-count { font-size: 12px; color: var(--muted, #64748b); font-variant-numeric: tabular-nums; }
.gbp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.gbp-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 12px; background: #e0e7ff; font-size: 12px; }
.gbp-chip-x { padding: 0 6px; line-height: 1.2; }
.gbp-cat-results { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.gbp-hour-row, .gbp-custom-row { display: flex; align-items: center; gap: 6px; margin: 3px 0; flex-wrap: wrap; }
.gbp-types { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 8px; }
.gbp-type, .gbp-attr { font-size: 12px; display: block; margin: 3px 0; }
.gbp-attr-group { margin: 6px 0; }
.gbp-attr-multi label { margin-right: 8px; }
.gbp-static { font-size: 13px; padding-top: 6px; }
.gbp-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
@media (max-width: 640px) { .gbp-field { grid-template-columns: 1fr; } }

/* "Suggest categories and services": a red call-to-action at the top of the
   form (operator, 2026-09-23). Self-contained so it reads the same in the
   widget and on the client dashboard. */
.gbp-suggest-cta { margin: 0 0 12px; padding: 12px 14px; border: 2px solid #dc2626; border-radius: 10px; background: #fef2f2; }
.gbp-suggest-cta > .gbp-row { margin-top: 0; }
.gbp-suggest-btn { height: 38px; padding: 0 20px; font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .01em; color: #fff;
    background: #dc2626; border: 1px solid #b91c1c; border-radius: 8px; cursor: pointer; line-height: 1;
    display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 2px 6px rgba(220, 38, 38, .35); }
.gbp-suggest-btn:hover { background: #b91c1c; }
.gbp-suggest-btn:disabled { opacity: .6; cursor: default; }
.gbp-suggest-hint { flex: 1 1 240px; font-size: 12px; color: #7f1d1d; }
.gbp-suggest { margin-top: 10px; padding-top: 10px; border-top: 1px solid #fecaca; }
.gbp-suggest-line { margin: 6px 0; font-size: 13px; line-height: 1.9; }
.gbp-suggest-chip { display: inline-block; padding: 2px 10px; border-radius: 12px; background: #fff; border: 1px solid #fca5a5; font-size: 13px; font-weight: 600; color: #0f172a; }
.gbp-suggest-chip-primary { background: #dc2626; border-color: #dc2626; color: #fff; }
.gbp-suggest .gbp-row { margin-top: 8px; }

/* Dashboard host only: the widget's .btn-sm / .modal-warning do not exist on that page. */
.gbp-host-dashboard .btn-sm { height: 28px; padding: 0 12px; font-size: 12px; font-weight: 500; border-radius: 7px; cursor: pointer;
    border: 1px solid var(--border, #e2e8f0); background: var(--surface, #fff); color: var(--navy-500, #302c4d); line-height: 1;
    display: inline-flex; align-items: center; gap: 4px; font-family: inherit; }
.gbp-host-dashboard .btn-sm:hover { background: #f8fafc; border-color: #cbd5e1; }
.gbp-host-dashboard .btn-sm.primary { background: var(--teal-400, #59ac9a); border-color: var(--teal-400, #59ac9a); color: #fff; }
.gbp-host-dashboard .modal-warning { color: #b91c1c; font-size: 13px; }
.gbp-host-dashboard .gbp-form { margin: 0; border: 0; }
