/* SIM Store order card. Colour and size tokens come from the page where set. */
.sim-store-card{--bk-green:var(--br-green,#14332d);--bk-cream:var(--br-cream,#efece5);--bk-gold:var(--br-gold,#e0ec92);--bk-ink:var(--br-ink,#14332d);--bk-rule:var(--br-rule,#dcd7ca);--bk-muted:var(--br-muted,#5a6a64);--bk-text:var(--br-text,#363636);--bk-hover:var(--br-green-hover,#0c211d);font-family:var(--sans);width:100%}
.sim-store-card .br-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.br-step+.br-step{margin-top:1.25rem}
.br-step__head{display:flex;align-items:center;gap:.75rem;min-height:1.75rem}
.br-step__num{flex:none;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:.875rem;font-weight:700;background:var(--bk-cream);color:var(--bk-muted)}
.br-step--open .br-step__num{background:var(--bk-green);color:#fff}
.br-step--done .br-step__num{background:var(--bk-gold);color:var(--bk-ink)}
.br-step__num svg{width:.875rem;height:.875rem;display:block}
.sim-store-card h3.br-step__title{margin:0;font-family:var(--sans);font-size:var(--button-reg);line-height:1.3;font-weight:600;color:var(--bk-muted)}
.sim-store-card .br-step--open h3.br-step__title,.sim-store-card .br-step--done h3.br-step__title{color:var(--bk-green)}
.br-step__title:focus{outline:0}
.br-step__sum{margin-left:auto;font-size:1rem;color:var(--bk-text);text-align:right;overflow-wrap:anywhere}
.sim-store-card button.br-step__edit{flex:none;padding:0;border:0;background:none;font-size:1rem;font-weight:600;color:var(--bk-green);text-decoration:underline;cursor:pointer}
.br-step__body{display:none;margin-top:1.25rem}
.br-step--open .br-step__body{display:block}
.br-product{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}
.br-product img{flex:none;display:block;width:3.75rem;height:auto}
.br-product__t{font-family:var(--serif);font-size:1.375rem;line-height:1.2;color:var(--bk-ink)}
.br-stepper{margin-left:auto;flex:none;display:flex;align-items:center;height:2.75rem;padding:0 .25rem;border:1px solid var(--bk-green);border-radius:.25rem}
.sim-store-card .br-stepper button{width:2rem;height:2rem;padding:0;border:0;background:none;font-size:1.125rem;line-height:1;color:var(--bk-ink);cursor:pointer}
.sim-store-card .br-stepper button:disabled{color:var(--bk-muted);opacity:.55;cursor:default}
.sim-store-card input.br-qty.br-qty{width:2rem;height:2rem;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:center;font-size:1.125rem;font-weight:600;color:var(--bk-ink)}
.br-lines{margin-top:1.25rem}
.br-line{display:flex;justify-content:space-between;gap:1rem;font-size:1rem;line-height:1.75;color:var(--bk-text)}
.br-line--total{margin-top:.5rem;padding-top:.625rem;border-top:1px solid var(--bk-rule);font-size:var(--button-reg);font-weight:700;color:var(--bk-ink)}
.br-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.25rem .75rem}
.br-field{min-width:0}
.sim-store-card .br-field label,.sim-store-card .br-label{display:block;margin:0 0 .375rem;padding:0;font-size:1rem;line-height:1.4;font-weight:400;color:var(--bk-text)}
.sim-store-card input.br-input.br-input{display:block;width:100%;height:3rem;min-height:3rem;margin:0;padding:0 .75rem;border:1px solid var(--bk-green);border-radius:.25rem;background:#fff;font-family:var(--sans);font-size:1rem;color:var(--bk-ink);box-shadow:none}
.sim-store-card input.br-input.br-input:focus{outline:2px solid var(--bk-green);outline-offset:0}
.sim-store-card .br-invalid input.br-input.br-input{border-color:#b3261e}
.br-secure-field{height:3rem;border:0}
.sim-store-card[data-open="0"] .br-secure-field{border:1px solid var(--bk-green);border-radius:.25rem;background:#fff}
.br-secure-field iframe{display:block;width:100%;height:100%;border:0}
.br-err,.br-msg{margin:.375rem 0 0;font-size:.875rem;line-height:1.4;color:#b3261e}
.br-msg{margin-top:1rem}
.br-note{margin:1rem 0 0;padding:.625rem .875rem;border-radius:.375rem;background:var(--bk-cream);font-size:.875rem;line-height:1.45;color:var(--bk-ink)}
.br-msg[hidden],.br-line[hidden],.br-check[hidden],.br-product[hidden],.br-lines[hidden],.br-empty[hidden],.br-field[hidden]{display:none!important}
.sim-store-card label.br-check{display:flex;align-items:flex-start;gap:.5rem;margin:0;font-size:1rem;line-height:1.4;font-weight:400;color:var(--bk-text);cursor:pointer}
.sim-store-card input.br-rural.br-rural{flex:none;width:1.125rem;height:1.125rem;min-height:0;margin:.125rem 0 0;padding:0;accent-color:var(--bk-green)}
.br-quote{margin-top:1.25rem}
.sim-store-card button.br-next{display:block;width:100%;height:3rem;margin:1.25rem 0 0;padding:0 1rem;border:0;border-radius:.5rem;background:var(--bk-green);color:#fff;font-family:var(--sans);font-size:var(--button-reg);font-weight:600;line-height:1;text-align:center;cursor:pointer;transition:background-color .2s ease}
.sim-store-card button.br-next:hover{background:var(--bk-hover)}
.sim-store-card button.br-next:disabled{background:var(--bk-muted);cursor:default}
.sim-store-card button:focus-visible{outline:2px solid var(--bk-ink);outline-offset:2px}
.br-secure{display:flex;align-items:center;justify-content:center;gap:.375rem;margin:1rem 0 0;font-size:.875rem;font-style:italic;color:var(--bk-text)}
.br-secure svg{width:.75rem;height:.75rem;display:block}
.br-small{margin:1rem 0 0;font-size:.8125rem;line-height:1.5;color:var(--bk-text)}
.br-small a{color:inherit;text-decoration:underline}
.br-done:focus{outline:0}
.br-done__tick{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--bk-gold);color:var(--bk-ink)}
.br-done__tick svg{width:1.75rem;height:1.75rem;display:block}
.sim-store-card h3.br-done__h{margin:1.25rem 0 0;font-family:var(--serif);font-weight:400;font-size:1.875rem;line-height:1.2;color:var(--bk-ink)}
.br-done__p{margin:.875rem 0 0;font-size:1.125rem;line-height:1.55;color:var(--bk-text);overflow-wrap:anywhere}
.br-done__rows{margin-top:.875rem}
.br-outline{display:inline-block;margin-top:1.25rem;padding:.875rem 1.5rem;border:1px solid var(--bk-green);border-radius:.5rem;font-size:var(--button-reg);line-height:1.15;font-weight:600;color:var(--bk-green);text-decoration:none;transition:background-color .2s ease}
.br-outline:hover{background:var(--bk-cream);color:var(--bk-green)}
@media (max-width:767px){.br-step__head{flex-wrap:wrap}.sim-store-card button.br-step__edit{margin-left:auto}.br-step__sum{order:3;flex:0 0 100%;margin-left:0;padding-left:2.5rem;text-align:left}}
@media (max-width:478px){.br-product__t{font-size:1.125rem}.br-grid .br-field{grid-column:1/-1!important}}
.br-product__w{display:block;margin-top:.25rem;font-family:var(--sans);font-size:.875rem;line-height:1.3;color:var(--bk-muted)}
.br-empty{margin:0;font-size:1rem;color:var(--bk-muted)}

/* The shop: products beside the order card */
.sim-store-shop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:clamp(1.5rem,3vw,3rem);align-items:start;font-family:var(--sans)}
.sim-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.5rem}
.sim-store-tile{display:flex;flex-direction:column;background:#fff;border:1px solid #dcd7ca;border-radius:.5rem;padding:1.25rem}
.sim-store-tile__img{display:flex;justify-content:center;align-items:center;height:14rem;margin-bottom:1rem}
.sim-store-tile__img img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
h3.sim-store-tile__t{margin:0;font-family:var(--serif);font-weight:400;font-size:1.375rem;line-height:1.2;color:#14332d}
.sim-store-tile__when{margin:.5rem 0 0;font-size:.875rem;line-height:1.4;font-weight:600;color:#14332d}
.sim-store-tile__s{margin:.5rem 0 0;font-size:1rem;line-height:1.4;color:#363636}
.sim-store-tile__foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:1rem}
.sim-store-tile__p{font-size:1.125rem;font-weight:700;color:#14332d}
button.sim-store-add{padding:.625rem 1rem;border:0;border-radius:.5rem;background:#14332d;color:#e0ec92;font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.15;cursor:pointer;transition:background-color .2s ease}
button.sim-store-add:hover{background:#0c211d}
button.sim-store-add:focus-visible{outline:2px solid #14332d;outline-offset:2px}
.sim-store-soldout{font-weight:600;color:#5a6a64}
.sim-store-side{position:sticky;top:1.5rem;background:#fff;border:1px solid #14332d;border-radius:.5rem;padding:1.5rem}
.sim-store-none{font-family:var(--sans)}
@media (max-width:991px){.sim-store-shop{grid-template-columns:minmax(0,1fr)}.sim-store-side{position:static}}

/* Ticket holders */
.br-attendees__h{margin:.5rem 0 0;font-family:var(--sans);font-size:1.125rem;font-weight:600;color:var(--bk-green)}
.sim-store-card fieldset.br-holder{margin:.75rem 0 0;padding:1rem;border:1px solid var(--bk-rule);border-radius:.5rem;display:grid;gap:.75rem}
.sim-store-card .br-holder legend{padding:0 .25rem;font-size:.875rem;font-weight:700;letter-spacing:.04em;color:var(--bk-muted)}
.sim-store-card .br-holder select.br-input{display:block;width:100%;height:3rem;padding:0 .75rem;border:1px solid var(--bk-green);border-radius:.25rem;background:#fff;font-family:var(--sans);font-size:1rem;color:var(--bk-ink)}
.br-field--check{display:flex;align-items:center;gap:.5rem}
.sim-store-card .br-field--check label{margin:0}
.br-product--ticket{padding:.75rem 0;border-bottom:1px solid var(--bk-rule);margin:0}
.br-product--ticket .br-product__t{font-family:var(--sans);font-size:1.125rem;font-weight:600}

/* Event page */
.sim-event{font-family:var(--sans);color:#14332d}
.sim-event__draft{margin:0 0 1rem;padding:.75rem 1rem;border-radius:.5rem;background:#e0ec92;font-weight:600}
.sim-event__banner{margin:0 0 2rem;border-radius:.75rem;overflow:hidden;aspect-ratio:2/1;background:#14332d}
.sim-event__banner img,.sim-event__img{display:block;width:100%;height:100%;object-fit:cover}
.sim-event__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:clamp(1.5rem,4vw,4rem);align-items:start}
h1.sim-event__t{margin:0 0 1.5rem;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.1;color:#14332d}
.sim-event__meta{display:grid;gap:1rem;margin:0 0 2rem;padding:0 0 2rem;border-bottom:1px solid #dcd7ca}
.sim-event__row{display:flex;gap:.875rem;align-items:flex-start;font-size:1rem;line-height:1.5}
.sim-event__row svg{flex:none;width:1.5rem;height:1.5rem;margin-top:.125rem}
.sim-event__row a,.sim-event a{color:#14332d;text-decoration:underline}
h2.sim-event__h{margin:2rem 0 .75rem;font-family:var(--sans);font-size:1.25rem;font-weight:700;color:#14332d}
.sim-event__desc p{margin:0 0 1rem;font-size:1.0625rem;line-height:1.6}
.sim-event__side{position:sticky;top:1.5rem;padding:1.5rem;border:1px solid #14332d;border-radius:.5rem;background:#fff}
h2.sim-event__side-h{margin:0 0 1rem;font-family:var(--sans);font-size:1.25rem;font-weight:700;color:#14332d}
.sim-event__closed{margin:0;font-size:1rem}
@media (max-width:991px){.sim-event__grid{grid-template-columns:minmax(0,1fr)}.sim-event__side{position:static}}

/* Spacing pass: every block keeps clear of what's above it, and headings keep clear of their text */
.sim-store-single,.sim-store-shopwrap,.sim-event{margin:clamp(1.75rem,3vw,2.75rem) 0}
.sim-store-single{max-width:32rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid #14332d;border-radius:.5rem;background:#fff}
.br-checkout .sim-store-single{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none}
.br-step+.br-step{margin-top:1.5rem}
.br-step__body{margin-top:1.5rem}
.br-empty{margin:0 0 1rem}
.br-product__w{margin-top:.375rem}
.sim-store-shopwrap,.sim-event{container-type:inline-size}
@container (max-width:50rem){.sim-store-shop{grid-template-columns:minmax(0,1fr)}.sim-store-side{position:static}}
.sim-store-tile__t + .sim-store-tile__when,.sim-store-tile__t + .sim-store-tile__s{margin-top:.625rem}
.sim-event__draft{margin:0 0 1.5rem}
.sim-event__banner{margin:0 0 clamp(1.75rem,4vw,2.75rem)}
h1.sim-event__t{margin:0 0 2rem;line-height:1.15}
.sim-event__meta{gap:1.5rem;margin:0 0 2.5rem;padding:0 0 2.5rem}
.sim-event__row div{line-height:1.6}
.sim-event__row strong{display:block;margin:0 0 .25rem;font-size:1.0625rem}
.sim-event__row strong+br{display:none}
h2.sim-event__h{margin:2.75rem 0 1rem}
.sim-event__meta + h2.sim-event__h{margin-top:0}
.sim-event__desc p{margin:0 0 1.25rem;line-height:1.65}
.sim-event__main > p{margin:0;line-height:1.6}
h2.sim-event__side-h{margin:0 0 1.5rem}
@container (max-width:52rem){.sim-event__grid{grid-template-columns:minmax(0,1fr)}.sim-event__side{position:static}}
.sim-event__jump{display:none}
.sim-event__side{scroll-margin-top:1.5rem}
@container (max-width:52rem){a.sim-event__jump{display:block;margin:-1rem 0 2.5rem;padding:.875rem 1rem;border-radius:.5rem;background:#14332d;color:#e0ec92;font-weight:700;text-align:center;text-decoration:none}}
.sim-event__main > p{font-size:1.0625rem}

/* Tables, discount codes and bank transfer */
.br-get{margin:1rem 0 0;padding:0;border:0;min-width:0}
.sim-store-card legend.br-get__h{margin:0 0 .5rem;padding:0;font-size:1rem;font-weight:600;line-height:1.4;color:var(--bk-ink)}
.sim-store-card label.br-opt{display:flex;align-items:flex-start;gap:.75rem;margin:0 0 .5rem;padding:.75rem .875rem;border:1px solid var(--bk-rule);border-radius:.5rem;background:#fff;cursor:pointer;font-weight:400}
.sim-store-card label.br-opt:has(input:checked){border-color:var(--bk-green);background:#e9efe9}
.sim-store-card .br-opt input{flex:none;width:1.125rem;height:1.125rem;margin:.125rem 0 0;accent-color:var(--bk-green)}
.br-opt strong{display:block;font-size:1rem;line-height:1.35;color:var(--bk-ink)}
.br-opt small{display:block;margin-top:.125rem;font-size:.875rem;line-height:1.4;color:var(--bk-muted)}
.br-paywith__row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.br-paywith__row .br-opt{margin:0}
.br-code{display:flex;align-items:center;gap:.75rem;margin:1rem 0 0;padding:.625rem .75rem;border-radius:.5rem;background:#f2f6d3}
.br-code[hidden],.br-codebox[hidden],.br-codeform[hidden],.br-bankdone[hidden],.br-banknote[hidden],.br-save[hidden],.br-note[hidden],.br-err[hidden]{display:none!important}
.br-code__tick{flex:none;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bk-green);color:#fff}
.br-code__tick svg{width:.875rem;height:.875rem;display:block}
.br-code__t{flex:1;min-width:0}
.br-code__t strong{display:block;font-size:.9375rem;line-height:1.3;color:var(--bk-ink)}
.br-code__t small{display:block;font-size:.8125rem;line-height:1.35;color:var(--bk-muted)}
.sim-store-card button.br-code__x,.sim-store-card button.br-link{padding:0;border:0;background:none;font-family:var(--sans);font-size:.875rem;font-weight:600;color:var(--bk-green);text-decoration:underline;cursor:pointer}
.br-codebox{margin-top:.75rem}
.br-codeform{margin-top:.75rem}
.sim-store-card .br-codeform label{display:block;margin:0 0 .375rem;font-size:1rem;color:var(--bk-text)}
.br-codeform__row{display:flex;gap:.5rem}
.br-codeform__row .br-input{flex:1}
.sim-store-card button.br-apply{flex:none;height:3rem;padding:0 1.25rem;border:1px solid var(--bk-green);border-radius:.25rem;background:#fff;font-family:var(--sans);font-size:1rem;font-weight:600;color:var(--bk-green);cursor:pointer}
.br-line--disc{font-weight:600;color:var(--bk-ink)}
.br-save{margin:.25rem 0 0;font-size:.9375rem;font-weight:600;color:var(--bk-ink)}
.br-product__w s{color:var(--bk-muted)}
.br-product__w b{color:var(--bk-ink)}
.br-banknote{margin:0;padding:.75rem .875rem;border-radius:.5rem;background:var(--bk-cream);font-size:.9375rem;line-height:1.45;color:var(--bk-ink)}
.br-bankdone{margin-top:1.25rem}
.br-steps{margin:0 0 1rem;padding-left:1.25rem;font-size:1rem;line-height:1.5;color:var(--bk-text)}
.br-steps li+li{margin-top:.5rem}
.br-bankrows{margin:0;padding:1rem;border-radius:.5rem;background:var(--bk-cream)}
.br-bankrows div+div{margin-top:.625rem}
.br-bankrows dt{font-size:.8125rem;line-height:1.3;color:var(--bk-muted)}
.br-bankrows dd{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.125rem 0 0;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--bk-ink)}
.sim-store-card button.br-copy{flex:none;padding:.25rem .625rem;border:1px solid var(--bk-green);border-radius:.25rem;background:#fff;font-family:var(--sans);font-size:.8125rem;font-weight:600;color:var(--bk-green);cursor:pointer}
.br-again__t{text-align:center}
.br-outline[hidden],.br-secure[hidden]{display:none!important}
