/* ============================================================
   Neo Brutalism - default theme (dmf-tmpl-default)
   Bold colours, thick borders (3px), hard shadows (8px 8px 0 #000),
   oversized type, flat pills, no gradients/glass.
   Inspired by Sweepy Light Mood brut cards + brand ask.
   Scoped to body.dmf-tmpl-default so pulse/crown/summit untouched.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700;800;900&family=Space+Grotesk:wght@500;700&display=swap');

/* ---- Tokens (organizer primary/secondary still map, accent = lilac) ---- */
body.dmf-tmpl-default {
  --nb-black: #0a0a0a;
  --nb-yellow: #048bff;
  --nb-lilac: #c9b6ff;
  --nb-mint: #7bf0d1;
  --nb-peach: #ff8f6b;
  --nb-cream: #fffef2;
  --nb-paper: #ffffff;
  --nb-border: 3px solid var(--nb-black);
  --nb-shadow: 8px 8px 0 var(--nb-black);
  --nb-shadow-sm: 5px 5px 0 var(--nb-black);
  --nb-radius-lg: 18px;
  --nb-radius-md: 14px;
  --nb-radius-pill: 999px;
  color: var(--nb-black);
  background: var(--nb-cream);
  font-family: Inter, sans-serif;
}
body.dmf-tmpl-default #lqd-site-content {
  background-image: none !important;
  background: var(--nb-cream) !important;
}
body.dmf-tmpl-default .dmf-ambient { display:none; }

/* ---- Nav: thick pill, hard shadow ---- */
body.dmf-tmpl-default #site-header .lqd-head-sec-wrap,
body.dmf-tmpl-default .navbar {
  background: var(--nb-paper);
  border-bottom: var(--nb-border);
}
body.dmf-tmpl-default .main-nav > li > a {
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
  font-size: 13px;
}
body.dmf-tmpl-default .btn,
body.dmf-tmpl-default .btn-solid,
body.dmf-tmpl-default .btn-primary {
  background: var(--nb-yellow) !important;
  color: var(--nb-black) !important;
  border: var(--nb-border) !important;
  border-radius: var(--nb-radius-pill) !important;
  box-shadow: var(--nb-shadow-sm) !important;
  font-weight: 900 !important;
  letter-spacing: .01em;
  text-transform: none;
  transition: transform .08s, box-shadow .08s;
}
body.dmf-tmpl-default .btn:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--nb-black) !important; }
body.dmf-tmpl-default .btn:active { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--nb-black) !important; }
body.dmf-tmpl-default .btn-default {
  background: var(--nb-paper) !important;
  border: var(--nb-border) !important;
  box-shadow: var(--nb-shadow-sm) !important;
  color: var(--nb-black) !important;
  font-weight: 800 !important;
}

/* ---- Hero: brutal frame ---- */
body.dmf-tmpl-default #banner {
  background: var(--nb-cream) !important;
  padding-top: 34px !important;
}
body.dmf-tmpl-default #banner .ld-fancy-heading h1 {
  font-family: Inter, sans-serif;
  font-weight: 900 !important;
  font-size: clamp(36px, 6vw, 68px) !important;
  line-height: .92 !important;
  letter-spacing: -0.03em !important;
  text-transform: none;
}
body.dmf-tmpl-default #banner .ld-fancy-heading p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  max-width: 52ch;
  margin-inline: auto;
}
body.dmf-tmpl-default #banner .lqd-imggrp-single[data-hover3d] {
  border: var(--nb-border);
  border-radius: var(--nb-radius-lg);
  box-shadow: var(--nb-shadow);
  overflow: hidden;
  background: var(--nb-paper);
}
body.dmf-tmpl-default .sp-stats {
  background: var(--nb-paper) !important;
  border: var(--nb-border) !important;
  border-radius: var(--nb-radius-md) !important;
  box-shadow: var(--nb-shadow-sm) !important;
}
body.dmf-tmpl-default .sp-stats__num { font-weight: 900; font-size: 22px !important; }
body.dmf-tmpl-default .dmf-shell-chip {
  background: var(--nb-paper) !important;
  border: 2px solid var(--nb-black) !important;
  border-radius: var(--nb-radius-pill) !important;
  font-weight: 800 !important;
  box-shadow: 3px 3px 0 var(--nb-black) !important;
}

