/*
 Theme Name:   MiMe - Child Theme for Divi 5
 Theme URI:    https://mime-online.be
 Description: This child theme works only with the Divi parent theme and is custom made by MiMe.
 Author: Milan Meuleman
 Author URI: https://mime-online.be
 Template: Divi
 Version: 5.0.2
*/

/* Comic Sans Café design system — MiMe */
:root {
  --cs-ink: #000000;
  --cs-paper: #fafafa;
  --cs-yellow: #e7e136;
  --cs-red: #d22027;
  --cs-blue: #445ab2;
  --cs-purple: #62238f;
  --cs-white: #ffffff;
    --cs-red-dark: #b91d2f;
  --cs-shadow: 8px 8px 0 var(--cs-ink);
  --cs-border: 4px solid var(--cs-ink);
}
html { scroll-behavior: smooth; }
body {
  background: var(--cs-paper);
  color: var(--cs-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
h1, h2, h3, h4, h5, h6, .et_pb_module_heading {
  color: var(--cs-ink);
  font-family: Impact, "Arial Black", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .025em;
  line-height: 1.02;
}
h1 { font-size: clamp(3rem, 7vw, 6.7rem) !important; }
h2 { font-size: clamp(2.3rem, 5vw, 4.6rem) !important; }
h3 { font-size: clamp(1.65rem, 3vw, 2.7rem) !important; }
p, li { max-width: 72ch; }
::selection { background: var(--cs-yellow); color: var(--cs-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 4px solid var(--cs-yellow) !important;
  outline-offset: 4px;
}
.et_pb_button, .et_pb_button_module_wrapper .et_pb_button, a.et_pb_button {
  background: var(--cs-yellow) !important;
  border: var(--cs-border) !important;
  border-radius: 0 !important;
  box-shadow: 6px 6px 0 var(--cs-ink);
  color: var(--cs-ink) !important;
  font-family: "Arial Black", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .035em;
  padding: 12px 22px !important;
  text-transform: uppercase;
  transform: rotate(-1deg);
  transition: transform .18s ease, box-shadow .18s ease !important;
}
.et_pb_button:hover {
  background: var(--cs-white) !important;
  box-shadow: 3px 3px 0 var(--cs-ink);
  transform: translate(3px, 3px) rotate(0);
}
.et_pb_button::after { display: none !important; }
.et_pb_contact_form input, .et_pb_contact_form textarea, .et_pb_contact_form select,
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  background: var(--cs-white) !important;
  border: 3px solid var(--cs-ink) !important;
  border-radius: 0 !important;
  color: var(--cs-ink) !important;
  font-size: 16px !important;
}
.et_pb_contact_form label { color: var(--cs-ink); font-weight: 800; }
#main-footer {
  background: var(--cs-ink) !important;
  border-top: 6px solid var(--cs-yellow);
}
#footer-widgets .footer-widget, #footer-widgets .footer-widget a, #footer-info, #footer-info a { color: var(--cs-white) !important; }
#footer-bottom { background: #0b0910 !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* Specificity fixes for Divi-generated presets */
body a.et_pb_button.et_pb_module,
body .et_pb_button.et_pb_button {
  color: var(--cs-ink) !important;
}


/* Strong Divi preset override */
html body #page-container #et-boc .et-l a.et_pb_button,
html body #page-container .et_pb_section a.et_pb_button {
  color: var(--cs-ink) !important;
}


/* MiMe Simple Events — Comic Sans presentation */
.wpse-template-archive {
    width: min(90%, 1240px);
    margin: 0 auto;
    padding: clamp(64px, 8vw, 110px) 0;
}
.wpse-event-archive-title {
    position: relative;
    margin: 0 0 42px;
    padding: clamp(42px, 6vw, 76px);
    overflow: hidden;
    background: linear-gradient(120deg, var(--cs-blue), var(--cs-purple) 58%, var(--cs-red));
    border: var(--cs-border);
    box-shadow: var(--cs-shadow);
    color: var(--cs-white) !important;
    font-size: clamp(3.5rem, 8vw, 7rem) !important;
    text-shadow: 7px 7px 0 var(--cs-ink);
    text-transform: uppercase;
}
.wpse-events-filters {
    margin-bottom: 42px;
    padding: 26px 30px;
    background: var(--cs-ink);
    border: 4px solid var(--cs-yellow);
    box-shadow: 8px 8px 0 var(--cs-red-dark);
    color: var(--cs-white);
}
.wpse-events-filter-panel {
    display: grid;
    grid-template-columns: minmax(210px,.7fr) 1.6fr auto;
    gap: 26px;
    align-items: end;
}
.wpse-events-filter-panel label,
.wpse-events-filter-panel legend,
.wpse-events-filter-help {
    color: var(--cs-white) !important;
}
.wpse-events-filter-group { margin: 0; }
.wpse-events-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 8px;
}
.wpse-events-filter-option { font-weight: 800; }
.wpse-events-filter-panel select {
    min-height: 48px;
    border-color: var(--cs-yellow) !important;
}
.wpse-events-filter-submit { margin: 0 !important; }
.wpse-events-filter-submit button {
    min-height: 48px;
    padding: 10px 18px;
    background: var(--cs-yellow);
    border: 3px solid var(--cs-yellow);
    color: var(--cs-ink);
    font-family: "Arial Black", Arial, sans-serif;
    font-weight: 900;
    text-transform: uppercase;
}
.wpse-events-filter-submit a {
    color: var(--cs-yellow) !important;
    font-weight: 800;
}
.wpse-events-results {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 32px !important;
}
.wpse-event-card {
    margin: 0 !important;
    background: var(--cs-white) !important;
    border: var(--cs-border) !important;
    border-top: 12px solid var(--cs-red) !important;
    border-radius: 0 !important;
    box-shadow: var(--cs-shadow) !important;
    transition: transform .18s ease, box-shadow .18s ease;
}
.wpse-event-card:nth-child(3n+2) { border-top-color: var(--cs-blue) !important; }
.wpse-event-card:nth-child(3n) { border-top-color: var(--cs-purple) !important; }
.wpse-event-card:hover {
    transform: translateY(-5px) rotate(-.25deg);
    box-shadow: 11px 11px 0 var(--cs-ink) !important;
}
.wpse-event-card-body { padding: 28px !important; }
.wpse-event-card-date {
    display: inline-block;
    margin-bottom: 15px;
    padding: 6px 10px;
    background: var(--cs-yellow);
    border: 2px solid var(--cs-ink);
    color: var(--cs-ink);
    font-weight: 900;
    transform: rotate(-1deg);
}
.wpse-event-card-title { font-size: clamp(1.8rem,3vw,2.8rem) !important; }
.wpse-event-card-title a { color: var(--cs-ink) !important; }
.wpse-event-card-location {
    color: var(--cs-red-dark);
    font-weight: 900;
    text-transform: uppercase;
}
.single-wpse_event #main-content,
.single-wpse_event .wpse-template-single {
    background: var(--cs-paper);
}
@media (max-width: 860px) {
    .wpse-events-filter-panel { grid-template-columns: 1fr; }
    .wpse-events-results { grid-template-columns: 1fr !important; }
    .wpse-event-archive-title { padding-inline: 28px; }
}


