/* ButtonBash Contact 2.0: form styles in the homepage palette. Tokens come from the homepage plugin's #buttonbash-site block; fallbacks keep the form readable on a plain theme page. */
#buttonbash-site .bbc-card, .bbc-fallback .bbc-card {
  --bbc-panel: var(--panel, #0e0a1a); --bbc-line: var(--line, #2a2140); --bbc-text: var(--text, #eae6f5); --bbc-mute: var(--mute, #9b93b3);
  --bbc-pink: var(--pink, #ff2e88); --bbc-cyan: var(--cyan, #2ee6ff); --bbc-yellow: var(--yellow, #ffd23f);
  color: var(--bbc-text); font-family: var(--body, "Inter", system-ui, sans-serif);
}
.bbc-fallback { background:#06040c; padding:24px 16px; }
.bbc-fallback .bar { background:#ff2e88; color:#fff; padding:16px 20px; margin-bottom:24px; }
.bbc-fallback .bar h2 { margin:0; font-size:16px; color:#fff; }
.bbc-card *, .bbc-card *::before, .bbc-card *::after { box-sizing:border-box; }
.bbc-panel { background:var(--bbc-panel); border:1px solid var(--bbc-line); padding:28px; }
.bbc-note { color:var(--bbc-mute); font-size:14px; margin:0 0 20px; }
.bbc-req { color:var(--bbc-pink); }
.bbc-opt { color:var(--bbc-mute); font-weight:400; font-size:13px; }
.bbc-form { display:flex; flex-direction:column; gap:20px; }
.bbc-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bbc-field { min-width:0; margin:0; }
.bbc-field > label, .bbc-choices legend { display:block; font:600 14px/1.4 var(--body, sans-serif); color:var(--bbc-text); margin:0 0 8px; padding:0; }
.bbc-card input[type=text], .bbc-card input[type=email], .bbc-card input[type=tel], .bbc-card select, .bbc-card textarea {
  display:block; width:100%; min-height:48px; margin:0; padding:11px 14px; border:1px solid var(--bbc-line); border-radius:4px;
  background:#06040c; color:var(--bbc-text); font:16px/1.4 var(--body, sans-serif); box-shadow:none; transition:border-color .15s, box-shadow .15s;
}
.bbc-card select { appearance:auto; }
.bbc-card textarea { min-height:170px; resize:vertical; }
.bbc-card input:focus, .bbc-card select:focus, .bbc-card textarea:focus { outline:none; border-color:var(--bbc-cyan); box-shadow:0 0 0 3px #2ee6ff33; }
.bbc-card [aria-invalid=true] { border-color:var(--bbc-pink) !important; }
.bbc-choices { border:0; padding:0; }
.bbc-choice-row { display:flex; flex-wrap:wrap; gap:10px; }
.bbc-choice { position:relative; cursor:pointer; }
.bbc-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.bbc-choice span { display:inline-flex; align-items:center; min-height:48px; padding:0 18px; border:1px solid var(--bbc-line); border-radius:4px; background:#06040c; font-size:15px; }
.bbc-choice input:checked + span { border-color:var(--bbc-pink); background:#ff2e881f; color:#fff; box-shadow:inset 0 0 0 1px var(--bbc-pink); }
.bbc-choice input:focus-visible + span { outline:3px solid var(--bbc-yellow); outline-offset:2px; }
.bbc-ack label { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; cursor:pointer; font-size:14px; color:var(--bbc-mute); line-height:1.55; }
.bbc-ack input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--bbc-pink); }
.bbc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.bbc-actions .bbc-note { margin:0; }
.bbc-submit { border:0; border-radius:4px; background:var(--bbc-pink); color:#fff; font:12px/1.4 var(--px, "Press Start 2P", monospace); text-transform:uppercase; padding:16px 22px; cursor:pointer; box-shadow:0 5px 0 #8a0f48, 0 0 18px #ff2e8855; transition:transform .1s, box-shadow .1s; }
.bbc-submit:hover { background:#ff4d9b; }
.bbc-submit:active { transform:translateY(3px); box-shadow:0 2px 0 #8a0f48; }
.bbc-submit:focus-visible { outline:3px solid var(--bbc-yellow); outline-offset:3px; }
.bbc-field-error { color:#ff8fbf; font-size:13px; margin:6px 0 0; }
.bbc-feedback { padding:14px 16px; margin:0 0 20px; border:1px solid; border-radius:4px; font-size:15px; }
.bbc-feedback p, .bbc-feedback ul { margin:0; }
.bbc-feedback ul { padding-left:18px; margin-top:6px; }
.bbc-feedback a { color:inherit; text-decoration:underline; }
.bbc-success { border-color:#5bd96b; background:#5bd96b1a; color:#c9f5cf; }
.bbc-error { border-color:var(--bbc-pink); background:#ff2e881a; color:#ffd0e3; }
.bbc-honeypot { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
#buttonbash-site .bbc-tips { list-style:none; margin:0; padding:0; }
#buttonbash-site .bbc-tips li { padding-block:14px; border-bottom:1px solid var(--line); color:var(--mute); font-size:14px; }
#buttonbash-site .bbc-tips strong { display:block; color:var(--text); font-size:15px; margin-bottom:2px; }
@media (max-width:700px) {
  .bbc-row { grid-template-columns:1fr; }
  .bbc-panel { padding:20px 16px; }
  .bbc-submit { width:100%; }
}
