.wbi-calendar{--cal-wine:#961622;--cal-navy:#071b35;--cal-ink:#203044;--cal-muted:#516174;background:#f6f5f2;color:var(--cal-ink);font-family:Arial,sans-serif}
.wbi-calendar [hidden]{display:none!important}.cal-wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}.cal-skip{position:fixed;left:12px;top:-100px;z-index:9999;padding:12px;background:#fff;color:#78121b}.cal-skip:focus{top:12px}.wbi-calendar a:focus-visible,.wbi-calendar button:focus-visible,.wbi-calendar input:focus-visible,.wbi-calendar select:focus-visible{outline:3px solid #b97614;outline-offset:4px}
.cal-hero{padding:46px 0 54px;background:linear-gradient(115deg,#071b35 50%,#301d32);border-bottom:5px solid var(--cal-wine)}.wbi-calendar .cal-hero h1{color:#fff;font-size:clamp(2.8rem,6.6vw,5.4rem);line-height:1.04;letter-spacing:-.045em;margin:20px 0}.cal-back,.cal-hero a{color:#fff;text-decoration:underline;text-underline-offset:4px}.cal-back{display:inline-block;margin-bottom:28px;font-size:.94rem}.cal-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--cal-wine);margin:0 0 10px}.cal-hero .cal-kicker{color:#f4d4ad}.cal-intro{max-width:700px;font-size:1.15rem;line-height:1.7;color:#edf1f8}.cal-hero-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}.cal-checked{color:#c9d4e1;font-size:.86rem;margin:30px 0 0}
.cal-content{padding-bottom:65px}.cal-notice{background:#fff;border:1px solid #dedbd5;border-left:4px solid var(--cal-wine);border-radius:8px;padding:20px 24px;margin:30px 0 42px}.cal-notice p{margin:7px 0 0;line-height:1.65}.wbi-calendar main a:not(.cal-hero a){color:#851420;text-underline-offset:3px}.cal-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.wbi-calendar h2{color:var(--cal-navy);font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.025em;margin:0 0 10px}.cal-heading>p{color:var(--cal-muted);margin:0 0 12px;font-size:.9rem}.cal-filters{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.4fr;gap:16px;background:#fff;padding:24px;border:1px solid #dedbd5;border-radius:12px}.cal-filters label{display:block;font-weight:700;font-size:.85rem;margin-bottom:8px}.cal-filters input,.cal-filters select{width:100%;min-width:0;height:46px;border:1px solid #aeb6c1;border-radius:6px;padding:0 10px;background:#fff;color:var(--cal-ink);font-size:.95rem}.cal-filter-actions{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1}.cal-filters button{border:1px solid #b1b8c2;border-radius:6px;padding:10px 14px;color:var(--cal-navy);background:#fff;font-weight:700;font-size:.88rem}.cal-filters #cal-upcoming{background:var(--cal-wine);border-color:var(--cal-wine);color:#fff}.cal-filters button:hover{box-shadow:0 2px 8px #071b3520}.cal-results-note{font-size:.86rem;line-height:1.6;color:var(--cal-muted);margin:18px 0 30px}
.cal-month{margin-top:32px}.wbi-calendar .cal-month h3{font-size:1.25rem;display:flex;align-items:center;gap:18px;color:var(--cal-navy);margin-bottom:17px}.cal-month h3:after{content:"";height:1px;background:#d3d5d7;flex:1}.cal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cal-event{display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;background:#fff;border:1px solid #dedbd5;border-radius:12px;padding:22px}.cal-event:target{outline:3px solid var(--cal-wine)}.cal-date{background:#f7e9eb;color:#851420;text-align:center;border-radius:8px;padding:9px 4px;height:fit-content;font-size:.75rem;line-height:1.4}.cal-date strong{display:block;font-size:1.65rem;line-height:1.25}.cal-date span{display:block}.wbi-calendar .cal-event h4{font-size:1.12rem;line-height:1.4;color:var(--cal-navy);margin:10px 0}.cal-tags{display:flex;flex-wrap:wrap;gap:6px}.cal-tag{font-size:.7rem;border:1px solid #d9dfe6;color:#35465c;border-radius:20px;padding:3px 8px;background:#f5f7fa}.cal-state{font-size:.73rem;font-weight:700;color:#526173;margin:0 0 8px}.cal-state.is-upcoming{color:#266449}.cal-event p{font-size:.89rem;line-height:1.55;margin:8px 0}.cal-venue{font-weight:700}.cal-event .cal-note{color:var(--cal-muted);font-size:.82rem}.cal-sources{margin-top:12px}.cal-sources a{display:block;font-size:.8rem;margin-top:5px}.cal-empty{border:1px dashed #a4adba;padding:32px;border-radius:10px;margin:24px 0}.cal-review,.cal-method{margin-top:55px;padding-top:30px;border-top:1px solid #d3d5d7}.cal-review>p,.cal-method p{line-height:1.7;max-width:940px}.cal-review details{background:#fff;border:1px solid #dedbd5;border-radius:8px;padding:17px 20px;margin:10px 0}.cal-review summary{font-weight:700;cursor:pointer;color:var(--cal-navy)}.cal-review details p{font-size:.93rem;line-height:1.65;margin:14px 0 8px}.cal-review .cal-sources{display:flex;flex-wrap:wrap;gap:5px 20px}.cal-method p{font-size:.93rem}
.cal-wbi-feature{margin:0 0 44px;padding:28px;background:linear-gradient(120deg,#fff,#f9edef);border:1px solid #d5b7bd;border-top:4px solid var(--cal-wine);border-radius:12px}.cal-wbi-feature>p{line-height:1.65;max-width:900px}.cal-wbi-upcoming{font-size:.9rem;color:#516174}.cal-wbi-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid #e0cdd1;border-radius:10px;padding:22px;margin:20px 0}.wbi-calendar .cal-wbi-card h3{font-size:1.3rem;color:var(--cal-navy);line-height:1.4;margin:6px 0 10px}.cal-wbi-card p{margin-bottom:0;font-size:.9rem}.cal-wbi-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0;font-size:.9rem;font-weight:700}.cal-wbi-filter-note{font-size:.8rem;color:var(--cal-muted);margin-bottom:0}.cal-event.is-wbi{border-color:#b76874;box-shadow:inset 0 3px 0 var(--cal-wine)}.cal-tag.cal-tag-wbi{color:#fff;background:var(--cal-wine);border-color:var(--cal-wine)}
@media(max-width:850px){.cal-filters{grid-template-columns:1fr 1fr}.cal-search{grid-column:1/-1}.cal-grid{grid-template-columns:1fr}.cal-heading{display:block}.cal-event{padding:19px}.cal-wbi-card{display:block}.cal-wbi-actions{margin-top:18px}}@media(max-width:460px){.cal-wrap{width:calc(100% - 28px)}.cal-hero{padding:30px 0 36px}.cal-filters{padding:16px;gap:14px}.cal-filters>div{grid-column:1/-1}.cal-event{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:16px}.cal-notice{padding:16px}.cal-hero-links{flex-direction:column;gap:14px}.cal-wbi-feature{padding:20px}.cal-wbi-card{padding:17px}}
@media print{#header-placeholder,#footer-placeholder,.cal-filters,.cal-hero-links,.cal-back,.cal-skip{display:none!important}.cal-hero{background:#fff;padding:10px 0;border-bottom:2px solid #961622}.wbi-calendar .cal-hero h1,.cal-hero .cal-kicker,.cal-intro,.cal-checked{color:#071b35}.cal-wrap{width:100%}.cal-hero h1 br{display:none}.cal-grid{display:block}.cal-event{break-inside:avoid;margin-bottom:12px}.cal-review{break-before:page}.cal-sources a{overflow-wrap:anywhere}}