/* Real content pages: menu downloads and contact */
body.page-id-25 #main-content,
body.page-id-33 #main-content { background: var(--cs-paper); }
body.page-id-25 #main-content > .container,
body.page-id-33 #main-content > .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}
body.page-id-25 #main-content > .container::before,
body.page-id-33 #main-content > .container::before,
body.page-id-25 .et_post_meta_wrapper,
body.page-id-33 .et_post_meta_wrapper { display: none !important; }
body.page-id-25 #left-area,
body.page-id-33 #left-area {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
}
.cs-static-page { overflow: hidden; }
.cs-static-inner {
    width: min(88%,1240px);
    margin: 0 auto;
}
.cs-static-hero {
    position: relative;
    padding: clamp(100px,13vw,185px) 0 clamp(84px,10vw,140px);
    overflow: hidden;
    background: linear-gradient(120deg,var(--cs-blue),var(--cs-purple) 58%,var(--cs-red));
    border-bottom: 8px solid var(--cs-ink);
    color: var(--cs-white);
}
.cs-static-hero::after {
    content: "";
    position: absolute;
    right: -3%;
    top: 10%;
    width: min(38vw,500px);
    aspect-ratio: 1;
    background-image: radial-gradient(circle,var(--cs-yellow) 0 4px,transparent 5px);
    background-size: 24px 24px;
    -webkit-mask-image: radial-gradient(circle,#000 0 24%,rgba(0,0,0,.8) 46%,transparent 72%);
    mask-image: radial-gradient(circle,#000 0 24%,rgba(0,0,0,.8) 46%,transparent 72%);
    opacity: .28;
    transform: rotate(8deg);
}
.cs-static-hero .cs-static-inner { position: relative; z-index: 1; }
.cs-static-hero h1 {
    margin: 18px 0 24px;
    color: var(--cs-white) !important;
    text-shadow: 8px 8px 0 var(--cs-ink);
    text-transform: uppercase;
}
.cs-static-hero p {
    max-width: 720px;
    color: var(--cs-white);
    font-size: clamp(1.15rem,2vw,1.45rem);
    font-weight: 800;
}
.cs-kicker,
.cs-card-label {
    display: inline-block;
    padding: 7px 12px;
    background: var(--cs-yellow);
    border: 3px solid var(--cs-ink);
    color: var(--cs-ink);
    font-family: "Arial Black",Arial,sans-serif;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    transform: rotate(-1deg);
}
.cs-static-section {
    padding: clamp(70px,9vw,120px) 0;
    background-color: var(--cs-paper);
    background-image: radial-gradient(rgba(68,90,178,.2) 1.5px,transparent 1.7px);
    background-size: 18px 18px;
}
.cs-static-section h2 { margin: 22px 0 16px; }
.cs-lead { max-width: 800px; font-size: 1.2rem; }
.cs-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 32px;
    margin-top: 48px;
}
.cs-info-card {
    display: flex;
    flex-direction: column;
    min-height: 360px;
    padding: 28px;
    background: var(--cs-white);
    border: var(--cs-border);
    border-top: 12px solid var(--cs-red);
    box-shadow: var(--cs-shadow);
}
.cs-info-card:nth-child(2) { border-top-color: var(--cs-blue); }
.cs-info-card:nth-child(3) { border-top-color: var(--cs-purple); }
.cs-info-card h3 { margin: 22px 0 14px; }
.cs-info-card a:not(.cs-download-button) { color: var(--cs-red-dark); font-weight: 800; }
.cs-info-card small { display: block; margin-top: 18px; font-weight: 700; }
.cs-download-button,
.cs-disabled-button {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    padding: 12px 18px;
    background: var(--cs-yellow);
    border: 3px solid var(--cs-ink);
    box-shadow: 5px 5px 0 var(--cs-ink);
    color: var(--cs-ink) !important;
    font-family: "Arial Black",Arial,sans-serif;
    font-size: .88rem;
    font-weight: 900;
    text-transform: uppercase;
}
.cs-disabled-button { background: #e6e6e6; box-shadow: none; opacity: .72; }
.cs-hours { padding-top: 12px; border-top: 2px dotted var(--cs-ink); }
.cs-card-actions { display: flex; margin-top: auto; }
.cs-card-actions .cs-download-button { margin-top: 18px; }
.cs-static-band {
    padding: clamp(64px,8vw,100px) 0;
    background: var(--cs-red);
    border-block: 8px solid var(--cs-ink);
    color: var(--cs-white);
}
.cs-static-band h2,.cs-static-band p { color: var(--cs-white) !important; }
.cs-static-band h2 { margin: 20px 0; text-shadow: 5px 5px 0 var(--cs-ink); }
.cs-static-band .cs-download-button { margin-top: 18px; }
body.post-type-archive-wpse_event .wpse-event-card-title {
    margin: 0 0 16px !important;
    font-size: clamp(1.65rem,2.25vw,2.45rem) !important;
    line-height: 1.14 !important;
    letter-spacing: .01em !important;
    overflow-wrap: normal;
}
@media (max-width: 980px) {
    .cs-card-grid { grid-template-columns: 1fr; }
    .cs-info-card { min-height: 0; }
    .cs-static-hero::after { width: 65vw; opacity: .18; }
}


/* Final classic-page title cleanup */
body.page-id-25 .entry-title,
body.page-id-33 .entry-title { display: none !important; }
body.page-id-25 article.page,
body.page-id-33 article.page { margin: 0 !important; padding: 0 !important; }


/* Disable legacy placeholders on completed static pages */
body.page-id-25 #main-content::before,
body.page-id-25 #main-content::after,
body.page-id-33 #main-content::before,
body.page-id-33 #main-content::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   COMIC SANS — HOMEPAGE V2 + CUSTOM AGENDA
   ========================================================= */
body.page-id-13 #main-content .container,
body.page-id-23 #main-content .container,
body.page-id-13 #left-area,
body.page-id-23 #left-area {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
body.page-id-13 #main-content .container:before,
body.page-id-23 #main-content .container:before { display: none !important; }
body.page-id-13 .entry-title,
body.page-id-23 .entry-title { display: none !important; }
body.page-id-13 #main-content,
body.page-id-23 #main-content { background: var(--cs-paper); }
.cs-home-v2, .cs-agenda-page { overflow: hidden; color: var(--cs-ink); }
.cs-v2-wrap { width: min(1180px, calc(100% - 44px)); margin: 0 auto; position: relative; z-index: 2; }
.cs-v2-section { padding: clamp(76px, 9vw, 132px) 0; position: relative; }
.cs-kicker {
  display: inline-block;
  padding: 8px 14px 7px;
  margin-bottom: 22px;
  background: var(--cs-yellow);
  color: var(--cs-ink);
  border: 3px solid var(--cs-ink);
  box-shadow: 5px 5px 0 var(--cs-ink);
  font: 900 13px/1.1 Montserrat, Arial, sans-serif;
  letter-spacing: .08em;
  transform: rotate(-1deg);
}
.cs-home-v2 h1, .cs-home-v2 h2, .cs-home-v2 h3,
.cs-agenda-page h1, .cs-agenda-page h2, .cs-agenda-page h3 {
  padding: 0;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-weight: 900;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.cs-home-v2 h1, .cs-agenda-page h1 {
  font-size: clamp(4.2rem, 7.5vw, 7.6rem);
  line-height: .88;
}
.cs-home-v2 h2, .cs-agenda-page h2 {
  font-size: clamp(3.25rem, 6vw, 6rem);
  line-height: .9;
}
.cs-home-v2 h3, .cs-agenda-page h3 { font-size: clamp(1.85rem, 2.8vw, 2.8rem); line-height: 1; }
.cs-home-v2 p, .cs-agenda-page p { font-size: 17px; line-height: 1.65; }
.cs-v2-hero {
  min-height: 720px;
  padding: clamp(115px, 13vw, 185px) 0 110px;
  background: linear-gradient(112deg, var(--cs-blue) 0%, var(--cs-purple) 52%, var(--cs-red) 100%);
  color: var(--cs-white);
  position: relative;
  border-bottom: 8px solid var(--cs-ink);
}
.cs-v2-hero:before, .cs-agenda-hero:before {
  content: '';
  position: absolute;
  width: 410px;
  height: 410px;
  left: -85px;
  bottom: -70px;
  opacity: .28;
  background-image: radial-gradient(circle, var(--cs-yellow) 0 5px, transparent 6px);
  background-size: 29px 29px;
  transform: rotate(-8deg);
}
.cs-v2-hero:after {
  content: '';
  position: absolute;
  inset: auto -5% -44px -5%;
  height: 86px;
  background: var(--cs-paper);
  clip-path: polygon(0 45%, 38% 74%, 72% 38%, 100% 62%, 100% 100%, 0 100%);
}
.cs-v2-hero-grid { display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; gap: 60px; }
.cs-v2-hero-copy h1 { color: var(--cs-white); text-shadow: 8px 8px 0 var(--cs-ink); max-width: 880px; }
.cs-v2-hero-copy p { max-width: 690px; margin: 30px 0 34px; font-weight: 700; font-size: clamp(18px, 2vw, 22px); }
.cs-v2-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.cs-btn {
  display: inline-block;
  padding: 17px 23px 15px;
  border: 4px solid var(--cs-ink);
  font: 900 14px/1 Montserrat, Arial, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease;
}
.cs-btn:hover { transform: translate(-2px,-2px); }
.cs-btn-yellow { background: var(--cs-yellow); color: var(--cs-ink) !important; box-shadow: 7px 7px 0 var(--cs-ink); }
.cs-btn-yellow:hover { box-shadow: 10px 10px 0 var(--cs-ink); }
.cs-btn-ghost { color: var(--cs-white) !important; border-color: var(--cs-white); box-shadow: 7px 7px 0 rgba(0,0,0,.55); }
.cs-btn-ghost:hover { background: var(--cs-white); color: var(--cs-ink) !important; }
.cs-btn-dark { background: var(--cs-ink); color: var(--cs-white) !important; box-shadow: 7px 7px 0 var(--cs-purple); }
.cs-btn-ghost-dark { color: var(--cs-ink) !important; background: transparent; box-shadow: 7px 7px 0 var(--cs-purple); }
.cs-v2-hero-burst { min-height: 350px; display: grid; place-content: center; text-align: center; transform: rotate(7deg); }
.cs-v2-hero-burst:before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--cs-yellow);
  clip-path: polygon(50% 0,61% 25%,83% 9%,78% 35%,100% 40%,78% 53%,96% 75%,69% 72%,63% 100%,49% 77%,27% 96%,29% 69%,0 64%,23% 49%,5% 29%,35% 32%);
  filter: drop-shadow(12px 12px 0 var(--cs-ink));
}
.cs-v2-hero-burst strong, .cs-v2-hero-burst span { position: relative; z-index: 1; }
.cs-v2-hero-burst strong { font: 900 clamp(4rem,7vw,7rem)/.8 Impact, sans-serif; color: var(--cs-red); -webkit-text-stroke: 3px var(--cs-ink); text-shadow: 6px 6px 0 var(--cs-white); }
.cs-v2-hero-burst span { margin-top: 18px; font: 900 15px/1.2 Montserrat, Arial, sans-serif; color: var(--cs-ink); letter-spacing: .08em; }
.cs-v2-proof { background: var(--cs-ink); color: var(--cs-white); padding: 32px 0; border-bottom: 6px solid var(--cs-yellow); }
.cs-v2-proof-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.cs-v2-proof-grid div { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 4px 28px; border-right: 2px solid rgba(255,255,255,.3); }
.cs-v2-proof-grid div:last-child { border: 0; }
.cs-v2-proof-grid strong { color: var(--cs-yellow); font: 900 42px/1 Impact, sans-serif; }
.cs-v2-proof-grid span { font: 900 13px/1.25 Montserrat, Arial, sans-serif; letter-spacing: .06em; }
.cs-v2-dots { background-color: var(--cs-paper); background-image: radial-gradient(circle, rgba(68,90,178,.18) 0 2px, transparent 2.5px); background-size: 22px 22px; }
.cs-v2-dots:before { content:''; position:absolute; inset:0; background: linear-gradient(90deg,rgba(250,250,250,.15),rgba(250,250,250,.86) 50%,rgba(250,250,250,.15)); }
.cs-v2-lead { max-width: 740px; font-weight: 600; margin: 26px 0 48px; }
.cs-location-grid, .cs-experience-grid, .cs-event-mini-grid, .cs-agenda-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.cs-location-card, .cs-event-mini {
  position: relative;
  background: var(--cs-white);
  border: 4px solid var(--cs-ink);
  padding: 35px 30px 31px;
  box-shadow: 9px 9px 0 var(--cs-ink);
}
.cs-location-card:before, .cs-event-mini:before { content:''; position:absolute; height:11px; top:-4px; left:-4px; right:-4px; background:var(--accent,var(--cs-red)); border:4px solid var(--cs-ink); border-bottom:0; }
.cs-card-red { --accent: var(--cs-red); }
.cs-card-blue { --accent: var(--cs-blue); }
.cs-card-purple { --accent: var(--cs-purple); }
.cs-card-number { display:block; color:var(--accent); font:900 19px/1 Montserrat,sans-serif; margin-bottom:24px; }
.cs-location-card h3 { font-size: 3.4rem; }
.cs-location-card p { min-height: 140px; }
.cs-location-card address { font-style: normal; font-weight: 800; margin: 20px 0; border-top: 2px solid var(--cs-ink); padding-top: 16px; }
.cs-location-card a, .cs-experience-grid a, .cs-event-mini a, .cs-text-link { color:var(--cs-ink) !important; font:900 13px/1.3 Montserrat,sans-serif; letter-spacing:.04em; text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 5px; }
.cs-v2-experience { background: var(--cs-yellow); border-top: 7px solid var(--cs-ink); border-bottom: 7px solid var(--cs-ink); }
.cs-v2-split-head, .cs-v2-band-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(38px,7vw,100px); align-items:center; }
.cs-v2-split-head > p { font-weight:700; font-size:20px; }
.cs-experience-grid { margin-top: 55px; }
.cs-experience-grid article { background:var(--cs-white); border:4px solid var(--cs-ink); padding:32px; box-shadow:8px 8px 0 var(--cs-ink); }
.cs-experience-grid article > span { display:inline-block; background:var(--cs-ink); color:var(--cs-yellow); padding:7px 10px; font:900 12px/1 Montserrat,sans-serif; letter-spacing:.08em; margin-bottom:24px; }
.cs-experience-grid h3 { min-height: 82px; }
.cs-v2-events-teaser { background: var(--cs-white); }
.cs-v2-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:48px; }
.cs-event-mini h3 { font-size: clamp(1.75rem, 2.8vw, 2.25rem) !important; margin: 21px 0 15px; min-height: 90px; }
.cs-event-mini small { display:block; margin-top:18px; color:var(--accent); font:900 12px/1.3 Montserrat,sans-serif; letter-spacing:.08em; }
.cs-event-date { display:inline-block; background:var(--cs-yellow); border:3px solid var(--cs-ink); padding:8px 11px; font:900 13px/1 Montserrat,sans-serif; transform:rotate(-1deg); }
.cs-mock-note { margin:42px auto 0; max-width:870px; background:var(--cs-yellow); border:3px solid var(--cs-ink); padding:17px 22px; text-align:center; box-shadow:6px 6px 0 var(--cs-ink); font-size:14px !important; }
.cs-v2-menu-band { background: var(--cs-blue); color:var(--cs-white); border-top:7px solid var(--cs-ink); border-bottom:7px solid var(--cs-ink); }
.cs-v2-menu-band h2, .cs-v2-b2b h2 { color:var(--cs-white); text-shadow:6px 6px 0 var(--cs-ink); }
.cs-v2-b2b { background:var(--cs-red); color:var(--cs-white); }
.cs-v2-final { background:var(--cs-paper); text-align:center; background-image:radial-gradient(circle,rgba(98,35,143,.17) 0 2px,transparent 2.5px); background-size:24px 24px; }
.cs-v2-final h2 { margin-bottom:36px; }
.cs-v2-center { justify-content:center; }

/* Custom agenda */
.cs-agenda-hero {
  position:relative;
  padding:clamp(125px,14vw,190px) 0 115px;
  background:linear-gradient(112deg,var(--cs-purple),var(--cs-red));
  color:var(--cs-white);
  border-bottom:8px solid var(--cs-ink);
}
.cs-agenda-hero h1 { color:var(--cs-white); text-shadow:8px 8px 0 var(--cs-ink); max-width:900px; }
.cs-agenda-hero p { max-width:720px; margin-top:30px; font-size:21px; font-weight:700; }
.cs-agenda-intro { padding:55px 0; background:var(--cs-paper); }
.cs-mock-banner { display:grid; grid-template-columns:.42fr 1fr; align-items:center; gap:30px; background:var(--cs-yellow); border:4px solid var(--cs-ink); box-shadow:8px 8px 0 var(--cs-ink); padding:24px 28px; }
.cs-mock-banner strong { font:900 25px/1 Impact,sans-serif; }
.cs-mock-banner span { font-weight:700; }
.cs-agenda-featured { padding-top:55px; }
.cs-feature-event { display:grid; grid-template-columns:210px 1fr; background:var(--cs-white); border:5px solid var(--cs-ink); box-shadow:12px 12px 0 var(--cs-ink); border-top:14px solid var(--accent); }
.cs-feature-date { display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--cs-yellow); border-right:5px solid var(--cs-ink); padding:35px 20px; }
.cs-feature-date strong { font:900 7.5rem/.8 Impact,sans-serif; }
.cs-feature-date span { margin-top:18px; font:900 20px/1.2 Montserrat,sans-serif; text-align:center; }
.cs-feature-copy { padding:50px; }
.cs-feature-copy small { color:var(--cs-red); font:900 13px/1 Montserrat,sans-serif; letter-spacing:.08em; }
.cs-feature-copy h2 { margin:20px 0; font-size:clamp(3rem,5vw,5.5rem); }
.cs-feature-copy p { max-width:720px; margin-bottom:30px; }
.cs-agenda-grid-section { background-color:var(--cs-paper); background-image:radial-gradient(circle,rgba(68,90,178,.16) 0 2px,transparent 2.5px); background-size:22px 22px; }
.cs-agenda-formats { background:var(--cs-ink); color:var(--cs-white); }
.cs-agenda-formats h2 { color:var(--cs-white); }
.cs-format-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.cs-format-grid article { border:3px solid var(--cs-white); padding:26px; box-shadow:6px 6px 0 var(--cs-yellow); }
.cs-format-grid strong { color:var(--cs-yellow); font:900 18px/1 Montserrat,sans-serif; }
.cs-format-grid h3 { color:var(--cs-white); font-size:2rem; margin:18px 0 12px; }
.cs-format-grid p { font-size:15px; }
.cs-agenda-local { background:var(--cs-blue); color:var(--cs-white); border-top:7px solid var(--cs-yellow); }
.cs-agenda-local h2 { color:var(--cs-white); text-shadow:6px 6px 0 var(--cs-ink); }
.cs-agenda-location-links { display:flex; flex-direction:column; gap:14px; }
.cs-agenda-location-links a { display:block; background:var(--cs-white); color:var(--cs-ink) !important; border:3px solid var(--cs-ink); box-shadow:6px 6px 0 var(--cs-ink); padding:16px 20px; font:900 16px/1 Montserrat,sans-serif; }

@media (max-width: 980px) {
  .cs-v2-hero-grid, .cs-v2-split-head, .cs-v2-band-grid { grid-template-columns:1fr; }
  .cs-v2-hero-burst { min-height:300px; max-width:420px; margin:0 auto; width:100%; }
  .cs-location-grid, .cs-experience-grid, .cs-event-mini-grid, .cs-agenda-grid { grid-template-columns:1fr 1fr; }
  .cs-location-card:last-child, .cs-event-mini:last-child { grid-column:1/-1; }
  .cs-format-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .cs-v2-wrap { width:min(100% - 28px,1180px); }
  .cs-v2-section { padding:72px 0; }
  .cs-v2-hero { min-height:auto; padding:105px 0 92px; }
  .cs-v2-hero-copy h1, .cs-agenda-page h1 { font-size:3.75rem; }
  .cs-home-v2 h2, .cs-agenda-page h2 { font-size:3.25rem; }
  .cs-v2-hero-burst { min-height:240px; }
  .cs-v2-proof-grid, .cs-location-grid, .cs-experience-grid, .cs-event-mini-grid, .cs-agenda-grid, .cs-format-grid { grid-template-columns:1fr; }
  .cs-v2-proof-grid div { justify-content:flex-start; border-right:0; border-bottom:1px solid rgba(255,255,255,.3); padding:16px 8px; }
  .cs-v2-proof-grid div:last-child { border-bottom:0; }
  .cs-location-card:last-child, .cs-event-mini:last-child { grid-column:auto; }
  .cs-location-card p, .cs-event-mini h3, .cs-experience-grid h3 { min-height:0; }
  .cs-v2-title-row { align-items:flex-start; flex-direction:column; }
  .cs-feature-event { grid-template-columns:1fr; }
  .cs-feature-date { border-right:0; border-bottom:5px solid var(--cs-ink); flex-direction:row; gap:18px; }
  .cs-feature-date strong { font-size:6rem; }
  .cs-feature-copy { padding:32px 24px; }
  .cs-mock-banner { grid-template-columns:1fr; }
}

/* Remove legacy generated heading on the custom agenda page */
body.page-id-23 #main-content::before,
body.page-id-23 #main-content::after {
  content: none !important;
  display: none !important;
}

/* Clean branded footer — remove WordPress demo widgets and vendor credits */
#main-footer {
  background: var(--cs-ink) !important;
  border-top: 6px solid var(--cs-yellow);
}
#footer-widgets, #footer-info, #footer-bottom .et-social-icons { display: none !important; }
#footer-bottom { background: var(--cs-ink) !important; padding: 26px 0 !important; text-align: center; }
#footer-bottom::before {
  content: 'CAFÉ COMIC SANS · ALL ABOUT HEROES';
  color: var(--cs-yellow);
  font: 900 14px/1 Montserrat, Arial, sans-serif;
  letter-spacing: .08em;
}

/* Custom landing pages are full-width: no WordPress blog sidebar */
body.page-id-13 #sidebar,
body.page-id-23 #sidebar,
body.page-id-25 #sidebar,
body.page-id-33 #sidebar { display: none !important; }

