/* Bandit Collection Portal – public form. Mobile-first. Colours use CSS variables so the theme/brand can override them. */
.bsnj-portal{--bsnj-accent:var(--wp--preset--color--primary,#111);--bsnj-border:#cfd3d8;--bsnj-error:#b3261e;--bsnj-radius:8px;max-width:760px;margin:0 auto;font-size:1rem;line-height:1.5}
.bsnj-portal *{box-sizing:border-box}
.bsnj-form fieldset{border:0;margin:0 0 1.5rem;padding:0}
.bsnj-form legend{font-size:1.15rem;font-weight:700;margin-bottom:.75rem}
.bsnj-field{margin-bottom:1rem}
.bsnj-field label,.bsnj-label{display:block;font-weight:600;margin:0 0 .3rem}
.bsnj-form input[type=text],.bsnj-form input[type=email],.bsnj-form input[type=tel],.bsnj-form input[type=url],.bsnj-form select,.bsnj-form textarea{width:100%;min-height:44px;padding:.6rem .75rem;border:1px solid var(--bsnj-border);border-radius:var(--bsnj-radius);font:inherit;background:#fff;color:#111}
.bsnj-form input:focus,.bsnj-form select:focus,.bsnj-form textarea:focus{outline:2px solid var(--bsnj-accent);outline-offset:1px}
.bsnj-form [aria-invalid=true]{border-color:var(--bsnj-error)}
.bsnj-checks{display:grid;grid-template-columns:1fr;gap:.35rem}
.bsnj-check{display:flex!important;gap:.5rem;align-items:flex-start;font-weight:400!important;min-height:32px}
.bsnj-check input{margin-top:.3rem;width:18px;height:18px;flex:0 0 auto}
.bsnj-help{margin:.1rem 0 .4rem;font-size:.9rem;color:#555}
.bsnj-req{color:var(--bsnj-error)}
.bsnj-error{color:var(--bsnj-error);font-size:.9rem;margin:.3rem 0 0}
.bsnj-alert{border:1px solid var(--bsnj-error);background:#fdecea;color:#5f1410;padding:.75rem 1rem;border-radius:var(--bsnj-radius);margin-bottom:1rem}
.bsnj-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bsnj-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}
.bsnj-previews figure{margin:0;font-size:.75rem;word-break:break-all}
.bsnj-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid var(--bsnj-border)}
.bsnj-previews .bsnj-noprev{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f2f3f5;border-radius:6px}
.bsnj-ack{background:#f7f7f8;padding:.75rem;border-radius:var(--bsnj-radius)}
.bsnj-privacy-note{font-size:.85rem;color:#555}
.bsnj-submit{width:100%;min-height:48px;border:0;border-radius:var(--bsnj-radius);background:var(--bsnj-accent);color:#fff;font-weight:700;font-size:1.05rem;cursor:pointer}
.bsnj-submit[disabled]{opacity:.6;cursor:wait}
.bsnj-confirmation{border:1px solid var(--bsnj-border);border-radius:var(--bsnj-radius);padding:1.25rem}
.bsnj-ref strong{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.05em}
@media (min-width:640px){
 .bsnj-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
 .bsnj-checks{grid-template-columns:1fr 1fr}
 .bsnj-previews{grid-template-columns:repeat(5,1fr)}
 .bsnj-submit{width:auto;padding:0 2rem}
}
.bsnj-appointment-note{background:#f7f7f8;border-left:4px solid var(--bsnj-accent);padding:.6rem .8rem;font-size:.95rem}
/* Card shows (0.3.8) */
.bsnj-shows__featured{display:grid;gap:1rem;margin:0 0 1.5rem}
@media (min-width:720px){.bsnj-shows__featured{grid-template-columns:1fr 1fr}}
.bsnj-shows__list{display:grid;gap:.75rem}
/* 0.4.2 dark show cards (theme tokens; same in light & dark color schemes) */
.bsnj-shows{color-scheme:dark}
.bsnj-shows .bsnj-show{border:1px solid var(--wp--preset--color--steel,#446082);border-radius:10px;padding:1rem 1rem 1rem 1.1rem;background:var(--wp--preset--color--navy,#0a193b);color:var(--wp--preset--color--cream,#efe7d0)}
.bsnj-shows .bsnj-show--featured{background:var(--wp--preset--color--surface,#0e2148);border:1px solid var(--wp--preset--color--accent-2,#50a0e0);border-left:5px solid var(--wp--preset--color--accent-2,#50a0e0)}
.bsnj-shows .bsnj-show p.bsnj-show__badge{display:inline-block;margin:0 0 .4rem;padding:.15rem .6rem;border-radius:999px;background:var(--wp--preset--color--accent-2,#50a0e0);color:var(--wp--preset--color--base,#02040e);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.bsnj-shows .bsnj-show__title{margin:0 0 .35rem;font-size:1.15rem;color:var(--wp--preset--color--contrast,#fff)}
.bsnj-shows .bsnj-show p{margin:.2rem 0;color:var(--wp--preset--color--cream,#efe7d0)}
.bsnj-shows .bsnj-show strong{color:var(--wp--preset--color--contrast,#fff)}
.bsnj-shows .bsnj-show a{color:var(--wp--preset--color--accent-2,#50a0e0);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.bsnj-shows .bsnj-show a:hover,.bsnj-shows .bsnj-show a:focus-visible{color:var(--wp--preset--color--contrast,#fff)}
.bsnj-shows .bsnj-shows__filters label{color:var(--wp--preset--color--cream,#efe7d0)}
.bsnj-shows .bsnj-shows__filters select{background:var(--wp--preset--color--navy,#0a193b);color:var(--wp--preset--color--cream,#efe7d0);border:1px solid var(--wp--preset--color--steel,#446082);min-height:44px}
.bsnj-shows .bsnj-shows__count,.bsnj-shows .bsnj-shows__none{color:var(--wp--preset--color--silver,#a5afbf);opacity:1}
.bsnj-shows .bsnj-shows__date{color:var(--wp--preset--color--contrast,#fff);border-bottom-color:var(--wp--preset--color--steel,#446082)}

/* 0.4.0 card show filters + date groups */
.bsnj-shows__filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin:0 0 1rem}
.bsnj-shows__filters label{display:flex;flex-direction:column;font-size:.875rem;font-weight:600;gap:.25rem}
.bsnj-shows__filters select{min-width:10rem;max-width:100%;padding:.4rem .5rem;border-radius:6px;font:inherit}
.bsnj-shows__count{font-size:.875rem;padding-bottom:.45rem}
.bsnj-shows__date{font-size:1.05rem;margin:1.5rem 0 .5rem;padding-bottom:.25rem;border-bottom:2px solid}
.bsnj-shows__daylist{display:grid;gap:.75rem}
@media (min-width:720px){.bsnj-shows__daylist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bsnj-show[hidden],.bsnj-shows__day[hidden]{display:none}

.bsnj-shows__more-wrap{text-align:center;margin:1.25rem 0}.bsnj-shows__more[hidden]{display:none}.bsnj-shows__more{min-height:44px;padding:.6rem 1.4rem}
/* 0.5.0 Card Show Hub */
.bsnj-shows__intro{margin:0 0 .75rem}
.bsnj-show__checked{font-size:.85em;opacity:.85;margin:.35rem 0 0}
.bsnj-show__tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-start;margin-top:.5rem;font-size:.9em}
.bsnj-cal summary{cursor:pointer;text-decoration:underline}
.bsnj-cal ul{list-style:none;margin:.35rem 0 0;padding:0}
.bsnj-cal li{margin:.2rem 0}
.bsnj-show__fix{margin:0}.bsnj-show__fix-help{opacity:.85}
.bsnj-cal__help{font-size:.85em;opacity:.85;margin:.3rem 0 0}
.bsnj-checklist{margin:1.5rem 0}
.bsnj-checklist__list{list-style:none;padding-left:0}
.bsnj-checklist__list li{padding-left:1.6em;position:relative;margin:.25rem 0}
.bsnj-checklist__list li::before{content:"";position:absolute;left:0;top:.2em;width:1em;height:1em;border:1.5px solid currentColor;border-radius:2px}
@media print{
@page{size:letter;margin:.5in}
.bsnj-checklist{color:#000!important;background:#fff!important;font:10pt/1.3 Georgia,serif;column-count:2;column-gap:.35in}
.bsnj-checklist__title{column-span:all;font-size:15pt;margin:0 0 .1em}
.bsnj-checklist__sub{column-span:all;margin:0 0 .5em;font-size:9.5pt}
.bsnj-checklist h3{break-after:avoid;font-size:11pt;margin:.5em 0 .15em}
.bsnj-checklist__list{margin:0}
.bsnj-checklist__list li{break-inside:avoid;margin:.08rem 0}
.bsnj-checklist__print,.bsnj-show__tools{display:none!important}
body:has(.bsnj-checklist) .bsnj-topbar,body:has(.bsnj-checklist) .bsnj-header,body:has(.bsnj-checklist) .bsnj-footer,body:has(.bsnj-checklist) header.wp-block-template-part,body:has(.bsnj-checklist) footer.wp-block-template-part,body:has(.bsnj-checklist) .bsnj-mobile-cta,body:has(.bsnj-checklist) #wpadminbar{display:none!important}
body:has(.bsnj-checklist){padding:0!important;margin:0!important}
.bsnj-checklist{break-inside:avoid;page-break-inside:avoid}
.bsnj-checklist ~ .bsnj-checklist{break-before:page;page-break-before:always}
/* Print-isolate ("Print this checklist"): keep only the checklist and its ancestor chain in the layout. */
html:has(body.bsnj-printing),body.bsnj-printing{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}
body.bsnj-printing *:not(:has(.bsnj-checklist.is-printing)):not(.bsnj-checklist.is-printing):not(.bsnj-checklist.is-printing *){display:none!important}
body.bsnj-printing :has(.bsnj-checklist.is-printing){display:block!important;position:static!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;gap:0!important;overflow:visible!important;transform:none!important;filter:none!important;contain:none!important;break-before:auto!important;break-after:avoid!important}
body.bsnj-printing .bsnj-checklist.is-printing{display:block!important;position:static!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;break-before:auto!important;page-break-before:auto!important;break-after:avoid!important;page-break-after:avoid!important}
body.bsnj-printing .bsnj-checklist.is-printing>:last-child,body.bsnj-printing .bsnj-checklist.is-printing .bsnj-checklist__list:last-of-type{margin-bottom:0!important;padding-bottom:0!important}
body.bsnj-printing .bsnj-checklist.is-printing::after,body.bsnj-printing :has(.bsnj-checklist.is-printing)::after,body.bsnj-printing :has(.bsnj-checklist.is-printing)::before{display:none!important}
}
