/* Scoped to shortcode output: header, footer, fonts and page width belong to the theme. */
.sw-bank{color:inherit;font:inherit;width:100%;overflow-wrap:anywhere}
.sw-bank *{box-sizing:border-box}
.sw-bank label{display:block;margin:1rem 0;font-weight:600}
.sw-bank input:not([type=checkbox]):not([type=hidden]):not(.acf-field input),.sw-bank textarea,.sw-bank select{display:block;width:100%;padding:.75rem;border:1px solid #aaa;border-radius:4px;font:inherit;margin-top:.4rem;background:#fff;color:#111}
.sw-bank textarea{min-height:100px}
.sw-bank button:not(.acf-field button),.sw-bank .button{display:inline-block;cursor:pointer;padding:.75rem 1.25rem;border:1px solid #111;border-radius:4px;background:#111;color:#fff;font:inherit;font-weight:600;text-decoration:none;min-height:44px;margin:.5rem .5rem .5rem 0}
.sw-bank button[hidden],.sw-bank [hidden]{display:none!important}
.sw-bank .secondary{background:#fff;color:#111}
.sw-bank .check{display:flex;gap:.75rem;align-items:flex-start;font-weight:400}
.sw-bank .check input{width:20px;min-width:20px;margin-top:5px}
.sw-bank .panel{border:1px solid #ddd;border-radius:7px;padding:1.25rem;margin:1.5rem 0}
.sw-bank .hint{font-size:.9em}
.sw-bank .notice{border-left:4px solid #975423;padding:1rem;background:#fff3de;color:#111}
.sw-bank .totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.75rem}
.sw-bank .totals div{background:#f4f4f4;color:#111;padding:1rem}
.sw-bank .totals dt{font-size:.85em}.sw-bank .totals dd{margin:.4rem 0 0;font-size:1.4em;font-weight:650}
.sw-bank .person{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;border-bottom:1px solid #ddd;padding:.75rem 0}
.sw-bank .person>span{flex:1;min-width:180px}.sw-bank .person form{margin:0}
.sw-bank details{margin:1.25rem 0}.sw-bank summary{padding:.75rem 0;cursor:pointer;font-weight:650}
.sw-bank .event-image{max-height:400px;object-fit:cover;width:100%;height:auto;border-radius:7px}
.sw-bank .tabs{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-block:1px solid #ddd}
.sw-bank :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #916000;outline-offset:3px}
.sw-bank fieldset{min-width:0;border:1px solid #ddd;padding:1rem}.sw-bank .sw-person-row{border-bottom:1px solid #ddd;padding-block:.5rem}
.sw-bank section[id],.sw-bank article[id]{scroll-margin-top:20px}
@media(min-width:700px){.sw-bank .columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}}

.sw-bank .sw-table{overflow-x:auto}.sw-bank table{width:100%;border-collapse:collapse;text-align:left}.sw-bank th,.sw-bank td{padding:.7rem;border-bottom:1px solid #ddd;vertical-align:top}.sw-bank th{background:#f5f5f5;color:#111}.sw-bank table form{margin:0}.sw-bank table button{margin:0;padding:.4rem .7rem}.sw-bank details.booking-detail{padding:.8rem 1.2rem}.sw-bank details.booking-detail>summary{font-size:1rem}.sw-bank fieldset{margin-bottom:1rem}

/* Organiser table: keep inputs legible inside the theme page. */
.sw-bank [data-choice-editor] table.sw-choice-grid { min-width:1200px; width:100%; border-collapse:collapse; }
.sw-bank [data-choice-editor] th,.sw-bank [data-choice-editor] td { padding:.5rem; vertical-align:top; border-bottom:1px solid #ddd; }
.sw-bank [data-choice-editor] td input:not([type=checkbox]),.sw-bank [data-choice-editor] td select { min-width:110px; }
.sw-bank [data-choice-editor] [hidden],.sw-bank [data-table-order] [hidden] { display:none!important; }
.sw-bank [data-table-item] { margin:1rem 0; padding:1rem; border:1px solid #ddd; border-radius:8px; }
.sw-bank [data-choice-preview]:empty { display:none; }

.sw-bank [data-choice-editor] th.sw-show-price-heading { min-width:95px; white-space:nowrap; word-break:normal; overflow-wrap:normal; }

.sw-bank .sw-option-unavailable { opacity:.5; background:#f3f3f3; }
.sw-bank [data-choice-editor] input:disabled,.sw-bank [data-choice-editor] select:disabled { background:#e9e9e9; color:#555; cursor:not-allowed; }
.sw-bank .sw-booking-total { margin:1.5rem 0; padding:1.2rem; border:2px solid #111; border-radius:10px; background:#f4f7f1; color:#111; }
.sw-bank .sw-booking-total h3 { margin:0 0 .6rem; font-size:1.3rem; color:#111; }
.sw-bank .sw-booking-total p { margin:0; font-size:1.15rem; font-weight:700; line-height:1.6; }

.sw-bank .sw-choice-table-scroll { overflow-x:auto; height:auto!important; max-height:none!important; }
.sw-bank .sw-choice-grid,.sw-bank .sw-choice-grid tbody { height:auto!important; max-height:none!important; }
.sw-bank .sw-choice-help { margin:1rem 0; }
.sw-bank .sw-choice-help h3 { margin-top:1.25rem; }
.sw-bank .sw-choice-help li { margin-bottom:.65rem; }
.sw-bank [data-choice-delete] { white-space:nowrap; }
