body {
  background:
    linear-gradient(90deg, oklch(18% 0.04 254 / 0.035) 1px, transparent 1px),
    linear-gradient(180deg, oklch(18% 0.04 254 / 0.028) 1px, transparent 1px),
    var(--cmba-paper);
  background-size: 56px 56px;
  color: var(--cmba-ink);
  font-family: var(--cmba-font-sans);
  font-feature-settings:
    "liga" 1,
    "kern" 1;
  text-rendering: geometricPrecision;
}

.entry-content {
  background: transparent;
  overflow-wrap: break-word;
}

.entry-content :where(h1, h2, h3) {
  max-width: 100%;
  font-family: var(--cmba-font-sans);
  font-weight: 800;
  letter-spacing: 0;
  hyphens: none;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.entry-content :where(h4, h5, h6) {
  max-width: 100%;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.entry-content :where(
  .qubely-block-text-title,
  .qubely-block-text,
  .qubely-block-text :not(i),
  .stk-block-heading__text,
  .uagb-heading-text,
  .cmba-guide-page,
  .cmba-guide-page :not(i),
  .cmba-congress-wrapper,
  .cmba-congress-wrapper :not(i),
  .cmba-support-wrapper,
  .cmba-support-wrapper :not(i),
  .whatsapp-header-btn,
  [style*="font-family: 'Montserrat'"],
  [style*='font-family: "Montserrat"'],
  [style*="font-family: Montserrat"],
  [style*="font-family: 'Inter'"],
  [style*='font-family: "Inter"'],
  [style*="font-family: Inter"],
  [style*="font-family: 'Lato'"],
  [style*='font-family: "Lato"'],
  [style*="font-family: Lato"],
  [style*="font-family: 'Open Sans'"],
  [style*='font-family: "Open Sans"'],
  [style*="font-family: 'Roboto'"],
  [style*='font-family: "Roboto"']
) {
  font-family: var(--cmba-font-sans) !important;
}

body .entry-content .stk-block-heading__text,
body .entry-content .qubely-block-text-title,
body .entry-content .qubely-block-text,
body .entry-content .qubely-block-text :not(i),
body .entry-content .uagb-heading-text,
body .entry-content .cmba-guide-page,
body .entry-content .cmba-guide-page :not(i),
body .entry-content .cmba-congress-wrapper,
body .entry-content .cmba-congress-wrapper :not(i) {
  font-family: var(--cmba-font-sans) !important;
}

.entry-content :where(.qubely-container, .qubely-row, .qubely-column-inner, .wp-block-stackable-columns, .stk-row, .stk-container, .stk-block-content, .stk-inner-blocks) {
  max-width: 100%;
  overflow-x: clip;
  overflow-wrap: anywhere;
  white-space: normal;
}

.entry-content :where([style*="max-width: 800px"]) {
  max-width: 100% !important;
  overflow-x: clip;
}

.entry-content :where(.qubely-row) {
  width: 100% !important;
  margin-inline: 0 !important;
}

.entry-content :where([style*="min-width: 250px"], [style*="min-width:250px"]) {
  min-width: min(250px, 100%) !important;
}

.entry-content :where(p, li) {
  line-height: 1.68;
  text-wrap: pretty;
}

.entry-content :where(a) {
  text-underline-offset: 0.18em;
}

.cmba-shell {
  width: calc(100% - 32px);
  max-width: var(--cmba-width);
  margin-inline: auto;
}

.cmba-shell--wide {
  max-width: var(--cmba-wide);
}

.cmba-reading {
  width: calc(100% - 32px);
  max-width: var(--cmba-reading);
  margin-inline: auto;
}

.cmba-swiss-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
}

.cmba-utility {
  font-family: var(--cmba-font-mono);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

#header,
.ct-header {
  position: relative;
  z-index: 5;
  border-bottom: 0;
  background: var(--cmba-white);
  box-shadow: 0 18px 58px oklch(18% 0.05 254 / 0.08);
  font-family: var(--cmba-font-sans);
}

#header [data-row="middle"] {
  border-bottom: 1px solid oklch(18% 0.04 254 / 0.08);
  background:
    linear-gradient(90deg, oklch(18% 0.04 254 / 0.045) 1px, transparent 1px),
    linear-gradient(180deg, oklch(99% 0.004 250 / 0.94), oklch(95% 0.018 88 / 0.92));
  background-size: 56px 100%, auto;
}

#header [data-row="middle"] .ct-container,
#header [data-column] {
  min-height: 94px !important;
}

#header [data-id="logo"] {
  align-items: center;
}

#header [data-id="logo"] .site-title-container {
  display: none !important;
}

#header [data-id="logo"] .site-logo-container {
  display: grid;
  height: 82px !important;
  align-items: center;
}

#header [data-id="logo"] img {
  width: auto;
  max-height: 76px;
}

#header [data-id="menu"] {
  height: auto !important;
  min-height: 0 !important;
  align-items: center;
}

