/* v0.2.0 — visual adaptation of client-provided Bulgarian Cultural Institute London(1).html.
   Independent of the WordPress theme; underlying data and interactions remain native WP. */
.bci-site {
  --bci-bg: #fbfbfe;
  --bci-surface: #fbfbfe;
  --bci-ink: #141d5a;
  --bci-copy: #141d5a;
  --bci-muted: #5d6492;
  --bci-accent: #8a6bc0;
  --bci-accent-text: #6c4c9d;
  --bci-border: #dcdfee;
  --bci-soft: #eef2fc;
  --bci-header-bg: #fbfbfe;
  --bci-newsletter-bg: #141d5a;
  --bci-newsletter-ink: #eef2fc;
  --bci-footer-bg: #fbfbfe;
  --bci-shadow: none;
  background: var(--bci-bg);
  color: var(--bci-ink);
  font-weight: 400;
}
html[data-bci-theme="dark"] .bci-site {
  --bci-bg: #0d1230;
  --bci-surface: #0d1230;
  --bci-ink: #e9edfb;
  --bci-copy: #e9edfb;
  --bci-muted: #a3abd6;
  --bci-accent: #a99be0;
  --bci-accent-text: #c0b3f4;
  --bci-border: #252d63;
  --bci-soft: #252d63;
  --bci-header-bg: #0d1230;
  --bci-newsletter-bg: #eef2fc;
  --bci-newsletter-ink: #141d5a;
  --bci-footer-bg: #0d1230;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html:not([data-bci-theme]) .bci-site {
    --bci-bg: #0d1230;
    --bci-surface: #0d1230;
    --bci-ink: #e9edfb;
    --bci-copy: #e9edfb;
    --bci-muted: #a3abd6;
    --bci-accent: #a99be0;
    --bci-accent-text: #c0b3f4;
    --bci-border: #252d63;
    --bci-soft: #252d63;
    --bci-header-bg: #0d1230;
    --bci-newsletter-bg: #eef2fc;
    --bci-newsletter-ink: #141d5a;
    --bci-footer-bg: #0d1230;
    color-scheme: dark;
  }
}
.bci-site h1,.bci-site h2,.bci-site h3 { font-weight: 400; }
.bci-container { width: 100%; max-width: 1240px; padding-inline: 28px; }
.bci-header { background: var(--bci-header-bg); box-shadow: none; backdrop-filter: none; border-bottom: 1px solid var(--bci-border); }
.bci-topbar {
  width: 100%; max-width: none; min-height: 108px; padding: 22px clamp(28px,6vw,80px);
  justify-content: space-between; gap: 24px;
  transition: padding .25s ease, min-height .25s ease;
}
.bci-header.is-scrolled .bci-topbar { min-height: 62px; padding-top: 10px; padding-bottom: 10px; }
.bci-brand { flex: 0 0 auto; width: auto; max-width: 275px; }
.bci-brand .bci-logo { height: 64px; max-width: 280px; width: auto; object-position: left center; }
.bci-header.is-scrolled .bci-logo { height: 42px; }
.bci-search-desktop { width: min(340px,48%); flex: 0 1 340px; }
.bci-search-form { border: 0; border-bottom: 1px solid var(--bci-border); border-radius: 0; height: 43px; background: transparent; }
.bci-search-form:focus-within { border-color: var(--bci-accent); box-shadow: none; }
.bci-search-form input[type=search] {
  border: 0 !important; border-radius: 0; padding: 9px 4px 9px 0 !important;
  background: transparent !important; color: var(--bci-ink) !important;
  font: 300 14px Montserrat,Arial,sans-serif; box-shadow: none !important;
}
.bci-search-form button { flex: 0 0 30px; height: 40px; padding: 5px !important; border-radius: 0; color: var(--bci-muted) !important; }
.bci-search-form button svg { width: 17px; height: 17px; stroke-width: 1.5; }
.bci-desktop-menu-wrap { border-top: 1px solid var(--bci-border); }
.bci-desktop-menu { width: min(100% - 56px,1240px); min-height: 58px; }
.bci-nav-items { gap: 0; }
.bci-nav-items > :is(a,details) { font: 400 13px Montserrat,Arial,sans-serif; letter-spacing: .14em; }
.bci-nav-items > .bci-nav-link,.bci-nav-dropdown summary { padding: 18px 20px; min-height: 58px; line-height: 22px; }
.bci-nav-dropdown summary { gap: 8px; }
.bci-nav-dropdown .bci-chevron { width: 9px; height: 9px; }
.bci-dropdown-content {
  left: 50%; transform: translateX(-50%); width: 200px; padding: 10px 0;
  border: 1px solid var(--bci-border); border-radius: 0;
  box-shadow: none; background: var(--bci-bg);
}
.bci-dropdown-content a { padding: 8px 22px; font: 400 14px Montserrat,Arial,sans-serif; color: var(--bci-muted) !important; }
.bci-dropdown-content a:hover, .bci-dropdown-content a:focus-visible { border-radius: 0; background: var(--bci-border); }
.bci-theme-toggle { border: 1px solid var(--bci-border) !important; border-radius: 20px; padding: 6px 14px !important; font: 400 12px Montserrat,Arial,sans-serif; letter-spacing: 0; }
.bci-theme-toggle svg { display: none; }
.bci-theme-toggle:hover { border-color: var(--bci-accent) !important; }
.bci-desktop-menu > .bci-theme-toggle { right: 0; }
/* Hero proportions, dark-to-transparent image overlay, and understated typography. */
.bci-hero {
  height: min(68vh,620px); min-height: 380px;
  background: radial-gradient(circle at 56% 40%,#8a4cab 0,transparent 37%),radial-gradient(circle at 82% 15%,#392369 0,transparent 70%),linear-gradient(135deg,#141d5a,#2d245d);
  color: #fff;
}
.bci-hero-image { object-position: center; }
.bci-hero-shade { background: linear-gradient(to top,rgba(10,14,50,.55),transparent 65%); }
.bci-hero-inner { padding-block: 0 48px; padding-inline: 28px; width: 100%; max-width: 1240px; }
.bci-hero-copy { max-width: 100%; }
.bci-hero-story { display: block; width: max-content; max-width: 100%; color: #fff !important; }
.bci-event-tag { border: 1px solid rgba(255,255,255,.7); border-radius: 20px; padding: 4px 14px; font: 400 12px Montserrat,Arial,sans-serif; letter-spacing: .1em; text-transform: none; }
.bci-hero h1 {
  font: 400 clamp(36px,6vw,76px)/1.02 'Cormorant Garamond',Georgia,serif;
  margin: 16px 0 10px; max-width: 15ch; letter-spacing: 0; color: #fff;
}
.bci-hero-date { margin-top: 10px !important; color: rgba(255,255,255,.9); font: 300 15px/1.5 Montserrat,Arial,sans-serif; letter-spacing: 0; }
.bci-hero-story:hover h1 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
/* Latest News + Events, as three-column editorial rows on desktop. */
.bci-news-section { padding-block: 72px 24px; }
.bci-section-heading { margin-bottom: 30px; }
.bci-section-heading h2 {
  font: 400 34px/1.1 'Cormorant Garamond',Georgia,serif;
  color: var(--bci-ink); letter-spacing: 0;
}
.bci-updates-list { border-top: 1px solid var(--bci-border); }
.bci-update-row {
  display: grid; grid-template-columns: 170px minmax(0,1fr) 220px;
  gap: 32px; align-items: center; min-height: 0;
  padding: 28px 0; border-bottom: 1px solid var(--bci-border);
  color: var(--bci-ink) !important; text-decoration: none !important;
}
.bci-update-meta { align-self: center; }
.bci-update-category { display: block; font: 400 12px/1.6 Montserrat,Arial,sans-serif; letter-spacing: .06em; color: var(--bci-accent-text); }
.bci-update-meta time { display: block; margin-top: 2px; color: var(--bci-muted); font-size: 13px; line-height: 1.5; }
.bci-update-body h3 { margin: 0 0 6px; font: 400 clamp(26px,3vw,36px)/1.15 'Cormorant Garamond',Georgia,serif; color: var(--bci-ink); transition: color .2s; }
.bci-update-row:hover h3 { color: var(--bci-accent-text); }
.bci-update-body p { font-size: 15px; line-height: 1.6; color: var(--bci-muted); max-width: 60ch; }
.bci-update-thumbnail { width: 100%; aspect-ratio: 3/2; position: relative; overflow: hidden; background: var(--bci-soft); }
.bci-update-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.bci-update-row:hover .bci-update-thumbnail img { transform: scale(1.05); }
.bci-update-fallback { position: absolute; inset: 0; display: block; }
.bci-update-fallback-1 { background: radial-gradient(circle at 32% 40%,#994fad 0,transparent 36%),linear-gradient(135deg,#141d5a,#41328e); }
.bci-update-fallback-2 { background: radial-gradient(circle at 48% 46%,#aa4d8b 0,transparent 37%),linear-gradient(135deg,#382268,#8c3b91); }
.bci-update-fallback-3 { background: radial-gradient(circle at 52% 37%,#ae61c8 0,transparent 38%),linear-gradient(135deg,#1e4b67,#433a86); }
.bci-update-fallback-4 { background: radial-gradient(circle at 22% 59%,#6858b5 0,transparent 40%),linear-gradient(135deg,#362368,#243864); }
.bci-update-fallback-5 { background: radial-gradient(circle at 36% 40%,#bd50a7 0,transparent 33%),linear-gradient(135deg,#22276a,#4d267a); }
.bci-news-bottom { text-align: center; margin: 52px 0 0; }
.bci-outline-button {
  background: transparent; border: 1px solid var(--bci-ink); border-radius: 0;
  color: var(--bci-ink) !important; padding: 14px 34px;
  font: 400 12px Montserrat,Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase;
  transition: background .25s,color .25s;
}
.bci-outline-button:hover { background: var(--bci-ink); color: var(--bci-bg) !important; }
/* Horizontal navy/pale newsletter band. Consent added below the visual reference's simple form. */
.bci-newsletter-band { margin-top: 80px; background: var(--bci-newsletter-bg); color: var(--bci-newsletter-ink); }
.bci-newsletter-layout { min-height: 0; display: block; padding-block: 72px; text-align: center; }
.bci-newsletter-heading { max-width: 100%; }
.bci-newsletter-heading h2 { font: 400 clamp(30px,4vw,46px)/1.1 'Cormorant Garamond',Georgia,serif; color: inherit; }
.bci-newsletter-heading > p:last-child { margin: 10px auto 30px; max-width: 46ch; font-size: 15px; opacity: .8; }
.bci-newsletter-form { max-width: 625px; margin: 0 auto; text-align: left; }
.bci-newsletter-input-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; background: transparent; border-radius: 0; min-height: 0; }
.bci-newsletter-input-group input[type=email] {
  flex: 1 1 285px; width: min(380px,100%); min-height: 45px;
  border: 0 !important; border-bottom: 1px solid var(--bci-newsletter-ink) !important; border-radius: 0;
  background: transparent !important; color: var(--bci-newsletter-ink) !important;
  padding: 12px 2px !important; font: 300 15px Montserrat,Arial,sans-serif; box-shadow: none !important;
}
.bci-newsletter-input-group input::placeholder { color: var(--bci-newsletter-ink); opacity: .6; }
.bci-newsletter-input-group input:disabled { background: transparent !important; }
.bci-newsletter-input-group button {
  border: 1px solid var(--bci-newsletter-ink) !important; border-radius: 0; padding: 14px 34px !important;
  color: var(--bci-newsletter-ink) !important; background: transparent !important;
  font: 400 12px Montserrat,Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase;
}
.bci-newsletter-input-group button:hover:not(:disabled) { background: var(--bci-newsletter-ink) !important; color: var(--bci-newsletter-bg) !important; }
.bci-consent { justify-content: center; max-width: 580px; margin: 16px auto 0; padding-top: 0; font-size: 11px; line-height: 1.55; }
.bci-consent input { accent-color: var(--bci-accent); }
.bci-newsletter-feedback { text-align: center; font-size: 11px; opacity: .85; }
/* Quiet centered quote slideshow. */
.bci-quotes-section { padding-block: 90px 80px; min-height: 245px; }
.bci-quote-slides { min-height: 0; }
.bci-quote-slide { padding: 0; max-width: 780px; margin-inline: auto; }
.bci-quote-slide blockquote { margin: 0 auto; max-width: 780px; font: italic 400 clamp(24px,3.2vw,36px)/1.35 'Cormorant Garamond',Georgia,serif; letter-spacing: 0; color: var(--bci-ink); }
.bci-quote-slide blockquote::before { content: '“'; }
.bci-quote-slide blockquote::after { content: '”'; }
.bci-quote-slide figcaption { margin-top: 22px; color: var(--bci-muted); font: 400 13px Montserrat,Arial,sans-serif; letter-spacing: .04em; text-transform: none; }
.bci-quote-controls { margin-top: 34px; flex-direction: column; gap: 4px; }
.bci-quote-dots { gap: 3px; }
.bci-quote-dot { width: 18px; height: 24px; }
.bci-quote-dot span { background: transparent; border: 1px solid var(--bci-ink); width: 9px; height: 9px; }
.bci-quote-dot[aria-current="true"] span { background: var(--bci-ink); width: 9px; height: 9px; }
.bci-carousel-pause { font-size: 11px; font-weight: 400; text-decoration: none; opacity: .7; }
/* Reference footer: archive left; contact centre; thin social icons at right. */
.bci-footer { border-top: 1px solid var(--bci-border); background: var(--bci-bg); }
.bci-footer-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding-block: 44px 52px; }
.bci-footer-contact { color: var(--bci-muted); font-size: 14px; line-height: 1.9; gap: 0; font-weight: 400; }
.bci-footer-social { gap: 18px; justify-content: flex-end; }
.bci-footer-social a { border: 0; border-radius: 0; width: 20px; height: 20px; color: var(--bci-ink) !important; }
.bci-footer-social a:hover { color: var(--bci-accent) !important; background: transparent; border: 0; }
.bci-footer-social svg { width: 20px; height: 20px; stroke-width: 1.4px; }
.bci-footer-bottom { display: none; }
.bci-empty { color: var(--bci-muted); padding: 18px 0; }
/* Small screens: original reference's one-line header and two-column rows. */
@media (max-width: 800px) {
  .bci-container { width: 100%; max-width: 690px; padding-inline: 28px; }
  .bci-topbar,.bci-header.is-scrolled .bci-topbar { min-height: 59px; grid-template-columns: 44px minmax(0,1fr) 44px; padding: 8px 12px; gap: 0; }
  .bci-icon-button { width: 44px; height: 44px; padding: 8px !important; }
  .bci-brand { max-width: 100%; justify-content: center; }
  .bci-brand .bci-logo,.bci-header.is-scrolled .bci-logo { height: 38px; max-width: 190px; object-position: center; }
  .bci-mobile-search { padding: 4px 12px 12px; border-top: 0; }
  .bci-mobile-search .bci-search-form { width: 100%; }
  .bci-mobile-menu { max-height: calc(100svh - 70px); overflow-y: auto; padding: 0 24px 16px; }
  .bci-mobile-links .bci-nav-link,.bci-mobile-links summary { min-height: 49px; padding: 16px 0; font: 400 13px Montserrat,Arial,sans-serif; letter-spacing: .14em; }
  .bci-mobile-links .bci-dropdown-content { padding: 4px 0 8px 14px; }
  .bci-mobile-links .bci-dropdown-content a { padding: 9px 0; }
  .bci-theme-toggle-mobile { margin: 16px 0 0; }
  .bci-hero { height: min(68vh,620px); min-height: 380px; }
  .bci-hero-inner { width: 100%; max-width: 690px; padding: 0 28px 48px; }
  .bci-hero h1 { font-size: clamp(36px,9.3vw,60px); }
  .bci-news-section { padding-block: 48px 24px; }
  .bci-section-heading h2 { font-size: 34px; }
  .bci-update-row { grid-template-columns: minmax(0,1fr) 104px; gap: 8px 18px; padding: 22px 0; align-items: start; }
  .bci-update-meta { grid-column: 1 / -1; }
  .bci-update-body { grid-column: 1; grid-row: 2; }
  .bci-update-thumbnail { grid-column: 2; grid-row: 2; width: 104px; aspect-ratio: 3/2; }
  .bci-update-body h3 { font-size: 24px; line-height: 1.15; margin: 0; }
  .bci-update-body p { display: none; }
  .bci-update-meta time { font-size: 13px; }
  .bci-newsletter-layout { padding-block: 72px; }
  .bci-newsletter-heading h2 { font-size: clamp(30px,4vw,46px); }
  .bci-footer-main { grid-template-columns: 1fr; justify-items: center; gap: 30px; padding-block: 44px 52px; }
  .bci-footer-social { justify-self: center; }
  .bci-footer-social { justify-content: center; }
  .bci-quotes-section { padding-block: 90px 80px; }
  .bci-quote-slide blockquote { font-size: clamp(24px,7.8vw,36px); }
}
@media (max-width: 480px) {
  .bci-newsletter-input-group { display: flex; flex-direction: column; align-items: stretch; }
  .bci-newsletter-input-group input[type=email] { width: 100%; flex: none; }
  .bci-newsletter-input-group button { align-self: center; padding-inline: 34px !important; }
  .bci-consent { margin-top: 18px; }
  .bci-quote-controls { margin-top: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .bci-update-thumbnail img,.bci-hero-story:hover h1 { transition: none; }
}


/* v0.2.7 – Hero rebuilt in the direction of the supplied DreamIT example:
   the photograph behaves like part of the whole hero background, with a strong
   editorial blue gradient on the left and the building emerging on the right. */
.bci-site .bci-hero--facade {
  isolation: isolate;
  height: min(60vh, 545px);
  min-height: 420px;
  background:
    radial-gradient(ellipse 34% 46% at 63% 49%, rgba(141,94,195,.24), transparent 76%),
    linear-gradient(92deg, #10295f 0%, #15336d 28%, #243267 54%, #2a295d 77%, #262456 100%);
}
.bci-site .bci-hero--facade .bci-hero-facade {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(57%, 930px);
  height: 100%;
  z-index: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  opacity: .98;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%,
    rgba(0,0,0,.42) 12%,
    #000 28%,
    #000 82%,
    rgba(0,0,0,.82) 94%,
    transparent 100%);
  mask-image: linear-gradient(to right,
    transparent 0%,
    rgba(0,0,0,.42) 12%,
    #000 28%,
    #000 82%,
    rgba(0,0,0,.82) 94%,
    transparent 100%);
}
.bci-site .bci-hero--facade .bci-hero-facade img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 50%;
  filter: saturate(.92) contrast(1.01) brightness(.98);
}
.bci-site .bci-hero--facade .bci-hero-facade::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(12,30,72,.78) 0%,
      rgba(20,38,87,.55) 10%,
      rgba(24,34,82,.28) 24%,
      rgba(31,34,86,.12) 48%,
      rgba(32,29,75,.18) 74%,
      rgba(18,21,58,.46) 100%),
    linear-gradient(0deg, rgba(22,24,67,.14), rgba(22,24,67,.14));
}
.bci-site .bci-hero--facade .bci-hero-shade {
  background:
    linear-gradient(90deg,
      rgba(10,28,68,.96) 0%,
      rgba(14,33,79,.94) 18%,
      rgba(19,39,92,.86) 34%,
      rgba(31,40,93,.64) 48%,
      rgba(39,36,91,.34) 62%,
      rgba(41,34,85,.14) 76%,
      rgba(35,28,76,.06) 100%),
    radial-gradient(circle at 66% 49%, rgba(154,98,216,.18), transparent 28%);
}
.bci-site .bci-hero--facade .bci-hero-inner {
  position: relative;
  z-index: 1;
  padding-bottom: 52px;
}
.bci-site .bci-hero--facade .bci-hero-copy {
  width: min(42%, 560px);
  max-width: 560px;
}
.bci-site .bci-hero--facade .bci-hero-copy h1 {
  max-width: 13ch;
  text-shadow: 0 2px 18px rgba(10,13,47,.16);
}
@media (max-width: 800px) {
  .bci-site .bci-hero--facade {
    height: auto;
    min-height: 500px;
    background:
      radial-gradient(ellipse 60% 40% at 68% 20%, rgba(141,94,195,.19), transparent 90%),
      linear-gradient(160deg, #10285d 0%, #20336a 56%, #242456 100%);
  }
  .bci-site .bci-hero--facade .bci-hero-facade {
    top: 0;
    right: 0;
    left: auto;
    width: 100%;
    height: 72%;
    opacity: .68;
    -webkit-mask-image: linear-gradient(to bottom,
      rgba(0,0,0,.96) 0%,
      #000 26%,
      rgba(0,0,0,.88) 52%,
      rgba(0,0,0,.35) 76%,
      transparent 100%);
    mask-image: linear-gradient(to bottom,
      rgba(0,0,0,.96) 0%,
      #000 26%,
      rgba(0,0,0,.88) 52%,
      rgba(0,0,0,.35) 76%,
      transparent 100%);
  }
  .bci-site .bci-hero--facade .bci-hero-facade::after {
    background:
      linear-gradient(to bottom, rgba(16,27,69,.16) 0%, rgba(22,31,76,.22) 38%, rgba(21,24,66,.78) 100%),
      linear-gradient(90deg, rgba(13,30,68,.46), rgba(13,30,68,.08));
  }
  .bci-site .bci-hero--facade .bci-hero-shade {
    background: linear-gradient(to bottom, rgba(10,28,68,.20) 0%, rgba(14,33,79,.22) 20%, rgba(18,34,84,.54) 53%, rgba(18,28,69,.94) 100%);
  }
  .bci-site .bci-hero--facade .bci-hero-inner { padding-bottom: 44px; }
  .bci-site .bci-hero--facade .bci-hero-copy { width: 100%; max-width: 620px; }
}


/* v0.2.8 – Institute contact footer. All selectors scoped below the original
   theme header; light/dark palettes inherit the plugin's existing CSS vars. */
.bci-site .bci-footer {
  background: var(--bci-bg);
  color: var(--bci-copy);
  border-top: 1px solid var(--bci-border);
}
.bci-site .bci-footer-intro {
  padding-block: clamp(48px, 6vw, 82px) 38px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 35px;
}
.bci-site .bci-footer-intro > div { max-width: 750px; }
.bci-site .bci-footer-eyebrow {
  color: var(--bci-accent-text);
  font: 500 11px/1.5 Montserrat,Arial,sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 16px;
}
.bci-site .bci-footer-intro h2 {
  color: var(--bci-ink);
  font: 500 clamp(33px, 3.8vw, 52px)/1.05 'Cormorant Garamond',Georgia,serif;
  letter-spacing: -.012em;
  margin: 0;
}
.bci-site .bci-footer-description {
  color: var(--bci-muted);
  font: 400 14px/1.8 Montserrat,Arial,sans-serif;
  margin: 17px 0 0;
  max-width: 66ch;
}
.bci-site .bci-footer-map-button {
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  display: inline-flex;
  background: var(--bci-ink);
  color: var(--bci-bg) !important;
  border: 1px solid var(--bci-ink);
  padding: 14px 21px;
  font: 500 11px/1.3 Montserrat,Arial,sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: background-color .2s ease, color .2s ease;
}
.bci-site .bci-footer-map-button svg { width: 18px; height: 18px; flex-shrink: 0; }
.bci-site .bci-footer-map-button:hover { background: transparent; color: var(--bci-ink) !important; }
.bci-site .bci-footer-main {
  padding-block: 39px 52px;
  display: grid;
  grid-template-columns: 1.12fr 1fr 1fr 1.2fr;
  gap: clamp(18px, 2.9vw, 48px);
  align-items: start;
  border-top: 1px solid var(--bci-border);
}
.bci-site .bci-footer-col { min-width: 0; text-align: left; font-style: normal; }
.bci-site .bci-footer-col h3 {
  margin: 0 0 21px;
  color: var(--bci-ink);
  font: 600 11px/1.3 Montserrat,Arial,sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bci-site .bci-footer-col p,
.bci-site .bci-footer-col address {
  margin: 0 0 13px;
  color: var(--bci-copy);
  font: normal 400 12px/1.85 Montserrat,Arial,sans-serif;
  overflow-wrap: anywhere;
}
.bci-site .bci-footer-col strong { display: block; color: var(--bci-ink); font-weight: 600; }
.bci-site .bci-footer-col span { display: block; }
.bci-site .bci-footer-col p.bci-footer-subtext { color: var(--bci-muted); font-size: 11px; }
.bci-site .bci-footer-col a { color: var(--bci-copy); text-decoration: none; overflow-wrap: anywhere; }
.bci-site .bci-footer-col a:hover, .bci-site .bci-footer-text-link:hover { color: var(--bci-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.bci-site .bci-footer-col a:focus-visible, .bci-site .bci-footer-text-link:focus-visible { outline-color: var(--bci-accent); }
.bci-site .bci-footer-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--bci-ink);
  font: 500 12px/1.5 Montserrat,Arial,sans-serif;
  text-decoration: underline;
  text-decoration-color: var(--bci-border);
  text-underline-offset: 5px;
}
.bci-site .bci-footer-bottom {
  padding-block: 22px 28px;
  border-top: 1px solid var(--bci-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  color: var(--bci-muted);
  font: 400 11px/1.6 Montserrat,Arial,sans-serif;
}
.bci-site .bci-footer-bottom p { margin: 0; }
/* Legal link is shared by the home-page and sitewide footer template. */
.bci-site .bci-footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
}
.bci-site .bci-footer-legal nav { display: block; }
.bci-site .bci-footer-legal .bci-footer-privacy-link {
  color: var(--bci-muted) !important;
  font: inherit;
  text-decoration: underline;
  text-decoration-color: var(--bci-border);
  text-underline-offset: 4px;
}
.bci-site .bci-footer-legal .bci-footer-privacy-link:hover {
  color: var(--bci-accent-text) !important;
  text-decoration-color: currentColor;
}
.bci-site .bci-footer-legal .bci-footer-privacy-link:focus-visible {
  outline: 2px solid var(--bci-accent);
  outline-offset: 4px;
}
.bci-site .bci-footer-actions { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.bci-site .bci-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.bci-site .bci-footer-social a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  background: transparent;
  color: var(--bci-ink) !important;
  border: 1px solid var(--bci-border);
  border-radius: 50%;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.bci-site .bci-footer-social a:hover {
  background: var(--bci-soft);
  border-color: var(--bci-accent);
  color: var(--bci-accent-text) !important;
}
.bci-site .bci-footer-social svg { width: 20px; height: 20px; }
@media (max-width: 1080px) {
  .bci-site .bci-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 45px; row-gap: 38px; }
}
@media (max-width: 800px) {
  .bci-site .bci-footer-intro { flex-direction: column; align-items: flex-start; padding-block: 48px 31px; gap: 25px; }
  .bci-site .bci-footer-main { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; padding-block: 32px 43px; justify-items: stretch; }
  .bci-site .bci-footer-col { text-align: left; }
  .bci-site .bci-footer-bottom { flex-direction: column; align-items: flex-start; gap: 20px; padding-block: 22px 34px; }
  .bci-site .bci-footer-actions { gap: 22px; }
}
@media (max-width: 520px) {
  .bci-site .bci-footer-main { grid-template-columns: 1fr; gap: 27px; }
  .bci-site .bci-footer-col h3 { margin-bottom: 12px; }
  .bci-site .bci-footer-intro h2 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .bci-site .bci-footer-map-button, .bci-site .bci-footer-social a { transition: none; }
}
/* Reset the old centred contact component rules now that contact is a column. */
.bci-site .bci-footer-contact {
  display: block;
  text-align: left;
  align-items: initial;
  justify-content: initial;
}
.bci-site .bci-footer-col a span[aria-hidden="true"] { display: inline; }

/* v0.3.1 – Separate Event cards, before News; native theme header is unchanged. */
.bci-site .bci-events-section { padding-block: 64px 16px; }
.bci-site .bci-events-heading-row {
  display: flex; justify-content: space-between; align-items: end; gap: 24px;
  margin-bottom: 28px;
}
.bci-site .bci-events-eyebrow {
  display: block; color: var(--bci-accent-text); font: 500 11px/1.6 Montserrat,Arial,sans-serif;
  text-transform: uppercase; letter-spacing: .18em; margin-bottom: 8px;
}
.bci-site .bci-events-heading-row h2 {
  margin: 0; color: var(--bci-ink);
  font: 400 clamp(32px,3.4vw,45px)/1.13 'Cormorant Garamond',Georgia,serif;
}
.bci-site .bci-events-all { color: var(--bci-accent-text); font: 500 12px/1.5 Montserrat,Arial,sans-serif; letter-spacing: .05em; white-space: nowrap; padding-bottom: 5px; }
.bci-site .bci-events-all:hover { color: var(--bci-ink); text-decoration: underline; text-underline-offset: 5px; }
.bci-site .bci-events-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 23px; }
.bci-site .bci-event-card {
  display: flex; flex-direction: column; overflow: hidden; min-width: 0;
  color: var(--bci-ink); background: var(--bci-surface);
  border: 1px solid var(--bci-border); border-radius: 10px;
  text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.bci-site .bci-event-card:hover { color: var(--bci-ink); border-color: var(--bci-accent); box-shadow: 0 12px 30px rgba(15,21,69,.09); transform: translateY(-3px); }
.bci-site .bci-event-card-image { width: 100%; aspect-ratio: 16/10; overflow: hidden; background: var(--bci-soft); position: relative; }
.bci-site .bci-event-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bci-site .bci-event-card:hover img { transform: scale(1.045); }
.bci-site .bci-event-card-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(125deg,#151d59 0%,#67469f 64%,#a99be0 100%); }
.bci-site .bci-event-card-content { padding: 19px 22px 22px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.bci-site .bci-event-card-label { margin: 0 0 10px; font: 500 11px/1.5 Montserrat,Arial,sans-serif; color: var(--bci-accent-text); letter-spacing: .09em; }
.bci-site .bci-event-card-content h3 { margin: 0 0 11px; font: 400 clamp(25px,2vw,31px)/1.12 'Cormorant Garamond',Georgia,serif; color: var(--bci-ink); }
.bci-site .bci-event-card-content time, .bci-site .bci-event-card-date { display:block; font: 400 12px/1.6 Montserrat,Arial,sans-serif; color: var(--bci-muted); }
.bci-site .bci-event-card-link { margin-top: auto; padding-top: 20px; font: 500 11px/1.5 Montserrat,Arial,sans-serif; color: var(--bci-accent-text); text-transform: uppercase; letter-spacing: .09em; }
.bci-site .bci-event-card-link span { margin-left: 5px; }
.bci-site .bci-news-section { padding-top: 48px; }
@media (max-width: 1050px) {
  .bci-site .bci-events-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
}
@media (max-width: 650px) {
  .bci-site .bci-events-section { padding-block: 42px 8px; }
  .bci-site .bci-events-heading-row { align-items: flex-start; gap: 12px; }
  .bci-site .bci-events-heading-row h2 { font-size: 32px; }
  .bci-site .bci-events-all { font-size: 11px; padding-top: 10px; }
  .bci-site .bci-events-grid { grid-template-columns: 1fr; gap: 17px; }
  .bci-site .bci-event-card-content { padding: 16px 19px 20px; }
  .bci-site .bci-news-section { padding-top: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .bci-site .bci-event-card, .bci-site .bci-event-card-image img { transition: none; }
  .bci-site .bci-event-card:hover, .bci-site .bci-event-card:hover img { transform: none; }
}

/* v0.3.2: event card text and category links remain separate, valid anchors. */
.bci-site .bci-event-card-content h3 a {color: inherit; text-decoration: none;}
.bci-site .bci-event-card-content h3 a:hover,
.bci-site .bci-event-card-label a:hover {text-decoration: underline; text-underline-offset: 3px;}
.bci-site .bci-event-card-label a {color: inherit; text-decoration: none;}
/* v0.3.4 — Events cards embedded in the existing WordPress Pages.
   The global .bci-site min-height:100vh belongs to the front page, NOT the
   inserted [bci_events] section: otherwise a single card creates a huge empty
   navy panel on /events/, /theatre/, etc. */
.bci-site.bci-section-cards {
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  padding: 0;
  margin: 55px 0 65px;
  box-shadow: none;
  border: 0;
}
.bci-site.bci-section-cards .bci-events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 380px));
  justify-content: start;
  align-items: start;
  gap: 24px;
  margin: 0;
}
@media (max-width: 650px) {
  .bci-site.bci-section-cards { margin: 35px 0 48px; }
  .bci-site.bci-section-cards .bci-events-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
}
