/* Prism Branding: the Plain / Branded step. Plain, readable, no new colours:
   it inherits the theme's fonts and uses its own text colour. */
.prism-branding { margin: 16px 0 20px; padding: 14px 16px; border: 1px solid #d9dee3; border-radius: 10px; }
.prism-branding [hidden] { display: none !important; }
.prism-branding .pb-title { margin: 0 0 8px; font-size: 1.05em; }
.prism-branding .pb-modes { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 6px; }
.prism-branding .pb-mode, .prism-branding .pb-check { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.prism-branding .pb-hint, .prism-branding .pb-small { font-size: .88em; color: #5f6b76; margin: 6px 0; }
.prism-branding .pb-pos { border-top: 1px solid #eef0f2; padding: 10px 0; }
.prism-branding .pb-pos-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; cursor: pointer; }
.prism-branding .pb-note { flex-basis: 100%; font-size: .85em; color: #5f6b76; }
.prism-branding .pb-pos-body { margin: 8px 0 0 24px; display: grid; gap: 8px; }
.prism-branding .pb-label { display: grid; gap: 4px; font-size: .92em; }
.prism-branding select, .prism-branding input[type=file] { max-width: 100%; }
.prism-branding .pb-price { margin: 0; font-size: .9em; color: #1f2328; }
.prism-branding .pb-files { border-top: 1px solid #eef0f2; padding-top: 10px; display: grid; gap: 8px; }
.prism-branding .pb-summary { margin: 10px 0 0; font-weight: 600; }
.prism-branding-thanks { background: #f6f8fa; border-left: 4px solid #2e9e4a; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }
