/*
 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
 * Legacy presentation stays outside Divi UI. Native rebuilt sections use
 * cs-native: their typography/buttons/forms are owned by Divi, not these overrides.
 */
: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:where(:not(.et-vb-root-ancestor)) {
  background: var(--cs-paper);
  color: var(--cs-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
:where(#page-container) h1:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) h2:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) h3:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) h4:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) h5:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) h6:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) .et_pb_module_heading:where(:not(.et_pb_module, .et_pb_module *)) {
  color: var(--cs-ink);
  font-family: Impact, "Arial Black", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: .025em;
  line-height: 1.02;
}
:where(#page-container) h1:where(:not(.et_pb_module, .et_pb_module *)) { font-size: clamp(3rem, 7vw, 6.7rem) !important; }
:where(#page-container) h2:where(:not(.et_pb_module, .et_pb_module *)) { font-size: clamp(2.3rem, 5vw, 4.6rem) !important; }
:where(#page-container) h3:where(:not(.et_pb_module, .et_pb_module *)) { font-size: clamp(1.65rem, 3vw, 2.7rem) !important; }
:where(#page-container) p:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) li:where(:not(.et_pb_module, .et_pb_module *)) { max-width: 72ch; }
::selection { background: var(--cs-yellow); color: var(--cs-ink); }
:where(#page-container) a:focus-visible:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) button:focus-visible:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) input:focus-visible:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) textarea:focus-visible:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) select:focus-visible:where(:not(.et_pb_module, .et_pb_module *)) {
  outline: 4px solid var(--cs-yellow) !important;
  outline-offset: 4px;
}
:where(#page-container) .et_pb_button:hover:where(:not(.et_pb_module, .et_pb_module *)) {
  background: var(--cs-white) !important;
  box-shadow: 3px 3px 0 var(--cs-ink);
  transform: translate(3px, 3px) rotate(0);
}
:where(#page-container) .et_pb_contact_form input:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) .et_pb_contact_form textarea:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) .et_pb_contact_form select:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) input[type="text"]:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) input[type="email"]:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) input[type="tel"]:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) textarea:where(:not(.et_pb_module, .et_pb_module *)),
:where(#page-container) select:where(:not(.et_pb_module, .et_pb_module *)) {
  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;
}
:where(#page-container) .et_pb_contact_form label:where(:not(.et_pb_module, .et_pb_module *)) { 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; }}


/* 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;
}
@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;
}
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;
}


/* 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); }

/* 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; }

/* 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; }

/* 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; }
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;
}


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


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

/* Native Divi: comic-only decoration. Content, fonts, images and layout stay in Divi. */
.cs-native.cs-n-hero .et_pb_background_pattern {
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 75%);
  mask-image: linear-gradient(90deg, #000, transparent 75%);
  pointer-events: none;
}
.cs-native .cs-n-feature::before {
  content: ""; position: absolute; left: -4px; top: -4px;
  width: 44%; height: 12px; background: var(--cs-card-accent, var(--cs-yellow));
  border: 4px solid var(--cs-ink); border-bottom: 0;
  pointer-events: none;
}
.cs-native .cs-n-accent-yellow { --cs-card-accent: var(--cs-yellow); }
.cs-native .cs-n-accent-blue { --cs-card-accent: var(--cs-blue); }
.cs-native .cs-n-accent-red { --cs-card-accent: var(--cs-red); }
.cs-native ul.cs-n-checklist { list-style: none; padding: 0; }
.cs-native .cs-n-checklist li { position: relative; padding-left: 34px; margin-bottom: 14px; }
.cs-native .cs-n-checklist li::before { content: "★"; position: absolute; left: 0; color: var(--cs-yellow); }

/* Native location decorations and semantic opening-hours table. */
.cs-native .cs-n-character { filter: drop-shadow(20px 20px 0 rgba(0,0,0,.48)); }
.cs-native .cs-n-burst { 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%); }
.cs-native table.cs-n-hours { width:100%; border-collapse:collapse; border:0; }
.cs-native .cs-n-hours th, .cs-native .cs-n-hours td { padding:18px 0; border:0; border-top:4px solid currentColor; text-align:left; vertical-align:middle; }
.cs-native .cs-n-hours td { text-align:right; }
.cs-native .cs-n-hours tr:last-child > * { border-bottom:4px solid currentColor; }
@media(max-width:480px) { .cs-native .cs-n-hours { font-size:17px; }}

/* Native homepage: unsupported comic cutout/outline only; imagery and layout remain editable in Divi. */
.cs-native .cs-n-home-backdrop { clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); }
.cs-native .cs-n-pow { -webkit-text-stroke:3px rgba(255,255,255,.32); }
@media(max-width:980px) { .cs-native .cs-n-home-backdrop { clip-path:none; }}

/* Native event cards: one accessible link expands over the card, including image/title. */
.cs-native .cs-n-event-card { --cs-event-accent:#d22027; border-top-color:var(--cs-event-accent); }
.cs-native .cs-n-event-card:nth-child(3n+2) { --cs-event-accent:#445ab2; }
.cs-native .cs-n-event-card:nth-child(3n+3) { --cs-event-accent:#62238f; }
.cs-native .cs-n-event-card > .et_pb_group,
.cs-native .cs-n-event-card .et_pb_button_module_wrapper,
.cs-native .cs-n-event-link { position:static; }
body #page-container .cs-native .cs-n-event-card .cs-n-event-link::after { content:""; display:block!important; position:absolute; inset:0; transform:none; opacity:1; margin:0; font-size:0; z-index:2; }
.cs-native .cs-n-event-card:focus-within { outline:3px solid #445ab2; outline-offset:5px; }

/* Optional comic art is event content in a native Text module; empty fields take no space. */
.cs-native .cs-n-event-art:not(:has(.et_pb_text_inner)) { display:none; }
.cs-native .cs-n-event-art::before { content:""; position:absolute; width:170px; height:170px; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-9deg); background:#e7e136; 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%); }
.cs-native .cs-n-event-art .et_pb_text_inner { position:relative; max-width:190px; margin:auto; }

/* Agenda starts after the featured event: continue the approved accent sequence. */
.page-id-23 .cs-native .cs-n-event-card { --cs-event-accent:#445ab2; }
.page-id-23 .cs-native .cs-n-event-card:nth-child(3n+2) { --cs-event-accent:#62238f; }
.page-id-23 .cs-native .cs-n-event-card:nth-child(3n+3) { --cs-event-accent:#d22027; }

/* Let event-module links inherit their native Divi Field Text colour. */
.cs-native .wpse_divi_event_location_link a,
.cs-native .wpse_divi_external_event_action a,
.cs-native .wpse_divi_event_categories a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
/* Native Divi 404: orbital artwork only; copy/layout/fonts stay in modules. */
.cs-n-error-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 55%,rgba(98,35,143,.55),transparent 65%),radial-gradient(circle,rgba(68,90,178,.15) 2px,transparent 2.5px) 0 0/24px 24px;}
.cs-n-error-orbit{position:absolute!important;inset:6%;border:2px dashed rgba(231,225,54,.4);border-radius:50%;pointer-events:none;}
.cs-n-error-orbit-one::after{content:"";position:absolute;width:20px;height:20px;top:9%;right:9%;border:3px solid #000;border-radius:50%;background:#e7e136;box-shadow:4px 4px 0 #000;}
.cs-n-error-orbit-two{inset:19% -2%;border-style:solid;border-color:#445ab2;transform:rotate(-25deg);}
.cs-n-error-number{ text-shadow:7px 7px 0 #d22027,12px 12px 0 #000; }

/* Comic finish: decorative only; layout, colour choices and copy remain native Divi. */
.cs-native.cs-n-home-hero::after{content:"";position:absolute;left:0;bottom:-46px;width:100%;height:92px;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(231,225,54,.97),rgba(231,225,54,.52));clip-path:polygon(0 45%,38% 74%,72% 38%,100% 62%,100% 100%,0 100%);}
.cs-native .cs-n-menu-word{-webkit-text-stroke:2px rgba(255,255,255,.18);pointer-events:none;}

/* Subtle hero movement; layout and image transforms remain native Divi. */
@keyframes cs-hero-breathe{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media (prefers-reduced-motion:no-preference){.cs-n-hero-float .et_pb_image_wrap{animation:cs-hero-breathe 7s ease-in-out infinite}.cs-n-hero-float-dave .et_pb_image_wrap{animation-delay:-3.5s;animation-duration:8s}}

/* Event photo adapter: crop follows the native module height; no-photo events leave no empty slot. */
.cs-n-event-media .wpse-single-event-image,.cs-n-event-media .wpse-single-event-image img{width:100%;height:100%}
.cs-n-event-media .wpse-single-event-image img{display:block;object-fit:cover}
.cs-n-event-visual:not(:has(img)){display:none}
.et-db #et-boc .et-l .cs-n-event-overview:not(:has(img)) .cs-n-event-facts{width:100%!important}

/* Menu banner: decorative halftone only; content/layout remain native Divi. */
.cs-native.cs-n-menu-banner::after {
  content: ""; position: absolute; top: 10%; right: 0;
  width: 38vw; height: 38vw; pointer-events: none; opacity: .28;
  background: radial-gradient(circle, var(--cs-yellow) 0 4px, transparent 5px) 0 0 / 24px 24px;
  -webkit-mask-image: radial-gradient(circle, #000 24%, rgba(0,0,0,.8) 46%, transparent 72%);
  mask-image: radial-gradient(circle, #000 24%, rgba(0,0,0,.8) 46%, transparent 72%);
}
@media (max-width: 767px) {
  .cs-native.cs-n-menu-banner::after { width: 65vw; height: 65vw; opacity: .18; }
}
