/* Courtenay BAC PAC — presentation layer over Twenty Twenty-Five, tuned to match the design mockup. */

:root {
  --cbp-blue: #0B4F9E;
  --cbp-blue-deep: #0A3B78;
  --cbp-gold: #F2B705;
  --cbp-gold-ink: #9A6E00;
  --cbp-navy: #0A2540;
  --cbp-muted: #566A85;
  --cbp-cream: #FFF7E6;
  --cbp-border: #E4E9F1;
  --cbp-card-radius: 14px;
}

/* ---------- Header ---------- */
.cbp-header .wp-block-navigation a { color: var(--cbp-navy); font-weight: 600; }
.cbp-header .wp-block-navigation a:hover { color: var(--cbp-blue); }

/* Logo lockup: backpack mark + two-tone wordmark */
.cbp-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.cbp-brand__mark svg { width: 40px; height: 40px; display: block; }
.cbp-brand__wm { display: flex; flex-direction: column; line-height: 1; }
.cbp-brand__wm .c1 { color: var(--cbp-blue); font-weight: 800; font-size: 1.18rem; letter-spacing: -.01em; }
.cbp-brand__wm .c2 { color: var(--cbp-gold-ink); font-weight: 800; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; margin-top: 2px; }

/* Translate menu styled as an EN·ES pill */
.gtranslate_wrapper { display: inline-flex; align-items: center; }
.gtranslate_wrapper select,
.gtranslate_wrapper .gt_selector {
  -webkit-appearance: none; appearance: none;
  border: 1.5px solid var(--cbp-border);
  border-radius: 999px;
  padding: 6px 30px 6px 30px;
  font-weight: 700; font-size: .82rem; color: var(--cbp-blue);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B4F9E' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a15 15 0 0 1 0 18M12 3a15 15 0 0 0 0 18'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B4F9E' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat;
  background-position: 9px center, right 9px center;
  background-size: 15px, 12px;
  cursor: pointer;
}
.gtranslate_wrapper select:hover,
.gtranslate_wrapper .gt_selector:hover { border-color: var(--cbp-blue); }

/* ---------- Buttons ---------- */
.wp-block-button__link { border-radius: 9px; font-weight: 700; }

/* ---------- Section headings ---------- */
.cbp-eyebrow {
  color: var(--cbp-gold-ink);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .74rem;
  margin: 0 0 .4rem;
}

/* ---------- Next meeting + event banner ---------- */
.cbp-banner {
  background: linear-gradient(135deg, var(--cbp-blue) 0%, var(--cbp-blue-deep) 100%);
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 44px -26px rgba(10, 42, 78, .55);
}
.cbp-banner :where(h1, h2, h3, p, a, li) { color: #fff; }
.cbp-badge {
  display: inline-block;
  background: var(--cbp-gold);
  color: var(--cbp-navy) !important;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .7rem;
  padding: 5px 11px;
  border-radius: 6px;
  margin: 0 0 .5rem;
}
.cbp-event-card {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 12px;
}
.cbp-event-label {
  color: var(--cbp-gold) !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .68rem;
  margin: 0 0 .25rem;
}
.cbp-banner .wp-block-button.is-style-outline .wp-block-button__link {
  border: 1.5px solid rgba(255, 255, 255, .55);
  color: #fff;
}

/* ---------- Category / video tiles ---------- */
.cbp-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.cbp-tile {
  display: block;
  background: #FFFDF7;
  border: 1px solid #E9ECF2;
  border-radius: var(--cbp-card-radius);
  padding: 18px 16px;
  text-decoration: none;
  color: var(--cbp-navy);
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.cbp-tile:hover {
  border-color: var(--cbp-blue);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -18px rgba(10, 42, 78, .5);
}
.cbp-tile .cbp-ico { color: var(--cbp-blue); display: block; margin-bottom: 10px; }
.cbp-tile .cbp-ico svg { width: 30px; height: 30px; }
.cbp-tile b { display: block; font-size: 1.02rem; letter-spacing: -.01em; line-height: 1.2; }
.cbp-tile span { display: block; font-size: .84rem; color: var(--cbp-muted); margin-top: 3px; }

/* ---------- Quick-link buttons ---------- */
.cbp-linklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cbp-linklist li { margin: 0; }
.cbp-linklist a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--cbp-border);
  border-radius: 10px;
  padding: 11px 14px;
  font-weight: 600;
  color: var(--cbp-navy);
  text-decoration: none;
  background: #fff;
}
.cbp-linklist a::after { content: "↗"; color: var(--cbp-blue); font-weight: 800; }
.cbp-linklist a:hover { border-color: var(--cbp-blue); background: var(--cbp-cream); }

/* ---------- Latest minutes list ---------- */
.cbp-minutes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cbp-minutes li {
  display: flex; align-items: center; gap: 11px;
  border: 1px solid #ECEEF3; border-radius: 10px; padding: 10px 13px; background: #fff;
}
.cbp-minutes li::before {
  content: ""; width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; background: var(--cbp-blue);
}
.cbp-minutes li.is-bac::before { background: var(--cbp-gold-ink); }

/* ---------- Meet your PAC & BAC roster ---------- */
.cbp-roster-head { display: flex; align-items: center; gap: 12px; margin: 1.5rem 0 1rem; }
.cbp-tag { color: #fff; font-weight: 800; letter-spacing: .08em; font-size: .72rem; padding: 6px 11px; border-radius: 8px; }
.cbp-tag.pac { background: var(--cbp-blue); }
.cbp-tag.bac { background: var(--cbp-gold-ink); }
.cbp-roster {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.cbp-person {
  border: 1px solid #E9ECF2; border-radius: 12px; background: #FFFDF7;
  padding: 16px 12px 14px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 7px;
}
.cbp-avatar {
  width: 52px; height: 52px; border-radius: 50%; background: #EEF3FA;
  display: grid; place-items: center; color: #9DB3CE;
}
.cbp-avatar svg { width: 30px; height: 30px; }
.cbp-person .cbp-role { font-weight: 700; color: var(--cbp-blue); font-size: .92rem; line-height: 1.2; }
.cbp-person .cbp-name { font-size: .74rem; color: #8592a5; border: 1px dashed #CCD6E3; background: #fff; border-radius: 999px; padding: 3px 10px; }
.cbp-person .cbp-req { font-size: .6rem; font-weight: 800; letter-spacing: .04em; color: var(--cbp-gold-ink); text-transform: uppercase; }

/* ---------- Cream section + generic card ---------- */
.cbp-cream { background: var(--cbp-cream); border-radius: 16px; }
.cbp-card { background: #fff; border: 1px solid var(--cbp-border); border-radius: var(--cbp-card-radius); }

/* ---------- The Events Calendar — brand accents ---------- */
.tribe-common--breakpoint-medium .tribe-events,
.tribe-events {
  --tec-color-accent-primary: #0B4F9E;
  --tec-color-accent-primary-hover: #0A3B78;
  --tec-color-accent-primary-active: #0A3B78;
  --tec-color-background-events: #fff;
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
  color: var(--cbp-gold-ink);
}
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-calendar-month__day-cell--selected {
  background-color: var(--cbp-blue);
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
  .cbp-tiles, .cbp-roster { grid-template-columns: repeat(2, 1fr); }
}
