.elementor-1518 .elementor-element.elementor-element-7107f81{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1518 .elementor-element.elementor-element-3c7d749 .elementor-menu-toggle{margin:0 auto;}.elementor-1518 .elementor-element.elementor-element-8d2d2f9 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* DJ Sam 2026 — huisstijl voor Elementor (Site-instellingen → Aangepaste CSS) */
@font-face { font-family: "DJ Archivo"; src: url("/wp-content/uploads/djsam/fonts/archivo-latin.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DJ Archivo"; src: url("/wp-content/uploads/djsam/fonts/archivo-latin-ext.woff2") format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DJ Archivo Black"; src: url("/wp-content/uploads/djsam/fonts/archivo-black-latin.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "DJ Archivo Black"; src: url("/wp-content/uploads/djsam/fonts/archivo-black-latin-ext.woff2") format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --dj-night: #0a111d; --dj-navy: #172943; --dj-navy-2: #1d3354; --dj-card: #121c2e;
  --dj-pink: #fb2056; --dj-pink-2: #ff5a82; --dj-violet: #7b4dff;
  --dj-text: #e9ecf3; --dj-muted: #9ba7be; --dj-line: rgba(255,255,255,.1);
  --dj-glow: linear-gradient(120deg, var(--dj-pink) 0%, #ff4f7b 45%, var(--dj-violet) 100%);
  --dj-radius: 22px; --dj-gutter: clamp(16px, 4vw, 40px); --dj-ease: cubic-bezier(.2,.7,.2,1);
  --dj-display: "DJ Archivo Black", "Arial Black", system-ui, sans-serif;
  --dj-font: "DJ Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Basis */
body { background: var(--dj-night) !important; color: var(--dj-text); font-family: var(--dj-font); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea, .elementor-widget-text-editor, .elementor-button { font-family: var(--dj-font); }
.elementor-widget-heading .elementor-heading-title { font-family: var(--dj-display); color: #fff; line-height: 1.02; letter-spacing: -.01em; font-weight: 400; }
.elementor { --e-global-color-primary: #FB2056; --e-global-color-secondary: #172943; --e-global-color-text: #E9ECF3; --e-global-color-accent: #FB2056;
  --e-global-typography-primary-font-family: "DJ Archivo Black"; --e-global-typography-secondary-font-family: "DJ Archivo"; --e-global-typography-text-font-family: "DJ Archivo"; --e-global-typography-accent-font-family: "DJ Archivo"; }
.elementor-widget-text-editor { color: var(--dj-muted); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
::selection { background: var(--dj-pink); color: #fff; }
.dj-page a:not(.elementor-button) { color: var(--dj-pink-2); }

/* Secties */
.e-con.dj-sec { --padding-left: var(--dj-gutter); --padding-right: var(--dj-gutter); --padding-top: clamp(72px, 10vw, 130px); --padding-bottom: clamp(72px, 10vw, 130px); position: relative; }
.e-con.dj-sec--tight { --padding-top: clamp(40px, 5vw, 64px); --padding-bottom: clamp(40px, 5vw, 64px); }
.e-con.dj-alt { background: var(--dj-navy); }
.e-con.dj-glowbg { background: radial-gradient(60% 80% at 100% 0%, rgba(123,77,255,.22), transparent 60%), radial-gradient(50% 70% at 0% 100%, rgba(251,32,86,.18), transparent 60%), var(--dj-night); }

.dj-eyebrow .elementor-heading-title { font-family: var(--dj-font); font-weight: 700; font-size: .8rem; letter-spacing: .22em; text-transform: uppercase; color: var(--dj-pink); display: inline-flex; align-items: center; gap: 10px; line-height: 1.4; }
.dj-eyebrow .elementor-heading-title::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.dj-center .dj-eyebrow .elementor-heading-title::after { content: ""; width: 26px; height: 2px; background: currentColor; }
.dj-h1 .elementor-heading-title { font-size: clamp(2.8rem, 7.2vw, 6.2rem); text-transform: uppercase; letter-spacing: -.02em; line-height: .92; }
.dj-h1--page .elementor-heading-title { font-size: clamp(2.6rem, 6.5vw, 5.2rem); }
.dj-h2 .elementor-heading-title { font-size: clamp(2.1rem, 4.6vw, 3.6rem); text-transform: uppercase; line-height: .98; }
.dj-h3 .elementor-heading-title { font-size: 1.35rem; text-transform: uppercase; letter-spacing: 0; }
.dj-grad { background: var(--dj-glow); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.dj-outline { color: transparent; -webkit-text-stroke: 2px #fff; }
.dj-lead { font-size: clamp(1.08rem, 1.6vw, 1.28rem); color: #c3cbdb; max-width: 58ch; }
.e-con.dj-head { --row-gap: 16px; --column-gap: 16px; max-width: 820px; margin-bottom: clamp(36px, 5vw, 64px); }
.e-con.dj-head.dj-center { margin-inline: auto; text-align: center; --align-items: center; }
.dj-center .dj-lead { margin-inline: auto; }

/* Knoppen */
.e-con.dj-btns { --flex-direction: row; --flex-wrap: wrap; --row-gap: 12px; --column-gap: 12px; --width: auto; }
.dj-center .e-con.dj-btns, .e-con.dj-btns.dj-center { --justify-content: center; }
.dj-btn .elementor-button { display: inline-flex; align-items: center; gap: 10px; padding: 17px 28px; border-radius: 999px; border: 0; background: var(--dj-glow); background-size: 160% 100%; background-position: 0 0; font-family: var(--dj-font); font-weight: 800; font-size: 1rem; letter-spacing: .02em; text-transform: none; line-height: 1; box-shadow: 0 10px 30px -10px rgba(251,32,86,.7); transition: transform .25s var(--dj-ease), box-shadow .25s var(--dj-ease), background-position .4s; }
.dj-btn .elementor-button:hover, .dj-btn .elementor-button:focus { transform: translateY(-2px); background-position: 100% 0; box-shadow: 0 14px 36px -10px rgba(251,32,86,.9); }
.dj-btn .elementor-button-content-wrapper { gap: 10px; flex-direction: row-reverse; }
.dj-btn .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; transition: transform .25s var(--dj-ease); }
.dj-btn .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }
.dj-btn--ghost .elementor-button { background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.28); box-shadow: none; backdrop-filter: blur(6px); }
.dj-btn--ghost .elementor-button:hover, .dj-btn--ghost .elementor-button:focus { background: rgba(255,255,255,.12); border-color: #fff; box-shadow: none; }
.dj-btn--sm .elementor-button { padding: 12px 20px; font-size: .94rem; }
/* tekstkleur altijd wit, ook bij bezochte links (Astra kleurt die anders) */
.elementor-widget-button.dj-btn .elementor-button, .elementor-widget-button.dj-btn .elementor-button:visited, .elementor-widget-button.dj-btn .elementor-button:hover, .elementor-widget-button.dj-btn .elementor-button:focus, .elementor-widget-button.dj-btn .elementor-button:active { color: #fff; }
.elementor-widget-button .elementor-button .elementor-button-icon svg { fill: currentColor; }

/* Header (Theme Builder) */
.elementor-location-header { position: sticky; top: 0; z-index: 99; }
.admin-bar .elementor-location-header { top: 32px; }
.e-con.dj-header { background: rgba(10,17,29,.72); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--dj-line); --padding-left: var(--dj-gutter); --padding-right: var(--dj-gutter); }
.e-con.dj-header > .e-con-inner { --flex-direction: row; --align-items: center; --justify-content: space-between; --row-gap: 24px; --column-gap: 24px; min-height: 80px; flex-wrap: nowrap; }
.dj-header__logo img { height: 46px; width: auto; }
.dj-nav { flex: 1 1 auto; }
.dj-nav .elementor-nav-menu--main .elementor-item { padding: 10px 16px; margin: 0 2px; color: #d6dbe6; font-weight: 600; font-size: .98rem; border-radius: 999px; transition: color .2s, background .2s; }
.dj-nav .elementor-nav-menu--main .elementor-item:hover { color: #fff; background: rgba(255,255,255,.06); }
.dj-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #fff; background: rgba(251,32,86,.16); }
.dj-nav .elementor-nav-menu--main .dj-menu-contact { display: none; }
.dj-nav .elementor-menu-toggle { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--dj-line); background: rgba(255,255,255,.04); }
.dj-nav .elementor-menu-toggle svg { fill: #fff; width: 20px; height: 20px; }
.dj-nav .elementor-nav-menu--dropdown { background: var(--dj-night); border-bottom: 1px solid var(--dj-line); padding: 10px var(--dj-gutter) 20px; }
.dj-nav .elementor-nav-menu--dropdown .elementor-item { padding: 14px 16px !important; font-size: 1.15rem; color: #e9ecf3; border-radius: 14px; background: transparent; font-weight: 600; }
.dj-nav .elementor-nav-menu--dropdown .elementor-item:hover, .dj-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { background: rgba(251,32,86,.14); color: #fff; }
@media (max-width: 1024px) {
  .e-con.dj-header > .e-con-inner { min-height: 68px; }
  .dj-header__logo img { height: 38px; }
  .dj-nav { flex: 0 0 auto; order: 3; }
  .dj-header .dj-btn--sm { margin-left: auto; }
}
@media (max-width: 480px) { .dj-header .dj-btn--sm { display: none; } }

/* Hero */
.e-con.dj-hero { min-height: min(92vh, 860px); --justify-content: center; overflow: hidden; background-position: 70% 30%; background-size: cover; --padding-top: 120px; --padding-bottom: 110px; }
.e-con.dj-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 1;
  background: linear-gradient(90deg, rgba(10,17,29,.96) 0%, rgba(10,17,29,.86) 38%, rgba(10,17,29,.35) 70%, rgba(10,17,29,.55) 100%), linear-gradient(0deg, var(--dj-night) 0%, transparent 35%), radial-gradient(40% 50% at 85% 20%, rgba(123,77,255,.35), transparent 70%); }
.e-con.dj-hero > .e-con-inner { position: relative; z-index: 1; --row-gap: 26px; --column-gap: 26px; }
.e-con.dj-hero__text { --row-gap: 24px; --column-gap: 24px; max-width: 900px; }
.dj-hero .dj-lead { color: #d3d9e5; }
.dj-eq { display: inline-flex; align-items: flex-end; gap: 4px; height: 28px; }
.dj-eq i { width: 5px; border-radius: 3px; background: var(--dj-glow); animation: dj-eq 1.1s ease-in-out infinite; height: 40%; }
.dj-eq i:nth-child(2) { animation-delay: -.3s; } .dj-eq i:nth-child(3) { animation-delay: -.6s; } .dj-eq i:nth-child(4) { animation-delay: -.15s; } .dj-eq i:nth-child(5) { animation-delay: -.45s; }
@keyframes dj-eq { 0%, 100% { height: 25%; } 50% { height: 100%; } }
.dj-trust .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.dj-trust .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.dj-trust .elementor-icon-list-item::after { display: none !important; }
.dj-trust .elementor-icon-list-text { color: #c3cbdb; font-weight: 600; font-size: .95rem; }
.dj-trust .elementor-icon-list-icon svg { fill: var(--dj-pink); width: 16px; height: 16px; }

/* Genre-marquee */
.e-con.dj-band { background: var(--dj-glow); transform: rotate(-2deg); margin: -34px -20px 0; --padding-top: 18px; --padding-bottom: 18px; overflow: hidden; z-index: 2; box-shadow: 0 20px 50px -20px rgba(251,32,86,.6); }
.dj-marquee { overflow: hidden; }
.dj-marquee ul { display: flex; gap: 0; width: max-content; margin: 0; padding: 0; list-style: none; animation: dj-marquee 32s linear infinite; }
.dj-marquee li { font-family: var(--dj-display); text-transform: uppercase; font-size: clamp(1.3rem, 2.6vw, 2rem); color: #fff; white-space: nowrap; display: flex; align-items: center; line-height: 1.2; }
.dj-marquee li::after { content: "✦"; font-size: .7em; margin: 0 26px; color: rgba(255,255,255,.75); }
@keyframes dj-marquee { to { transform: translateX(-50%); } }

/* Feest-kaarten */
.e-con.dj-events { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.e-con.dj-event { position: relative; border-radius: var(--dj-radius); overflow: hidden; aspect-ratio: 4 / 5; --justify-content: flex-end; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 24px; --padding-right: 24px; --row-gap: 8px; --column-gap: 8px; isolation: isolate; text-decoration: none; }
.e-con.dj-event > .elementor-widget-image { position: absolute !important; inset: 0; z-index: -2; margin: 0; }
.dj-event .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--dj-ease); }
.e-con.dj-event::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,17,29,0) 30%, rgba(10,17,29,.92) 100%); transition: background .4s; }
.e-con.dj-event:hover .elementor-widget-image img { transform: scale(1.06); }
.e-con.dj-event:hover::after { background: linear-gradient(180deg, rgba(251,32,86,.05) 20%, rgba(10,17,29,.95) 100%); }
.dj-event .dj-h3 .elementor-heading-title { font-size: 1.25rem; }
.dj-event .elementor-widget-text-editor { color: #c9d0dd; font-size: .95rem; line-height: 1.5; }
@media (max-width: 1024px) { .e-con.dj-events { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .e-con.dj-events { grid-template-columns: 1fr; } .e-con.dj-event { aspect-ratio: 4 / 4.2; } }

/* Split (tekst + beeld) */
.e-con.dj-split > .e-con-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 96px); align-items: center; }
.e-con.dj-split--rev > .e-con-inner > :first-child { order: 2; }
.e-con.dj-col { --row-gap: 20px; --column-gap: 20px; }
.dj-photo img { width: 100%; border-radius: var(--dj-radius); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); }
.e-con.dj-photo-wrap { position: relative; }
.e-con.dj-photo-wrap::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: var(--dj-radius); background: var(--dj-glow); opacity: .55; z-index: 0; filter: blur(0); }
.dj-photo-wrap > .elementor-element { position: relative; z-index: 1; }
@media (max-width: 860px) { .e-con.dj-split > .e-con-inner { grid-template-columns: 1fr; } .e-con.dj-split--rev > .e-con-inner > :first-child { order: 0; } .e-con.dj-photo-wrap { max-width: 520px; } }

.dj-chips ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 6px 0 0; }
.dj-chips li { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--dj-line); background: rgba(255,255,255,.04); color: #dfe4ee; font-weight: 600; font-size: .9rem; line-height: 1.3; }

/* Werkwijze */
.e-con.dj-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: djstep; }
.e-con.dj-step { --padding-top: 30px; --padding-bottom: 30px; --padding-left: 26px; --padding-right: 26px; --row-gap: 10px; --column-gap: 10px; border-radius: var(--dj-radius); background: var(--dj-card); border: 1px solid var(--dj-line); transition: transform .35s var(--dj-ease), border-color .35s; }
.e-con.dj-step:hover { transform: translateY(-4px); border-color: rgba(251,32,86,.5); }
.dj-step .elementor-widget-heading::before { counter-increment: djstep; content: "0" counter(djstep); display: block; font-family: var(--dj-display); font-size: 2.6rem; line-height: 1; margin-bottom: 18px; background: var(--dj-glow); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dj-step .elementor-widget-text-editor { font-size: .97rem; }
@media (max-width: 1024px) { .e-con.dj-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .e-con.dj-steps { grid-template-columns: 1fr; } }

/* Galerij */
.e-con.dj-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 14px; }
.dj-gallery > .elementor-widget-image { margin: 0; border-radius: 18px; overflow: hidden; }
.dj-gallery > .elementor-widget-image:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.dj-gallery > .elementor-widget-image:nth-child(4) { grid-row: span 2; }
.dj-gallery .elementor-widget-image a, .dj-gallery .elementor-widget-image .elementor-widget-container { display: block; height: 100%; }
.dj-gallery img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .7s var(--dj-ease), filter .4s; filter: saturate(1.05); }
.dj-gallery .elementor-widget-image:hover img { transform: scale(1.05); filter: saturate(1.25); }
@media (max-width: 860px) { .e-con.dj-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; } .dj-gallery > .elementor-widget-image:nth-child(4) { grid-row: auto; } }

/* Citaat */
.dj-quote .elementor-heading-title { font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1.12; text-transform: none; }
.dj-quote .elementor-heading-title::before { content: "“"; display: block; font-size: 4rem; line-height: .6; color: var(--dj-pink); margin-bottom: 14px; }

/* CTA */
.e-con.dj-cta-wrap { --padding-left: var(--dj-gutter); --padding-right: var(--dj-gutter); }
.e-con.dj-cta { position: relative; overflow: hidden; border-radius: 32px; --padding-top: clamp(44px, 7vw, 90px); --padding-bottom: clamp(44px, 7vw, 90px); --padding-left: clamp(28px, 6vw, 80px); --padding-right: clamp(28px, 6vw, 80px); --row-gap: 18px; --column-gap: 18px; text-align: center; --align-items: center; background: radial-gradient(70% 120% at 0% 0%, rgba(251,32,86,.55), transparent 60%), radial-gradient(70% 120% at 100% 100%, rgba(123,77,255,.55), transparent 60%), var(--dj-navy); border: 1px solid var(--dj-line); }
.dj-cta .elementor-widget-text-editor { color: #d3d9e5; max-width: 54ch; margin-inline: auto; font-size: 1.1rem; }

/* Contact */
.e-con.dj-contact > .e-con-inner { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.e-con.dj-contact__info { --row-gap: 14px; --column-gap: 14px; }
.dj-citem .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 16px; text-align: left; padding: 18px 20px; border-radius: 18px; background: var(--dj-card); border: 1px solid var(--dj-line); transition: border-color .25s, transform .3s var(--dj-ease); }
.dj-citem .elementor-icon-box-wrapper:hover { border-color: rgba(251,32,86,.6); transform: translateX(4px); }
.dj-citem .elementor-icon-box-icon { margin: 0 !important; }
.dj-citem .elementor-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: rgba(251,32,86,.14); }
.dj-citem .elementor-icon svg { width: 20px; height: 20px; fill: var(--dj-pink); }
.dj-citem .elementor-icon-box-title { margin: 0; font-family: var(--dj-font); font-size: .78rem; color: var(--dj-muted); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.dj-citem .elementor-icon-box-title a { color: inherit !important; text-decoration: none; }
.dj-citem .elementor-icon-box-description { margin: 0; color: #fff; font-weight: 700; font-size: 1.02rem; }
.e-con.dj-form { --padding-top: clamp(26px, 4vw, 44px); --padding-bottom: clamp(26px, 4vw, 44px); --padding-left: clamp(22px, 4vw, 44px); --padding-right: clamp(22px, 4vw, 44px); --row-gap: 8px; --column-gap: 8px; border-radius: 26px; background: var(--dj-card); border: 1px solid var(--dj-line); box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.dj-form .elementor-field-group { margin-bottom: 18px; }
.dj-form .elementor-field-label { font-weight: 700; font-size: .92rem; color: #fff; margin-bottom: 8px; }
.dj-form .elementor-field-textual { font-family: var(--dj-font); font-size: 1rem; color: #fff; padding: 14px 16px; border-radius: 12px !important; border: 1.5px solid var(--dj-line) !important; background: rgba(255,255,255,.04) !important; min-height: 52px; transition: border-color .2s, box-shadow .2s; }
.dj-form .elementor-field-textual::placeholder { color: #6f7b92; }
.dj-form textarea.elementor-field-textual { min-height: 160px; }
.dj-form .elementor-field-textual:focus { outline: none; border-color: var(--dj-pink) !important; box-shadow: 0 0 0 4px rgba(251,32,86,.18); }
.dj-form .elementor-button[type="submit"], .dj-form .elementor-button[type="submit"]:hover, .dj-form .elementor-button[type="submit"]:focus { width: 100%; justify-content: center; padding: 17px 26px; border-radius: 999px; background: var(--dj-glow) !important; color: #fff; font-weight: 800; font-size: 1rem; text-transform: none; letter-spacing: .02em; }
.dj-form .elementor-message { color: #fff; }
.dj-fine { font-size: .86rem; color: var(--dj-muted); }
@media (max-width: 860px) { .e-con.dj-contact > .e-con-inner { grid-template-columns: 1fr; } .e-con.dj-form { order: -1; } }

/* Pagina-hero (subpagina's) */
.e-con.dj-page-hero { overflow: hidden; --padding-top: clamp(60px, 8vw, 110px); --padding-bottom: clamp(40px, 5vw, 70px); background: radial-gradient(50% 80% at 100% 0%, rgba(123,77,255,.25), transparent 60%), radial-gradient(40% 70% at 0% 100%, rgba(251,32,86,.16), transparent 60%), var(--dj-night); }
.e-con.dj-page-hero > .e-con-inner { --row-gap: 20px; --column-gap: 20px; }

/* Footer (Theme Builder) */
.e-con.dj-footer { background: #070c15; color: var(--dj-muted); --padding-top: 72px; --padding-bottom: 30px; --padding-left: var(--dj-gutter); --padding-right: var(--dj-gutter); margin-top: clamp(72px, 10vw, 128px); border-top: 1px solid var(--dj-line); font-size: .96rem; }
.e-con.dj-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 40px; }
.e-con.dj-footer__brand { --row-gap: 18px; --column-gap: 18px; }
.dj-footer__brand .elementor-widget-image img { height: 54px; width: auto; }
.dj-footer .elementor-widget-text-editor { color: var(--dj-muted); }
.dj-footer .elementor-widget-text-editor a { color: #dfe4ee; text-decoration: none; }
.dj-footer .elementor-widget-text-editor a:hover { color: var(--dj-pink-2); }
.dj-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.dj-footer__title .elementor-heading-title { font-family: var(--dj-font); font-weight: 800; color: #fff; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.e-con.dj-footer__bottom { --flex-direction: row; --flex-wrap: wrap; --justify-content: space-between; --row-gap: 12px; --column-gap: 24px; margin-top: 56px; --padding-top: 24px; border-top: 1px solid var(--dj-line); }
.dj-footer__bottom .elementor-widget-text-editor { font-size: .86rem; }
.dj-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 6px 20px; }
@media (max-width: 860px) { .e-con.dj-footer__grid { grid-template-columns: 1fr 1fr; } .e-con.dj-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .e-con.dj-footer__grid { grid-template-columns: 1fr; } }

/* Juridische pagina's (Astra, zonder Elementor) leesbaar op donker */
body:not(.elementor-page) .site-content { color: #c9d0dd; }
body:not(.elementor-page) .site-content h1, body:not(.elementor-page) .site-content h2, body:not(.elementor-page) .site-content h3 { color: #fff; }

@media (prefers-reduced-motion: reduce) { .dj-eq i, .dj-marquee ul { animation: none; } }

.e-con.dj-head-row { --flex-direction: row; --flex-wrap: wrap; --justify-content: space-between; --align-items: flex-end; --row-gap: 20px; --column-gap: 20px; margin-bottom: clamp(36px, 5vw, 60px); }
.e-con.dj-head-row > .dj-col { max-width: 760px; }
.e-con.dj-event, .e-con.dj-event:hover, .dj-event * { text-decoration: none !important; }
.dj-event .dj-h3 .elementor-heading-title { font-size: clamp(1.05rem, 1.5vw, 1.25rem); word-break: normal; overflow-wrap: normal; hyphens: manual; }
.dj-footer__brand .elementor-widget-image, .dj-footer__brand .elementor-widget-image .elementor-widget-container { text-align: left !important; }
.dj-footer__brand .elementor-widget-image img { margin-left: 0; }
@media (max-width: 767px) {
  .e-con.dj-hero { background-position: 66% center !important; min-height: 0; --padding-top: 90px; --padding-bottom: 90px; }
  .e-con.dj-hero::before { background: linear-gradient(180deg, rgba(10,17,29,.55) 0%, rgba(10,17,29,.85) 55%, var(--dj-night) 100%); }
}
html, body { overflow-x: clip; }
.elementor-widget-button.dj-btn .elementor-button { border-radius: 999px !important; }
@media (max-width: 767px) { .e-con.dj-band { margin-left: -12px; margin-right: -12px; } .dj-eyebrow .elementor-heading-title { letter-spacing: .16em; } }/* End custom CSS */