/* Settings → Brand page (site/pageeditor.js): the sections on the left, the page as a preview on the right. */
.bp { display: grid; gap: 1rem; }
.bp-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1rem; }
.bp-bar .act-btns { margin: 0; }
.bp-state { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.6rem; }
.bp-note { flex-basis: 100%; margin: 0; }
.bp-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 1.2rem; align-items: start; }
/* One column that never grows past the list: a long one-line summary must not push the cards under the preview. */
.bp-secs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
.bp-sec { min-width: 0; background: var(--card-hi); border: 1px solid var(--hair); border-radius: 12px; }
.bp-sec.off .bp-name { opacity: 0.55; }
.bp-head { display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.7rem 0.6rem 0.9rem; }
.bp-name { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.bp-name .muted { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-name .st { align-self: flex-start; margin-top: 2px; }
.bp-acts { display: flex; align-items: center; gap: 0.3rem; flex: none; }
.bp-acts .btn { padding: 0.3rem 0.65rem; font-size: 0.8rem; }
.bp .x { background: none; border: 0; color: var(--muted); cursor: pointer; font-size: 1.1rem; padding: 0.2rem 0.4rem; border-radius: 8px; }
.bp .x:hover { color: var(--bad); background: color-mix(in srgb, var(--bad) 10%, transparent); }
.bp-form { display: grid; gap: 0.8rem; padding: 0.4rem 0.9rem 1rem; border-top: 1px solid var(--hair); }
.bp-form.flat { padding: 0; border: 0; }
.bp-form > .muted { margin: 0.4rem 0 0; }
.bp-f { display: grid; gap: 0.3rem; }
.bp-lab { font-size: 0.8rem; font-weight: 600; color: var(--muted); }
.bp input[type="text"], .bp textarea, .bp select { background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: 10px; padding: 0.5rem 0.7rem; font: inherit; font-size: 0.92rem; min-width: 0; width: 100%; box-sizing: border-box; }
.bp textarea { resize: vertical; line-height: 1.5; }
.bp input:disabled, .bp textarea:disabled, .bp select:disabled { opacity: 0.8; }
.bp-rows { display: grid; gap: 0.4rem; }
.bp-row { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.bp-row > input { flex: 1 1 9rem; width: auto !important; }
.bp-row-acts { display: flex; gap: 0.2rem; }
.bp-row-acts .btn { padding: 0.25rem 0.55rem; font-size: 0.8rem; }
.bp-img { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.bp-img img, .bp-noimg { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; background: var(--card); border: 1px solid var(--line); }
.bp-noimg { display: grid; place-items: center; font-size: 0.65rem; color: var(--muted); text-align: center; }
.bp-img .btn { padding: 0.3rem 0.7rem; font-size: 0.8rem; }
.bp-add { display: flex; gap: 0.5rem; margin-top: 0.7rem; }
.bp-add select { flex: 1; }
.bp-preview { position: sticky; top: 1rem; display: grid; gap: 0.5rem; }
.bp-pv-head { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.bp-stage { position: relative; overflow: hidden; border-radius: 12px; border: 1px solid var(--line); background: #061418; }
.bp-stage iframe { border: 0; transform-origin: 0 0; display: block; }
.bp-stage.phone { background: none; border: 0; }
.bp-stage.phone iframe { margin-inline: auto; transform-origin: 50% 0; border-radius: 18px; box-shadow: 0 0 0 6px var(--card-hi); }
@media (max-width: 1100px) {
  .bp-cols { grid-template-columns: minmax(0, 1fr); }
  .bp-preview { position: static; }
}
@media (max-width: 560px) {
  .bp-head { flex-wrap: wrap; }
  .bp-acts { width: 100%; justify-content: flex-end; }
}