/* Homepage hero sizing refinement */
.cs-v2-hero {
  min-height: 640px;
  padding: clamp(82px, 8vw, 112px) 0 clamp(74px, 7vw, 96px);
}
.cs-v2-hero-grid { grid-template-columns: 1.28fr .72fr; gap: 48px; }
.cs-v2-hero-copy h1 {
  font-size: clamp(3.8rem, 5vw, 5.7rem);
  line-height: .91;
  max-width: 780px;
}
.cs-v2-hero-copy p {
  max-width: 650px;
  margin: 25px 0 30px;
  font-size: clamp(17px, 1.45vw, 20px);
}
.cs-v2-hero-burst { min-height: 300px; max-width: 390px; margin-left: auto; width: 100%; }
@media (max-width: 980px) {
  .cs-v2-hero { min-height: auto; }
  .cs-v2-hero-copy h1 { max-width: 720px; }
  .cs-v2-hero-burst { margin: 10px auto 0; }
}
@media (max-width: 680px) {
  .cs-v2-hero { padding: 82px 0 76px; }
  .cs-v2-hero-copy h1 { font-size: 3.45rem; }
  .cs-v2-hero-burst { min-height: 220px; max-width: 310px; }
}

/* Homepage hero final proportion */
.cs-v2-hero {
  min-height: 650px;
  padding: 76px 0 72px;
}
.cs-v2-hero-grid { grid-template-columns: 1.5fr .5fr; gap: 34px; }
.cs-v2-hero-copy h1 {
  font-size: clamp(3.7rem, 4.3vw, 4.6rem);
  line-height: .92;
  max-width: 880px;
}
.cs-v2-hero-burst { min-height: 250px; max-width: 325px; }
@media (max-width: 980px) {
  .cs-v2-hero-grid { grid-template-columns: 1fr; }
  .cs-v2-hero { padding: 78px 0 72px; }
}
@media (max-width: 680px) {
  .cs-v2-hero-copy h1 { font-size: 3.2rem; }
}

/* Legacy HTML compatibility: hide only empty paragraphs surrounding a custom page root.
 * Real paragraph spacing remains untouched. Divi modules do not need this rule. */
:is(.entry-content, .et_builder_inner_content):has(> :is(.cs-home-v2, .cs-static-page, .cs-page)) > p:empty,
body.page-id-13 .entry-content > p:empty,
body.page-id-23 .entry-content > p:empty,
body.page-id-25 .entry-content > p:empty,
body.page-id-33 .entry-content > p:empty,
.cs-home-v2 p:empty,
.cs-static-page p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}


/* Exact Divi header-to-content compensation after taller header */



/* Real venue photography on homepage */
.cs-v2-gallery { background: var(--cs-paper); }
.cs-v2-gallery .cs-v2-split-head { align-items: end; }
.cs-v2-gallery .cs-v2-split-head > p { margin: 0 0 8px; }
.cs-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  margin-top: clamp(32px, 5vw, 58px);
}
.cs-photo-card {
  position: relative;
  display: block;
  min-height: clamp(280px, 32vw, 430px);
  overflow: hidden;
  border: var(--cs-border);
  box-shadow: var(--cs-shadow);
  background: var(--cs-ink);
  color: var(--cs-white);
  transform: translateZ(0);
}
.cs-photo-card img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.cs-photo-card::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.88));
}
.cs-photo-card > span {
  position: absolute;
  z-index: 2;
  left: clamp(18px, 3vw, 34px);
  right: 18px;
  bottom: clamp(18px, 3vw, 30px);
  display: grid;
  gap: 3px;
}
.cs-photo-card small {
  color: var(--cs-yellow);
  font: 900 13px/1.2 "Arial Black", Arial, sans-serif;
  letter-spacing: .1em;
}
.cs-photo-card strong {
  color: var(--cs-white);
  font: 900 clamp(1.45rem, 2.6vw, 2.55rem)/.98 Impact, "Arial Black", Arial, sans-serif;
  letter-spacing: .025em;
}
.cs-photo-card:hover img,
.cs-photo-card:focus-visible img { transform: scale(1.035); filter: saturate(1.08); }
@media (max-width: 760px) {
  .cs-photo-grid { grid-template-columns: 1fr; }
  .cs-photo-card { min-height: 320px; box-shadow: 6px 6px 0 var(--cs-ink); }
}



/* Comic Sans content system 2026-09-08 */
.cs-page,
.cs-page * { box-sizing: border-box; }
.cs-page { overflow: hidden; background: var(--cs-paper); color: var(--cs-ink); }
.cs-page p { padding-bottom: 0; }
.cs-wrap,
.cs-loc-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.cs-section { padding: clamp(76px, 9vw, 118px) 0; }
.cs-paper { background: var(--cs-paper); }
.cs-dark { background: var(--cs-ink); color: var(--cs-white); }
.cs-dark h2,
.cs-dark h3,
.cs-dark strong { color: var(--cs-white); }
.cs-kicker { display: inline-block; margin-bottom: 16px; font: 900 13px/1.1 Arial,sans-serif; letter-spacing: .19em; text-transform: uppercase; }
.cs-section h2,
.cs-final-cta h2,
.cs-loc-copy h1,
.cs-topic-hero h1,
.cs-coming-hero h1,
.cs-locations-hero h1,
.cs-contact-hero h1 { margin: 0; padding: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; letter-spacing: .012em; text-transform: uppercase; }
.cs-section h2 { font-size: clamp(2.55rem, 5.2vw, 4.65rem); line-height: .94; }
.cs-copy { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.62; }
.cs-copy p + p { margin-top: 18px; }
.cs-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.cs-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 22px; border: 3px solid var(--cs-ink); color: var(--cs-ink); font: 900 13px/1 Arial,sans-serif; letter-spacing: .075em; text-transform: uppercase; box-shadow: 5px 5px 0 var(--cs-ink); transition: transform .18s ease, box-shadow .18s ease; }
.cs-btn:hover { transform: translate(3px,3px); box-shadow: 2px 2px 0 var(--cs-ink); color: var(--cs-ink); }
.cs-btn-yellow { background: var(--cs-yellow); }
.cs-btn-black { background: var(--cs-ink); color: var(--cs-white); border-color: var(--cs-ink); box-shadow: 5px 5px 0 var(--cs-red); }
.cs-btn-black:hover { color: var(--cs-white); box-shadow: 2px 2px 0 var(--cs-red); }
.cs-btn-blue { background: var(--cs-blue); color: var(--cs-white); }
.cs-btn-blue:hover { color: var(--cs-white); }
.cs-btn-ghost { background: rgba(0,0,0,.3); border-color: var(--cs-white); color: var(--cs-white); box-shadow: 5px 5px 0 var(--cs-white); }
.cs-btn-ghost:hover { color: var(--cs-white); box-shadow: 2px 2px 0 var(--cs-white); }
.cs-btn-ghost-dark { background: transparent; border-color: var(--cs-ink); color: var(--cs-ink); box-shadow: 5px 5px 0 var(--cs-ink); }
.cs-text-link { display: inline-block; margin-top: 24px; color: var(--cs-yellow); font-weight: 900; letter-spacing: .06em; }
.cs-text-link:hover { color: var(--cs-white); }
.cs-small-note { margin-top: 20px; font-size: 14px; line-height: 1.65; opacity: .76; }

/* Subtle real photography in homepage hero */
.cs-v2-hero { position: relative; isolation: isolate; overflow: hidden; }
.cs-v2-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-cafe-sfeer.jpg') center 42%/cover no-repeat; opacity: .24; filter: saturate(.55) contrast(1.08); mix-blend-mode: multiply; }
.cs-v2-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(231,225,54,.97) 0%, rgba(231,225,54,.92) 48%, rgba(231,225,54,.52) 100%); }
.cs-v2-hero-grid { position: relative; z-index: 2; }

/* Location heroes */
.cs-loc-hero { position: relative; min-height: 760px; display: flex; align-items: center; overflow: hidden; color: var(--cs-white); background: var(--cs-ink) var(--cs-loc-photo) center/cover no-repeat; isolation: isolate; }
.cs-loc-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--cs-loc-photo) center/cover no-repeat; filter: saturate(.85) contrast(1.05); transform: scale(1.02); }
.cs-loc-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .46; background-image: radial-gradient(circle, rgba(255,255,255,.5) 0 2px, transparent 2.5px); background-size: 22px 22px; mask-image: linear-gradient(90deg, transparent 5%, #000 100%); }
.cs-loc-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.82) 45%, rgba(0,0,0,.25) 78%, rgba(0,0,0,.55) 100%); }
.cs-loc-shell { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 28px; padding: 82px 0 70px; }
.cs-loc-copy { max-width: 710px; }
.cs-loc-logo { display: block; width: min(290px, 50vw); max-height: 165px; object-fit: contain; object-position: left center; margin: 0 0 24px; filter: drop-shadow(0 8px 0 rgba(0,0,0,.35)); }
.cs-loc-copy h1 { max-width: 800px; color: var(--cs-white); font-size: clamp(3.6rem, 6.3vw, 6rem); line-height: .9; text-shadow: 6px 6px 0 var(--cs-ink); }
.cs-loc-copy p { max-width: 650px; margin: 26px 0 30px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; }
.cs-loc-visual { position: relative; align-self: end; min-height: 650px; }
.cs-loc-character { position: absolute; z-index: 2; right: -48px; bottom: -28px; width: min(590px, 47vw); max-width: none; filter: drop-shadow(20px 20px 0 rgba(0,0,0,.48)); animation: csHeroFloat 5.5s ease-in-out infinite; }
.cs-location-brussels .cs-loc-character { width: min(560px, 45vw); right: -15px; }
.cs-loc-burst { position: absolute; z-index: 3; top: 76px; right: -5px; display: grid; place-items: center; width: 125px; height: 125px; color: var(--cs-ink); background: var(--cs-yellow); clip-path: polygon(50% 0,61% 25%,82% 8%,79% 35%,100% 39%,78% 54%,94% 75%,68% 72%,65% 100%,48% 76%,29% 94%,31% 68%,3% 63%,27% 49%,8% 28%,36% 32%); font: 900 20px/1 Impact,sans-serif; transform: rotate(8deg); }
@keyframes csHeroFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-12px) rotate(1deg); } }

.cs-quickbar { display: grid; grid-template-columns: repeat(3,1fr); border-block: 4px solid var(--cs-ink); background: var(--cs-yellow); }
.cs-quickbar > div { padding: 22px clamp(18px,3vw,42px); border-right: 3px solid var(--cs-ink); }
.cs-quickbar > div:last-child { border-right: 0; }
.cs-quickbar small { display: block; margin-bottom: 5px; font: 900 11px Arial,sans-serif; letter-spacing: .18em; }
.cs-quickbar strong { display: block; font: 900 clamp(15px,1.4vw,19px)/1.15 Impact,Arial,sans-serif; letter-spacing: .035em; }

.cs-intro-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(40px,7vw,100px); align-items: start; }
.cs-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: clamp(48px,7vw,82px); }
.cs-feature-card { position: relative; min-height: 260px; padding: 34px 28px; background: var(--cs-white); border: 4px solid var(--cs-ink); box-shadow: 9px 9px 0 var(--cs-ink); }
.cs-feature-card::before { content: ""; position: absolute; left: -4px; top: -4px; width: 44%; height: 12px; background: var(--card-accent,var(--cs-red)); border: 4px solid var(--cs-ink); border-bottom: 0; }
.cs-accent-red { --card-accent: var(--cs-red); }
.cs-accent-blue { --card-accent: var(--cs-blue); }
.cs-accent-yellow { --card-accent: var(--cs-yellow); }
.cs-feature-card > span { font: 900 12px Arial,sans-serif; letter-spacing: .16em; color: var(--card-accent); }
.cs-feature-card h3 { margin: 24px 0 12px; padding: 0; color: var(--cs-ink); font: 900 27px/1 Impact,Arial,sans-serif; letter-spacing: .04em; }
.cs-feature-card p { font-size: 16px; line-height: 1.55; }

.cs-game-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(52px,7vw,92px); align-items: center; }
.cs-reverse > :first-child { order: 2; }
.cs-reverse > :last-child { order: 1; }
.cs-image-stack { position: relative; min-height: 590px; }
.cs-image-stack img { object-fit: cover; border: 5px solid var(--cs-white); box-shadow: 12px 12px 0 var(--cs-red); }
.cs-image-main { position: absolute; inset: 0 12% 10% 0; width: 88%; height: 90%; }
.cs-image-float { position: absolute; right: 0; bottom: 0; width: 47%; height: 45%; transform: rotate(4deg); box-shadow: 9px 9px 0 var(--cs-yellow)!important; }
.cs-checklist { margin: 28px 0 0; padding: 0; list-style: none; }
.cs-checklist li { position: relative; margin: 0 0 14px; padding: 0 0 0 34px; font-size: 17px; line-height: 1.5; }
.cs-checklist li::before { content: "★"; position: absolute; left: 0; top: 0; color: var(--cs-yellow); }

.cs-split-head { display: flex; justify-content: space-between; gap: 38px; align-items: end; }
.cs-split-head > p { max-width: 480px; margin: 0 0 8px; font-size: 18px; line-height: 1.55; }
.cs-pill-grid { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 52px; }
.cs-pill-grid span { padding: 14px 18px; background: var(--cs-yellow); border: 3px solid var(--cs-ink); box-shadow: 4px 4px 0 var(--cs-ink); font: 900 14px/1.1 Arial,sans-serif; }

.cs-hours-section { background: var(--cs-yellow); border-block: 4px solid var(--cs-ink); }
.cs-hours-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px,7vw,90px); align-items: center; }
.cs-hours { margin: 28px 0 22px; border-top: 4px solid var(--cs-ink); }
.cs-hours > div { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 3px solid var(--cs-ink); }
.cs-hours span { font-weight: 900; letter-spacing: .08em; }
.cs-hours strong { font: 900 22px/1 Impact,Arial,sans-serif; letter-spacing: .04em; }
.cs-practical-card { position: relative; padding: 42px 36px 30px; background: var(--cs-paper); border: 4px solid var(--cs-ink); box-shadow: 10px 10px 0 var(--cs-ink); transform: rotate(1deg); }
.cs-practical-card h3 { margin: 0 0 22px; font: 900 31px/1 Impact,Arial,sans-serif; }
.cs-practical-card p { margin-bottom: 15px; line-height: 1.5; }
.cs-sticker { position: absolute; right: 24px; top: -20px; padding: 10px 13px; background: var(--cs-red); color: var(--cs-white); border: 3px solid var(--cs-ink); font: 900 11px/1 Arial,sans-serif; transform: rotate(3deg); }

.cs-photo-ribbon { display: grid; grid-template-columns: 1.35fr .8fr 1fr; gap: 0; padding: 0; border-bottom: 4px solid var(--cs-ink); }
.cs-photo-ribbon img { width: 100%; height: clamp(290px,34vw,470px); object-fit: cover; border-right: 4px solid var(--cs-ink); }
.cs-photo-ribbon img:last-child { border-right: 0; }
.cs-final-cta { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: clamp(62px,8vw,90px) max(20px,calc((100% - 1180px)/2)); border-bottom: 4px solid var(--cs-ink); }
.cs-final-cta h2 { font-size: clamp(2.75rem,5vw,4.8rem); line-height: .9; }
.cs-final-red { background: var(--cs-red); color: var(--cs-white); }
.cs-final-red h2 { color: var(--cs-white); }
.cs-final-blue { background: var(--cs-blue); color: var(--cs-white); }
.cs-final-blue h2 { color: var(--cs-white); }
.cs-final-yellow { background: var(--cs-yellow); }

/* Topic pages */
.cs-topic-hero { position: relative; min-height: 680px; display: flex; align-items: center; color: var(--cs-white); background: var(--cs-topic-photo) center/cover no-repeat; isolation: isolate; }
.cs-topic-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.75) 50%,rgba(0,0,0,.2) 100%); }
.cs-topic-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .25; background: radial-gradient(circle, var(--cs-yellow) 0 2px, transparent 3px) 0 0/24px 24px; mask-image: linear-gradient(90deg,#000,transparent 75%); }
.cs-topic-hero .cs-wrap { padding: 82px 0 76px; }
.cs-topic-hero h1 { max-width: 780px; color: var(--cs-white); font-size: clamp(4.2rem,8vw,7.3rem); line-height: .83; text-shadow: 7px 7px 0 var(--cs-red); }
.cs-topic-hero p { max-width: 630px; margin: 27px 0 32px; font-size: 20px; line-height: 1.55; }
.cs-pinball-hero h1 { text-shadow: 7px 7px 0 var(--cs-blue); }
.cs-location-compare { background: var(--cs-red); color: var(--cs-white); }
.cs-location-compare h2 { color: var(--cs-white); }
.cs-duo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 42px; }
.cs-location-choice { display: flex; min-height: 255px; flex-direction: column; justify-content: space-between; padding: 34px; background: var(--cs-paper); color: var(--cs-ink); border: 4px solid var(--cs-ink); box-shadow: 9px 9px 0 var(--cs-yellow); }
.cs-location-choice:hover { color: var(--cs-ink); transform: translateY(-5px); }
.cs-location-choice small { font-weight: 900; letter-spacing: .18em; color: var(--cs-red); }
.cs-location-choice strong { max-width: 460px; font: 900 clamp(26px,3vw,40px)/1 Impact,Arial,sans-serif; }
.cs-location-choice span { font-weight: 900; }
.cs-photo-focus { background: var(--cs-paper); }
.cs-photo-focus .cs-game-layout > img { width: 100%; height: 480px; object-fit: cover; border: 5px solid var(--cs-ink); box-shadow: 12px 12px 0 var(--cs-red); }
.cs-price-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin: 48px 0 28px; }
.cs-price-grid article { padding: 30px 26px; background: var(--cs-white); border: 4px solid var(--cs-ink); box-shadow: 8px 8px 0 var(--cs-blue); }
.cs-price-grid small { display: block; min-height: 30px; font-weight: 900; letter-spacing: .1em; }
.cs-price-grid strong { display: block; margin: 14px 0 12px; color: var(--cs-ink); font: 900 clamp(42px,5vw,66px)/1 Impact,Arial,sans-serif; }
.cs-price-grid p { line-height: 1.5; }
.cs-price-dark article { color: var(--cs-ink); }
.cs-process-section { background: #efeee9; }
.cs-process-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 42px; }
.cs-process-grid > div { padding: 28px 24px; border-top: 5px solid var(--cs-red); }
.cs-process-grid b { color: var(--cs-red); font: 900 22px Impact,Arial,sans-serif; }
.cs-process-grid h3 { margin: 14px 0 8px; font: 900 23px/1 Impact,Arial,sans-serif; }

/* Locations overview and coming soon */
.cs-locations-hero { min-height: 620px; display: flex; align-items: center; color: var(--cs-white); background: linear-gradient(115deg,rgba(0,0,0,.94),rgba(0,0,0,.35)),url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-scifi-toog.jpg') center/cover; }
.cs-locations-hero .cs-wrap { padding: 82px 0; }
.cs-locations-hero h1 { color: var(--cs-white); font-size: clamp(4rem,7vw,6.8rem); line-height: .86; text-shadow: 7px 7px 0 var(--cs-red); }
.cs-locations-hero p { max-width: 650px; margin-top: 26px; font-size: 20px; line-height: 1.55; }
.cs-location-showcase { display: grid; gap: 30px; }
.cs-showcase-card { position: relative; display: grid; grid-template-columns: .65fr 1.35fr; align-items: center; gap: 34px; min-height: 330px; padding: 34px; overflow: hidden; border: 4px solid var(--cs-ink); color: var(--cs-white); box-shadow: 10px 10px 0 var(--cs-ink); }
.cs-showcase-card:hover { color: var(--cs-white); transform: translateX(5px); }
.cs-showcase-card::before { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(0,0,0,.63); }
.cs-showcase-card > * { position: relative; z-index: 1; }
.cs-showcase-gent { background: url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-scifi-toog.jpg') center/cover; }
.cs-showcase-brussels { background: url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-cafe-sfeer.jpg') center/cover; }
.cs-showcase-kortrijk { background: var(--cs-yellow); color: var(--cs-ink); }
.cs-showcase-kortrijk:hover { color: var(--cs-ink); }
.cs-showcase-kortrijk::before { display: none; }
.cs-showcase-logo { width: 100%; max-height: 210px; object-fit: contain; filter: drop-shadow(7px 7px 0 rgba(0,0,0,.45)); }
.cs-showcase-card small { font-weight: 900; letter-spacing: .18em; }
.cs-showcase-card h2 { margin: 14px 0; color: inherit; font-size: clamp(2.6rem,5vw,4.8rem); }
.cs-showcase-card p { max-width: 620px; font-size: 18px; line-height: 1.5; }
.cs-showcase-card span { display: inline-block; margin-top: 22px; font-weight: 900; }
.cs-coming-hero { position: relative; min-height: 720px; display: flex; align-items: center; background: var(--cs-yellow); border-bottom: 4px solid var(--cs-ink); overflow: hidden; }
.cs-coming-hero .cs-wrap { position: relative; z-index: 2; padding: 80px 0; }
.cs-coming-hero h1 { font-size: clamp(4rem,8vw,8rem); line-height: .82; }
.cs-coming-hero p { max-width: 650px; margin: 28px 0; font-size: 20px; line-height: 1.55; }
.cs-coming-number { position: absolute; right: 2vw; top: 50%; transform: translateY(-50%) rotate(-8deg); color: rgba(0,0,0,.08); font: 900 min(35vw,460px)/1 Impact,sans-serif; }
.cs-coming-tag,.cs-coming-mini { display: inline-block; padding: 10px 15px; margin: 0 0 28px; background: var(--cs-red); color: var(--cs-white); border: 3px solid var(--cs-ink); font-weight: 900; letter-spacing: .12em; transform: rotate(-2deg); }
.cs-comic-dots { position: absolute; inset: 0; opacity: .32; background: radial-gradient(circle,var(--cs-red) 0 4px,transparent 5px) 0 0/32px 32px; mask-image: linear-gradient(90deg,transparent 30%,#000); }

/* Contact */
.cs-contact-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: var(--cs-ink); overflow: hidden; }
.cs-contact-photo { min-height: 680px; background-size: cover; background-position: center; filter: saturate(.8); }
.cs-contact-photo-gent { background-image: linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-scifi-toog.jpg'); }
.cs-contact-photo-brussels { background-image: linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-cafe-sfeer.jpg'); }
.cs-contact-hero-copy { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 70px 20px; color: var(--cs-white); text-align: center; background: radial-gradient(circle at center,rgba(0,0,0,.22),rgba(0,0,0,.62)); }
.cs-contact-hero h1 { color: var(--cs-white); font-size: clamp(4rem,7vw,7rem); line-height: .86; text-shadow: 7px 7px 0 var(--cs-blue); }
.cs-contact-hero p { max-width: 720px; margin-top: 26px; font-size: 20px; line-height: 1.55; }
.cs-contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.cs-contact-card { position: relative; min-height: 410px; padding: 34px 28px; border: 4px solid var(--cs-ink); box-shadow: 9px 9px 0 var(--cs-ink); }
.cs-contact-gent { background: var(--cs-yellow); }
.cs-contact-brussels { background: var(--cs-blue); color: var(--cs-white); }
.cs-contact-coming { background: #efeee9; }
.cs-card-number { font: 900 17px Impact,sans-serif; }
.cs-contact-card h2 { margin: 32px 0 18px; color: inherit; font-size: clamp(3rem,5vw,4.6rem); }
.cs-contact-card p { font-size: 18px; line-height: 1.45; }
.cs-contact-links { display: flex; flex-direction: column; gap: 9px; margin: 24px 0; }
.cs-contact-links a { color: inherit; font-weight: 900; word-break: break-word; }
.cs-contact-card small { display: block; margin-top: 22px; line-height: 1.5; }
.cs-contact-help { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.cs-contact-help .cs-process-grid { margin: 0; }
.cs-contact-visual { background: var(--cs-yellow); }

/* Global visual template for every MiMe Event detail */
.single-wpse_event #main-content { position: relative; padding: 0 20px 100px; background: #efeee9; overflow: hidden; }
.single-wpse_event #main-content::before { content: "NEXT UP AT COMIC SANS"; display: flex; align-items: flex-end; justify-content: center; min-height: 400px; margin: 0 -20px; padding: 0 20px 115px; color: var(--cs-yellow); text-align: center; font: 900 clamp(14px,2vw,20px)/1.2 Arial,sans-serif; letter-spacing: .16em; background: linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.78)),url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-pinball.jpg') center/cover; }
.single-wpse_event #main-content main { width: min(980px,100%); margin: -80px auto 0; position: relative; z-index: 2; }
.single-wpse_event #main-content article { position: relative; padding: clamp(34px,6vw,72px); background: var(--cs-paper); border: 5px solid var(--cs-ink); box-shadow: 13px 13px 0 var(--cs-red); }
.single-wpse_event #main-content article::before { content: "EVENT MODE"; position: absolute; top: -21px; left: 30px; padding: 10px 15px; background: var(--cs-yellow); border: 3px solid var(--cs-ink); color: var(--cs-ink); font: 900 12px/1 Arial,sans-serif; letter-spacing: .14em; transform: rotate(-2deg); }
.single-wpse_event #main-content article h1 { margin: 0 0 30px; padding: 0; font: 900 clamp(3rem,6vw,5.6rem)/.92 Impact,Arial,sans-serif; text-transform: uppercase; }
.single-wpse_event #main-content article p { margin: 0 0 18px; font-size: 17px; line-height: 1.6; }
.single-wpse_event #main-content article p:first-of-type,
.single-wpse_event #main-content article p:nth-of-type(2) { display: block; margin: 0 -20px 18px; padding: 17px 20px; background: var(--cs-ink); color: var(--cs-white); font-weight: 900; }
.single-wpse_event #main-content article a { font-weight: 900; text-decoration: underline; text-decoration-thickness: 2px; }
.single-wpse_event #main-content article > p:last-of-type { padding-top: 24px; border-top: 3px solid var(--cs-ink); }
.single-wpse_event #main-content article > p:last-of-type a { display: inline-flex; padding: 10px 14px; background: var(--cs-yellow); border: 2px solid var(--cs-ink); color: var(--cs-ink); text-decoration: none; }

/* Full-width reset for project pages */
body.page-id-15 #main-content > .container,
body.page-id-17 #main-content > .container,
body.page-id-19 #main-content > .container,
body.page-id-21 #main-content > .container,
body.page-id-27 #main-content > .container,
body.page-id-29 #main-content > .container,
body.page-id-31 #main-content > .container,
body.page-id-33 #main-content > .container { width: 100%; max-width: none; padding-top: 0; }
body.page-id-15 #left-area,
body.page-id-17 #left-area,
body.page-id-19 #left-area,
body.page-id-21 #left-area,
body.page-id-27 #left-area,
body.page-id-29 #left-area,
body.page-id-31 #left-area,
body.page-id-33 #left-area { float: none; width: 100%; padding: 0; }
body.page-id-15 #main-content .container::before,
body.page-id-17 #main-content .container::before,
body.page-id-19 #main-content .container::before,
body.page-id-21 #main-content .container::before,
body.page-id-27 #main-content .container::before,
body.page-id-29 #main-content .container::before,
body.page-id-31 #main-content .container::before,
body.page-id-33 #main-content .container::before { display: none; }
body.page-id-15 .entry-content,
body.page-id-17 .entry-content,
body.page-id-19 .entry-content,
body.page-id-21 .entry-content,
body.page-id-27 .entry-content,
body.page-id-29 .entry-content,
body.page-id-31 .entry-content,
body.page-id-33 .entry-content { padding: 0; margin: 0; }

@media (max-width: 980px) {
  .cs-loc-shell { grid-template-columns: 1fr; padding-bottom: 0; }
  .cs-loc-hero { min-height: auto; }
  .cs-loc-visual { min-height: 520px; }
  .cs-loc-character,.cs-location-brussels .cs-loc-character { width: min(560px,78vw); left: 50%; right: auto; transform: translateX(-50%); animation: none; }
  .cs-loc-burst { right: 8%; }
  .cs-intro-grid,.cs-game-layout,.cs-hours-grid,.cs-contact-help { grid-template-columns: 1fr; }
  .cs-reverse > :first-child,.cs-reverse > :last-child { order: initial; }
  .cs-feature-grid,.cs-contact-grid,.cs-price-grid { grid-template-columns: 1fr 1fr; }
  .cs-image-stack { min-height: 520px; }
  .cs-final-cta { align-items: flex-start; flex-direction: column; }
  .cs-showcase-card { grid-template-columns: 1fr 1.4fr; }
}
@media (max-width: 680px) {
  .cs-wrap,.cs-loc-shell { width: min(100% - 28px,1180px); }
  .cs-section { padding: 68px 0; }
  .cs-loc-copy h1 { font-size: 3.35rem; }
  .cs-loc-logo { width: 220px; max-height: 120px; }
  .cs-loc-copy p,.cs-topic-hero p,.cs-contact-hero p { font-size: 17px; }
  .cs-loc-visual { min-height: 400px; }
  .cs-loc-character,.cs-location-brussels .cs-loc-character { width: min(450px,105vw); bottom: -22px; }
  .cs-loc-burst { width: 95px; height: 95px; top: 30px; right: 0; font-size: 16px; }
  .cs-quickbar { grid-template-columns: 1fr; }
  .cs-quickbar > div { border-right: 0; border-bottom: 3px solid var(--cs-ink); }
  .cs-quickbar > div:last-child { border-bottom: 0; }
  .cs-feature-grid,.cs-contact-grid,.cs-price-grid,.cs-process-grid,.cs-duo-grid { grid-template-columns: 1fr; }
  .cs-feature-card { min-height: 0; }
  .cs-image-stack { min-height: 430px; }
  .cs-image-main { inset: 0 7% 12% 0; width: 93%; height: 88%; }
  .cs-image-float { width: 52%; height: 42%; }
  .cs-split-head { align-items: flex-start; flex-direction: column; }
  .cs-photo-ribbon { grid-template-columns: 1fr; }
  .cs-photo-ribbon img { height: 310px; border-right: 0; border-bottom: 4px solid var(--cs-ink); }
  .cs-topic-hero,.cs-contact-hero { min-height: 620px; }
  .cs-topic-hero h1,.cs-locations-hero h1,.cs-contact-hero h1 { font-size: 3.75rem; }
  .cs-showcase-card { grid-template-columns: 1fr; padding: 24px; }
  .cs-showcase-logo { max-height: 170px; }
  .cs-contact-hero { grid-template-columns: 1fr; }
  .cs-contact-photo { min-height: 310px; }
  .cs-contact-photo-brussels { display: none; }
  .cs-contact-hero-copy { align-items: flex-start; text-align: left; }
  .cs-contact-help .cs-process-grid { margin-top: 20px; }
  .single-wpse_event #main-content { padding-inline: 12px; }
  .single-wpse_event #main-content::before { margin-inline: -12px; padding-bottom: 105px; }
  .single-wpse_event #main-content article { padding: 42px 22px 30px; box-shadow: 8px 8px 0 var(--cs-red); }
}
@media (prefers-reduced-motion: reduce) {
  .cs-loc-character { animation: none; }
  .cs-btn,.cs-photo-card { transition: none; }
}

/* Remove superseded placeholder heroes after real page builds */
body:is(.page-id-15,.page-id-17,.page-id-19,.page-id-21,.page-id-23,.page-id-25,.page-id-27,.page-id-29,.page-id-31,.page-id-33) #main-content::before,
body:is(.page-id-15,.page-id-17,.page-id-19,.page-id-21,.page-id-23,.page-id-25,.page-id-27,.page-id-29,.page-id-31,.page-id-33) #main-content::after { content: none !important; display: none !important; }


/* Real page heroes replace default Divi titles */
body:is(.page-id-15,.page-id-17,.page-id-19,.page-id-21,.page-id-23,.page-id-25,.page-id-27,.page-id-29,.page-id-31,.page-id-33) .entry-title.main_title { display: none !important; }


/* MiMe Simple Events — actual single-event template */
.single-wpse_event #primary.wpse-template {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 20px 100px;
  background: #efeee9;
  overflow: hidden;
}
.single-wpse_event #primary.wpse-template::before {
  content: "NEXT UP AT COMIC SANS";
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 420px;
  margin: 0 -20px;
  padding: 0 20px 112px;
  background: linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.82)),url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-pinball.jpg') center/cover;
  border-bottom: 8px solid #000;
  color: #e7e136;
  text-align: center;
  font: 900 clamp(14px,2vw,20px)/1.2 Arial,sans-serif;
  letter-spacing: .16em;
}
.single-wpse_event .wpse-single-event {
  position: relative;
  z-index: 2;
  width: min(980px,100%);
  margin: -80px auto 0;
  padding: clamp(36px,6vw,72px);
  background: #fafafa;
  border: 5px solid #000;
  box-shadow: 13px 13px 0 #e52b35;
}
.single-wpse_event .wpse-single-event::before {
  content: "EVENT MODE";
  position: absolute;
  top: -22px;
  left: 30px;
  padding: 10px 15px;
  background: #e7e136;
  border: 3px solid #000;
  color: #000;
  font: 900 12px/1 Arial,sans-serif;
  letter-spacing: .14em;
  transform: rotate(-2deg);
}
.single-wpse_event .wpse-single-event-header h1 {
  margin: 0 0 30px;
  padding: 0;
  color: #0e0c19;
  font: 900 clamp(3rem,6vw,5.6rem)/.92 Impact,"Arial Black",Arial,sans-serif;
  text-transform: uppercase;
}
.single-wpse_event .wpse-event-summary {
  display: grid;
  gap: 8px;
  margin: 0 -20px 30px;
  padding: 20px;
  background: #000;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
}
.single-wpse_event .wpse-event-summary * { color: #fff; }
.single-wpse_event .wpse-single-event-content {
  color: #3c3a47;
  font-size: 17px;
  line-height: 1.65;
}
.single-wpse_event .wpse-single-event-content p { margin: 0 0 18px; }
.single-wpse_event .wpse-event-action {
  margin: 30px 0 0;
  padding-top: 28px;
  border-top: 3px solid #000;
}
.single-wpse_event .wpse-event-action a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  background: #e7e136;
  border: 3px solid #000 !important;
  box-shadow: 5px 5px 0 #000;
  color: #000 !important;
  font-weight: 900;
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: uppercase;
}
.single-wpse_event .wpse-event-taxonomies {
  margin-top: 28px;
  color: #666;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.single-wpse_event .wpse-event-taxonomies a { color: #445ab2; text-decoration: underline; }
@media (max-width: 600px) {
  .single-wpse_event #primary.wpse-template { padding: 0 16px 72px; }
  .single-wpse_event #primary.wpse-template::before { min-height: 340px; margin: 0 -16px; padding: 0 20px 94px; }
  .single-wpse_event .wpse-single-event { margin-top: -64px; padding: 38px 22px 30px; border-width: 4px; box-shadow: 8px 8px 0 #e52b35; }
  .single-wpse_event .wpse-single-event::before { left: 16px; }
  .single-wpse_event .wpse-event-summary { margin-inline: -10px; padding: 16px; font-size: 15px; }
}


/* Hero fit polish 2026-09-08 */
.cs-v2-hero-copy { padding: 56px 0 64px; }
.cs-v2-hero-copy h1 { font-size: clamp(4.2rem,5.1vw,5.4rem) !important; }
.cs-loc-copy > p:empty,
.cs-loc-copy > br { display: none !important; }
.cs-loc-copy h1 { font-size: clamp(3.2rem,4.3vw,4.25rem) !important; }
.cs-loc-visual::after { -webkit-text-stroke: 3px rgba(255,255,255,.38); }
@media (max-width: 980px) {
  .cs-v2-hero-copy { padding: 66px 0 4px; }
  .cs-v2-hero-copy h1 { font-size: clamp(3.8rem,9vw,5.2rem) !important; }
  .cs-loc-copy h1 { font-size: clamp(3.4rem,8.5vw,4.7rem) !important; }
}
@media (max-width: 600px) {
  .cs-v2-hero-copy h1 { font-size: 3.35rem !important; }
  .cs-loc-copy h1 { font-size: 3.25rem !important; }
  .cs-loc-visual::after { -webkit-text-stroke-width: 2px; }
}

.cs-v2-hero {
  min-height: 720px;
  padding: 0;
  background: linear-gradient(118deg,#445ab2 0%,#61238f 48%,#d22027 100%);
  isolation: isolate;
}
.cs-v2-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  width: 58%;
  height: auto;
  opacity: .74;
  background-image:
    linear-gradient(90deg,#61238f 0%,rgba(21,17,28,.12) 38%,rgba(21,17,28,.3) 100%),
    linear-gradient(0deg,rgba(0,0,0,.67),transparent 64%),
    url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-scifi-toog.jpg');
  background-position: center;
  background-size: cover;
  clip-path: polygon(20% 0,100% 0,100% 100%,0 100%);
  transform: none;
}
.cs-v2-hero::after {
  z-index: 6;
  inset: auto -3% -46px;
  height: 92px;
}
.cs-v2-hero-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0,1.03fr) minmax(480px,.97fr);
  gap: 20px;
  min-height: 720px;
  align-items: center;
}
.cs-v2-hero-copy {
  position: relative;
  z-index: 5;
  max-width: 735px;
  padding: 56px 0 64px;
}
.cs-v2-hero-copy .cs-kicker {
  padding: 10px 14px;
  margin-bottom: 22px;
  background: #e7e136;
  border: 3px solid #000;
  box-shadow: 5px 5px 0 #000;
  color: #000;
  transform: rotate(-1deg);
}
.cs-v2-hero-copy h1 {
  max-width: 760px;
  font-size: clamp(4.2rem,5.1vw,5.4rem) !important;
  line-height: .86;
  text-shadow: 9px 9px 0 #000;
}
.cs-v2-hero-copy p {
  max-width: 620px;
  margin: 28px 0 30px;
  padding: 17px 20px;
  background: rgba(0,0,0,.68);
  border-left: 6px solid #e7e136;
  color: #fff;
  font-size: clamp(17px,1.25vw,20px);
  line-height: 1.55;
}
.cs-v2-hero-burst {
  position: relative;
  align-self: stretch;
  display: block;
  width: 100%;
  max-width: none;
  min-height: 720px;
  margin: 0;
  transform: none;
  isolation: isolate;
}
.cs-v2-hero-burst::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 20px -12% -18px -12%;
  clip-path: none;
  background-color: transparent;
  background-image:
    url('/wp-content/uploads/2026/09/comic-sans-gent-held.png'),
    url('/wp-content/uploads/2026/09/comic-sans-brussel-held.png');
  background-position: left 102%, right 103%;
  background-size: 64% auto,62% auto;
  background-repeat: no-repeat;
  filter: drop-shadow(12px 15px 0 rgba(0,0,0,.82));
  animation: cs-home-team-float 5.5s ease-in-out infinite;
}
.cs-v2-hero-burst::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 14% 3% 12%;
  display: block;
  background: #e7e136;
  clip-path: polygon(50% 0,59% 24%,79% 8%,76% 31%,100% 35%,79% 50%,98% 68%,73% 69%,67% 100%,51% 78%,29% 96%,31% 70%,4% 74%,24% 51%,0 39%,26% 34%,18% 11%,42% 26%);
  filter: drop-shadow(14px 14px 0 #000);
  transform: rotate(6deg);
}
.cs-v2-hero-burst strong,
.cs-v2-hero-burst span {
  position: absolute;
  z-index: 4;
  left: 50%;
  width: max-content;
  margin: 0;
  transform: translateX(-50%) rotate(-5deg);
}
.cs-v2-hero-burst strong {
  top: 31%;
  font-size: clamp(4.6rem,6vw,7rem);
}
.cs-v2-hero-burst span {
  top: 48%;
  max-width: 180px;
  color: #000;
  text-align: center;
  font-size: 13px;
}
@keyframes cs-home-team-float {
  0%,100% { transform: translateY(0) rotate(-.4deg); }
  50% { transform: translateY(-12px) rotate(.6deg); }
}

.cs-loc-hero {
  height: 760px;
  min-height: 760px;
  background-position: center;
  border-bottom: 8px solid #000;
}
.cs-loc-hero-shade {
  background:
    radial-gradient(circle at 82% 18%,rgba(231,225,54,.34) 0 2px,transparent 3px) 0 0/25px 25px,
    linear-gradient(90deg,rgba(10,8,18,.97) 0%,rgba(10,8,18,.9) 39%,rgba(10,8,18,.25) 70%,rgba(10,8,18,.45) 100%);
}
.cs-loc-shell {
  height: 760px;
  min-height: 760px;
  grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr);
  gap: 18px;
  align-items: stretch;
}
.cs-loc-copy {
  position: relative;
  z-index: 5;
  align-self: center;
  padding: 40px 0 48px;
}
.cs-loc-copy > p:empty,
.cs-loc-copy > br { display: none !important; }
.cs-loc-logo {
  width: 205px;
  height: auto;
  max-height: 118px;
  margin-bottom: 18px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(6px 7px 0 rgba(0,0,0,.7));
}
.cs-loc-copy .cs-kicker {
  margin-bottom: 15px;
  padding: 8px 12px;
  background: #e7e136;
  border: 3px solid #000;
  color: #000;
  transform: rotate(-1deg);
}
.cs-loc-copy h1 {
  max-width: 650px;
  font-size: clamp(3.2rem,4.3vw,4.25rem) !important;
  line-height: .87;
  text-shadow: 7px 7px 0 #000;
}
.cs-loc-copy p {
  max-width: 565px;
  margin: 22px 0 26px;
  padding: 15px 18px;
  background: rgba(0,0,0,.68);
  border-left: 5px solid #e7e136;
  font-size: 16px;
  line-height: 1.52;
}
.cs-loc-visual {
  position: relative;
  align-self: stretch;
  height: 760px;
  min-height: 760px;
  isolation: isolate;
}
.cs-loc-visual::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 74px;
  left: 7%;
  width: 300px;
  height: 190px;
  background-position: center;
  background-size: cover;
  border: 6px solid #000;
  box-shadow: 11px 11px 0 #e7e136;
  transform: rotate(-6deg);
}
.cs-location-gent .cs-loc-visual::before {
  background-image: url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-geek-lounge.jpg');
}
.cs-location-brussels .cs-loc-visual::before {
  background-image: url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-bordspellen.jpg');
}
.cs-loc-visual::after {
  position: absolute;
  z-index: 0;
  right: -2%;
  bottom: 20px;
  color: transparent;
  font: 900 clamp(7rem,12vw,12rem)/.8 Impact,"Arial Black",sans-serif;
  letter-spacing: -.03em;
  -webkit-text-stroke: 3px rgba(255,255,255,.38);
  transform: rotate(-4deg);
}
.cs-location-gent .cs-loc-visual::after { content: "GENT"; }
.cs-location-brussels .cs-loc-visual::after {
  content: "BRUSSEL";
  right: -12%;
  font-size: clamp(6.5rem,10vw,10.5rem);
}
.cs-loc-character,
.cs-location-brussels .cs-loc-character {
  z-index: 3;
  left: auto;
  right: -13%;
  bottom: -24px;
  width: min(720px,58vw);
  max-width: none;
  filter: drop-shadow(14px 16px 0 rgba(0,0,0,.82));
  animation: cs-location-hero-float 5s ease-in-out infinite;
}
.cs-location-brussels .cs-loc-character {
  right: -7%;
  width: min(655px,53vw);
}
.cs-loc-burst {
  z-index: 5;
  top: 104px;
  right: 1%;
  width: 155px;
  height: 155px;
  font-size: 19px;
  filter: drop-shadow(8px 9px 0 #000);
}
@keyframes cs-location-hero-float {
  0%,100% { transform: translateY(0) rotate(-.5deg); }
  50% { transform: translateY(-11px) rotate(.7deg); }
}

@media (max-width:980px) {
  .cs-v2-hero { min-height: 0; }
  .cs-v2-hero::before { width: 100%; opacity: .46; clip-path: none; }
  .cs-v2-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .cs-v2-hero-copy { padding: 66px 0 4px; }
  .cs-v2-hero-copy h1 { font-size: clamp(3.8rem,9vw,5.2rem) !important; }
  .cs-v2-hero-burst { min-height: 500px; max-width: 680px; margin: 0 auto; }
  .cs-v2-hero-burst::before {
    inset: -20px -4% -10px;
    background-size: 60% auto,58% auto;
  }
  .cs-v2-hero-burst::after { inset: 6% 9% 10%; }
  .cs-v2-hero-burst strong { top: 25%; }
  .cs-v2-hero-burst span { top: 43%; }

  .cs-loc-hero { height: auto; min-height: 0; }
  .cs-loc-shell { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .cs-loc-copy { padding: 58px 0 4px; }
  .cs-loc-copy h1 { font-size: clamp(3.4rem,8.5vw,4.7rem) !important; }
  .cs-loc-visual { height: 540px; min-height: 540px; }
  .cs-loc-character,
  .cs-location-brussels .cs-loc-character {
    left: 50%;
    right: auto;
    bottom: -16px;
    width: min(720px,94vw);
    transform: translateX(-50%);
    animation: none;
  }
  .cs-location-brussels .cs-loc-character { width: min(635px,86vw); }
  .cs-loc-visual::before { top: 58px; left: 5%; width: 270px; height: 170px; }
  .cs-loc-visual::after { right: 0; bottom: 14px; font-size: clamp(7rem,20vw,10rem); }
  .cs-location-brussels .cs-loc-visual::after { right: -3%; font-size: clamp(6.2rem,17vw,9rem); }
  .cs-loc-burst { top: 55px; right: 3%; }
}
@media (max-width:600px) {
  .cs-v2-hero-copy h1 { font-size: 3.35rem !important; }
  .cs-v2-hero-copy p { padding: 14px 15px; font-size: 16px; }
  .cs-v2-actions .cs-btn { width: 100%; }
  .cs-v2-hero-burst { min-height: 390px; }
  .cs-v2-hero-burst::before {
    inset: 0 -13% -8px;
    background-size: 63% auto,61% auto;
  }
  .cs-v2-hero-burst::after { inset: 9% 3% 10%; }
  .cs-v2-hero-burst strong { top: 23%; font-size: 4rem; }
  .cs-v2-hero-burst span { top: 42%; font-size: 11px; }

  .cs-loc-copy { padding: 42px 0 0; }
  .cs-loc-logo { width: 145px; max-height: 88px; margin-bottom: 12px; }
  .cs-loc-copy .cs-kicker { margin-bottom: 12px; }
  .cs-loc-copy h1 { font-size: 2.9rem !important; }
  .cs-loc-copy p {
    margin: 17px 0 20px;
    padding: 12px 15px;
    font-size: 14.5px;
    line-height: 1.45;
  }
  .cs-loc-copy .cs-actions { gap: 9px; }
  .cs-loc-copy .cs-btn { min-height: 47px; width: 100%; }
  .cs-loc-visual { height: 370px; min-height: 370px; }
  .cs-loc-visual::before {
    top: 35px;
    left: -2%;
    width: 205px;
    height: 132px;
    border-width: 4px;
    box-shadow: 7px 7px 0 #e7e136;
  }
  .cs-loc-character,
  .cs-location-brussels .cs-loc-character {
    width: 112vw;
    max-width: none;
    bottom: -8px;
  }
  .cs-location-brussels .cs-loc-character { width: 100vw; }
  .cs-loc-burst {
    top: 35px;
    right: -1%;
    width: 118px;
    height: 118px;
    font-size: 15px;
  }
  .cs-loc-visual::after {
    bottom: 18px;
    font-size: 6.4rem;
    -webkit-text-stroke-width: 2px;
  }
}
body:is(.page-id-13,.page-id-23) #sidebar {
  display: none !important;
}
body:is(.page-id-13,.page-id-23) #left-area {
  width: 100% !important;
  float: none !important;
  padding-right: 0 !important;
}
body:is(.page-id-13,.page-id-23) #main-content .container::before {
  display: none !important;
}


/* Responsive rhythm and clarity 2026-09-08 v1 */
.cs-section,
.cs-v2-section,
.cs-static-section {
  padding-top: clamp(64px,7vw,92px) !important;
  padding-bottom: clamp(64px,7vw,92px) !important;
}

.cs-page section > br,
.cs-page .cs-wrap > br,
.cs-page .cs-v2-wrap > br,
.cs-page [class*="-grid"] > br,
.cs-page [class*="-grid"] > p:empty,
.cs-photo-ribbon > br,
.cs-photo-ribbon > p:empty {
  display: none !important;
}

.cs-photo-ribbon {
  grid-template-columns: 1.35fr .8fr 1fr !important;
}

.cs-photo-ribbon img {
  height: clamp(240px,26vw,360px) !important;
}

.cs-showcase-card .cs-showcase-link {
  position: static;
  z-index: 3;
  display: inline-block;
  margin-top: 22px;
  color: inherit !important;
  font-weight: 900;
  text-decoration: none;
}

.cs-showcase-card .cs-showcase-link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.cs-showcase-card:focus-within {
  outline: 4px solid var(--cs-yellow);
  outline-offset: 4px;
}

@media (max-width: 980px) {
  .cs-section,
  .cs-v2-section,
  .cs-static-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .cs-split-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }

  .cs-split-head > p {
    width: 100%;
    max-width: 720px !important;
    margin: 0 !important;
  }

  .cs-loc-copy {
    padding-top: 42px !important;
  }

  .cs-loc-visual {
    height: 460px !important;
    min-height: 460px !important;
  }

  .cs-topic-hero,
  .cs-contact-hero {
    min-height: 600px !important;
  }

  .single-wpse_event #primary.wpse-template {
    padding-bottom: 76px;
  }

  .single-wpse_event #primary.wpse-template::before {
    min-height: 350px;
    padding-bottom: 82px;
  }

  .single-wpse_event .wpse-single-event {
    margin-top: -64px;
    padding: clamp(36px,5vw,50px);
  }
}

@media (max-width: 680px) {
  .cs-wrap,
  .cs-loc-shell,
  .cs-v2-wrap {
    width: min(calc(100% - 36px),1180px) !important;
  }

  .cs-section,
  .cs-v2-section,
  .cs-static-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .cs-page .cs-section h2,
  .cs-page .cs-final-cta h2,
  .cs-home-v2 .cs-v2-section h2,
  .cs-agenda-page .cs-v2-section h2 {
    font-size: clamp(2.4rem,11vw,3rem) !important;
    line-height: .94 !important;
  }

  .cs-topic-hero h1,
  .cs-locations-hero h1,
  .cs-contact-hero h1,
  .cs-coming-hero h1 {
    font-size: clamp(3rem,14vw,3.5rem) !important;
    line-height: .86 !important;
  }

  .cs-loc-copy {
    padding-top: 34px !important;
  }

  .cs-loc-visual {
    height: 370px !important;
    min-height: 370px !important;
  }

  .cs-topic-hero,
  .cs-contact-hero {
    min-height: 540px !important;
  }

  .cs-actions,
  .cs-v2-actions {
    width: 100%;
  }

  .cs-actions .cs-btn,
  .cs-v2-actions .cs-btn,
  .cs-final-cta > .cs-btn,
  .cs-download-button {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center;
  }

  .cs-photo-ribbon {
    grid-template-columns: 1.2fr 1fr !important;
  }

  .cs-photo-ribbon img:first-of-type {
    grid-column: 1 / -1;
    height: 220px !important;
    border-right: 0 !important;
    border-bottom: 4px solid var(--cs-ink) !important;
  }

  .cs-photo-ribbon img:not(:first-of-type) {
    height: 160px !important;
    border-bottom: 0 !important;
  }

  .cs-photo-ribbon img:nth-of-type(2) {
    border-right: 4px solid var(--cs-ink) !important;
  }

  .cs-photo-ribbon img:last-of-type {
    border-right: 0 !important;
  }

  .single-wpse_event #primary.wpse-template {
    padding: 0 18px 64px;
  }

  .single-wpse_event #primary.wpse-template::before {
    min-height: 290px;
    margin-inline: -18px;
    padding: 0 18px 72px;
  }

  .single-wpse_event .wpse-single-event {
    margin-top: -52px;
    padding: 34px 20px 28px;
    box-shadow: 8px 8px 0 #e52b35;
  }

  .single-wpse_event .wpse-single-event-header h1 {
    font-size: clamp(2.6rem,12vw,3.2rem);
    line-height: .94;
  }
}

@media (max-width: 420px) {
  .cs-wrap,
  .cs-loc-shell,
  .cs-v2-wrap {
    width: min(calc(100% - 32px),1180px) !important;
  }

  .cs-section,
  .cs-v2-section,
  .cs-static-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}


/* Responsive structural cleanup 2026-09-08 v1 */
.cs-showcase-card > p:empty,
.cs-showcase-card > br,
.cs-photo-ribbon > br,
.cs-photo-ribbon > p:empty {
  display: none !important;
}

.cs-photo-ribbon {
  padding: 0 !important;
}

@media (max-width: 680px) {
  .cs-locations-hero {
    min-height: 540px !important;
  }

  .cs-coming-hero {
    min-height: 580px !important;
  }

  .cs-coming-hero .cs-wrap {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .cs-final-cta {
    gap: 28px !important;
    padding: 52px 16px !important;
  }

  .single-wpse_event .wpse-event-action a {
    width: 100%;
    text-align: center;
  }
}


/* Responsive action-row cleanup 2026-09-08 */
.cs-actions > br,
.cs-v2-actions > br {
  display: none !important;
}


/* Homepage visual refinement 2026-09-08 */
.cs-location-card,
.cs-event-mini {
  overflow: hidden;
}

.cs-location-media {
  position: relative;
  height: 158px;
  margin: -35px -30px 27px;
  overflow: hidden;
  border-bottom: 4px solid var(--cs-ink);
  background: var(--cs-ink);
}

.cs-location-media img,
.cs-event-mini-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cs-location-media img {
  transition: transform .35s ease;
}

.cs-location-card:hover .cs-location-media img {
  transform: scale(1.045);
}

.cs-location-media-coming {
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle, rgba(255,255,255,.17) 0 2px, transparent 2.5px) 0 0 / 18px 18px,
    linear-gradient(135deg, var(--cs-purple) 0%, #160f21 100%);
  color: #fff;
}

.cs-location-media-coming::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 170px;
  aspect-ratio: 1;
  background: var(--cs-yellow);
  clip-path: polygon(50% 0,61% 34%,85% 15%,70% 41%,100% 50%,69% 60%,86% 85%,59% 70%,50% 100%,40% 69%,14% 86%,30% 59%,0 50%,31% 40%,15% 15%,41% 31%);
  transform: rotate(-8deg);
}

.cs-location-media-coming strong {
  color: var(--cs-ink);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 2.1rem;
  line-height: .83;
  letter-spacing: .035em;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-4deg);
  text-shadow: 3px 3px 0 #fff;
}

.cs-event-mini-image {
  width: calc(100% + 60px);
  max-width: none;
  height: 155px;
  margin: -35px -30px 27px;
  border-bottom: 4px solid var(--cs-ink);
  transition: transform .35s ease;
}

.cs-event-mini:hover .cs-event-mini-image {
  transform: scale(1.035);
}

@media (min-width: 700px) and (max-width: 980px) {
  .cs-v2-hero {
    min-height: 735px !important;
    overflow: hidden;
  }

  .cs-v2-hero-grid {
    position: relative;
    display: block !important;
    min-height: 735px !important;
  }

  .cs-v2-hero-copy {
    position: relative;
    z-index: 6;
    width: min(100%, 650px);
    max-width: 650px !important;
    padding: 58px 0 270px !important;
  }

  .cs-v2-hero-copy h1 {
    max-width: 610px;
    font-size: clamp(4.4rem, 10.4vw, 5.35rem) !important;
    line-height: .82 !important;
  }

  .cs-v2-hero-copy p {
    max-width: 610px;
  }

  .cs-v2-hero-burst {
    position: absolute !important;
    z-index: 2;
    right: -9%;
    bottom: -35px;
    width: min(76%, 585px);
    height: 510px !important;
    min-height: 510px !important;
    max-width: none !important;
    margin: 0 !important;
    pointer-events: none;
  }

  .cs-v2-hero-burst::before {
    inset: 18px -4% -5px -18% !important;
    background-position: left 103%, right 103% !important;
    background-size: 71% auto, 69% auto !important;
  }

  .cs-v2-hero-burst::after {
    inset: 8% 2% 3% -8% !important;
  }

  .cs-v2-hero-burst strong {
    top: 16% !important;
    left: 45% !important;
    font-size: clamp(3.8rem, 8.6vw, 4.8rem) !important;
  }

  .cs-v2-hero-burst span {
    top: 34% !important;
    left: 45% !important;
  }

  .cs-location-grid > .cs-location-card:last-child,
  .cs-event-mini-grid > .cs-event-mini:last-child {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 699px) {
  .cs-v2-hero-copy {
    padding-bottom: 0 !important;
  }

  .cs-v2-hero-burst {
    min-height: 350px !important;
    height: 350px !important;
  }

  .cs-v2-hero-burst::before {
    inset: 8px -7% -4px -7% !important;
    background-size: 64% auto, 62% auto !important;
  }

  .cs-v2-hero-burst::after {
    inset: 8% 3% 2% !important;
  }

  .cs-v2-hero-burst strong {
    top: 16% !important;
  }

  .cs-v2-hero-burst span {
    top: 35% !important;
  }

  .cs-location-media {
    height: 180px;
  }

  .cs-event-mini-image {
    height: 170px;
  }
}


/* Homepage detail polish 2026-09-08 */
.cs-location-card h3 {
  margin-top: 18px !important;
}

@media (min-width: 700px) and (max-width: 980px) {
  .cs-v2-hero-burst span {
    top: 32% !important;
    left: 51% !important;
    padding: 6px 9px;
    background: var(--cs-yellow);
    box-shadow: 4px 4px 0 var(--cs-ink);
    line-height: .96 !important;
  }
}


/* Location card content flow 2026-09-08 */
.cs-location-card > p:first-of-type,
.cs-location-card > p:last-child {
  min-height: 0 !important;
}


/* Gent page responsive polish 2026-09-08 */
.cs-location-page .cs-feature-grid {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.cs-location-page .cs-checklist {
  padding-left: 0 !important;
  list-style: none !important;
}

.cs-location-page .cs-checklist li {
  list-style: none !important;
}

.cs-location-page .cs-checklist li::marker {
  content: "";
  font-size: 0;
}

.cs-location-page .cs-pill-grid > br {
  display: none !important;
}

.cs-location-page .cs-pill-grid span {
  transition: transform .2s ease, box-shadow .2s ease;
}

.cs-location-page .cs-pill-grid span:nth-of-type(4n + 1) {
  background: var(--cs-yellow);
  color: var(--cs-ink);
  transform: rotate(-1deg);
}

.cs-location-page .cs-pill-grid span:nth-of-type(4n + 2) {
  background: var(--cs-red);
  color: #fff;
  transform: rotate(.8deg);
}

.cs-location-page .cs-pill-grid span:nth-of-type(4n + 3) {
  background: var(--cscs-blue, var(--cs-blue));
  color: #fff;
  transform: rotate(-.6deg);
}

.cs-location-page .cs-pill-grid span:nth-of-type(4n) {
  background: var(--cs-purple);
  color: #fff;
  transform: rotate(1deg);
}

.cs-location-page .cs-pill-grid span:hover {
  transform: translateY(-3px) rotate(0);
  box-shadow: 7px 7px 0 var(--cs-ink);
}

@media (min-width: 681px) and (max-width: 980px) {
  .cs-location-page .cs-feature-grid > .cs-feature-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .cs-location-page .cs-feature-grid {
    width: calc(100% - 32px);
  }
}


/* Brussels hero tablet spacing 2026-09-08 */
@media (min-width: 601px) and (max-width: 980px) {
  .cs-location-brussels .cs-loc-visual {
    height: 520px !important;
    min-height: 520px !important;
    margin-top: 96px;
  }

  .cs-location-brussels .cs-loc-character {
    width: min(560px, 74vw) !important;
    bottom: -20px !important;
  }

  .cs-location-brussels .cs-loc-visual::before {
    top: 48px;
  }

  .cs-location-brussels .cs-loc-burst {
    top: 46px;
  }
}


@media (max-width: 600px) {
  .cs-location-brussels .cs-loc-visual {
    margin-top: 72px;
  }

  .cs-location-brussels .cs-loc-character {
    width: 92vw !important;
  }
}


/* Agenda visual storytelling 2026-09-08 */
.cs-agenda-hero {
  isolation: isolate;
  background-image:
    linear-gradient(104deg, rgba(74, 25, 126, .94) 0%, rgba(165, 28, 87, .84) 55%, rgba(210, 32, 57, .7) 100%),
    url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-cafe-sfeer.jpg');
  background-position: center, center 46%;
  background-size: cover, cover;
  background-repeat: no-repeat;
}

.cs-agenda-hero .cs-v2-wrap {
  position: relative;
  z-index: 2;
}

.cs-agenda-page .cs-event-mini-art {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    radial-gradient(circle, rgba(255,255,255,.2) 0 2px, transparent 2.5px) 0 0 / 18px 18px,
    linear-gradient(135deg, var(--cs-purple) 0%, var(--cs-blue) 100%);
}

.cs-agenda-page .cs-event-mini-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  aspect-ratio: 1;
  background: var(--cs-yellow);
  clip-path: polygon(50% 0,61% 34%,85% 15%,70% 41%,100% 50%,69% 60%,86% 85%,59% 70%,50% 100%,40% 69%,14% 86%,30% 59%,0 50%,31% 40%,15% 15%,41% 31%);
  transform: rotate(-7deg);
}

.cs-agenda-page .cs-event-mini-art strong {
  color: var(--cs-ink);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: 2rem;
  line-height: .84;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-4deg);
  text-shadow: 3px 3px 0 #fff;
}

.cs-agenda-page .cs-event-mini:hover .cs-event-mini-art {
  transform: none;
}

@media (max-width: 680px) {
  .cs-agenda-hero {
    background-position: center, 60% center;
  }

  .cs-agenda-page .cs-event-mini-art::before {
    width: 165px;
  }
}


/* Menu download cards 2026-09-08 */
.cs-menu-page .cs-card-grid {
  align-items: start;
}

.cs-menu-page .cs-card-label {
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  line-height: 1.25;
  white-space: normal;
}

.cs-menu-page .cs-menu-preview {
  position: relative;
  isolation: isolate;
  display: grid !important;
  align-self: stretch;
  place-items: center;
  height: 245px;
  margin: 24px 0 5px;
  overflow: hidden;
  background:
    radial-gradient(circle, rgba(255,255,255,.19) 0 2px, transparent 2.5px) 0 0 / 19px 19px,
    linear-gradient(135deg, var(--cs-purple), var(--cs-blue));
  border: 4px solid var(--cs-ink);
  box-shadow: 7px 7px 0 var(--cs-ink);
  color: #fff !important;
  text-decoration: none !important;
}

.cs-menu-page .cs-menu-preview::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 235px;
  aspect-ratio: 1;
  background: var(--cs-yellow);
  clip-path: polygon(50% 0,61% 34%,85% 15%,70% 41%,100% 50%,69% 60%,86% 85%,59% 70%,50% 100%,40% 69%,14% 86%,30% 59%,0 50%,31% 40%,15% 15%,41% 31%);
  transform: rotate(-8deg);
}

.cs-menu-page .cs-menu-preview img {
  display: block;
  width: auto;
  height: 215px;
  max-width: 72%;
  object-fit: contain;
  transform: rotate(-2.5deg);
  box-shadow: 7px 8px 0 rgba(0,0,0,.72);
  transition: transform .25s ease;
}

.cs-menu-page .cs-menu-preview span {
  position: absolute;
  z-index: 3;
  right: 11px;
  bottom: 11px;
  padding: 7px 10px;
  background: var(--cs-ink);
  border: 2px solid #fff;
  color: #fff;
  font: 900 11px/1.1 Montserrat, Arial, sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  box-shadow: 4px 4px 0 var(--cs-red);
}

.cs-menu-page .cs-menu-preview:hover img {
  transform: rotate(0) scale(1.035);
}

@media (max-width: 680px) {
  .cs-menu-page .cs-card-label {
    font-size: .75rem;
  }

  .cs-menu-page .cs-menu-preview {
    height: 230px;
  }

  .cs-menu-page .cs-menu-preview img {
    height: 202px;
  }
}


.cs-menu-page .is-ready h3 + .cs-menu-preview {
  margin-top: 6px;
}


/* Global custom checklist marker reset 2026-09-08 */
.cs-checklist {
  padding-left: 0 !important;
  list-style: none !important;
}

.cs-checklist li {
  list-style: none !important;
}

.cs-checklist li::marker {
  content: "";
  font-size: 0;
}


/* Persistent mobile header 2026-09-08 */
@media (max-width: 980px) {
  html {
    scroll-padding-top: 103px;
  }
}


/* Pinball location card contrast 2026-09-08 */
.cs-pinball-cards .cs-location-choice,
.cs-pinball-cards .cs-location-choice:hover,
.cs-pinball-cards .cs-location-choice:focus,
.cs-pinball-cards .cs-location-choice:focus-visible {
  color: var(--cs-ink) !important;
}

.cs-pinball-cards .cs-location-choice strong {
  color: var(--cs-ink) !important;
  text-shadow: none !important;
}

.cs-pinball-cards .cs-location-choice:focus-visible {
  outline: 4px solid var(--cs-blue);
  outline-offset: 5px;
}


/* Global site footer 2026-09-08 */
#main-footer {
  display: none !important;
}

.cs-global-footer {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: #15111c;
  color: #fff;
  border-top: 7px solid var(--cs-yellow);
  box-shadow: inset 0 5px 0 #000;
}

.cs-global-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .11;
  background-image: radial-gradient(circle, var(--cs-yellow) 2px, transparent 2.5px);
  background-size: 28px 28px;
  transform: rotate(-3deg) scale(1.08);
}

.cs-footer-inner,
.cs-footer-legal {
  position: relative;
  z-index: 1;
  width: min(1160px, calc(100% - 56px));
  margin-inline: auto;
}

.cs-footer-inner {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) repeat(2, minmax(140px, .8fr)) minmax(190px, 1fr);
  gap: clamp(34px, 5vw, 72px);
  padding: 72px 0 58px;
}

.cs-footer-brand {
  max-width: 430px;
}

.cs-footer-logo {
  display: inline-flex;
  align-items: center;
  margin: 0 0 22px;
}

.cs-footer-logo img {
  display: block;
  width: min(200px, 100%);
  height: auto;
  max-height: 92px;
  object-fit: contain;
  filter: drop-shadow(5px 5px 0 rgba(0,0,0,.95));
  transition: transform .2s ease;
}

.cs-footer-logo:hover img {
  transform: translateY(-3px) rotate(-1deg);
}

.cs-footer-kicker {
  margin: 0 0 14px !important;
  color: var(--cs-yellow) !important;
  font-weight: 900;
  letter-spacing: .14em;
}

.cs-global-footer p {
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.65;
}

.cs-footer-nav h2 {
  margin: 5px 0 24px;
  padding: 0 0 13px;
  color: #fff !important;
  font: 900 26px/1 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  letter-spacing: .035em;
  border-bottom: 4px solid var(--cs-yellow);
}

.cs-footer-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cs-footer-nav li {
  margin: 0 0 11px;
  padding: 0;
}

.cs-footer-nav li::before,
.cs-footer-nav li::marker {
  content: none !important;
  display: none !important;
}

.cs-footer-nav a {
  position: relative;
  display: inline-block;
  color: #fff !important;
  font-weight: 800;
  line-height: 1.45;
  text-decoration: none;
}

.cs-footer-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -3px;
  height: 3px;
  background: var(--cs-red);
  transition: right .18s ease;
}

.cs-footer-nav a:hover::after,
.cs-footer-nav a:focus-visible::after {
  right: 0;
}

.cs-footer-nav a:hover,
.cs-footer-nav a:focus-visible {
  color: var(--cs-yellow) !important;
}

.cs-footer-note {
  margin: 24px 0 0 !important;
  font-size: 14px !important;
}

.cs-footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0 25px;
  border-top: 3px solid rgba(231,225,54,.7);
}

.cs-footer-legal p {
  margin: 0 !important;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.cs-footer-legal a {
  color: var(--cs-yellow) !important;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.cs-global-footer a:focus-visible {
  outline: 3px solid var(--cs-yellow);
  outline-offset: 5px;
}

@media (max-width: 980px) {
  .cs-footer-inner {
    grid-template-columns: minmax(240px, 1.35fr) repeat(2, minmax(150px, 1fr));
  }

  .cs-footer-nav:last-child {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(180px, .75fr) minmax(260px, 1.25fr);
    column-gap: 42px;
    align-items: start;
  }

  .cs-footer-nav:last-child h2 {
    grid-column: 1 / -1;
  }

  .cs-footer-nav:last-child .cs-footer-note {
    margin-top: 0 !important;
  }
}

@media (max-width: 700px) {
  .cs-footer-inner,
  .cs-footer-legal {
    width: min(100% - 44px, 580px);
  }

  .cs-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 38px 28px;
    padding: 58px 0 46px;
  }

  .cs-footer-brand {
    grid-column: 1 / -1;
  }

  .cs-footer-nav:last-child {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .cs-footer-nav:last-child h2 {
    grid-column: auto;
  }

  .cs-footer-nav:last-child .cs-footer-note {
    margin-top: 20px !important;
  }

  .cs-footer-legal {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 430px) {
  .cs-footer-inner {
    grid-template-columns: 1fr;
  }

  .cs-footer-brand,
  .cs-footer-nav:last-child {
    grid-column: auto;
  }
}


/* Homepage hero narrow-mobile composition 2026-09-08 */
@media (max-width: 699px) {
  .cs-v2-hero-burst {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 420px !important;
    min-height: 420px !important;
    margin: 22px auto 0 !important;
    overflow: hidden;
    isolation: isolate;
  }

  .cs-v2-hero-burst::before {
    inset: 55px -1% 0 !important;
    background-position: left bottom, right bottom !important;
    background-size: 51% auto, 49% auto !important;
    animation: none !important;
    filter: drop-shadow(8px 10px 0 rgba(0,0,0,.72)) !important;
  }

  .cs-v2-hero-burst::after {
    inset: 17% 6% 4% !important;
    transform: rotate(3deg) !important;
    filter: drop-shadow(9px 9px 0 #000) !important;
  }

  .cs-v2-hero-burst strong {
    z-index: 6 !important;
    top: 5% !important;
    left: 50% !important;
    font-size: clamp(3.35rem, 13vw, 4rem) !important;
    line-height: .82 !important;
  }

  .cs-v2-hero-burst span {
    z-index: 7 !important;
    top: 22% !important;
    left: 50% !important;
    max-width: none !important;
    padding: 7px 12px !important;
    background: #fff !important;
    color: #000 !important;
    border: 3px solid #000;
    box-shadow: 5px 5px 0 var(--cs-yellow);
    font-size: 12px !important;
    line-height: .95 !important;
    letter-spacing: .08em !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst {
    height: 360px !important;
    min-height: 360px !important;
  }

  .cs-v2-hero-burst::before {
    inset: 52px -4% 0 !important;
    background-size: 56% auto, 54% auto !important;
  }

  .cs-v2-hero-burst strong {
    font-size: 3.1rem !important;
  }

  .cs-v2-hero-burst span {
    top: 23% !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
}


/* Homepage hero character-first composition 2026-09-08 */
.cs-v2-hero-burst::after {
  display: none !important;
}

.cs-v2-hero-burst::before {
  z-index: 2 !important;
  background-position: 16% bottom, 84% bottom !important;
  background-size: 62% auto, 60% auto !important;
}

.cs-v2-hero-burst strong {
  z-index: 1 !important;
  top: 15% !important;
  left: 50% !important;
  color: rgba(231,225,54,.18) !important;
  -webkit-text-stroke: 4px rgba(255,255,255,.32) !important;
  text-shadow: none !important;
  font-size: clamp(7rem, 9vw, 10rem) !important;
  letter-spacing: .025em;
  transform: translateX(-50%) rotate(-7deg) !important;
}

.cs-v2-hero-burst span {
  z-index: 5 !important;
  top: 43% !important;
  right: 0 !important;
  left: auto !important;
  max-width: 150px !important;
  padding: 9px 12px !important;
  background: var(--cs-yellow) !important;
  color: #000 !important;
  border: 3px solid #000;
  box-shadow: 6px 6px 0 #000;
  font-size: 12px !important;
  line-height: .95 !important;
  text-align: center;
  transform: rotate(4deg) !important;
}

@media (max-width: 980px) {
  .cs-v2-hero-burst::before {
    background-position: 18% bottom, 82% bottom !important;
    background-size: 58% auto, 56% auto !important;
  }

  .cs-v2-hero-burst strong {
    top: 13% !important;
    font-size: clamp(6.5rem, 16vw, 9rem) !important;
  }

  .cs-v2-hero-burst span {
    top: 38% !important;
    right: 2% !important;
  }
}

@media (max-width: 699px) {
  .cs-v2-hero-burst::before {
    inset: 48px 0 0 !important;
    background-position: 18% bottom, 82% bottom !important;
    background-size: 50% auto, 48% auto !important;
    filter: drop-shadow(8px 10px 0 rgba(0,0,0,.72)) !important;
  }

  .cs-v2-hero-burst strong {
    top: 12% !important;
    font-size: clamp(6.2rem, 21vw, 8rem) !important;
    -webkit-text-stroke-width: 3px !important;
  }

  .cs-v2-hero-burst span {
    top: 36% !important;
    right: 10px !important;
    max-width: 118px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst::before {
    inset: 44px -2% 0 !important;
    background-position: 17% bottom, 83% bottom !important;
    background-size: 55% auto, 53% auto !important;
  }

  .cs-v2-hero-burst strong {
    top: 13% !important;
    font-size: 5.4rem !important;
  }

  .cs-v2-hero-burst span {
    top: 35% !important;
    right: 4px !important;
  }
}


/* Homepage hero character scale refinement 2026-09-08 */
.cs-v2-hero-burst span {
  background: #fff !important;
  color: #000 !important;
  box-shadow: 6px 6px 0 var(--cs-yellow) !important;
}

@media (max-width: 699px) {
  .cs-v2-hero-burst::before {
    inset: 18px -4% 0 !important;
    background-position: 18% bottom, 82% bottom !important;
    background-size: 58% auto, 56% auto !important;
  }

  .cs-v2-hero-burst strong {
    top: 20% !important;
    color: rgba(231,225,54,.24) !important;
  }

  .cs-v2-hero-burst span {
    top: 32% !important;
    right: 8px !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst::before {
    inset: 14px -6% 0 !important;
    background-size: 62% auto, 60% auto !important;
  }

  .cs-v2-hero-burst strong {
    top: 23% !important;
  }

  .cs-v2-hero-burst span {
    top: 30% !important;
    right: 2px !important;
  }
}


/* Homepage hero label responsive containment 2026-09-08 */
.cs-v2-hero-burst span {
  right: clamp(14px, 2vw, 24px) !important;
  transform-origin: center center !important;
}

@media (max-width: 699px) {
  .cs-v2-hero-burst span {
    right: clamp(14px, 3vw, 20px) !important;
    max-width: min(118px, calc(100% - 34px)) !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst span {
    right: 14px !important;
    max-width: min(110px, calc(100% - 30px)) !important;
    font-size: 10px !important;
  }
}


/* Homepage hero tablet label viewport containment 2026-09-08 */
@media (min-width: 700px) and (max-width: 980px) {
  .cs-v2-hero-burst span {
    right: 18% !important;
  }
}


/* Homepage hero equal perceived character scale 2026-09-08 */
.cs-v2-hero-burst::before {
  background-size: 90% auto, 60% auto !important;
}

@media (max-width: 980px) {
  .cs-v2-hero-burst::before {
    background-size: 84% auto, 56% auto !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst::before {
    background-size: 90% auto, 60% auto !important;
  }
}


/* Homepage hero Jeroen eye-line scale refinement 2026-09-08 */
.cs-v2-hero-burst::before {
  background-size: 78% auto, 60% auto !important;
}

@media (max-width: 980px) {
  .cs-v2-hero-burst::before {
    background-size: 72% auto, 56% auto !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst::before {
    background-size: 78% auto, 60% auto !important;
  }
}


/* Homepage hero screen-filling mobile characters 2026-09-08 */
@media (max-width: 699px) {
  .cs-v2-hero-burst::before {
    background-size: 95% auto, 74% auto !important;
    background-position: 13% bottom, 87% bottom !important;
  }
}

@media (max-width: 430px) {
  .cs-v2-hero-burst::before {
    background-size: 105% auto, 82% auto !important;
    background-position: 10% bottom, 90% bottom !important;
  }
}


/* Homepage hero continuous tablet-mobile composition audit 2026-09-08 */
@media (max-width: 980px) {
  .cs-v2-hero-burst::before {
    inset: 0 -4% 0 !important;
    background-position: 13% bottom, 87% bottom !important;
  }

  .cs-v2-hero-burst strong {
    left: clamp(16px, 5vw, 46px) !important;
    right: auto !important;
    font-size: clamp(82px, 19vw, 150px) !important;
    transform: rotate(-7deg) !important;
    opacity: .34 !important;
  }

  .cs-v2-hero-burst span {
    top: auto !important;
    right: clamp(12px, 3vw, 28px) !important;
    bottom: 8% !important;
    max-width: min(118px, calc(100% - 30px)) !important;
  }
}

@media (max-width: 699px) {
  .cs-v2-hero-burst {
    min-height: clamp(330px, 82vw, 580px) !important;
  }

  .cs-v2-hero-burst::before {
    background-size:
      clamp(95%, calc(20px + 94.5vw), 105%) auto,
      clamp(74%, calc(16px + 73.6vw), 82%) auto !important;
  }

  .cs-v2-hero-burst strong {
    top: max(20px, calc(clamp(330px, 82vw, 580px) - 16px - 73.6vw)) !important;
  }
}

@media (min-width: 700px) and (max-width: 980px) {
  .cs-v2-hero-burst {
    min-height: 600px !important;
  }

  .cs-v2-hero-burst::before {
    background-size:
      clamp(72%, calc(548.5px + 18.93vw), 95%) auto,
      clamp(56%, calc(429px + 14.5vw), 74%) auto !important;
  }

  .cs-v2-hero-burst strong {
    top: clamp(28px, calc(171px - 14.5vw), 70px) !important;
  }
}


/* Homepage hero tablet-mobile label safe placement 2026-09-08 */
@media (max-width: 980px) {
  .cs-v2-hero-burst span {
    top: auto !important;
    right: clamp(28px, 12%, 80px) !important;
    bottom: 11% !important;
    transform: rotate(2deg) !important;
    transform-origin: center center !important;
  }
}


/* Mobile header geometry is managed by header-mobile.css. */


/* Large-screen footer hierarchy refinement 2026-09-08 */
@media (min-width: 1200px) {
  .cs-footer-inner {
    width: min(1320px, calc(100% - 96px)) !important;
    max-width: 1320px !important;
    grid-template-columns: minmax(340px, 1.45fr) minmax(150px, .65fr) minmax(150px, .65fr) minmax(260px, 1fr) !important;
    gap: clamp(44px, 3vw, 72px) !important;
    align-items: start !important;
    padding: 64px 0 44px !important;
  }

  .cs-footer-brand {
    min-height: 0 !important;
    padding-right: 40px !important;
    border-right: 1px solid rgba(231, 225, 54, .24) !important;
  }

  .cs-footer-logo {
    width: 150px !important;
    margin-bottom: 18px !important;
  }

  .cs-footer-kicker {
    font-size: 15px !important;
    letter-spacing: .16em !important;
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
  }

  .cs-footer-brand > p:not(.cs-footer-kicker) {
    max-width: 380px !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .cs-footer-nav {
    min-height: 0 !important;
  }

  .cs-footer-nav h2 {
    margin: 0 0 22px !important;
    padding: 0 0 14px !important;
    font-size: 32px !important;
    line-height: .95 !important;
    letter-spacing: .015em !important;
    white-space: nowrap !important;
  }

  .cs-footer-nav li + li {
    margin-top: 10px !important;
  }

  .cs-footer-nav a {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .cs-footer-note {
    max-width: 290px !important;
    margin-top: 22px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .cs-footer-legal {
    width: min(1320px, calc(100% - 96px)) !important;
    max-width: 1320px !important;
    padding: 20px 0 24px !important;
  }
}


/* Homepage desktop menu CTA collision guard 2026-09-08 */
@media (min-width: 1200px) {
  .cs-v2-menu-band .cs-v2-band-grid > p {
    position: relative !important;
    z-index: 4 !important;
    text-align: right !important;
  }
}


/* Homepage desktop CTA visual depth 2026-09-08 */
@media (min-width: 1200px) {
  .cs-v2-menu-band,
  .cs-v2-b2b {
    isolation: isolate !important;
    overflow: hidden !important;
  }

  .cs-v2-menu-band .cs-v2-band-grid,
  .cs-v2-b2b .cs-v2-band-grid {
    position: relative !important;
    z-index: 3 !important;
  }

  .cs-v2-menu-band::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    left: calc(50% + clamp(170px, 8vw, 210px)) !important;
    width: clamp(160px, 10vw, 205px) !important;
    height: calc(100% - 42px) !important;
    background: url("/wp-content/uploads/2026/09/comic-sans-menukaart-gent-preview.webp") center / contain no-repeat !important;
    transform: translate(-50%, -50%) rotate(-6deg) !important;
    filter: drop-shadow(12px 14px 0 rgba(0, 0, 0, .42)) !important;
    pointer-events: none !important;
  }

  .cs-v2-menu-band::after {
    content: "MENU" !important;
    position: absolute !important;
    z-index: 1 !important;
    right: max(28px, calc((100vw - 1180px) / 2 - 30px)) !important;
    top: 50% !important;
    transform: translateY(-52%) rotate(-4deg) !important;
    color: transparent !important;
    -webkit-text-stroke: 3px rgba(255, 255, 255, .18) !important;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
    font-size: clamp(120px, 8.4vw, 190px) !important;
    line-height: .8 !important;
    letter-spacing: .02em !important;
    pointer-events: none !important;
  }

  .cs-v2-b2b::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 0 0 auto !important;
    width: 44% !important;
    background:
      linear-gradient(90deg, rgba(215, 31, 42, 1) 0%, rgba(215, 31, 42, .22) 36%, rgba(0, 0, 0, .14) 100%),
      url("/wp-content/uploads/2026/09/cafe-comic-sans-brussel-bordspellen.jpg") center 44% / cover no-repeat !important;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%) !important;
    pointer-events: none !important;
  }

  .cs-v2-b2b::after {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 0 0 auto !important;
    width: 46% !important;
    background-image: radial-gradient(circle, rgba(231, 225, 54, .28) 0 2px, transparent 2.5px) !important;
    background-size: 24px 24px !important;
    opacity: .36 !important;
    clip-path: polygon(22% 0, 100% 0, 100% 100%, 4% 100%) !important;
    pointer-events: none !important;
  }
}
/* Hide the internal mock-data notice on the public agenda page. */
.cs-agenda-page .cs-agenda-intro {
  display: none !important;
}

/* Keep the agenda's closing question on the same centered axis as its CTA. */
.cs-agenda-page .cs-v2-final p:not(:empty) {
  max-width: 800px;
  margin: 0 auto 28px !important;
  padding-inline: 16px;
  text-align: center;
}

/* Location identity inside the contact cards. */
.cs-contact-card {
  overflow: hidden;
}

.cs-contact-card::before {
  content: "";
  display: block;
  height: 172px;
  margin: -34px -28px 26px;
  border-bottom: 4px solid var(--cs-ink);
  background-position: center;
  background-size: cover;
}

.cs-contact-gent::before {
  background-image:
    linear-gradient(135deg, rgba(16, 13, 24, .08), rgba(16, 13, 24, .30)),
    url('/wp-content/uploads/2026/09/cafe-comic-sans-gent-scifi-toog.jpg');
  background-position: center 54%;
}

.cs-contact-brussels::before {
  background-image:
    linear-gradient(135deg, rgba(16, 13, 24, .08), rgba(16, 13, 24, .32)),
    url('/wp-content/uploads/2026/09/cafe-comic-sans-brussel-cafe-sfeer.jpg');
  background-position: center 42%;
}

.cs-contact-coming::before {
  background-color: var(--cs-blue);
  background-image:
    radial-gradient(circle, rgba(231, 225, 54, .52) 0 3px, transparent 3.5px),
    linear-gradient(135deg, transparent 0 36%, var(--cs-red) 36% 62%, transparent 62%);
  background-size: 24px 24px, 100% 100%;
}

.cs-contact-card h2 {
  margin-top: 18px;
}

@media (max-width: 680px) {
  .cs-contact-card::before {
    height: 150px;
  }
}

/* Larger, accessible tap targets for event detail pages. */
.cs-event-media-link {
  display: block;
  margin: -35px -30px 27px;
  overflow: hidden;
  border-bottom: 4px solid var(--cs-ink);
  text-decoration: none !important;
}

.cs-event-media-link .cs-event-mini-image {
  display: block;
  width: 100%;
  max-width: none;
  height: 155px;
  margin: 0;
  border: 0;
  object-fit: cover;
}

.cs-event-mini h3 .cs-event-title-link {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

.cs-event-mini h3 .cs-event-title-link:hover,
.cs-event-mini h3 .cs-event-title-link:focus-visible {
  color: var(--accent) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 4px !important;
  text-underline-offset: 6px !important;
}

.cs-event-media-link:focus-visible {
  outline: 4px solid var(--cs-yellow);
  outline-offset: -7px;
}

@media (max-width: 680px) {
  .cs-event-media-link .cs-event-mini-image {
    height: 170px;
  }
}

/* Global newsletter hand-off, ready for a future Mailchimp embed. */
.cs-newsletter {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: var(--cs-yellow);
  color: var(--cs-ink);
  border-top: 7px solid var(--cs-ink);
  border-bottom: 7px solid var(--cs-ink);
}

.cs-newsletter::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .14;
  background-image: radial-gradient(circle, var(--cs-purple) 2px, transparent 2.5px);
  background-size: 24px 24px;
}

.cs-newsletter-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  align-items: center;
  gap: clamp(48px, 7vw, 110px);
  width: min(1160px, calc(100% - 56px));
  margin-inline: auto;
  padding: 68px 0 72px;
}

.cs-newsletter-kicker {
  display: inline-block;
  margin-bottom: 22px;
  padding: 10px 16px;
  background: var(--cs-ink);
  color: var(--cs-yellow);
  border: 3px solid var(--cs-ink);
  box-shadow: 6px 6px 0 var(--cs-red);
  font: 900 13px/1 Montserrat, Arial, sans-serif;
  letter-spacing: .16em;
}

.cs-newsletter h2 {
  margin: 0;
  color: var(--cs-ink) !important;
  font: 900 clamp(3.2rem, 5vw, 5.2rem)/.88 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  letter-spacing: .01em;
  text-shadow: 5px 5px 0 rgba(255,255,255,.72);
}

.cs-newsletter-copy > p {
  max-width: 620px;
  margin: 26px 0 0 !important;
  color: var(--cs-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
}

.cs-newsletter-signup {
  padding: 30px;
  background: var(--cs-white);
  border: 4px solid var(--cs-ink);
  box-shadow: 10px 10px 0 var(--cs-ink);
  transform: rotate(1deg);
}

.cs-newsletter-signup label {
  display: block;
  margin-bottom: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cs-newsletter-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.cs-newsletter-fields input,
.cs-newsletter-fields button {
  min-height: 58px;
  border: 3px solid var(--cs-ink);
  border-radius: 0;
  font: 800 15px/1.2 Montserrat, Arial, sans-serif;
}

.cs-newsletter-fields input {
  width: 100%;
  padding: 0 17px;
  background: #f7f6f2;
  color: var(--cs-ink);
  border-right: 0;
  opacity: 1;
}

.cs-newsletter-fields button {
  padding: 0 22px;
  background: var(--cs-blue);
  color: var(--cs-white);
  cursor: not-allowed;
  opacity: .72;
}

.cs-newsletter-status {
  margin: 14px 0 0 !important;
  color: rgba(16,13,24,.72);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .cs-newsletter-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .cs-newsletter-signup {
    max-width: 680px;
    transform: none;
  }
}

@media (max-width: 560px) {
  .cs-newsletter-inner {
    width: min(100% - 36px, 580px);
    padding: 54px 0 60px;
  }

  .cs-newsletter h2 {
    font-size: clamp(2.85rem, 15vw, 4rem);
  }

  .cs-newsletter-signup {
    padding: 22px;
  }

  .cs-newsletter-fields {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .cs-newsletter-fields input {
    border-right: 3px solid var(--cs-ink);
  }
}

/* Long menu title on narrow phones; keep the word intact. */
@media (max-width: 360px) {
  .cs-menu-page .cs-static-hero h1 { font-size: clamp(2.4rem, 12vw, 2.7rem) !important; }
}
