:root {
  --cbc-burgundy: #9c284f;
  --cbc-offwhite: #F9F9F9;
  --cbc-black: #000000;
  --cbc-radius: 1.5rem;
  --cbc-shadow: 0 18px 50px rgba(0,0,0,.10);
}

html { scroll-behavior: smooth; }
body { background: var(--cbc-offwhite); }

.wp-site-blocks { overflow-x: clip; }
.cbc-container { max-width: 100%; margin-inline: auto; padding-inline: clamp(1.25rem, 3vw, 2.5rem); }
.cbc-card { border: 1px solid rgba(0,0,0,.10); border-radius: var(--cbc-radius); box-shadow: 0 10px 32px rgba(0,0,0,.05); }
.cbc-kicker { letter-spacing: .25em; text-transform: uppercase; font-weight: 800; font-size: .86rem; }
.cbc-button-dark .wp-block-button__link { background: #000; color: #fff; }
.cbc-button-light .wp-block-button__link { background: #fff; color: var(--cbc-burgundy); }
.cbc-button-outline .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); }
.cbc-header-shell { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(0,0,0,.08); }
.cbc-header-logo img { border-radius: 999px; box-shadow: 0 0 0 2px rgba(156,40,79,.25); }
.cbc-nav .wp-block-navigation-item__content { padding: .45rem .7rem; border-radius: 999px; }
.cbc-nav .wp-block-navigation-item__content:hover { background: var(--cbc-burgundy); color: #fff !important; }
.cbc-nav .wp-block-navigation__submenu-container { border: 1px solid rgba(0,0,0,.1) !important; border-radius: 1rem !important; padding: .5rem !important; box-shadow: 0 22px 44px rgba(0,0,0,.14); }
.cbc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: .75rem; padding: .55rem .8rem; }

.cbc-hero { background: var(--cbc-burgundy); color: #fff; }
.cbc-hero-grid { min-height: 620px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: stretch; }
.cbc-hero-copy { display: flex; flex-direction: column; justify-content: center; padding-block: clamp(4rem, 8vw, 7rem); }
.cbc-hero-image { min-height: 620px; clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%); background: #000; }
.cbc-hero-image .wp-block-post-featured-image,
.cbc-hero-image .wp-block-image,
.cbc-hero-image figure { height: 100%; min-height: inherit; margin: 0; max-width:100%!important;}
.cbc-hero-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.96) contrast(1.05); }
.cbc-hero-placeholder { min-height: inherit; background: radial-gradient(circle at 35% 20%, rgba(255,255,255,.28), transparent 30%), linear-gradient(135deg, rgba(0,0,0,.14), rgba(0,0,0,.56)), url('../images/hero-bowls.svg') center/cover no-repeat; }

.cbc-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.cbc-section-white { background: #fff; }
.cbc-section-black { background: #000; color: #fff; }
.cbc-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cbc-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.cbc-feature-card { background: #fff; padding: clamp(1.5rem, 3vw, 2rem); }
.cbc-feature-number { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 999px; background: var(--cbc-burgundy); color: #fff; font-weight: 800; font-size: 1.25rem; margin-bottom: 1rem; }
.cbc-news-card, .cbc-testimonial-card, .cbc-person-card, .cbc-sponsor-card { border-radius: var(--cbc-radius); border: 1px solid rgba(0,0,0,.10); box-shadow: 0 8px 28px rgba(0,0,0,.05); }
.cbc-person-avatar { width: 6rem; height: 6rem; border-radius: 999px; background: linear-gradient(135deg, var(--cbc-burgundy), #000); }
.cbc-event-row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1.25rem; align-items: stretch; }
.cbc-event-date { background: var(--cbc-burgundy); color: #fff; border-radius: 1rem; display: grid; place-items: center; text-align: center; font-weight: 800; font-size: 1.8rem; padding: 1rem; line-height: 1.05; }
.cbc-footer-social a { width: 2.75rem; height: 2.75rem; border-radius: 999px; display: inline-grid; place-items: center; background: #fff; color: #000; font-weight: 800; }
.cbc-footer-social a:hover { background: var(--cbc-burgundy); color: #fff; }

.wp-block-button__link { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(0,0,0,.16); }

@media (max-width: 1080px) {
  /*.cbc-nav { display: none !important; }*/
  .cbc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .cbc-container { padding-inline: 1.1rem; }
  .cbc-hero-grid { min-height: auto; grid-template-columns: 1fr; }
  .cbc-hero-image { min-height: 340px; order: -1; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
  .cbc-hero-copy { padding-block: 2.75rem 3.5rem; }
  .cbc-grid-3, .cbc-grid-4 { grid-template-columns: 1fr; }
  .cbc-event-row { grid-template-columns: 1fr; }
  .cbc-event-date { min-height: 90px; }
  .cbc-header-cta { display: none !important; }
}



/* CBC mobile navigation: full-screen dark red overlay */
@media (max-width: 781px) {
  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    overflow-y: auto;
    background: #9c284f !important;
    color: #ffffff !important;
    padding: 14px 20px 24px !important;
    box-sizing: border-box;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 38px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100%;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff !important;
    font-size: 1.22rem !important;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 0 4px 0 !important;
    padding: 0 0 0 14px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    padding: 6px 0 !important;
    border-bottom: 0;
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.15;
  }

  .wp-block-navigation__responsive-container-close {
    top: 14px !important;
    right: 18px !important;
    color: #ffffff !important;
  }

  .wp-block-navigation__responsive-container-close svg,
  .wp-block-navigation__responsive-container-open svg {
    fill: currentColor;
    stroke: currentColor;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-icon {
    color: #ffffff !important;
  }
}