#header [data-id="menu"] > .menu {
  height: auto !important;
  gap: 4px;
  align-items: center;
  padding: 5px;
  border: 1px solid oklch(18% 0.04 254 / 0.1);
  border-radius: 999px;
  background: oklch(99% 0.004 250 / 0.78);
  box-shadow:
    inset 0 1px 0 oklch(99% 0.004 250 / 0.72),
    0 14px 34px oklch(18% 0.05 254 / 0.08);
}

#header [data-id="menu"] .menu > li,
#header [data-id="menu"] .ct-menu-link {
  height: auto !important;
  min-height: 42px;
}

#header [data-id="menu"] .ct-menu-link {
  border-radius: 999px;
  color: var(--cmba-ink);
  font-size: 0.91rem;
  font-weight: 800;
  line-height: 1;
  transition:
    background-color 420ms var(--cmba-ease),
    color 420ms var(--cmba-ease),
    transform 420ms var(--cmba-ease);
}

#header [data-id="menu"] .ct-menu-link:hover,
#header [data-id="menu"] .ct-menu-link:focus-visible {
  background: oklch(18% 0.04 254 / 0.07);
  color: var(--cmba-blue-dark);
  transform: translateY(-1px);
}

#header [data-id="menu"] .current-menu-item > .ct-menu-link,
#header [data-id="menu"] .current_page_item > .ct-menu-link {
  background: var(--cmba-ink);
  color: var(--cmba-white);
}

#header [data-id="menu"] .sub-menu {
  margin-top: 14px;
  padding: 7px;
  border: 1px solid oklch(18% 0.04 254 / 0.12);
  border-radius: var(--cmba-radius);
  background: var(--cmba-white);
  box-shadow: 0 24px 64px oklch(18% 0.05 254 / 0.16);
}

#header [data-id="menu"] .sub-menu .ct-menu-link {
  justify-content: flex-start;
  min-height: 42px;
}

#header [data-id="search"],
#header [data-id="trigger"] {
  display: inline-flex;
  width: 42px !important;
  height: 42px !important;
  align-items: center;
  justify-content: center;
  border: 1px solid oklch(18% 0.04 254 / 0.13) !important;
  border-radius: 999px !important;
  background: var(--cmba-ink) !important;
  box-shadow:
    inset 0 1px 0 oklch(99% 0.004 250 / 0.14),
    0 14px 30px oklch(18% 0.05 254 / 0.16) !important;
  color: var(--cmba-white) !important;
  transition:
    background-color 420ms var(--cmba-ease),
    transform 420ms var(--cmba-ease);
}

#header [data-id="search"] .ct-icon,
#header [data-id="trigger"] .ct-icon,
#header [data-id="search"] svg,
#header [data-id="trigger"] svg {
  color: currentcolor;
  fill: currentcolor;
}

#header [data-id="search"]:hover,
#header [data-id="search"]:focus-visible,
#header [data-id="trigger"]:hover,
#header [data-id="trigger"]:focus-visible {
  background: var(--cmba-blue-dark) !important;
  transform: translateY(-1px);
}

.site-main {
  background: transparent;
}

.site-main :where(h1, h2) {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

footer,
.ct-footer {
  background: var(--cmba-ink);
  color: oklch(99% 0.004 250 / 0.82);
}

footer a,
.ct-footer a {
  color: var(--cmba-white);
}

.ct-footer {
  display: none;
}

#offcanvas.ct-panel {
  background:
    linear-gradient(90deg, oklch(99% 0.004 250 / 0.08) 1px, transparent 1px),
    oklch(7% 0.03 254 / 0.78) !important;
  background-size: 44px 44px, auto !important;
}

#offcanvas .ct-panel-inner {
  width: min(100%, 410px);
  padding: 24px;
  border-left: 1px solid oklch(99% 0.004 250 / 0.14);
  background:
    linear-gradient(150deg, oklch(49% 0.15 254 / 0.34) 0 18%, transparent 18% 56%, oklch(75% 0.14 82 / 0.16) 56% 68%, transparent 68%),
    var(--cmba-blue-black) !important;
  box-shadow: -28px 0 80px oklch(4% 0.03 254 / 0.44);
}

#offcanvas .ct-panel-actions {
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
}

#offcanvas .ct-panel-actions::before {
  display: inline-block;
  color: oklch(99% 0.004 250 / 0.62);
  font-family: var(--cmba-font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  content: "CMBA 2026";
}

#offcanvas .ct-toggle-close {
  width: 44px;
  height: 44px;
  border: 1px solid oklch(99% 0.004 250 / 0.18) !important;
  border-radius: 999px !important;
  background: oklch(99% 0.004 250 / 0.1) !important;
  color: var(--cmba-white) !important;
  box-shadow: inset 0 1px 0 oklch(99% 0.004 250 / 0.12);
}

#offcanvas .ct-toggle-close:hover,
#offcanvas .ct-toggle-close:focus-visible {
  background: var(--cmba-gold) !important;
  color: var(--cmba-ink) !important;
}

#offcanvas .ct-toggle-close svg {
  fill: currentcolor;
}

#offcanvas .ct-panel-content {
  padding-block: clamp(28px, 6vh, 58px) 24px;
}

#offcanvas [data-id="mobile-menu"] {
  width: 100%;
}

#offcanvas [data-id="mobile-menu"] .menu {
  display: grid;
  gap: 0;
}