/* ---- Generic brutal cards ---- */
body.dmf-tmpl-default .lqd-card,
body.dmf-tmpl-default .dmf-schedule-card,
body.dmf-tmpl-default .sp-cta-white,
body.dmf-tmpl-default .dmf-shell-card {
  background: var(--nb-paper) !important;
  border: var(--nb-border) !important;
  border-radius: var(--nb-radius-md) !important;
  box-shadow: var(--nb-shadow-sm) !important;
}
body.dmf-tmpl-default .lqd-card:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--nb-black) !important; }

/* ---- Featured / Speakers brutal grid (home + dedicated) ---- */
body.dmf-tmpl-default .nb-featured-head {
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap;
}
body.dmf-tmpl-default .nb-featured-title {
  font-family: Inter, sans-serif;
  font-weight: 900;
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1;
  letter-spacing: -0.02em;
}
body.dmf-tmpl-default .nb-featured-subtitle { color: #4b4b4b; font-size: 14px; font-weight: 500; }
body.dmf-tmpl-default .nb-cta-pill {
  border: var(--nb-border);
  background: var(--nb-yellow);
  border-radius: var(--nb-radius-pill);
  padding: 7px 14px;
  font-weight: 900;
  box-shadow: 4px 4px 0 var(--nb-black);
  text-decoration:none;color:var(--nb-black);display:inline-flex;align-items:center;gap:6px;
}
body.dmf-tmpl-default .nb-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width:1024px){ body.dmf-tmpl-default .nb-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width:640px){ body.dmf-tmpl-default .nb-grid{ grid-template-columns: 1fr; } }
body.dmf-tmpl-default .nb-person {
  background: var(--nb-paper);
  border: var(--nb-border);
  border-radius: 16px;
  box-shadow: var(--nb-shadow-sm);
  overflow: hidden;
  display:flex;flex-direction:column;
  transition: transform .1s, box-shadow .1s;
}
body.dmf-tmpl-default .nb-person:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-person-media {
  aspect-ratio: 1.18;
  background: #f3f3f3;
  border-bottom: var(--nb-border);
  position: relative;
  overflow:hidden;
}
body.dmf-tmpl-default .nb-person-media img { width:100%; height:100%; object-fit: cover; display:block; }
body.dmf-tmpl-default .nb-person-badge {
  position:absolute; left:10px; bottom:10px;
  background: var(--nb-yellow);
  border: 2px solid var(--nb-black);
  border-radius: var(--nb-radius-pill);
  padding: 3px 10px;
  font-size: 11px; font-weight: 900;
  box-shadow: 3px 3px 0 var(--nb-black);
}
body.dmf-tmpl-default .nb-person-body { padding: 12px 12px 14px; flex:1; display:flex; flex-direction:column; }
body.dmf-tmpl-default .nb-person-name { font-weight: 900; font-size: 15px; line-height:1.15; }
body.dmf-tmpl-default .nb-person-role { font-size: 12px; font-weight: 700; opacity:.75; margin-top:2px; text-transform: uppercase; letter-spacing:.04em; }
body.dmf-tmpl-default .nb-person-bio { font-size: 13px; color:#2b2b2b; margin-top:8px; line-height:1.45; flex:1; }

/* Alternating card tints like Sweepy */
body.dmf-tmpl-default .nb-person:nth-child(4n+1) .nb-person-media{ background: #fff6c8; }
body.dmf-tmpl-default .nb-person:nth-child(4n+2) .nb-person-media{ background: #e5dbff; }
body.dmf-tmpl-default .nb-person:nth-child(4n+3) .nb-person-media{ background: #d6fff1; }
body.dmf-tmpl-default .nb-person:nth-child(4n+4) .nb-person-media{ background: #ffe1d6; }

/* - dedicated page header - */
body.dmf-tmpl-default .nb-page-hero {
  border: var(--nb-border);
  border-radius: var(--nb-radius-lg);
  box-shadow: var(--nb-shadow);
  background: var(--nb-lilac);
  padding: 22px;
  display:grid; gap:10px;
}
body.dmf-tmpl-default .nb-page-hero h1 { font-weight:900; font-size: clamp(28px, 4vw, 44px); line-height:.95; margin:0; }
body.dmf-tmpl-default .nb-page-hero p { margin:0; color:#1a1a1a; font-weight:500; }

/* ---- Neo Brutal header/nav (theme-aware) ---- */
body.dmf-tmpl-default .nb-header { display:block; }
body.dmf-tmpl-default .nb-announce {
  background: var(--nb-yellow);
  border-bottom: var(--nb-border);
  font-weight: 800; font-size: 13px;
}
body.dmf-tmpl-default .nb-announce-text { margin:0; }
body.dmf-tmpl-default .nb-announce-link {
  border: 2px solid var(--nb-black); background: var(--nb-paper); border-radius: var(--nb-radius-pill);
  padding: 4px 12px; font-weight: 900; text-decoration:none; color:var(--nb-black); box-shadow: 3px 3px 0 var(--nb-black);
}
body.dmf-tmpl-default .nb-nav-wrap {
  background: var(--nb-paper);
  border-bottom: var(--nb-border);
  position: sticky; top:0; z-index: 40;
}
body.dmf-tmpl-default .nb-brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--nb-black); }
body.dmf-tmpl-default .nb-logo { width:44px; height:44px; border-radius:10px; border: 2px solid var(--nb-black); object-fit:cover; background:#fff; }
body.dmf-tmpl-default .nb-brand-text { font-weight:900; font-size:18px; letter-spacing:-.02em; line-height:1; }
body.dmf-tmpl-default .nb-nav-list { display:flex; gap:6px; list-style:none; margin:0; padding:0; align-items:center; }
body.dmf-tmpl-default .nb-nav-list > li > a {
  display:block; padding:8px 14px; border:2px solid transparent; border-radius: var(--nb-radius-pill);
  font-weight: 800; font-size:13px; text-transform:uppercase; letter-spacing:.02em; text-decoration:none; color:var(--nb-black);
}
body.dmf-tmpl-default .nb-nav-list > li.is-active > a,
body.dmf-tmpl-default .nb-nav-list > li > a:hover { background: var(--nb-yellow); border-color: var(--nb-black); box-shadow: 3px 3px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-has-children { position:relative; }
body.dmf-tmpl-default .nb-sub {
  display:none; position:absolute; top:100%; left:0; min-width:180px; background: var(--nb-paper);
  border: var(--nb-border); border-radius: 12px; box-shadow: var(--nb-shadow-sm); padding:8px; list-style:none; margin:6px 0 0;
}
body.dmf-tmpl-default .nb-has-children:hover .nb-sub { display:block; }
body.dmf-tmpl-default .nb-sub a { display:block; padding:8px 12px; border-radius:8px; text-decoration:none; color:var(--nb-black); font-weight:700; }
body.dmf-tmpl-default .nb-sub a:hover { background: var(--nb-lilac); }
body.dmf-tmpl-default .nb-btn {
  border: var(--nb-border); border-radius: var(--nb-radius-pill); padding:10px 18px; font-weight:900; text-decoration:none; display:inline-flex; align-items:center; gap:6px; box-shadow: 4px 4px 0 var(--nb-black); transition:.08s;
}
body.dmf-tmpl-default .nb-btn-yellow { background: var(--nb-yellow); color:var(--nb-black); }
body.dmf-tmpl-default .nb-btn-white { background: var(--nb-paper); color:var(--nb-black); }
body.dmf-tmpl-default .nb-btn:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-burger { background: var(--nb-paper); border: var(--nb-border); border-radius:10px; width:42px; height:42px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; box-shadow:3px 3px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-burger span { display:block; width:18px; height:2.5px; background: var(--nb-black); border-radius:2px; }
body.dmf-tmpl-default .nb-mobile-panel { background: var(--nb-cream); border-top: var(--nb-border); }
body.dmf-tmpl-default .nb-mobile-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
body.dmf-tmpl-default .nb-mobile-list a { display:block; padding:12px 14px; background: var(--nb-paper); border: var(--nb-border); border-radius:12px; font-weight:800; text-decoration:none; color:var(--nb-black); box-shadow: 3px 3px 0 var(--nb-black); }

/* ---- Neo Brutal footer (theme-aware)  isolate from overlapping -mb-100 CTA ---- */
body.dmf-tmpl-default #site-footer.nb-footer,
body.dmf-tmpl-default .nb-footer {
  background: var(--nb-cream); border-top: var(--nb-border); padding: 28px 0 18px; margin-top: 48px !important;
  position: relative; z-index: 3; clear: both; isolation: isolate;
}
body.dmf-tmpl-default #download .module-col { margin-bottom: 0 !important; }
body.dmf-tmpl-default .lqd-section.download { margin-bottom: 0 !important; padding-bottom: 24px !important; }
body.dmf-tmpl-default #lqd-contents-wrap { padding-bottom: 24px; }
body.dmf-tmpl-default #lqd-site-content { padding-bottom: 0; }
body.dmf-tmpl-default .nb-footer-top {
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  border: var(--nb-border); border-radius: var(--nb-radius-lg); background: var(--nb-paper); box-shadow: var(--nb-shadow-sm); padding:14px 16px;
}
body.dmf-tmpl-default .nb-footer-brand { display:flex; align-items:center; gap:10px; font-weight:900; text-decoration:none; color:var(--nb-black); }
body.dmf-tmpl-default .nb-footer-brand img { width:40px; height:40px; border-radius:10px; border:2px solid var(--nb-black); background:#fff; object-fit:cover; }
body.dmf-tmpl-default .nb-footer-nav { display:flex; gap:14px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
body.dmf-tmpl-default .nb-footer-nav a { font-weight:800; text-decoration:none; color:var(--nb-black); }
body.dmf-tmpl-default .nb-footer-social { display:flex; gap:8px; }
body.dmf-tmpl-default .nb-footer-social a { width:36px; height:36px; display:flex; align-items:center; justify-content:center; background: var(--nb-yellow); border:2px solid var(--nb-black); border-radius:999px; font-weight:900; font-size:12px; text-decoration:none; color:var(--nb-black); box-shadow:2px 2px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-footer-mid { display:grid; grid-template-columns: 1.2fr .8fr; gap:16px; margin-top:16px; }
@media(max-width:900px){ body.dmf-tmpl-default .nb-footer-mid{ grid-template-columns:1fr; } }
body.dmf-tmpl-default .nb-footer-big {
  border: var(--nb-border); border-radius: var(--nb-radius-lg); background: var(--nb-lilac); box-shadow: var(--nb-shadow); padding:18px;
}
body.dmf-tmpl-default .nb-footer-big h2 { font-weight:900; font-size: clamp(22px, 3vw, 30px); line-height:1; margin:0 0 8px; }
body.dmf-tmpl-default .nb-footer-ctas { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
body.dmf-tmpl-default .nb-footer-cards { display:grid; gap:12px; }
body.dmf-tmpl-default .nb-footer-card { border: var(--nb-border); border-radius:14px; padding:14px; box-shadow: var(--nb-shadow-sm); }
body.dmf-tmpl-default .nb-footer-card--yellow { background: var(--nb-yellow); }
body.dmf-tmpl-default .nb-footer-card--lilac { background: #fff; }
body.dmf-tmpl-default .nb-footer-bottom { margin-top:16px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:#222; border-top:2px dashed #000; padding-top:12px; }
body.dmf-tmpl-default .nb-map-section { padding:18px 0; }
body.dmf-tmpl-default .nb-map-card { border: var(--nb-border); border-radius: var(--nb-radius-lg); box-shadow: var(--nb-shadow); overflow:hidden; background: var(--nb-paper); padding:12px; }
body.dmf-tmpl-default .nb-map-head h2 { font-weight:900; margin:0; }
body.dmf-tmpl-default .nb-map { height:380px; border: var(--nb-border); border-radius:12px; overflow:hidden; margin-top:10px; }
body.dmf-tmpl-default .nb-map-meta { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
body.dmf-tmpl-default .nb-pill { border:2px solid var(--nb-black); border-radius:999px; padding:6px 12px; font-weight:800; background: var(--nb-paper); box-shadow:2px 2px 0 var(--nb-black); text-decoration:none; color:var(--nb-black); display:inline-flex; gap:6px; }
body.dmf-tmpl-default .nb-pill-yellow { background: var(--nb-yellow); }

/* ---- Sponsors ticker (homepage) - brutal marquee like media ---- */
body.dmf-tmpl-default .nb-sponsors-ticker { background: var(--nb-paper); border-top: var(--nb-border); border-bottom: var(--nb-border); padding: 18px 0; }
body.dmf-tmpl-default .nb-sponsors-label { font-weight: 900; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #111; }
body.dmf-tmpl-default .nb-sponsors-link { font-weight: 800; font-size: 13px; color: var(--nb-black); text-decoration: underline; text-underline-offset: 3px; }
body.dmf-tmpl-default .nb-sponsors-marquee .carousel-item { width: 200px; margin-right: 14px; }
body.dmf-tmpl-default .nb-sponsor-ticker-item { display:flex; flex-direction:column; align-items:center; gap:8px; }
body.dmf-tmpl-default .nb-sponsor-card {
  width: 180px; height: 92px; background: var(--nb-paper); border: var(--nb-border); border-radius: 14px; box-shadow: 4px 4px 0 var(--nb-black);
  display:flex; align-items:center; justify-content:center; padding:10px; overflow:hidden; cursor: zoom-in;
}
body.dmf-tmpl-default .nb-sponsor-card img { max-width: 100%; max-height: 100%; object-fit: contain; display:block; }
body.dmf-tmpl-default .nb-sponsor-name { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing:.04em; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---- Demfati mounts  isolate from legacy skeletons, prevent footer overlap ---- */
body.dmf-tmpl-default .nb-ticket-mount,
body.dmf-tmpl-default .nb-vote-mount,
body.dmf-tmpl-default .nb-review-mount { position: relative; z-index: 1; display:block; min-height: 80px; }
body.dmf-tmpl-default #demfati-tickets:empty::before,
body.dmf-tmpl-default #demfati-voting:empty::before,
body.dmf-tmpl-default #demfati-reviews:empty::before {
  content: 'Loading...'; display:block; padding:24px; text-align:center;
  border: var(--nb-border); border-radius: var(--nb-radius-md); background: var(--nb-paper); box-shadow: var(--nb-shadow-sm);
  font-weight: 800;
}

/* ---- About / Contact brutal  force theme palette over hub tints ---- */
body.dmf-tmpl-default .sp-section-tint,
body.dmf-tmpl-default .sp-section-tint#about,
body.dmf-tmpl-default .sp-section-tint#gallery,
body.dmf-tmpl-default .nb-about-section,
body.dmf-tmpl-default .nb-contact-section { background: var(--nb-cream) !important; }
body.dmf-tmpl-default .sp-section-head .ld-fh-label { background: var(--nb-yellow); border:2px solid var(--nb-black); border-radius:999px; padding:4px 10px; font-weight:900; box-shadow:2px 2px 0 var(--nb-black); color: var(--nb-black) !important; }
body.dmf-tmpl-default .bento-chip,
body.dmf-tmpl-default .sp-chip-row .bento-chip {
  background: var(--nb-paper) !important; border:2px solid var(--nb-black) !important; border-radius:999px !important;
  font-weight:800 !important; color:var(--nb-black) !important; box-shadow:2px 2px 0 var(--nb-black) !important;
}
body.dmf-tmpl-default .lqd-card.sp-chip-row { background: transparent !important; border:0 !important; box-shadow:none !important; }
body.dmf-tmpl-default .nb-about-grid { display:grid; grid-template-columns: 1.25fr .75fr; gap:16px; align-items:start; }
@media(max-width:900px){ body.dmf-tmpl-default .nb-about-grid{ grid-template-columns:1fr; } }
body.dmf-tmpl-default .nb-about-card { background:var(--nb-paper); border:var(--nb-border); border-radius:var(--nb-radius-lg); box-shadow:var(--nb-shadow); padding:18px; }
body.dmf-tmpl-default .nb-about-card--main { background: var(--nb-paper); }
body.dmf-tmpl-default .nb-about-card--org { background: var(--nb-lilac); }
body.dmf-tmpl-default .nb-about-kicker { font-weight:900; font-size:12px; letter-spacing:.08em; text-transform:uppercase; display:inline-flex; gap:6px; align-items:center; border:2px solid var(--nb-black); border-radius:999px; padding:4px 10px; background:var(--nb-yellow); box-shadow:2px 2px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-about-body { margin-top:12px; color:#0a0a0a; line-height:1.7; }
body.dmf-tmpl-default .nb-about-body p { color:#0a0a0a !important; margin:0; }
body.dmf-tmpl-default .nb-org-avatar { width:80px; height:80px; border-radius:14px; border:3px solid var(--nb-black); background:#fff; object-fit:cover; flex:0 0 auto; box-shadow:3px 3px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-social-pill { width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:var(--nb-yellow); border:2px solid var(--nb-black); border-radius:999px; font-weight:900; font-size:11px; text-decoration:none; color:var(--nb-black); box-shadow:2px 2px 0 var(--nb-black); }
body.dmf-tmpl-default .nb-about-meta { display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:16px; }
@media(max-width:900px){ body.dmf-tmpl-default .nb-about-meta{ grid-template-columns:1fr; } }
body.dmf-tmpl-default .nb-about-meta-card { border:var(--nb-border); border-radius:14px; background:var(--nb-paper); box-shadow:var(--nb-shadow-sm); padding:14px; display:grid; gap:6px; }
body.dmf-tmpl-default .nb-about-meta-card--cta { background:var(--nb-mint); }
body.dmf-tmpl-default .nb-about-meta-card strong { font-weight:900; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
body.dmf-tmpl-default .nb-about-meta-card span { font-size:13px; color:#111; }
body.dmf-tmpl-default .nb-link { font-weight:800; text-decoration:underline; text-underline-offset:3px; color:var(--nb-black); }
body.dmf-tmpl-default .nb-chip-row { display:flex; gap:8px; flex-wrap:wrap; }
body.dmf-tmpl-default .nb-contact-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:16px; align-items:start; }
@media(max-width:900px){ body.dmf-tmpl-default .nb-contact-grid{ grid-template-columns:1fr; } }
body.dmf-tmpl-default .nb-contact-stack { display:grid; gap:12px; }
body.dmf-tmpl-default .nb-contact-card { border:var(--nb-border); border-radius:16px; background:var(--nb-paper); box-shadow:var(--nb-shadow-sm); padding:16px; }
body.dmf-tmpl-default .nb-contact-card--lilac { background:var(--nb-lilac); }
body.dmf-tmpl-default .nb-contact-card--mint { background:var(--nb-mint); }
body.dmf-tmpl-default .nb-contact-card h3 { margin:0 0 8px; font-weight:900; font-size:16px; display:flex; gap:8px; align-items:center; }
body.dmf-tmpl-default .nb-contact-form-card { border:var(--nb-border); border-radius:18px; background:var(--nb-paper); box-shadow:var(--nb-shadow); padding:16px; }
body.dmf-tmpl-default .nb-contact-form-card h3 { margin:0 0 4px; font-weight:900; font-size:18px; }

/* ---- FAQ - appealing smooth transition (was sudden) ---- */
body.dmf-tmpl-default #accordion-help .accordion-item {
  background: var(--nb-paper);
  border: var(--nb-border);
  border-radius: 16px;
  box-shadow: var(--nb-shadow-sm);
  overflow: hidden;
  transition: box-shadow .28s cubic-bezier(0.22,1,0.36,1), transform .28s cubic-bezier(0.22,1,0.36,1), border-color .22s ease;
}
body.dmf-tmpl-default #accordion-help .accordion-item:hover {
  box-shadow: 6px 6px 0 var(--nb-black);
  transform: translate(-1px,-1px);
}
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) {
  box-shadow: 7px 7px 0 var(--nb-black);
  border-color: var(--nb-black);
}
body.dmf-tmpl-default #accordion-help .accordion-heading {
  margin: 0;
}
body.dmf-tmpl-default #accordion-help .accordion-title button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px !important;
  background: transparent !important;
  border: 0;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--nb-black);
  cursor: pointer;
  text-align: left;
  transition: background .22s ease;
}
body.dmf-tmpl-default #accordion-help .accordion-title button:hover {
  background: rgba(201,182,255,.18) !important;
}
body.dmf-tmpl-default #accordion-help .accordion-expander {
  position: relative !important;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 2px solid var(--nb-black);
  border-radius: 50%;
  background: var(--nb-yellow);
  box-shadow: 2px 2px 0 var(--nb-black);
  font-size: 18px !important;
  line-height: 1;
  transition: transform .45s cubic-bezier(0.22,1,0.36,1), background .22s ease, box-shadow .22s ease;
  overflow: hidden;
}
body.dmf-tmpl-default #accordion-help .accordion-expander .lqd-icn-ess,
body.dmf-tmpl-default #accordion-help .accordion-expander i[class^="ri-"] {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  transition: opacity .3s ease, transform .4s cubic-bezier(0.22,1,0.36,1);
}
body.dmf-tmpl-default #accordion-help .accordion-expander .icon-ion-ios-add,
body.dmf-tmpl-default #accordion-help .accordion-expander .ri-add-line {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}
body.dmf-tmpl-default #accordion-help .accordion-expander .icon-ion-ios-remove,
body.dmf-tmpl-default #accordion-help .accordion-expander .ri-subtract-line {
  opacity: 0;
  transform: rotate(-90deg) scale(.7);
}
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) .accordion-expander {
  background: var(--nb-black);
  color: var(--nb-paper) !important;
  transform: rotate(90deg);
  box-shadow: 2px 2px 0 rgba(0,0,0,.2);
}
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) .accordion-expander .icon-ion-ios-add,
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) .accordion-expander .ri-add-line {
  opacity: 0;
  transform: rotate(90deg) scale(.7);
}
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) .accordion-expander .icon-ion-ios-remove,
body.dmf-tmpl-default #accordion-help .accordion-item:has(.collapse.show) .accordion-expander .ri-subtract-line {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}
/* Bootstrap collapse height is JS-driven (height 0 -> scrollHeight). Make it buttery */
body.dmf-tmpl-default #accordion-help .accordion-collapse {
  border-top: 2px solid transparent;
  transition: height .52s cubic-bezier(0.22,1,0.36,1) !important;
  will-change: height;
}
body.dmf-tmpl-default #accordion-help .accordion-collapse.show {
  border-top-color: var(--nb-black);
}
body.dmf-tmpl-default #accordion-help .accordion-collapse.collapsing {
  transition: height .5s cubic-bezier(0.22,1,0.36,1) !important;
}
/* Content fade + slide  appears after height starts, feels premium not instant */
body.dmf-tmpl-default #accordion-help .accordion-content {
  padding: 6px 22px 22px 22px;
  opacity: 0;
  transform: translateY(-8px);
  filter: blur(0.5px);
  transition: opacity .38s ease .08s, transform .45s cubic-bezier(0.22,1,0.36,1) .05s, filter .35s ease .05s;
  will-change: opacity, transform;
}
body.dmf-tmpl-default #accordion-help .accordion-collapse.show .accordion-content {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
body.dmf-tmpl-default #accordion-help .accordion-collapse.collapsing .accordion-content {
  opacity: 0;
  transform: translateY(-6px);
}
body.dmf-tmpl-default #accordion-help .accordion-content p {
  color: #1a1a1a !important;
  font-size: 15px;
  line-height: 1.65;
  margin: 0;
}
body.dmf-tmpl-default #accordion-help .accordion-content a { font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* ---- Footer / typography overrides for brutal ---- */
body.dmf-tmpl-default h2.ld-fh-element, body.dmf-tmpl-default h3.ld-fh-element { font-weight: 900 !important; letter-spacing:-0.02em; color: var(--nb-black) !important; }
body.dmf-tmpl-default .ld-fancy-heading p,
body.dmf-tmpl-default .ld-fh-lead { color:#111 !important; }
body.dmf-tmpl-default .text-gray-500, body.dmf-tmpl-default .text-slate-700, body.dmf-tmpl-default .text-muted { color:#111 !important; }

/* ---- Voting - brutal overrides (theme-aware cards + compact time label) ---- */
body.dmf-tmpl-default #voting .ld-fh-label { font-size: 11px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; padding: 4px 10px !important; font-weight: 900 !important; }
body.dmf-tmpl-default .sp-countdown--compact { gap: 8px !important; }
body.dmf-tmpl-default .sp-countdown--compact .sp-countdown__cell { background: var(--nb-paper) !important; border: var(--nb-border) !important; border-radius: 12px !important; box-shadow: 3px 3px 0 var(--nb-black) !important; min-width: 64px !important; padding: 10px 12px !important; }
body.dmf-tmpl-default .sp-countdown--compact .sp-countdown__num { font-size: 1.35rem !important; font-weight: 900 !important; color: var(--nb-black) !important; }
body.dmf-tmpl-default .sp-countdown--compact .sp-countdown__lbl { font-size: 0.65rem !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; font-weight: 800 !important; }
body.dmf-tmpl-default #voting .selection-card { background: var(--nb-paper) !important; border: var(--nb-border) !important; border-radius: 14px !important; box-shadow: var(--nb-shadow-sm) !important; }
body.dmf-tmpl-default #voting .selection-card:hover { transform: translate(-1px,-1px); box-shadow: 5px 5px 0 var(--nb-black) !important; border-color: var(--nb-black) !important; }
body.dmf-tmpl-default #voting .contestant-card.selection-card-wrap { display: block; margin-bottom: 10px; }
body.dmf-tmpl-default .dmf-podium { background: var(--nb-paper); border: var(--nb-border); border-radius: 18px; box-shadow: var(--nb-shadow-sm); padding: 24px 16px 16px !important; margin-bottom: 20px !important; }
