/* Community Bookings — minimal CSS for interactive states */

/* ── Inter for ALL text site-wide ──
   Overrides Kadence's font variables (covers body, headings, nav, footer, buttons)
   and forces Inter on content/form text. Icon fonts (dashicons/Kadence glyphs) are
   left untouched — they declare their own font-family — so icons don't break. */
:root {
    --global-body-font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
    --global-heading-font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
    --global-primary-nav-font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
    --global-display-fallback-font:'Inter',sans-serif !important;
}
body, button, input, select, optgroup, textarea,
h1, h2, h3, h4, h5, h6,
.entry-content, .entry-title, .page-title, .site-title {
    font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
}

.cb-spinner { display:inline-block; width:16px; height:16px; border:2px solid rgba(255,255,255,.3);
    border-top-color:#fff; border-radius:50%; animation:cbspin .6s linear infinite; }
@keyframes cbspin { to { transform:rotate(360deg); } }

/* Override theme underlines on plugin links (Twenty Seventeen forces underlines on .entry-content a) */
.cb-event-card,
.cb-event-card *,
#cb-hero a,
#cb-info-section a,
#cb-events-grid a,
#cb-events-grid a *,
#cb-hero-banner a { text-decoration:none!important; box-shadow:none!important; border-bottom:none!important; }

/* Tab content: force consistent font and size for both General and Important */
.cb-tab-content,
.cb-tab-content * {
    font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1.7!important;
}
.cb-tab-content h1 { font-size:22px!important; font-weight:700; margin:16px 0 8px; }
.cb-tab-content h2 { font-size:19px!important; font-weight:700; margin:16px 0 8px; }
.cb-tab-content h3 { font-size:17px!important; font-weight:700; margin:16px 0 8px; }
.cb-tab-content p { margin:0 0 12px; }
.cb-tab-content ul, .cb-tab-content ol { margin:0 0 12px 24px; }

/* Gallery arrows — override theme button styles */
.cb-gal-arrow {
    position:absolute!important;
    top:50%!important;
    left:12px!important;
    right:auto!important;
    transform:translateY(-50%)!important;
    width:44px!important;
    height:44px!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    background:rgba(0,0,0,.55)!important;
    color:#fff!important;
    border:none!important;
    border-radius:50%!important;
    cursor:pointer!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:400!important;
    text-shadow:none!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:5!important;
    transition:background .2s!important;
    -webkit-appearance:none!important;
    appearance:none!important;
}
.cb-gal-arrow.cb-gal-arrow-right { left:auto!important; right:12px!important; }
.cb-gal-arrow:hover, .cb-gal-arrow:focus { background:rgba(0,0,0,.8)!important; outline:none!important; }

/* ═══ DARK THEME ═══ Light text/links for sites with dark/coloured page backgrounds */
.cb-theme-dark,
.cb-theme-dark *,
.cb-theme-dark .cb-event-card,
.cb-theme-dark .cb-event-card *,
.cb-theme-dark #cb-hero,
.cb-theme-dark #cb-hero *,
.cb-theme-dark #cb-info-section,
.cb-theme-dark #cb-info-section *,
.cb-theme-dark #cb-events-grid,
.cb-theme-dark #cb-events-grid *,
.cb-theme-dark .entry-content .cb-event-card,
.cb-theme-dark .entry-content .cb-event-card * { color:#ebd6b8!important; }

.cb-theme-dark .cb-event-card h3,
.cb-theme-dark #cb-hero h1,
.cb-theme-dark #cb-hero h2,
.cb-theme-dark #cb-hero h3 { color:#bd9c79!important; }

/* Info section: keep light purple box (visual break) but force dark text inside it */
.cb-theme-dark #cb-info-section,
.cb-theme-dark #cb-info-section * { color:#ebd6b8!important; }
.cb-theme-dark #cb-info-section .cb-tab-content,
.cb-theme-dark #cb-info-section .cb-tab-content * { color:#ebd6b8!important; }
.cb-theme-dark .cb-info-tab[style*="background:#bd9c79"],
.cb-theme-dark .cb-info-tab.active { color:#fff!important; }
.cb-theme-dark .cb-info-tab[style*="background:#e9e5f5"] { color:#8b6f4e!important; }

/* Date pills */
.cb-theme-dark .cb-date-option { background:rgba(255,255,255,.05)!important; border-color:rgba(255,255,255,.15)!important; }
.cb-theme-dark .cb-date-option.selected,
.cb-theme-dark .cb-date-option[style*="rgba(189,156,121,.1)"] { background:rgba(167,139,250,.2)!important; border-color:#bd9c79!important; }

/* Purple links brighten for visibility on dark */
.cb-theme-dark a[style*="color:#bd9c79"],
.cb-theme-dark [style*="color:#bd9c79"] { color:#bd9c79!important; }

/* Card divider lines */
.cb-theme-dark [style*="border-top:1px solid rgba(128,128,128,.2)"] { border-top-color:rgba(255,255,255,.15)!important; }

/* Keep semantic status colors readable */
.cb-theme-dark [style*="color:#10b981"] { color:#34d399!important; }
.cb-theme-dark [style*="color:#d97706"] { color:#ebd6b8!important; }
.cb-theme-dark [style*="color:#dc2626"] { color:#f87171!important; }

/* Tier tab active state (JS toggles) */
.cb-tier-tab.active { background:#bd9c79!important; border-color:#bd9c79!important; color:#fff!important; }
.cb-tier-tab:hover { border-color:#bd9c79!important; color:#bd9c79!important; }

/* Tier chip checked state */
input[type="radio"]:checked + .cb-tier-chip-inner { border-color:#bd9c79!important; background:#2a1f0f!important; box-shadow:0 0 0 3px rgba(189,156,121,.15)!important; }

/* Responsive */
@media (max-width:1024px) {
    #cb-hero > .cb-hero-split { padding:24px 30px!important; }
    #cb-events-grid { grid-template-columns:repeat(2,1fr)!important; }
}
@media (max-width:768px) {
    .cb-hero-split { grid-template-columns:1fr!important; gap:24px!important; }
    .cb-hero-split #cb-gallery { height:300px!important; }
    #cb-hero > div { padding:20px 16px!important; }
    #cb-events-grid { grid-template-columns:1fr!important; }
    [style*="grid-template-columns:repeat(auto-fill,minmax(340px,1fr))"] { grid-template-columns:1fr!important; }
    #cb-gallery { max-height:300px; }
}
@media (max-width:480px) {
    [style*="grid-template-columns:repeat(auto-fill,minmax(160px,1fr))"] { grid-template-columns:1fr!important; }
}
