.brand-cta-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; align-items: start; }
.brand-cta-form { display: grid; gap: 14px; }
.brand-cta-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.brand-cta-form label { display: grid; gap: 7px; color: #334155; font-weight: 600; }
.brand-cta-form input, .brand-cta-form textarea, .brand-cta-form select { width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px; padding: 10px; background: #fff; font: inherit; }
.brand-cta-remove-logo { grid-template-columns: auto 1fr !important; justify-content: start; align-items: center; font-size: 14px; }
.brand-cta-remove-logo input { width: auto; }
.brand-cta-preview-label { margin: 0 0 8px; font-weight: 700; color: #475569; }
.brand-cta-preview { --card: #102a43; --accent: #d7b56d; position: relative; overflow: hidden; aspect-ratio: 9 / 16; border-radius: 16px; padding: 18px; background: linear-gradient(155deg, var(--card), #07111f); color: #fff; box-shadow: 0 10px 28px rgba(15, 23, 42, .2); text-align: center; display: flex; flex-direction: column; align-items: center; }
.brand-cta-preview[data-theme="charcoal"] { --card: #292d32; --accent: #e5e7eb; }
.brand-cta-preview[data-theme="warm"] { --card: #5b3027; --accent: #f1c27d; }
.brand-cta-portrait { width: 150px; height: 170px; margin: 4px auto 12px; border-radius: 14px; border: 3px solid var(--accent); object-fit: cover; background: #e2e8f0; }
.brand-cta-placeholder { display: grid; place-items: center; color: #64748b; font-size: 13px; }
.brand-cta-logo { max-width: 120px; max-height: 45px; margin: 0 auto 10px; object-fit: contain; }
.brand-cta-preview strong { font-size: 22px; line-height: 1.1; }
.brand-cta-preview span { color: var(--accent); font-size: 13px; margin: 6px 0 12px; text-transform: uppercase; letter-spacing: .08em; }
.brand-cta-preview b { font-size: 18px; }
.brand-cta-preview small { min-height: 18px; margin-top: 4px; color: #e2e8f0; }
.brand-cta-preview p { margin: auto 0 8px; color: #fff; font-size: 14px; line-height: 1.35; }
.brand-cta-status { border-radius: 8px; padding: 10px 12px; color: #475569; }
.brand-cta-status:empty { display: none; }
.brand-cta-status.info { background: #eff6ff; color: #1d4ed8; }
.brand-cta-status.success { background: #ecfdf5; color: #047857; }
.brand-cta-status.error { background: #fef2f2; color: #b91c1c; }
@media (max-width: 760px) {
  .brand-cta-layout, .brand-cta-fields { grid-template-columns: 1fr; }
  .brand-cta-layout > div:last-child { max-width: 280px; }
}