#offcanvas [data-id="mobile-menu"] .menu-item {
  border-top: 1px solid oklch(99% 0.004 250 / 0.12);
}

#offcanvas [data-id="mobile-menu"] .menu-item:last-child {
  border-bottom: 1px solid oklch(99% 0.004 250 / 0.12);
}

#offcanvas [data-id="mobile-menu"] .ct-menu-link {
  min-height: 62px;
  justify-content: flex-start;
  padding: 10px 0 !important;
  color: var(--cmba-white) !important;
  font-size: clamp(1.35rem, 7.4vw, 2.05rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.98;
  text-align: left;
  text-decoration: none;
  white-space: normal;
}

#offcanvas [data-id="mobile-menu"] .ct-menu-link:hover,
#offcanvas [data-id="mobile-menu"] .ct-menu-link:focus-visible,
#offcanvas [data-id="mobile-menu"] .current-menu-item > .ct-menu-link,
#offcanvas [data-id="mobile-menu"] .current_page_item > .ct-menu-link {
  color: var(--cmba-gold) !important;
  transform: translateX(6px);
}

.cmba-site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(70px, 8vw, 118px) 0 28px;
  background:
    linear-gradient(90deg, oklch(99% 0.004 250 / 0.06) 1px, transparent 1px),
    linear-gradient(150deg, transparent 0 54%, oklch(75% 0.14 82 / 0.18) 54% 64%, transparent 64%),
    var(--cmba-ink);
  background-size: 64px 64px, auto, auto;
  color: var(--cmba-white);
}

.cmba-site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.72fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
}

.cmba-site-footer__brand {
  min-width: 0;
}

.cmba-site-footer__logo {
  display: grid;
  width: fit-content;
  margin-bottom: clamp(28px, 4vw, 50px);
  padding: 10px 12px;
  border: 1px solid oklch(99% 0.004 250 / 0.18);
  border-radius: var(--cmba-radius);
  background: oklch(99% 0.004 250 / 0.08);
}

.cmba-site-footer__logo:empty {
  display: none;
}

.cmba-site-footer__logo img {
  width: auto;
  max-height: 82px;
}

.cmba-site-footer h2 {
  max-width: min(100%, 18ch);
  margin: 0 0 20px;
  color: inherit;
  font-size: clamp(2.35rem, 4.2vw, 4.4rem);
  font-weight: 900;
  hyphens: none;
  letter-spacing: 0;
  line-height: 0.98;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.cmba-site-footer p {
  max-width: 54ch;
  margin: 0;
  color: oklch(99% 0.004 250 / 0.74);
  font-size: 1rem;
  line-height: 1.6;
}

.cmba-site-footer__nav {
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  border: 1px solid oklch(99% 0.004 250 / 0.16);
  border-radius: var(--cmba-radius);
  background: oklch(99% 0.004 250 / 0.06);
}

.cmba-site-footer__nav a {
  display: grid;
  min-height: 54px;
  align-items: center;
  padding: 12px 16px;
  border-top: 1px solid oklch(99% 0.004 250 / 0.12);
  color: var(--cmba-white);
  font-weight: 800;
  text-decoration: none;
}

.cmba-site-footer__nav a:first-child {
  border-top: 0;
}

.cmba-site-footer__nav a:hover,
.cmba-site-footer__nav a:focus-visible {
  background: var(--cmba-gold);
  color: var(--cmba-ink);
  transform: translateX(4px);
}

.cmba-site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  margin-top: clamp(34px, 5vw, 70px);
  padding-top: 22px;
  border-top: 1px solid oklch(99% 0.004 250 / 0.14);
}

.cmba-site-footer__bottom p {
  color: oklch(99% 0.004 250 / 0.62);
  font-family: var(--cmba-font-mono);
  font-size: 0.78rem;
  font-weight: 700;
}

:where(a, button, .wp-block-button__link):focus-visible {
  outline: 3px solid var(--cmba-gold);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .entry-content :where(a, button, .wp-block-button__link) {
    transition:
      background-color 220ms var(--cmba-ease),
      border-color 220ms var(--cmba-ease),
      color 220ms var(--cmba-ease),
      opacity 220ms var(--cmba-ease),
      transform 220ms var(--cmba-ease);
  }
}

@media (max-width: 760px) {
  #header [data-row="middle"] .ct-container,
  #header [data-column] {
    min-height: 76px !important;
  }

  #header [data-id="logo"] .site-logo-container {
    height: 64px !important;
  }

  #header [data-id="logo"] img {
    max-height: 60px;
  }

  .cmba-shell,
  .cmba-reading {
    width: calc(100% - 24px);
  }

  .cmba-swiss-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #offcanvas .ct-panel-inner {
    width: 100%;
    border-left: 0;
  }

  #offcanvas [data-id="mobile-menu"] .ct-menu-link {
    min-height: 58px;
  }

  .cmba-site-footer {
    padding-top: 62px;
  }

  .cmba-site-footer__grid {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cmba-site-footer h2 {
    max-width: 100%;
    font-size: clamp(2.4rem, 10vw, 3.55rem);
  }
}
