/* Flow B additions only; the existing lander styling stays in style.css. */
.flowb-choices { border:0; padding:0; margin:0 auto 24px; width:fit-content; max-width:100%; text-align:left; display:grid; gap:9px; }
.flowb-choices .flowb-choice { display:flex; align-items:flex-start; gap:10px; font-size:16px; line-height:1.45; cursor:default; }
.flowb-choices input { flex:none; width:18px; height:18px; margin:3px 0 0; appearance:none; -webkit-appearance:none; border:1px solid #555; border-radius:0; background:#fff; display:grid; place-content:center; cursor:pointer; }
/* Match the reference lander's compact options; retain the native-style modal. */
#main-box .flowb-choices { gap:0; }
#main-box .flowb-choices .flowb-choice { gap:6px; font-size:12px; line-height:18px; }
#main-box .flowb-choices input { width:14px; height:14px; margin:2px 0 0; }
#main-box #continue { min-height:110px; padding-top:30px; padding-bottom:30px; }
.flowb-text-link { display:inline-block; background:none; border:0; padding:5px; font:inherit; font-size:14px; color:#444; text-decoration:underline; cursor:pointer; }
#main-box .flowb-advanced { margin-top:14px; padding:0; font-size:12px; line-height:1.5; letter-spacing:normal; word-spacing:normal; }
.flowb-text-link:focus-visible, .flowb-close:focus-visible, .flowb-modal a:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.flowb-feedback:empty { display:none; }
#main-box .flowb-feedback, .flowb-feedback { margin:14px auto 0; max-width:600px; font-size:14px; line-height:1.4; color:#444; }
body.flowb-modal-open { overflow:hidden; }
.flowb-modal { box-sizing:border-box; width:1000px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #b8b8b8; border-radius:3px; background:#f3f3f3; color:#303030; font-family:"Segoe UI",Arial,sans-serif; overflow:auto; box-shadow:0 18px 70px #0005; }
.flowb-modal::backdrop { background:rgba(0,0,0,.62); backdrop-filter:none; }
.flowb-close { position:absolute; top:8px; right:12px; width:32px; height:32px; background:transparent; border:0; color:#111; font-size:28px; line-height:1; cursor:pointer; }
.flowb-brand { display:flex; align-items:center; justify-content:center; gap:16px; padding:38px 40px 28px; border-bottom:1px solid #c4c4c4; }
.flowb-brand>img { flex:none; object-fit:contain; }
.flowb-brand strong { display:block; font-size:29px; font-weight:700; line-height:1.25; }
.flowb-brand span { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:7px; color:#555; font-size:16px; }
.flowb-modal-body { padding:26px 48px 17px; text-align:center; }
.flowb-modal h2 { margin:0 0 12px; font-size:29px; line-height:1.3; letter-spacing:0; font-weight:700; }
#flowb-intro { margin:0 0 20px; color:#555; font-size:17px; line-height:1.5; }
.flowb-disclosure { height:203px; overflow-y:auto; padding:12px 22px; background:white; border:1px solid #aaa; text-align:left; color:#111; font-size:16px; line-height:1.5; scrollbar-gutter:stable; }
.flowb-disclosure p { margin:0 0 15px; color:inherit; font-size:inherit; line-height:inherit; }
.flowb-disclosure p:last-child { margin-bottom:0; }
.flowb-modal-choices { margin:21px auto 22px; display:grid; grid-template-columns:1fr 1fr; gap:12px 36px; }
.flowb-modal-choices .flowb-choice { font-size:16px; color:#555; }
.flowb-modal-choices .flowb-choice:nth-of-type(3) { grid-column:2; grid-row:1; }

.flowb-modal-accept { width:600px; max-width:100%; padding:17px 20px; font-size:32px; line-height:1.3; border-radius:10px; background:#50b32d; color:white; font-weight:700; text-decoration:none; display:inline-block; }
.flowb-modal-accept:hover { background:#409823; }
.flowb-modal-byline { margin:16px auto 3px; max-width:730px; font-size:13px; line-height:1.5; color:#555; }
.flowb-modal-byline a { color:inherit; text-decoration:underline; }
@media(max-width:700px) {
  .flowb-choices .flowb-choice { font-size:14px; }
  .flowb-modal { max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .flowb-brand { padding:35px 20px 20px; gap:10px; }
  .flowb-brand>img { width:45px; height:45px; }
  .flowb-brand strong { font-size:20px; }
  .flowb-brand span { font-size:14px; }
  .flowb-modal-body { padding:22px 18px 16px; }
  .flowb-modal h2 { font-size:23px; }
  #flowb-intro { font-size:15px; }
  .flowb-disclosure { height:180px; padding:12px; font-size:14px; }
  .flowb-modal-choices { grid-template-columns:1fr; gap:10px; }
  .flowb-modal-choices .flowb-choice:nth-of-type(3) { grid-column:auto; grid-row:auto; }
  .flowb-modal-accept { font-size:26px; }
}

/* Native checkbox semantics, monochrome appearance, box-only pointer target. */
.flowb-choices input::before { content:""; width:4px; height:8px; border:solid #111; border-width:0 1px 1px 0; transform:translateY(-1px) rotate(45deg) scale(0); }
.flowb-choices input:checked::before { transform:translateY(-1px) rotate(45deg) scale(1); }
.flowb-choices input:focus-visible { outline:2px solid #111; outline-offset:3px; }
@media(forced-colors:active) { .flowb-choices input { appearance:auto; accent-color:auto; } .flowb-choices input::before { display:none; } }
