/* NAPCA navigation, unified calendar and guide refinements. */
#class-calendar,#class-list,#contact{scroll-margin-top:124px}
@media(max-width:1100px){#class-calendar,#class-list,#contact{scroll-margin-top:100px}}
.pca-header .pca-header-inner{display:grid;grid-template-columns:1fr auto auto;gap:0 28px;padding-top:12px;min-height:0}
.pca-header .pca-logo-link{grid-column:1;grid-row:1;min-width:0;justify-self:start;padding:0 0 10px}
.pca-header .pca-site-logo{width:110px;max-width:110px;height:72px;max-height:72px;object-fit:contain}
.pca-header .pca-header-social{grid-column:2;grid-row:1;display:flex;margin:0;gap:4px}
.pca-header .pca-header-social a{width:44px;height:44px}
.pca-header .pca-header-actions{grid-column:3;grid-row:1;gap:12px;padding-bottom:10px}
.pca-header .pca-header-account,.pca-header .pca-header-classes{min-height:46px;font-size:.82rem;padding:0 20px}
.pca-header .pca-nav{grid-column:1/-1;grid-row:2;display:flex;position:static;justify-content:center;gap:clamp(18px,3vw,48px);border-top:1px solid #ffffff26;padding:0}
.pca-header .pca-nav a{display:flex;align-items:center;min-height:52px;padding:4px 0;font-size:.94rem;white-space:nowrap}
.pca-header a:focus-visible,.pca-menu-toggle:focus-visible{outline:3px solid var(--pca-gold);outline-offset:3px}
.napca-calendar-empty-month{padding:16px;margin:0;background:var(--pca-cream)}
.napca-schedule-heading{max-width:820px;margin-bottom:24px}.napca-schedule-heading p{color:var(--pca-muted)}
.napca-calendar-legend{display:flex;gap:14px 24px;flex-wrap:wrap;font-size:.85rem;margin:22px 0}
.napca-calendar-legend span{display:flex;align-items:center;gap:8px}.napca-calendar-legend span:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--pca-blue)}
.napca-calendar-legend span:nth-child(2):before{background:var(--pca-red)}.napca-calendar-legend span:nth-child(3):before{background:#69501d}
.pca-calendar-event.napca-calendar-pca_training{background:var(--pca-red)}.pca-calendar-event.napca-calendar-pca_event{background:#69501d}
.pca-calendar-event:focus-visible{outline:3px solid #111;outline-offset:2px}
.napca-calendar-kind{display:block;font-size:.62rem;font-weight:800;line-height:1.3;margin-bottom:6px;letter-spacing:.025em}
.napca-calendar-hours{display:block;font-size:.68rem;line-height:1.5;margin-top:6px}.pca-calendar-event-meta{opacity:1}
.napca-calendar-day-label{display:none}.pca-calendar-day{min-width:0}.pca-calendar-event-title{overflow-wrap:anywhere}
.ceo-chatbot[data-napca-adapter]{--napca-guide-bottom:22px;bottom:max(var(--napca-guide-bottom),env(safe-area-inset-bottom));right:22px}
body:has(#wpvibe-preview-banner) .ceo-chatbot[data-napca-adapter]{bottom:max(var(--napca-guide-bottom),env(safe-area-inset-bottom))}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-window{width:min(400px,calc(100vw - 32px));height:min(600px,var(--napca-guide-room,calc(100dvh - 190px)));max-height:var(--napca-guide-room,calc(100dvh - 190px));border-radius:18px}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-header{grid-template-columns:minmax(0,1fr) 44px;gap:16px;padding:16px;flex-shrink:0}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-header>div{min-width:0}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-header strong{font-size:19px;line-height:1.25}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-header span{font-size:11px;line-height:1.5;letter-spacing:.05em;text-transform:none;font-weight:600}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-close{font-size:28px!important;border-radius:10px!important;width:44px!important;height:44px!important}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-messages{min-height:72px;overscroll-behavior:contain;scrollbar-gutter:stable}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;flex-shrink:0}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-quick button{font-size:13px;min-height:44px;padding:8px 6px;border-radius:8px;background:#522029}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-quick button:last-child{grid-column:2/4}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-form{grid-template-columns:minmax(0,1fr) 68px;padding:12px;flex-shrink:0}
.ceo-chatbot[data-napca-adapter] .napca-guide-note{color:#c9c4bc;line-height:1.5;flex-shrink:0;background:#181818}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-launcher{min-height:48px;font-size:15px;box-shadow:0 8px 24px #0003}
@media(max-width:1100px){
.pca-header .pca-header-inner{display:flex;justify-content:space-between;gap:16px;min-height:88px;padding:6px 0}
.pca-header .pca-logo-link,.pca-header .pca-header-actions{padding:0}
.pca-header .pca-header-social{display:none}
.pca-header .pca-menu-toggle{display:block;width:46px;height:46px}
.pca-header .pca-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px;background:#151515;max-height:calc(100dvh - 110px);overflow-y:auto}
.pca-header .pca-nav.pca-nav-open{display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.pca-header .pca-nav a,.pca-header .pca-nav a:not(.pca-nav-cta){min-height:52px;padding:12px;font-size:1rem;border-bottom:1px solid #ffffff26}
}
@media(max-width:600px){
.pca-header .pca-header-inner{min-height:80px;gap:12px}.pca-header .pca-site-logo{width:90px;max-width:90px;height:64px;max-height:64px}
.pca-header .pca-header-actions{gap:10px}.pca-header .pca-header-account{display:none}
.pca-header .pca-header-classes{font-size:.8rem;width:auto;min-height:46px;padding:0 12px}
.pca-header .pca-header-classes:after{content:none}.pca-header .pca-nav.pca-nav-open{grid-template-columns:1fr}
.ceo-chatbot[data-napca-adapter]{right:12px}
.ceo-chatbot[data-napca-adapter] .ceo-chatbot-window{width:calc(100vw - 24px)!important}
.pca-calendar-weekdays{display:none}.pca-calendar-grid{display:block;min-width:0}.pca-calendar{overflow:visible}
.pca-calendar-day{min-height:0;padding:16px;border-right:0}.pca-calendar-empty,.pca-calendar-day[data-has-events="0"]{display:none}
.napca-calendar-day-number{display:none}.napca-calendar-day-label{display:block;font-size:1rem}
.pca-calendar-event{padding:14px;margin:10px 0}.pca-calendar-event-title{font-size:.95rem}.napca-calendar-kind,.napca-calendar-hours,.pca-calendar-event-meta{font-size:.78rem}
.pca-calendar-header{grid-template-columns:52px 1fr 52px}.pca-calendar-header h3{font-size:1.5rem}.pca-calendar-nav{height:64px}.pca-calendar-header{min-height:64px}
}

/* Keep the desktop header on one line without squeezing labels. */
@media(min-width:1101px){
.pca-header .pca-header-inner{grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;min-height:96px;padding:8px 0}
.pca-header .pca-logo-link{grid-column:1;grid-row:1;padding:0}
.pca-header .pca-nav{grid-column:2;grid-row:1;justify-content:center;gap:clamp(14px,1.5vw,24px);border:0;flex-wrap:nowrap;min-width:0}
.pca-header .pca-nav a{font-size:.88rem;white-space:nowrap;min-height:48px}
.pca-header .pca-header-social{grid-column:3;grid-row:1;gap:0}
.pca-header .pca-header-actions{grid-column:4;grid-row:1;padding:0;gap:10px}
.pca-header .pca-header-account,.pca-header .pca-header-classes{padding:0 16px;font-size:.8rem;white-space:nowrap}
}
@media(min-width:1101px) and (max-width:1400px){.pca-header .pca-header-social{display:none}.pca-header .pca-header-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:18px}.pca-header .pca-header-actions{grid-column:3}.pca-header .pca-site-logo{width:100px;max-width:100px}}
.pca-contact-routing .pca-button{white-space:nowrap;font-size:.88rem;padding-inline:18px}
@media(min-width:651px) and (max-width:1200px){.pca-contact-routing .pca-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
