/* ============================================================================
   P2 profile check (webapp-v4/seiten/30-profil-check.html, page prefix pc-).
   V4 page only, every rule under .bl-v4 like v4.css.
   ========================================================================= */

.bl-v4 .pc-frame { display: block; }
.bl-v4 .pc-loc-form { display: flex; align-items: center; gap: 8px; }
.bl-v4 .pc-loc { min-width: 300px; }
.bl-v4 .pc-loc select { flex: 1 1 auto; }

/* Card head: score left, status line right */
.bl-v4 .pc-card { overflow: hidden; }
.bl-v4 .pc-card .pc-head { padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bl-v4 .pc-card .bl-score h2 { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.bl-v4 .pc-card .bl-score p { margin-top: 4px; font-size: 14px; color: var(--muted); }
.bl-v4 .pc-meta { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--muted); }
.bl-v4 .pc-meta .bl-textbtn { font-size: 12.5px; }
.bl-v4 .pc-recheck-form { display: inline-flex; }
.bl-v4 .pc-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); }
.bl-v4 .pc-status .bl-spinner { width: 12px; height: 12px; border-width: 2px; }
.bl-v4 .bl-score-ring.pc-is-full { background: var(--good); }
.bl-v4 .bl-score-ring.pc-is-full span { color: var(--good); }
.bl-v4 .bl-score-ring.pc-is-long span { font-size: 15px; letter-spacing: -.02em; }

/* Rows: button right, centred to the title line */
.bl-v4 .pc-card .bl-check-row > .bl-btn,
.bl-v4 .pc-card .bl-check-row > .bl-contents { margin-top: -4px; }
.bl-v4 .pc-card .bl-check-hint .bl-link { font-size: 12.5px; margin-left: 4px; display: inline-flex; align-items: center; gap: 4px; }
.bl-v4 .bl-check-row.pc-na .bl-check-state { background: var(--surface-2); color: var(--muted-2); }
.bl-v4 .bl-check-row.pc-na .bl-check-title { color: var(--muted); font-weight: 500; }

/* Done points: folded */
.bl-v4 .pc-toggle { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 14px; align-items: center; width: 100%; padding: 14px 20px; border: 0; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface-2) 50%, var(--surface)); font: inherit; font-size: 14px; font-weight: 600; color: var(--ink-2); text-align: left; cursor: pointer; transition: background-color .15s ease; }
.bl-v4 .pc-toggle:hover { background: var(--surface-2); }
.bl-v4 .pc-toggle .bl-check-state { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: var(--good-soft); color: var(--good); margin-top: 0; }
.bl-v4 .pc-toggle .pc-chev { color: var(--muted); transition: transform .2s ease; }
.bl-v4 .pc-toggle[aria-expanded="true"] .pc-chev { transform: rotate(180deg); }
.bl-v4 .bl-checks > .pc-toggle:first-child { border-top: 0; }
.bl-v4 .pc-done .bl-check-row { padding-top: 12px; padding-bottom: 12px; }
.bl-v4 .pc-done .bl-check-row:first-child { border-top: 1px solid var(--line); }
.bl-v4 .pc-group-label { padding: 14px 20px 2px 58px; border-top: 1px solid var(--line); }
.bl-v4 .pc-group-label + .bl-check-row { border-top: 0; }

/* Not readable yet */
.bl-v4 .pc-unknown { border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface-2) 35%, var(--surface)); }
.bl-v4 .pc-unknown > .pc-group-label { border-top: 0; }
.bl-v4 .pc-unknown-note { padding: 0 20px 4px 58px; }
.bl-v4 .pc-unknown .bl-check-row:first-child { border-top: 0; }
.bl-v4 .pc-unknown .bl-check-state { background: var(--surface-2); color: var(--muted); }

/* All done */
.bl-v4 .pc-allgood { display: flex; align-items: center; gap: 12px; padding: 18px 20px; font-size: 14px; color: var(--ink-2); }
.bl-v4 .pc-allgood > .bl-ic { color: var(--good); flex: none; }
.bl-v4 .pc-allgood .bl-textbtn { margin-left: auto; white-space: nowrap; }

.bl-v4 .pc-foot { margin-top: 16px; }

/* Description dialog: text and preview */
.bl-v4 .pc-desc .bl-dialog { max-width: 760px; }
.bl-v4 .pc-desc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 20px; margin-top: 16px; align-items: start; }
.bl-v4 .pc-desc-grid .bl-textarea { min-height: 236px; width: 100%; }
.bl-v4 .pc-desc-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.bl-v4 .pc-desc-tools .bl-textbtn, .bl-v4 .pc-desc .bl-counter-line > span:last-child { white-space: nowrap; }
.bl-v4 .pc-desc .bl-counter-line { gap: 12px; }
.bl-v4 .pc-desc .bl-counter-line .pc-is-over { color: var(--bad); }
/* .pc-gwrap in front: v4.css (loaded after this file) sets .bl-textbtn to inline-flex */
.bl-v4 .pc-gwrap .pc-gtoggle { display: none; }
.bl-v4 .pc-gwrap-label { margin-bottom: 8px; }
/* AI writing: placeholder over the locked text field */
.bl-v4 .pc-ai-field { position: relative; }
.bl-v4 .pc-ai-skel { position: absolute; inset: 1px; padding: 14px; border-radius: 11px; background: var(--surface); pointer-events: none; }
.bl-v4 .pc-ai-field .bl-textarea[aria-busy="true"] { cursor: progress; }
/* Google preview: a foreign surface, fixed colours allowed */
.bl-v4 .pc-g { border-radius: 14px; border: 1px solid var(--line); background: #fff; color: #202124; overflow: hidden; box-shadow: var(--shadow); }
:root[data-theme="dark"] .bl-v4 .pc-g, .dark .bl-v4 .pc-g { background: #202124; color: #e8eaed; border-color: #3c4043; }
.bl-v4 .pc-g-img { height: 72px; background: radial-gradient(70% 70% at 30% 30%, #f3dcb4 0%, transparent 70%), linear-gradient(135deg, #d9b07c, #8e5b2c); }
.bl-v4 .pc-g-body { padding: 12px 14px 14px; }
.bl-v4 .pc-g-name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.bl-v4 .pc-g-rate { display: flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 12px; color: #5f6368; }
.bl-v4 .pc-g-rate .bl-stars { font-size: 11px; }
.bl-v4 .pc-g-cat { margin-top: 2px; font-size: 12px; color: #5f6368; }
:root[data-theme="dark"] .bl-v4 .pc-g-rate, :root[data-theme="dark"] .bl-v4 .pc-g-cat { color: #9aa0a6; }
.bl-v4 .pc-g-from { margin-top: 12px; padding-top: 10px; border-top: 1px solid #e8eaed; font-size: 12.5px; font-weight: 700; }
:root[data-theme="dark"] .bl-v4 .pc-g-from { border-color: #3c4043; }
.bl-v4 .pc-g-text { margin-top: 4px; font-size: 12.5px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.bl-v4 .pc-g-cap { margin-top: 8px; font-size: 11.5px; text-align: center; color: var(--muted); }

/* Apply a suggestion: current + new as tags */
.bl-v4 .pc-apply-box { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; padding: 16px; border-radius: 14px; background: var(--surface-2); }
.bl-v4 .pc-apply-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14px; }
.bl-v4 .pc-apply-row .bl-tag { background: var(--surface); }
.bl-v4 .pc-apply-row .bl-tag.pc-apply-new { color: var(--accent-ink); border-color: var(--accent-line); background: var(--accent-soft); }
.bl-v4 .pc-apply-box .bl-check-hint { margin-top: 0; background: var(--surface); }

/* Logo: drop area */
.bl-v4 .pc-drop { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 16px; padding: 28px 16px; border-radius: 14px; border: 1.5px dashed var(--line-strong); text-align: center; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.bl-v4 .pc-drop:hover { border-color: var(--accent); background: var(--accent-soft); }
.bl-v4 .pc-drop > .bl-ic { color: var(--accent); }
.bl-v4 .pc-drop-title { font-size: 14px; font-weight: 700; }
.bl-v4 .pc-drop.pc-is-set { border-style: solid; border-color: var(--accent); background: var(--accent-soft); }
.bl-v4 .pc-drop.pc-is-invalid { border-color: var(--bad); }

/* WhatsApp photo */
.bl-v4 .pc-wa .bl-dialog { max-width: 560px; }
.bl-v4 .pc-wa-steps { margin-top: 16px; }
.bl-v4 .pc-wa-foot { justify-content: space-between; align-items: center; }
.bl-v4 .pc-wa-upload { display: inline-flex; }
.bl-v4 .pc-wa-upload label { cursor: pointer; }

@media (max-width: 1023.98px) {
  .bl-v4 .pc-loc-form { width: 100%; }
  .bl-v4 .pc-loc { min-width: 0; width: 100%; height: 44px; }
  .bl-v4 .pc-card .pc-head { padding: 20px 16px; }
  .bl-v4 .pc-card .bl-score h2 { font-size: 16.5px; }
  .bl-v4 .pc-card .bl-score p { font-size: 13.5px; }
  .bl-v4 .pc-meta { width: 100%; justify-content: space-between; }
  .bl-v4 .pc-meta .bl-textbtn { min-height: 40px; }
  .bl-v4 .pc-card .bl-check-row > .bl-btn { margin-top: 4px; justify-self: start; }
  /* The plan lock's wrapper is display: contents, so the link itself is the grid item. */
  .bl-v4 .pc-card .bl-check-row > .bl-contents > .bl-plan-lock { grid-column: 2; justify-self: start; margin-top: 4px; }
  .bl-v4 .pc-card .bl-check-hint { display: block; }
  .bl-v4 .pc-card .bl-check-hint > .bl-ic { float: left; margin-right: 8px; }
  .bl-v4 .pc-card .bl-check-hint .bl-link { display: flex; width: max-content; min-height: 40px; margin: 0 0 -8px; }
  .bl-v4 .pc-toggle { padding: 14px 16px; min-height: 52px; }
  .bl-v4 .pc-group-label { padding: 14px 16px 2px 54px; }
  .bl-v4 .pc-unknown-note { padding: 0 16px 4px 54px; }
  .bl-v4 .pc-allgood { flex-wrap: wrap; padding: 16px; }
  .bl-v4 .pc-allgood .bl-textbtn { margin-left: 38px; min-height: 40px; }
  .bl-v4 .pc-desc-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .bl-v4 .pc-desc-grid .bl-textarea { min-height: 200px; }
  .bl-v4 .pc-desc-tools .bl-textbtn { min-height: 40px; }
  .bl-v4 .pc-g-text { -webkit-line-clamp: 4; }
  .bl-v4 .pc-gwrap > .pc-gwrap-label { display: none; }
  .bl-v4 .pc-gwrap .pc-gtoggle { display: inline-flex; min-height: 40px; }
  .bl-v4 .pc-gwrap:not(.pc-is-open) .pc-g, .bl-v4 .pc-gwrap:not(.pc-is-open) .pc-g-cap { display: none; }
  .bl-v4 .pc-gwrap.pc-is-open .pc-gtoggle .bl-ic:last-child { transform: rotate(180deg); }
  .bl-v4 .pc-wa-foot .bl-textbtn { min-height: 44px; justify-content: center; }
  .bl-v4 .pc-logo-btns { flex-direction: column-reverse; }
  .bl-v4 .pc-logo-btns .bl-btn { flex: none; width: 100%; }
}
