/*
Theme Name: Fright Night 010
Theme URI: https://frightnight010.nl/
Author: Fright Night 010
Description: Custom cinematic Halloween theme for Fright Night 010 Rotterdam.
Version: 4.6.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: frightnight010
*/

:root{
  --fn-bg:#050606;
  --fn-panel:#0b0c0c;
  --fn-panel-2:#111212;
  --fn-text:#f0ece5;
  --fn-muted:#9f9a93;
  --fn-red:#d42027;
  --fn-red-dark:#7f0f14;
  --fn-orange:#b25b24;
  --fn-line:rgba(255,255,255,.10);
  --fn-shadow:0 18px 55px rgba(0,0,0,.45);
  --fn-max:1440px;
  --fn-display:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --fn-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--fn-bg)}
body{margin:0;background:var(--fn-bg);color:var(--fn-text);font-family:var(--fn-body);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input{font:inherit}

body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

.fn-shell{width:min(calc(100% - 40px),var(--fn-max));margin:0 auto}
.fn-kicker{text-transform:uppercase;letter-spacing:.32em;color:var(--fn-red);font-size:.74rem;font-weight:800;margin:0 0 .6rem}
.fn-title{font-family:var(--fn-display);text-transform:uppercase;letter-spacing:.03em;line-height:.9;margin:0;font-size:clamp(2.8rem,7vw,7.2rem)}
.fn-title .red{color:var(--fn-red)}
.fn-section{position:relative;padding:90px 0;border-top:1px solid var(--fn-line);overflow:hidden}
.fn-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(170,20,25,.08),transparent 55%);pointer-events:none}
.fn-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:34px}
.fn-section-heading h2{margin:0;font-size:clamp(2.2rem,4vw,4.6rem);font-family:var(--fn-display);text-transform:uppercase;line-height:.95;letter-spacing:.04em}
.fn-section-heading p{margin:0;color:var(--fn-muted);max-width:620px}

.fn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.09em;font-weight:900;font-size:.78rem;transition:.25s ease;background:rgba(0,0,0,.2)}
.fn-btn:hover{transform:translateY(-2px);border-color:var(--fn-red);box-shadow:0 0 0 1px rgba(212,32,39,.15),0 12px 30px rgba(0,0,0,.35)}
.fn-btn--red{background:linear-gradient(180deg,#e52b33,#b1141a);border-color:#e64a50;color:white;box-shadow:inset 0 0 25px rgba(255,255,255,.08)}
.fn-btn--ghost{background:rgba(3,3,3,.55);backdrop-filter:blur(8px)}

/* Header */
.fn-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.50),transparent);transition:.25s ease}
.fn-header.is-scrolled{background:rgba(4,5,5,.94);border-bottom:1px solid var(--fn-line);backdrop-filter:blur(14px)}
.fn-header__inner{height:82px;display:flex;align-items:center;gap:28px}
.fn-logo{font-family:var(--fn-display);font-size:1.75rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.fn-logo strong{color:var(--fn-red)}
.fn-nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.fn-nav a{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#d8d4cf;position:relative}
.fn-nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--fn-red);transition:.2s}
.fn-nav a:hover:after,.fn-nav .current-menu-item>a:after{width:100%}
.fn-mobile-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--fn-line);color:white;padding:8px 10px}

/* Hero */
.fn-hero{min-height:100vh;display:grid;place-items:end center;position:relative;background:#050606;isolation:isolate}
.fn-hero__media{position:absolute;inset:0;z-index:-3;overflow:hidden}
.fn-hero__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(.78) contrast(1.1)}
.fn-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.20) 48%,rgba(4,5,5,.96) 100%),linear-gradient(90deg,rgba(0,0,0,.45),transparent 35%,rgba(0,0,0,.42))}
.fn-hero__fog,.fn-hero__fog:before,.fn-hero__fog:after{position:absolute;content:"";inset:auto -20% -8% -20%;height:34%;background:radial-gradient(ellipse at center,rgba(218,220,220,.14),transparent 62%);filter:blur(24px);animation:fnFog 18s linear infinite;z-index:-1}
.fn-hero__fog:before{inset:10% -10% auto -10%;animation-duration:26s;opacity:.65}
.fn-hero__fog:after{inset:18% -15% auto -15%;animation-duration:32s;animation-direction:reverse;opacity:.5}
@keyframes fnFog{0%{transform:translateX(-4%)}50%{transform:translateX(4%)}100%{transform:translateX(-4%)}}
.fn-hero__content{padding:160px 0 90px;text-align:center;width:min(100%,1020px);margin:0 auto}
.fn-hero__eyebrow{text-transform:uppercase;letter-spacing:.5em;font-size:.75rem;color:#d0cbc3;margin-bottom:42px}
.fn-hero__headline{font-family:var(--fn-display);font-size:clamp(4.8rem,11vw,10rem);line-height:.75;text-transform:uppercase;letter-spacing:.02em;margin:0;text-shadow:0 7px 40px rgba(0,0,0,.75)}
.fn-hero__headline span{display:block;color:var(--fn-red);transform:rotate(-1deg)}
.fn-hero__sub{margin:26px auto 10px;text-transform:uppercase;letter-spacing:.42em;font-weight:800;font-size:.95rem}
.fn-hero__date{font-family:var(--fn-display);font-size:1.55rem;letter-spacing:.08em;margin:12px 0 18px;text-transform:uppercase}
.fn-countdown{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;max-width:600px;margin:0 auto 28px}
.fn-countdown__item{background:rgba(0,0,0,.58);border:1px solid rgba(212,32,39,.30);padding:14px 10px 11px;box-shadow:inset 0 0 40px rgba(212,32,39,.03)}
.fn-countdown__num{font-family:var(--fn-display);color:var(--fn-red);font-size:2.1rem;line-height:1}
.fn-countdown__label{text-transform:uppercase;letter-spacing:.19em;font-size:.58rem;color:#c7c0b7;margin-top:4px}
.fn-hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.fn-hero__signup{margin-top:16px;display:flex;justify-content:center}
.fn-hero__signup .fn-btn{min-width:220px}

/* Bloedrand alleen aan de rode Aanmelden-knop */
.fn-btn--blood{position:relative;overflow:visible;margin-bottom:34px;isolation:isolate}
.fn-btn--blood::after{
  content:"";position:absolute;left:-1px;right:-1px;top:calc(100% - 1px);height:42px;pointer-events:none;z-index:-1;
  background-color:#a70f18;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 80' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0H600V8C578 10 566 5 542 10C520 14 505 9 487 10C470 11 458 17 448 18C441 19 439 25 437 38C435 54 431 66 423 66C415 66 412 53 411 41C410 28 408 21 403 18C392 13 373 15 357 13C338 11 328 7 307 11C288 15 273 12 258 10C247 9 242 16 239 28C235 45 230 76 219 76C207 76 204 49 203 35C202 22 199 17 193 15C177 10 161 13 145 11C130 9 119 7 104 12C94 15 91 23 89 34C86 49 81 62 74 62C65 62 62 47 61 34C60 19 56 14 47 12C33 9 18 10 0 8Z'/%3E%3C/svg%3E") center top/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 80' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0H600V8C578 10 566 5 542 10C520 14 505 9 487 10C470 11 458 17 448 18C441 19 439 25 437 38C435 54 431 66 423 66C415 66 412 53 411 41C410 28 408 21 403 18C392 13 373 15 357 13C338 11 328 7 307 11C288 15 273 12 258 10C247 9 242 16 239 28C235 45 230 76 219 76C207 76 204 49 203 35C202 22 199 17 193 15C177 10 161 13 145 11C130 9 119 7 104 12C94 15 91 23 89 34C86 49 81 62 74 62C65 62 62 47 61 34C60 19 56 14 47 12C33 9 18 10 0 8Z'/%3E%3C/svg%3E") center top/100% 100% no-repeat;
  filter:drop-shadow(0 4px 2px rgba(90,0,0,.18));
}
.fn-hero__status{position:absolute;bottom:24px;right:32px;text-align:right;color:#827e77;text-transform:uppercase;font-size:.58rem;letter-spacing:.18em}

/* Story */
.fn-story{display:grid;grid-template-columns:.9fr 1.15fr;min-height:680px;background:linear-gradient(90deg,#060707 0 45%,#0b0c0d 45% 100%)}
.fn-story__copy{padding:90px max(30px,calc((100vw - var(--fn-max))/2 + 20px));padding-right:70px;display:flex;flex-direction:column;justify-content:center}
.fn-story__copy h2{font-family:var(--fn-display);font-size:clamp(3rem,5vw,5.8rem);line-height:.88;text-transform:uppercase;margin:0 0 25px}
.fn-story__copy h2 span{color:var(--fn-red)}
.fn-story__copy p{color:#bbb6ae;max-width:640px}
.fn-story__visual{min-height:520px;position:relative;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55)),var(--fn-panel)}
.fn-story__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.62) contrast(1.15)}
.fn-story__visual:after{content:var(--story-overlay,"Mensen zijn de echte monsters");position:absolute;right:5%;bottom:7%;max-width:300px;font-family:var(--fn-display);font-size:clamp(2rem,4vw,4.6rem);line-height:.9;text-align:right;color:rgba(239,235,227,.58);transform:rotate(-5deg)}

/* Archive */
.fn-editions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fn-edition{position:relative;min-height:430px;border:1px solid var(--fn-line);background:#0a0b0b;overflow:hidden;box-shadow:var(--fn-shadow);group:edition}
.fn-edition__img{position:absolute;inset:0}
.fn-edition__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.72);transition:.5s ease}
.fn-edition:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 20%,rgba(0,0,0,.88) 100%)}
.fn-edition__content{position:absolute;inset:0;z-index:2;padding:22px;display:flex;flex-direction:column}
.fn-edition__year{font-family:var(--fn-display);font-size:3rem;line-height:1}
.fn-edition__tag{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#d3cec7}
.fn-edition__link{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.17);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.68rem}
.fn-edition:hover img{transform:scale(1.06);filter:brightness(.72) saturate(.92)}
.fn-edition:hover{border-color:rgba(212,32,39,.6)}

/* Gallery */
.fn-gallery-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:34px;align-items:center}
.fn-gallery-copy h2{font-family:var(--fn-display);font-size:clamp(3rem,6vw,6rem);line-height:.88;text-transform:uppercase;margin:.3rem 0 1.5rem}
.fn-gallery-copy h2 span{color:var(--fn-red)}
.fn-gallery-copy p{color:var(--fn-muted)}
.fn-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:140px;gap:8px}
.fn-gallery-grid figure{margin:0;overflow:hidden;border:1px solid var(--fn-line);background:#111}
.fn-gallery-grid figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.fn-gallery-grid figure:nth-child(4){grid-column:span 2}
.fn-gallery-grid img{width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.7);transition:.3s}
.fn-gallery-grid figure:hover img{transform:scale(1.04);filter:brightness(.9) saturate(1)}

/* Location */
.fn-location{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}
.fn-location h2{font-family:var(--fn-display);font-size:clamp(3rem,6vw,6rem);line-height:.9;text-transform:uppercase;margin:.3rem 0 1.2rem}
.fn-location h2 span{color:var(--fn-red)}
.fn-location__details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}
.fn-location__item{border-top:1px solid var(--fn-line);padding-top:12px;color:#c7c2ba;font-size:.82rem}
.fn-location__item strong{display:block;color:white;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}
.fn-location__address{display:block;margin-top:8px;color:#eee9e2;font-weight:700}
.fn-location__actions{display:flex;gap:12px;flex-wrap:wrap}
.fn-location-visual{min-height:470px;border:1px solid var(--fn-line);position:relative;overflow:hidden;background:#0b0d0e;box-shadow:var(--fn-shadow)}
.fn-location-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28) 48%,rgba(0,0,0,.70) 100%);z-index:2}
.fn-location-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.72) contrast(1.08)}
.fn-location-video--placeholder{position:absolute;inset:0;background:radial-gradient(circle at 60% 35%,rgba(212,32,39,.20),transparent 32%),linear-gradient(135deg,#161a1b,#070808 68%)}
.fn-location-map{position:absolute;left:18px;right:18px;bottom:18px;height:180px;border:1px solid rgba(255,255,255,.16);z-index:3;background:#111;overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.38)}
.fn-location-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) invert(.88) contrast(1.15) brightness(.72);opacity:.92}
.fn-location-map:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 55px rgba(0,0,0,.45)}
.fn-location-card{position:absolute;top:22px;left:22px;z-index:4;max-width:330px;background:rgba(4,5,5,.88);border:1px solid var(--fn-line);padding:17px 19px;backdrop-filter:blur(12px)}
.fn-location-card__label{color:var(--fn-red);text-transform:uppercase;letter-spacing:.22em;font-size:.62rem;font-weight:900;margin-bottom:6px}
.fn-location-card strong{display:block;text-transform:uppercase;font-size:1rem;letter-spacing:.06em}
.fn-location-card span{display:block;color:#c3beb7;font-size:.76rem;margin-top:4px}
.fn-location-card a{display:inline-flex;margin-top:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;font-size:.68rem;color:white}
.fn-location-card a:hover{color:var(--fn-red)}

/* CTA + footer */
.fn-cta{position:relative;padding:70px 0;text-align:center;background:radial-gradient(circle at center,rgba(212,32,39,.20),transparent 52%),#0c0d0d;border-top:1px solid var(--fn-line);overflow:hidden}
.fn-cta h2{font-family:var(--fn-display);font-size:clamp(3rem,6vw,6.5rem);line-height:.9;text-transform:uppercase;margin:0}
.fn-cta h2 span{color:var(--fn-red)}
.fn-cta p{color:#bbb6ae}
.fn-newsletter-wrap{max-width:650px;margin:22px auto 0}
.fn-newsletter,.fn010-newsletter form,.fn010-newsletter .tnp-form{display:flex;width:100%;margin:0}
.fn-newsletter input,.fn010-newsletter input[type=email],.fn010-newsletter .tnp-email{flex:1;min-width:0;background:#111!important;border:1px solid var(--fn-line)!important;border-right:0!important;color:white!important;padding:14px 16px!important;outline:none;border-radius:0!important;min-height:50px}
.fn-newsletter button,.fn010-newsletter input[type=submit],.fn010-newsletter .tnp-submit{border:1px solid #d9343c!important;background:var(--fn-red)!important;color:white!important;text-transform:uppercase;font-weight:900;letter-spacing:.08em;padding:0 22px!important;border-radius:0!important;min-height:50px;cursor:pointer}
.fn010-newsletter .tnp-field{margin:0!important;display:contents}
.fn010-newsletter label{display:none!important}
.fn-newsletter-missing{font-size:.85rem;color:#a9a39a}
.fn-footer{border-top:1px solid var(--fn-line);padding:36px 0 42px;background:#050606}
.fn-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;color:#7d7872;font-size:.76rem}
.fn-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.fn-footer a:hover{color:white}

/* Archive/single */
.fn-page-hero{padding:170px 0 90px;background:radial-gradient(circle at 50% 20%,rgba(212,32,39,.15),transparent 40%),#090a0a;border-bottom:1px solid var(--fn-line)}
.fn-page-hero h1{font-family:var(--fn-display);font-size:clamp(4rem,9vw,9rem);line-height:.8;text-transform:uppercase;margin:0}
.fn-content{padding:70px 0;max-width:900px}
.fn-content h2,.fn-content h3{font-family:var(--fn-display);text-transform:uppercase;letter-spacing:.03em}
.fn-content a{color:var(--fn-red)}

@media (max-width:1100px){
  .fn-nav{display:none}.fn-mobile-toggle{display:block}.fn-header__cta{display:none}
  .fn-story{grid-template-columns:1fr}.fn-story__copy{padding:80px 30px}.fn-story__visual{min-height:620px}
  .fn-editions{grid-template-columns:repeat(2,1fr)}
  .fn-gallery-layout,.fn-location{grid-template-columns:1fr}
}
@media (max-width:700px){
  .fn-shell{width:min(calc(100% - 28px),var(--fn-max))}.fn-section{padding:66px 0}.fn-header__inner{height:68px}
  .fn-logo{font-size:1.45rem}.fn-hero__content{padding:125px 0 66px}.fn-hero__eyebrow{letter-spacing:.28em;font-size:.62rem}
  .fn-hero__headline{font-size:clamp(4rem,20vw,6.5rem)}.fn-hero__sub{font-size:.75rem;letter-spacing:.25em}
  .fn-countdown{grid-template-columns:repeat(2,1fr);max-width:340px}.fn-hero__status{display:none}
  .fn-section-heading{display:block}.fn-section-heading p{margin-top:12px}.fn-editions{grid-template-columns:1fr}.fn-edition{min-height:500px}
  .fn-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px}.fn-gallery-grid figure:nth-child(4){grid-column:span 1}
  .fn-location__details{grid-template-columns:1fr}.fn-location-visual{min-height:520px}.fn-location-card{left:14px;right:14px;top:14px;max-width:none}.fn-location-map{left:14px;right:14px;bottom:14px;height:190px}
  .fn-newsletter,.fn010-newsletter form,.fn010-newsletter .tnp-form{display:grid}.fn-newsletter input,.fn010-newsletter input[type=email],.fn010-newsletter .tnp-email{border-right:1px solid var(--fn-line)!important;border-bottom:0!important}.fn-newsletter button,.fn010-newsletter input[type=submit],.fn010-newsletter .tnp-submit{min-height:48px}
  .fn-footer__inner{align-items:flex-start;flex-direction:column}.fn-footer nav{gap:12px}
}


/* v0.5 — event pages, aanmelden, over ons, footer */
.fn-page-hero--compact{padding:145px 0 70px}.fn-page-hero--compact h1{font-size:clamp(3.3rem,7vw,7rem)}.fn-page-hero--compact p{max-width:720px;color:#b9b3ab}
.fn-event-hero{min-height:72vh;display:flex;align-items:flex-end;position:relative;padding:150px 0 75px;background-image:linear-gradient(180deg,rgba(0,0,0,.30),rgba(5,6,6,.95)),var(--event-hero);background-size:cover;background-position:center;border-bottom:1px solid var(--fn-line)}
.fn-event-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(212,32,39,.17),transparent 35%);pointer-events:none}.fn-event-hero .fn-shell{position:relative;z-index:1}.fn-event-hero h1,.fn-event-story h2,.fn-event-media h2,.fn-event-flyer h2,.fn-event-after h2{font-family:var(--fn-display);text-transform:uppercase;line-height:.9;margin:.15em 0}.fn-event-hero h1{font-size:clamp(4rem,10vw,9rem)}.fn-event-hero p{font-size:1.1rem;max-width:800px;color:#c8c2ba}
.fn-event-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px;align-items:start}.fn-event-story h2,.fn-event-media h2,.fn-event-flyer h2,.fn-event-after h2{font-size:clamp(3rem,6vw,6.5rem)}
.fn-prose{font-size:1.05rem;color:#ded8d0}.fn-prose p:first-child{margin-top:0}.fn-prose img{border:1px solid var(--fn-line);box-shadow:var(--fn-shadow)}.fn-prose a{color:#ef353d;text-decoration:underline;text-underline-offset:3px}.fn-lead{max-width:760px;color:#bdb7af;font-size:1.08rem}
.fn-event-media{background:radial-gradient(circle at 50% 50%,rgba(212,32,39,.09),transparent 50%),#080909}.fn-event-video{margin-top:28px;position:relative;aspect-ratio:16/9;max-width:1180px;background:#000;border:1px solid var(--fn-line);box-shadow:var(--fn-shadow);overflow:hidden}.fn-event-video iframe,.fn-event-video video{width:100%;height:100%;border:0;display:block;object-fit:cover}
.fn-event-flyer figure{margin:0;max-width:780px;justify-self:end}.fn-event-flyer figure img{max-height:920px;width:auto;border:1px solid var(--fn-line);box-shadow:var(--fn-shadow)}
.fn-after-content .gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px}.fn-after-content .gallery-item{width:auto!important;margin:0!important}.fn-after-content .gallery img{width:100%;height:260px;object-fit:cover;border:1px solid var(--fn-line)!important}
.fn-post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fn-post-card{border:1px solid var(--fn-line);background:#090a0a;overflow:hidden}.fn-post-card__image{height:300px;overflow:hidden}.fn-post-card__image img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.7);transition:.35s}.fn-post-card:hover img{transform:scale(1.04);filter:brightness(.9) saturate(.9)}.fn-post-card__body{padding:26px}.fn-post-card h2{font-family:var(--fn-display);font-size:2.5rem;text-transform:uppercase;margin:.2rem 0;line-height:.95}.fn-post-card p{color:#aaa49c}.fn-post-card span{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900;color:var(--fn-red)}
.fn-special-hero{min-height:58vh;display:flex;align-items:flex-end;padding:145px 0 70px;position:relative;background-image:linear-gradient(180deg,rgba(0,0,0,.35),rgba(5,6,6,.96)),var(--special-bg);background-size:cover;background-position:center}.fn-special-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 70%);pointer-events:none}.fn-special-hero .fn-shell{position:relative;z-index:1}.fn-special-hero h1{font-family:var(--fn-display);font-size:clamp(4rem,10vw,9rem);line-height:.8;text-transform:uppercase;margin:0}.fn-special-hero p{max-width:700px;color:#c8c2ba;font-size:1.1rem}
.fn-special-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:start}.fn-special-aside{position:sticky;top:115px;padding:30px;border:1px solid rgba(212,32,39,.35);background:linear-gradient(145deg,rgba(212,32,39,.08),rgba(0,0,0,.20))}.fn-special-aside h2{font-family:var(--fn-display);font-size:clamp(2.5rem,5vw,5rem);line-height:.9;text-transform:uppercase;margin:.2rem 0}.fn-warning{margin-top:24px;padding:14px;border-left:3px solid var(--fn-red);background:#101010;color:#c9c3bb;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.fn-special-card{padding:34px;border:1px solid var(--fn-line);background:rgba(10,11,11,.88);box-shadow:var(--fn-shadow)}
.fn-form-skin input:not([type=submit]):not([type=checkbox]):not([type=radio]),.fn-form-skin textarea,.fn-form-skin select{width:100%;background:#080909!important;color:white!important;border:1px solid rgba(255,255,255,.18)!important;padding:13px 14px!important;border-radius:0!important;outline:none}.fn-form-skin input:focus,.fn-form-skin textarea:focus,.fn-form-skin select:focus{border-color:var(--fn-red)!important;box-shadow:0 0 0 2px rgba(212,32,39,.12)!important}.fn-form-skin input[type=submit],.fn-form-skin button[type=submit]{background:var(--fn-red)!important;color:white!important;border:1px solid #e54a50!important;padding:13px 20px!important;text-transform:uppercase;font-weight:900;letter-spacing:.08em;cursor:pointer}.fn-form-skin label{font-weight:700}.fn-form-skin form p{margin-bottom:18px}
.fn-about-layout{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:start}.fn-about-stamp{position:sticky;top:115px;font-family:var(--fn-display);font-size:8rem;line-height:.72;color:var(--fn-red);text-align:center;padding:30px 10px;border:1px solid rgba(212,32,39,.25);transform:rotate(-2deg)}.fn-about-stamp span{font-size:1.35rem;color:#eee9e2;letter-spacing:.14em}
.fn-footer{padding:52px 0;background:linear-gradient(180deg,#050606,#030404)}.fn-footer__grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:46px;align-items:start;color:#88827a;font-size:.78rem}.fn-footer__brand p,.fn-footer__social p{color:#aaa49c;max-width:360px}.fn-footer__brand span{display:block;margin-top:22px}.fn-footer__nav nav{display:grid;gap:8px}.fn-footer__social{text-align:right}.fn-social-links{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.fn-social-links a{border:1px solid var(--fn-line);padding:7px 10px;text-transform:uppercase;font-size:.65rem;letter-spacing:.08em}.fn-social-links a:hover{border-color:var(--fn-red);color:white}
@media(max-width:900px){.fn-event-grid,.fn-special-grid,.fn-about-layout,.fn-footer__grid{grid-template-columns:1fr}.fn-special-aside,.fn-about-stamp{position:relative;top:auto}.fn-about-stamp{font-size:5rem}.fn-post-list{grid-template-columns:1fr}.fn-footer__social{text-align:left}.fn-social-links{justify-content:flex-start}}
@media(max-width:700px){.fn-event-hero{min-height:58vh;padding-top:120px}.fn-event-grid{gap:28px}.fn-after-content .gallery{grid-template-columns:1fr 1fr}.fn-after-content .gallery img{height:180px}.fn-special-card{padding:22px}.fn-special-hero{min-height:48vh}.fn-post-card__image{height:220px}}


/* v0.6 — compactere paginaheaders, sterkere over-ons-pagina, hero omhoog */
body:not(.home) .fn-header{background:rgba(4,5,5,.96);border-bottom:1px solid var(--fn-line);backdrop-filter:blur(14px)}
body:not(.home) .fn-header__inner{height:64px}
body:not(.home) .fn-logo{font-size:1.45rem}
body:not(.home) .fn-nav{font-size:.66rem;gap:16px}
body:not(.home) .fn-header__cta{padding:10px 14px;font-size:.67rem}

/* Homepage: minder leegte boven de titel */
.home .fn-hero{min-height:88vh;place-items:center;align-content:center}
.home .fn-hero__content{padding:112px 0 46px;transform:translateY(2vh)}
.home .fn-hero__eyebrow{margin-bottom:24px}
.home .fn-hero__headline{font-size:clamp(4.6rem,9.6vw,9rem)}
.home .fn-hero__sub{margin-top:20px}

/* Reguliere pagina's: geen halve viewport meer kwijt aan alleen de titel */
.fn-page-hero{padding:112px 0 46px;min-height:0}
.fn-page-hero h1{font-size:clamp(2.7rem,5.3vw,5.4rem);line-height:.88}
.fn-page-hero--compact{padding:108px 0 42px}
.fn-page-hero--compact h1{font-size:clamp(2.7rem,5.3vw,5.2rem)}
.fn-content{padding-top:42px}

.fn-special-hero{min-height:320px;padding:118px 0 52px;background-position:center 28%}
.fn-special-hero h1{font-size:clamp(3rem,6.2vw,6.2rem);line-height:.84}
.fn-special-hero p{margin:14px 0 0;max-width:760px}

/* Aanmelden: compacter, formulier hoger in beeld */
.fn-special-page{padding-top:54px}
.fn-special-grid{grid-template-columns:.62fr 1.38fr;gap:34px}
.fn-special-aside{top:86px}
.fn-special-aside h2{font-size:clamp(2.7rem,4.2vw,4.6rem)}

/* Over ons: nu echt een eigen pagina in plaats van gewone content in een doos */
.fn-about-hero{min-height:300px;background-position:center 34%}
.fn-about-section{padding:64px 0 90px;background:radial-gradient(circle at 18% 20%,rgba(212,32,39,.08),transparent 30%),linear-gradient(180deg,#070808,#040505)}
.fn-about-intro{display:grid;grid-template-columns:.68fr 1.32fr;gap:34px;align-items:start;margin-bottom:34px}
.fn-about-mark{border:1px solid rgba(212,32,39,.28);background:linear-gradient(145deg,rgba(212,32,39,.10),rgba(0,0,0,.26));padding:34px;position:sticky;top:88px;overflow:hidden}
.fn-about-mark:before{content:"010";position:absolute;right:-8px;bottom:-42px;font-family:var(--fn-display);font-size:11rem;line-height:1;color:rgba(212,32,39,.09)}
.fn-about-mark h2{position:relative;font-family:var(--fn-display);font-size:clamp(2.8rem,5vw,5.3rem);line-height:.88;text-transform:uppercase;margin:.1em 0 .25em}
.fn-about-mark h2 span{color:var(--fn-red);display:block}
.fn-about-mark p{position:relative;color:#b9b3ab;margin:0}
.fn-about-content{padding:40px 44px;border:1px solid var(--fn-line);background:linear-gradient(180deg,rgba(13,14,14,.94),rgba(7,8,8,.94));box-shadow:var(--fn-shadow);min-width:0}
.fn-about-content h2,.fn-about-content h3{font-family:var(--fn-display);text-transform:uppercase;line-height:.92}
.fn-about-content h2{font-size:clamp(2.5rem,4.4vw,4.7rem)}
.fn-about-content h3{font-size:clamp(1.8rem,3vw,3rem)}
.fn-about-content img,.fn-about-content figure,.fn-about-content .wp-block-image{width:100%;max-width:none!important}
.fn-about-content figure{margin-left:0!important;margin-right:0!important}
.fn-about-content img{height:auto;object-fit:cover}
.fn-about-content .aligncenter,.fn-about-content .alignleft,.fn-about-content .alignright{float:none!important;margin-left:0!important;margin-right:0!important;display:block!important;width:100%!important;max-width:none!important}
.fn-about-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.fn-about-strip div{padding:18px;border:1px solid var(--fn-line);background:#090a0a}
.fn-about-strip strong{display:block;color:var(--fn-red);font-family:var(--fn-display);font-size:1.55rem;text-transform:uppercase;line-height:1}
.fn-about-strip span{font-size:.78rem;color:#a9a39b;text-transform:uppercase;letter-spacing:.08em}

/* Verhaal-/contentfoto's mogen echt de beschikbare breedte gebruiken */
/* Event content follows the size/alignment chosen in the WordPress editor. */
.fn-special-card.fn-prose img{max-width:100%;height:auto}

@media(max-width:900px){
  .fn-about-intro{grid-template-columns:1fr}.fn-about-mark{position:relative;top:auto}.fn-about-content{padding:30px}.fn-about-strip{grid-template-columns:1fr}
  .home .fn-hero{min-height:780px}.home .fn-hero__content{transform:none;padding-top:105px}
}
@media(max-width:700px){
  body:not(.home) .fn-header__inner{height:58px}
  .fn-special-hero{min-height:270px;padding:96px 0 40px}.fn-special-hero h1{font-size:clamp(2.8rem,15vw,4.8rem)}
  .home .fn-hero{min-height:720px}.home .fn-hero__content{padding:92px 0 38px}.home .fn-hero__eyebrow{margin-bottom:18px}
  .fn-special-grid{grid-template-columns:1fr}.fn-about-content{padding:22px}
}


/* =========================================================
   v0.7 — compactere layout + nette dropdowns + full-bleed verhaal
   ========================================================= */

/* Hoofdmenu: echte dropdown i.p.v. losse bullets */
.fn-nav > li{position:relative;list-style:none;margin:0;padding:0}
.fn-nav > li > a{display:block;padding:29px 0 25px}
.fn-nav ul.sub-menu{
  display:none;position:absolute;top:calc(100% - 10px);left:-18px;z-index:1200;
  min-width:225px;margin:0;padding:10px 0;list-style:none;
  background:rgba(5,6,6,.98);border:1px solid var(--fn-line);box-shadow:var(--fn-shadow);
}
.fn-nav ul.sub-menu li{list-style:none;margin:0;padding:0}
.fn-nav ul.sub-menu a{display:block;padding:10px 18px;white-space:nowrap;font-size:.70rem}
.fn-nav ul.sub-menu a:after{display:none}
.fn-nav ul.sub-menu a:hover{background:rgba(212,32,39,.10);color:#fff}
.fn-nav li.menu-item-has-children:hover > ul.sub-menu,
.fn-nav li.menu-item-has-children:focus-within > ul.sub-menu{display:block}
.fn-nav li.menu-item-has-children > a:before{content:'▾';position:absolute;right:-13px;top:50%;transform:translateY(-50%);font-size:.55rem;color:#8e8983}

/* Homepage: minder loze ruimte bovenin en meer adem tussen eyebrow en titel */
.home .fn-hero{min-height:680px;height:76vh;max-height:760px;place-items:center;align-content:center}
.home .fn-hero__content{padding:86px 0 28px;transform:translateY(-1.5vh)}
.home .fn-hero__eyebrow{margin-bottom:38px}
.home .fn-hero__headline{font-size:clamp(4.2rem,8.7vw,8.2rem)}
.home .fn-hero__sub{margin-top:18px}
.home .fn-countdown{margin-bottom:20px}

/* Het verhaal: afbeelding echt over de volle breedte, tekst er cinematic overheen */
.fn-story{display:block;position:relative;min-height:560px;background:#060707;overflow:hidden;border-top:1px solid var(--fn-line);border-bottom:1px solid var(--fn-line)}
.fn-story__visual{position:absolute;inset:0;min-height:0;width:100%;height:100%;z-index:0;background:#090a0a}
.fn-story__visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,5,5,.96) 0%,rgba(4,5,5,.88) 29%,rgba(4,5,5,.46) 52%,rgba(4,5,5,.12) 74%,rgba(4,5,5,.22) 100%)}
.fn-story__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.62) saturate(.66) contrast(1.12)}
.fn-story__visual:after{z-index:2;right:4%;bottom:8%;max-width:300px}
.fn-story__copy{position:relative;z-index:3;min-height:560px;width:min(calc(100% - 40px),var(--fn-max));margin:0 auto;padding:64px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.fn-story__copy > *{max-width:590px}
.fn-story__copy .fn-kicker{margin-bottom:1.1rem}
.fn-story__copy h2{font-size:clamp(2.8rem,4.6vw,5rem);margin:0 0 18px}
.fn-story__copy p{margin:.45rem 0;color:#c3bdb5}
.fn-story__copy .fn-btn{margin-top:14px}

/* Binnenpagina's: compact, geen gigantische lege banners */
body:not(.home) .fn-header__inner{height:58px}
body:not(.home) .fn-logo{font-size:1.45rem}
body:not(.home) .fn-nav > li > a{padding:18px 0 17px}
.fn-special-hero{min-height:190px;padding:78px 0 28px;background-position:center 32%}
.fn-special-hero h1{font-size:clamp(2.2rem,4.2vw,4.2rem);line-height:.88}
.fn-special-hero p{font-size:.96rem;margin:9px 0 0;max-width:720px}
.fn-special-hero .fn-kicker{font-size:.62rem;margin-bottom:.3rem}
.fn-about-hero{min-height:180px}
.fn-about-section{padding:34px 0 54px}
.fn-about-intro{gap:26px;margin-bottom:0}
.fn-about-mark{padding:24px;top:76px}
.fn-about-mark h2{font-size:clamp(2.2rem,3.7vw,4rem);margin:.05em 0 .18em}
.fn-about-content{padding:28px 32px}
.fn-about-content h2{font-size:clamp(2rem,3.2vw,3.5rem)}
.fn-about-content h3{font-size:clamp(1.5rem,2.4vw,2.4rem)}
.fn-about-content p:first-child{margin-top:0}
.fn-about-content p:last-child{margin-bottom:0}
.fn-about-strip div{padding:12px}

/* Footer: compacter + kleinere kopjes */
.fn-footer{padding:24px 0 26px}
.fn-footer__grid{gap:28px;align-items:start}
.fn-footer .fn-kicker{font-size:.60rem;letter-spacing:.24em;margin-bottom:8px}
.fn-footer__brand p,.fn-footer__social p{margin:6px 0;color:#99938b}
.fn-footer__brand span{margin-top:10px;font-size:.70rem}
.fn-footer__nav nav{gap:3px}
.fn-footer__nav nav a{font-size:.72rem;line-height:1.5}
.fn-social-links{margin-top:8px}

@media(max-width:900px){
  .fn-nav > li > a{padding:8px 0}
  .fn-nav li.menu-item-has-children > a:before{right:0}
  .fn-nav ul.sub-menu{display:block;position:static;min-width:0;border:0;border-left:1px solid rgba(212,32,39,.4);box-shadow:none;background:transparent;margin:4px 0 6px 10px;padding:2px 0 2px 10px}
  .fn-nav ul.sub-menu a{padding:6px 8px}
  .fn-story{min-height:610px}
  .fn-story__copy{min-height:610px;padding:54px 0;justify-content:flex-end}
  .fn-story__visual:before{background:linear-gradient(180deg,rgba(4,5,5,.18),rgba(4,5,5,.56) 48%,rgba(4,5,5,.96) 78%)}
  .fn-story__visual:after{font-size:2.4rem;bottom:auto;top:9%}
  .fn-about-mark{position:relative;top:auto}
}
@media(max-width:700px){
  .home .fn-hero{height:auto;min-height:650px;max-height:none}
  .home .fn-hero__content{padding:88px 0 36px;transform:none}
  .home .fn-hero__eyebrow{margin-bottom:28px}
  .fn-special-hero{min-height:160px;padding:72px 0 22px}
  .fn-special-hero h1{font-size:clamp(2rem,11vw,3.4rem)}
  .fn-about-section{padding:26px 0 38px}
  .fn-about-content{padding:20px}
  .fn-footer{padding:20px 0 22px}
}

/* ==========================================================
   v0.8 — alle binnenpagina headers gehalveerd + minder loze ruimte
   ========================================================== */
body:not(.home) .fn-page-hero,
body:not(.home) .fn-page-hero--compact,
body:not(.home) .fn-special-hero,
body:not(.home) .fn-about-hero{
  min-height:0;
  padding:72px 0 24px;
}
body:not(.home) .fn-page-hero h1,
body:not(.home) .fn-page-hero--compact h1,
body:not(.home) .fn-special-hero h1,
body:not(.home) .fn-about-hero h1{
  font-size:clamp(1.65rem,2.7vw,3rem);
  line-height:.95;
  margin:0;
}
body:not(.home) .fn-page-hero .fn-kicker,
body:not(.home) .fn-special-hero .fn-kicker{
  font-size:.56rem;
  margin:0 0 7px;
}
body:not(.home) .fn-special-hero p{
  margin:7px 0 0;
  max-width:680px;
  font-size:.88rem;
  line-height:1.45;
}

/* Over ons: exact dezelfde compacte headermaat als overige pagina's */
.fn-about-hero{
  min-height:0!important;
  padding:72px 0 24px!important;
  background-position:center 34%;
}
.fn-about-section{padding:22px 0 42px}
.fn-about-intro{gap:22px}
.fn-about-content{padding:24px 28px}

/* Archief/binnenpagina content ook sneller laten beginnen */
body:not(.home) .fn-section{padding-top:34px;padding-bottom:52px}

/* Mobiel nog compacter */
@media(max-width:700px){
  body:not(.home) .fn-page-hero,
  body:not(.home) .fn-page-hero--compact,
  body:not(.home) .fn-special-hero,
  body:not(.home) .fn-about-hero{padding:66px 0 18px}
  body:not(.home) .fn-page-hero h1,
  body:not(.home) .fn-page-hero--compact h1,
  body:not(.home) .fn-special-hero h1,
  body:not(.home) .fn-about-hero h1{font-size:clamp(1.55rem,8vw,2.4rem)}
  .fn-about-section{padding:18px 0 32px}
  .fn-about-content{padding:18px}
}

/* ==========================================================
   v0.9 — lichtere hero's, compacte editieheader, gallery CTA weg
   ========================================================== */
/* Homepage hero: achtergrond duidelijker zichtbaar */
.fn-hero__media img{
  filter:brightness(.62) saturate(.92) contrast(1.04);
}
.fn-hero__media:after{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.12) 52%,rgba(4,5,5,.76) 100%),
    linear-gradient(90deg,rgba(0,0,0,.20),transparent 38%,rgba(0,0,0,.18));
}

/* Editie / bericht hero: fors lager en foto beter zichtbaar */
.fn-event-hero{
  min-height:38vh;
  padding:92px 0 34px;
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(5,6,6,.68)),
    var(--event-hero);
  background-position:center 42%;
}
.fn-event-hero:after{
  background:radial-gradient(circle at 70% 30%,rgba(212,32,39,.10),transparent 38%);
}
.fn-event-hero h1{
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:.88;
  max-width:1000px;
}
.fn-event-hero p{font-size:.95rem;margin-top:8px}
.fn-event-hero .fn-kicker{font-size:.58rem}

/* Galerij heeft bewust geen CTA-knop meer */
.fn-gallery-copy .fn-btn{display:none!important}

@media(max-width:700px){
  .fn-event-hero{min-height:32vh;padding:78px 0 26px}
  .fn-event-hero h1{font-size:clamp(2rem,11vw,3.4rem)}
}

/* ==========================================================
   v1.0 — geen grote headers op binnenpagina's / edities
   ========================================================== */
/* Over ons: compacte, volledig editbare kop zonder hero-afbeelding */
.fn-about-heading{
  border-bottom:1px solid var(--fn-line);
  background:linear-gradient(90deg,rgba(35,5,7,.32),rgba(5,6,6,.96) 55%);
  padding:68px 0 18px;
}
.fn-about-heading .fn-kicker{font-size:.56rem;margin:0 0 5px}
.fn-about-heading h1{
  font-family:var(--fn-display);
  font-size:clamp(1.65rem,2.5vw,2.7rem);
  line-height:.95;
  text-transform:uppercase;
  margin:0;
}
.fn-about-heading p{
  margin:7px 0 0;
  max-width:760px;
  color:#c8c2ba;
  font-size:.86rem;
  line-height:1.4;
}
.fn-about-section{padding:24px 0 40px}
.fn-about-intro{align-items:start}
.fn-about-mark h2{font-size:clamp(2rem,4vw,4.2rem)}
.fn-about-mark p{white-space:normal}

/* Editiepagina: géén hero/fotoheader. Alleen een smalle titelbalk. */
.fn-event-heading{
  border-bottom:1px solid var(--fn-line);
  background:linear-gradient(90deg,rgba(35,5,7,.26),rgba(5,6,6,.97) 55%);
  padding:68px 0 18px;
}
.fn-event-heading .fn-kicker{font-size:.55rem;margin:0 0 4px}
.fn-event-heading h1{
  font-family:var(--fn-display);
  font-size:clamp(1.7rem,2.8vw,3rem);
  line-height:.95;
  text-transform:uppercase;
  margin:0;
}
.fn-event-heading p{
  margin:6px 0 0;
  max-width:760px;
  color:#c8c2ba;
  font-size:.84rem;
  line-height:1.35;
}
/* Oude event hero bewust uitschakelen voor compatibiliteit/cache */
.single-frightnight .fn-event-hero{display:none!important}
.single-frightnight .fn-event-story{padding-top:28px!important}
.single-frightnight .fn-event-story h2,
.single-frightnight .fn-event-media h2,
.single-frightnight .fn-event-flyer h2,
.single-frightnight .fn-event-after h2{font-size:clamp(2.1rem,4.2vw,4.6rem)}

@media(max-width:700px){
  .fn-about-heading,.fn-event-heading{padding:62px 0 14px}
  .fn-about-heading h1,.fn-event-heading h1{font-size:clamp(1.5rem,8vw,2.15rem)}
  .fn-about-heading p,.fn-event-heading p{font-size:.8rem}
  .fn-about-section{padding:18px 0 30px}
}

/* ==========================================================
   v1.1 — native editiegalerij + losse videovelden
   ========================================================== */
.fn-edition-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.fn-edition-gallery__item{
  display:block;
  min-height:230px;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid var(--fn-line);
  background:#080909;
}
.fn-edition-gallery__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .25s ease,filter .25s ease;
}
.fn-edition-gallery__item:hover img{transform:scale(1.025);filter:brightness(1.08)}
.fn-edition-videos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.fn-edition-video{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
  border:1px solid var(--fn-line);
}
.fn-edition-video iframe,.fn-edition-video video{width:100%;height:100%;display:block;border:0;object-fit:cover}
@media(max-width:800px){
  .fn-edition-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fn-edition-videos{grid-template-columns:1fr}
}
@media(max-width:520px){.fn-edition-gallery{grid-template-columns:1fr}}

/* ==========================================================
   v1.2 — compactere typografie, mobiel menu, lightbox, mediavideo's
   ========================================================== */
body:not(.home) .fn-event-heading h1,
body:not(.home) .fn-about-heading h1,
body:not(.home) .fn-page-hero h1,
body:not(.home) .fn-page-hero--compact h1,
body:not(.home) .fn-special-hero h1,
body:not(.home) .fn-about-hero h1{
  font-size:clamp(1.35rem,2vw,2.15rem)!important;
  line-height:1!important;
}
.single-frightnight .fn-event-story h2,
.single-frightnight .fn-event-media h2,
.single-frightnight .fn-event-flyer h2,
.single-frightnight .fn-event-after h2{
  font-size:clamp(1.55rem,2.6vw,2.8rem)!important;
  line-height:.98;
  margin:.18em 0 .5em;
}
body:not(.home) .fn-content h2,
body:not(.home) .fn-about-content h2,
body:not(.home) .fn-special-card h2{
  font-size:clamp(1.45rem,2.4vw,2.45rem)!important;
  line-height:1;
}
body:not(.home) .fn-content h3,
body:not(.home) .fn-about-content h3,
body:not(.home) .fn-special-card h3{
  font-size:clamp(1.15rem,1.8vw,1.8rem)!important;
  line-height:1.05;
}
.single-frightnight .fn-event-story,
.single-frightnight .fn-event-media,
.single-frightnight .fn-event-flyer,
.single-frightnight .fn-event-after{
  padding-top:28px!important;
  padding-bottom:38px!important;
}
.single-frightnight .fn-event-grid{gap:34px}
#main-content{width:100%;max-width:none;overflow:hidden}

@media(max-width:1100px){
  .fn-header{background:rgba(4,5,5,.96);border-bottom:1px solid var(--fn-line);backdrop-filter:blur(14px)}
  .fn-header__inner{position:relative}
  .fn-mobile-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;line-height:1;font-size:0}
  .fn-mobile-toggle:before{content:'☰';font-size:1.15rem}
  .fn-mobile-toggle[aria-expanded="true"]:before{content:'×';font-size:1.6rem}
  .fn-nav{
    display:none!important;position:fixed;top:58px;left:0;right:0;max-height:calc(100vh - 58px);overflow:auto;
    margin:0;padding:14px 20px 24px;background:rgba(4,5,5,.985);border-top:1px solid var(--fn-line);
    border-bottom:1px solid rgba(212,32,39,.25);box-shadow:0 24px 60px rgba(0,0,0,.55);
    flex-direction:column;align-items:stretch;gap:0;z-index:1500;
  }
  .fn-nav.is-open{display:flex!important}
  .fn-nav > a,.fn-nav > li > a{display:block;width:100%;padding:11px 4px!important;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .fn-nav > li{width:100%}
  .fn-nav ul.sub-menu{display:none;position:static!important;margin:0 0 4px 12px!important;padding:2px 0 3px 12px!important;border:0!important;border-left:1px solid rgba(212,32,39,.45)!important;background:transparent!important;box-shadow:none!important}
  .fn-nav li.menu-item-has-children.submenu-open > ul.sub-menu{display:block}
  .fn-nav ul.sub-menu a{padding:8px 5px!important;font-size:.72rem}
  .fn-nav li.menu-item-has-children > a:before{content:'+';right:4px;font-size:.85rem}
  .fn-nav li.menu-item-has-children.submenu-open > a:before{content:'−'}
}
@media(max-width:700px){
  .fn-header__inner{height:58px!important}
  .fn-logo{font-size:1.2rem!important;letter-spacing:.08em}
  .fn-nav{top:58px}
  .home .fn-hero{width:100%;min-height:0;height:auto}
  .home .fn-hero__content{width:100%;padding:92px 0 34px}
  .home .fn-hero__headline{font-size:clamp(3rem,16vw,5rem)}
  .home .fn-hero__eyebrow{font-size:.54rem;letter-spacing:.22em;margin-bottom:18px}
  .home .fn-hero__sub{font-size:.64rem;letter-spacing:.20em}
  .home .fn-hero__date{font-size:1.15rem}
  .home .fn-countdown{gap:7px;width:100%;max-width:100%}
  .home .fn-countdown__item{padding:11px 5px 9px}
  .home .fn-countdown__num{font-size:1.75rem}
  .home .fn-hero__actions{gap:8px}
  .home .fn-hero__actions .fn-btn{min-height:44px;padding:0 13px;font-size:.68rem}
  .fn-story{width:100%}
  .single-frightnight .fn-event-grid{grid-template-columns:1fr;gap:10px}
  .single-frightnight .fn-event-story h2,
  .single-frightnight .fn-event-media h2,
  .single-frightnight .fn-event-flyer h2,
  .single-frightnight .fn-event-after h2{font-size:clamp(1.45rem,9vw,2.15rem)!important}
  .single-frightnight .fn-event-heading{padding:66px 0 12px}
}

.fn-edition-gallery__item{cursor:zoom-in}
.fn-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:24px}
.fn-lightbox.is-open{display:flex}
.fn-lightbox__stage{position:relative;width:min(94vw,1500px);height:min(88vh,1000px);display:flex;align-items:center;justify-content:center}
.fn-lightbox__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.fn-lightbox__close,.fn-lightbox__prev,.fn-lightbox__next{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.25);background:rgba(5,6,6,.72);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fn-lightbox__close{right:0;top:0;width:44px;height:44px;font-size:1.6rem}
.fn-lightbox__prev,.fn-lightbox__next{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:1.8rem}
.fn-lightbox__prev{left:0}.fn-lightbox__next{right:0}
.fn-lightbox__counter{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:.7rem;letter-spacing:.14em;color:#bbb6ae;text-transform:uppercase}
.fn-lightbox button:hover{border-color:var(--fn-red);color:#fff}
body.fn-lightbox-open{overflow:hidden}
@media(max-width:700px){
  .fn-lightbox{padding:8px}.fn-lightbox__stage{width:100%;height:88vh}
  .fn-lightbox__prev,.fn-lightbox__next{width:40px;height:54px;background:rgba(5,6,6,.55)}
  .fn-lightbox__close{width:40px;height:40px}
}

/* v1.9 — logo weer schoon; bloedaccent alleen op de aanmeldknop */
.fn-logo strong{color:var(--fn-red);position:static;display:inline}

.fn-archive-more{text-align:center;margin-top:30px}
.fn-editions--archive{grid-template-columns:repeat(4,minmax(0,1fr))}
.fn-archive-hero p{max-width:720px;color:var(--fn-muted);margin:14px 0 0}
#past-editions .fn-editions{grid-template-columns:repeat(4,minmax(0,1fr))}

@media (max-width:1100px){
  .fn-editions--archive,#past-editions .fn-editions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .fn-editions--archive,#past-editions .fn-editions{grid-template-columns:1fr}
  .fn-logo strong::after{height:.18em;bottom:-.20em}
  .fn-hero__signup{margin-top:12px}
  .fn-hero__signup .fn-btn{min-width:0;width:100%;max-width:290px}
}


/* ==========================================================
   v2.1 — mobiele aanmeldpagina + nieuwsbrief submit + donkerder bloed
   ========================================================== */
@media (max-width:700px){
  .fn-special-page{padding-top:18px!important;padding-bottom:34px!important}
  .fn-special-page .fn-shell{width:min(calc(100% - 24px),var(--fn-max))}
  .fn-special-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;align-items:stretch!important}
  .fn-special-aside{position:relative!important;top:auto!important;padding:22px 20px!important;margin:0!important;min-width:0;overflow:hidden}
  .fn-special-aside .fn-kicker{font-size:.62rem;margin-bottom:8px}
  .fn-special-aside h2{font-size:clamp(2rem,11vw,3rem)!important;line-height:.92;margin:.1rem 0 .85rem}
  .fn-special-aside p{font-size:.98rem;line-height:1.6;margin:.45rem 0}
  .fn-warning{margin-top:16px;padding:12px 12px;font-size:.68rem;line-height:1.5;letter-spacing:.045em}
  .fn-special-card{padding:20px 18px!important;margin:0!important;min-width:0;overflow:hidden}
  .fn-special-card.fn-prose{font-size:.97rem!important;line-height:1.68}
  .fn-special-card.fn-prose p{margin:0 0 1.15rem}
  .fn-form-skin input:not([type=submit]):not([type=checkbox]):not([type=radio]),
  .fn-form-skin textarea,.fn-form-skin select{font-size:16px!important;max-width:100%!important;box-sizing:border-box}
  .fn-form-skin input[type=submit],.fn-form-skin button[type=submit]{width:100%;min-height:48px}
  .fn-newsletter-wrap{width:100%;max-width:100%;padding:0 4px;box-sizing:border-box}
  .fn010-newsletter form,.fn010-newsletter .tnp-form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .fn010-newsletter .tnp-field{display:block!important;width:100%!important}
  .fn010-newsletter input[type=email],.fn010-newsletter .tnp-email{width:100%!important;box-sizing:border-box;border:1px solid var(--fn-line)!important;min-height:50px!important}
  .fn010-newsletter input[type=submit],.fn010-newsletter .tnp-submit{width:100%!important;min-height:50px!important}
}



/* ==========================================================
   v2.3 — nieuwsbrief blijft op homepage + periodieke kortsluiting-glitch
   ========================================================== */
.fn010-newsletter{width:100%}
.fn010-newsletter .tnp.tnp-subscription,
.fn010-newsletter .tnp.tnp-subscription-minimal{width:100%;max-width:none!important}
.fn010-newsletter .tnp.tnp-subscription form,
.fn010-newsletter .tnp.tnp-subscription-minimal form,
.fn010-newsletter .tnp-form{display:flex;width:100%;margin:0;gap:10px;align-items:stretch}
.fn010-newsletter .tnp-field,
.fn010-newsletter .tnp-field-email,
.fn010-newsletter .tnp-field-button{margin:0!important}
.fn010-newsletter .tnp-field-email{flex:1;min-width:0}
.fn010-newsletter input[type=email],
.fn010-newsletter .tnp-email{width:100%;background:#111!important;border:1px solid var(--fn-line)!important;color:white!important;padding:14px 16px!important;outline:none;border-radius:0!important;min-height:50px}
.fn010-newsletter input[type=submit],
.fn010-newsletter .tnp-submit{border:1px solid #d9343c!important;background:var(--fn-red)!important;color:white!important;text-transform:uppercase;font-weight:900;letter-spacing:.08em;padding:0 22px!important;border-radius:0!important;min-height:50px;cursor:pointer;min-width:188px}
.fn010-newsletter label{display:none!important}
/* Ajax response from The Newsletter Plugin */
.fn010-newsletter .tnp-message,
.fn010-newsletter .tnp-response,
.fn010-newsletter .tnp-alert,
.fn010-newsletter .tnp-error{margin:0!important;padding:15px 18px!important;border:1px solid rgba(212,32,39,.45)!important;background:rgba(7,8,8,.88)!important;color:#eee9e2!important;text-align:center;font-size:.92rem;line-height:1.5}

/* Logo: normaal strak, ongeveer iedere 5-6 seconden heel kort 'kortsluiting'. */
.fn-header .fn-logo--glitch{position:relative;display:inline-block;isolation:isolate;animation:fnLogoShortCircuit 5.8s infinite steps(1,end)}
.fn-header .fn-logo--glitch .fn-logo__text{position:relative;z-index:2}
.fn-header .fn-logo--glitch::before,
.fn-header .fn-logo--glitch::after{content:attr(data-text);position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;z-index:1;opacity:0;font:inherit;letter-spacing:inherit;text-transform:inherit}
.fn-header .fn-logo--glitch::before{color:#27d9ff;clip-path:polygon(0 8%,100% 8%,100% 37%,0 37%);animation:fnLogoSliceTop 5.8s infinite steps(1,end)}
.fn-header .fn-logo--glitch::after{color:#ff254f;clip-path:polygon(0 57%,100% 57%,100% 86%,0 86%);animation:fnLogoSliceBottom 5.8s infinite steps(1,end)}
@keyframes fnLogoShortCircuit{
  0%,76%,82%,100%{transform:none;filter:none;text-shadow:none}
  77%{transform:translateX(2px) skewX(-3deg);text-shadow:-4px 0 rgba(255,35,72,.45),4px 0 rgba(0,214,255,.4)}
  77.8%{transform:translateX(-3px) skewX(4deg) scaleX(1.015);filter:contrast(1.35);text-shadow:3px 0 rgba(255,35,72,.55),-3px 0 rgba(0,214,255,.45)}
  78.6%{transform:translateX(1px) skewX(-1deg);filter:brightness(1.3);text-shadow:-2px 0 rgba(255,35,72,.35),2px 0 rgba(0,214,255,.35)}
  79.2%{transform:translateX(-1px);filter:none;text-shadow:none}
  80%{transform:translateX(3px) skewX(2deg);text-shadow:-3px 0 rgba(255,35,72,.4),3px 0 rgba(0,214,255,.4)}
  80.6%{transform:none;text-shadow:none}
}
@keyframes fnLogoSliceTop{
  0%,76%,82%,100%{opacity:0;transform:none}
  77%{opacity:.65;transform:translate(5px,-1px)}
  77.8%{opacity:.38;transform:translate(-4px,1px)}
  78.6%{opacity:.72;transform:translate(7px,0)}
  79.2%{opacity:0;transform:none}
  80%{opacity:.5;transform:translate(-5px,-1px)}
  80.6%{opacity:0;transform:none}
}
@keyframes fnLogoSliceBottom{
  0%,76%,82%,100%{opacity:0;transform:none}
  77%{opacity:.55;transform:translate(-6px,1px)}
  77.8%{opacity:.75;transform:translate(5px,-1px)}
  78.6%{opacity:.3;transform:translate(-3px,0)}
  79.2%{opacity:0;transform:none}
  80%{opacity:.65;transform:translate(6px,1px)}
  80.6%{opacity:0;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .fn-header .fn-logo--glitch,.fn-header .fn-logo--glitch::before,.fn-header .fn-logo--glitch::after{animation:none!important}
}
@media (max-width:700px){
  .fn010-newsletter .tnp.tnp-subscription form,
  .fn010-newsletter .tnp.tnp-subscription-minimal form,
  .fn010-newsletter .tnp-form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .fn010-newsletter .tnp-field-email,.fn010-newsletter .tnp-field-button{width:100%}
  .fn010-newsletter input[type=submit],.fn010-newsletter .tnp-submit{width:100%!important;min-width:0}
}


/* ==========================================================
   v2.4 — nieuwsbrief anti-dubbelklik + CRT/VHS logo burst
   ========================================================== */
.fn-newsletter-status{margin-top:10px;min-height:1.4em;font-size:.82rem;line-height:1.45;text-align:center;color:#c7c0b7;letter-spacing:.02em}
.fn-newsletter-status.is-working{color:#e9e3da}
.fn-newsletter-status.is-success{color:#dfe9d9}
.fn-newsletter-status.is-error{color:#ffb6b9}
.fn-newsletter-status.is-info{color:#c7c0b7}
.fn010-newsletter input[type=submit]:disabled,.fn010-newsletter .tnp-submit:disabled{opacity:.68;cursor:wait;filter:saturate(.75)}

/* Kortere, duidelijkere CRT/VHS-storing: ongeveer elke 4 seconden een halve seconde chaos. */
.fn-header .fn-logo--glitch{animation:fnLogoVhsBody 4.15s infinite steps(1,end)!important;will-change:transform,filter}
.fn-header .fn-logo--glitch::before{animation:fnLogoVhsTop 4.15s infinite steps(1,end)!important}
.fn-header .fn-logo--glitch::after{animation:fnLogoVhsBottom 4.15s infinite steps(1,end)!important}
.fn-header .fn-logo--glitch .fn-logo__text::after{
  content:"";position:absolute;left:-2%;right:-2%;top:0;height:2px;pointer-events:none;opacity:0;z-index:5;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.8) 22%,rgba(0,220,255,.9) 50%,rgba(255,35,72,.8) 75%,transparent);
  box-shadow:0 0 8px rgba(255,255,255,.55);animation:fnLogoVhsScan 4.15s infinite steps(1,end)!important
}
@keyframes fnLogoVhsBody{
  0%,78%,91%,100%{transform:none;filter:none;text-shadow:none}
  79%{transform:translateX(3px) skewX(-4deg) scaleX(1.025);filter:contrast(1.45) saturate(1.35);text-shadow:-5px 0 rgba(255,35,72,.55),5px 0 rgba(0,214,255,.48)}
  80%{transform:translateX(-4px) skewX(5deg) scaleX(.985);filter:brightness(1.38) contrast(1.55);text-shadow:4px 0 rgba(255,35,72,.5),-4px 0 rgba(0,214,255,.55)}
  81%{transform:translate(1px,-1px) skewX(-2deg);filter:contrast(1.3);text-shadow:-3px 0 rgba(255,35,72,.42),3px 0 rgba(0,214,255,.4)}
  82%{transform:translateX(-2px) scaleX(1.018);filter:blur(.25px) brightness(1.2);text-shadow:5px 0 rgba(255,35,72,.35),-2px 0 rgba(0,214,255,.5)}
  83%{transform:none;filter:none;text-shadow:none}
  85%{transform:translateX(2px) skewX(3deg);filter:contrast(1.35);text-shadow:-4px 0 rgba(255,35,72,.48),4px 0 rgba(0,214,255,.42)}
  86%{transform:translateX(-1px);filter:brightness(1.24);text-shadow:2px 0 rgba(255,35,72,.35),-3px 0 rgba(0,214,255,.4)}
  87%{transform:none;filter:none;text-shadow:none}
}
@keyframes fnLogoVhsTop{
  0%,78%,91%,100%{opacity:0;transform:none;clip-path:polygon(0 8%,100% 8%,100% 36%,0 36%)}
  79%{opacity:.82;transform:translate(8px,-1px);clip-path:polygon(0 4%,100% 10%,100% 34%,0 40%)}
  80%{opacity:.5;transform:translate(-7px,1px);clip-path:polygon(0 16%,100% 9%,100% 42%,0 33%)}
  81%{opacity:.9;transform:translate(10px,0);clip-path:polygon(0 3%,100% 3%,100% 22%,0 29%)}
  82%{opacity:.32;transform:translate(-3px,0)}
  83%{opacity:0;transform:none}
  85%{opacity:.58;transform:translate(6px,-1px);clip-path:polygon(0 24%,100% 18%,100% 42%,0 46%)}
  86%{opacity:0;transform:none}
}
@keyframes fnLogoVhsBottom{
  0%,78%,91%,100%{opacity:0;transform:none;clip-path:polygon(0 58%,100% 58%,100% 87%,0 87%)}
  79%{opacity:.64;transform:translate(-9px,1px);clip-path:polygon(0 55%,100% 62%,100% 83%,0 78%)}
  80%{opacity:.92;transform:translate(8px,-1px);clip-path:polygon(0 66%,100% 55%,100% 91%,0 86%)}
  81%{opacity:.42;transform:translate(-5px,0)}
  82%{opacity:.75;transform:translate(6px,1px);clip-path:polygon(0 48%,100% 52%,100% 76%,0 70%)}
  83%{opacity:0;transform:none}
  85%{opacity:.66;transform:translate(-7px,0)}
  86%{opacity:0;transform:none}
}
@keyframes fnLogoVhsScan{
  0%,78%,91%,100%{opacity:0;top:0}
  79%{opacity:.85;top:15%}
  80%{opacity:.45;top:72%}
  81%{opacity:.95;top:38%}
  82%{opacity:.35;top:88%}
  83%{opacity:0;top:0}
  85%{opacity:.65;top:54%}
  86%{opacity:0;top:0}
}
@media (prefers-reduced-motion: reduce){
  .fn-header .fn-logo--glitch,.fn-header .fn-logo--glitch::before,.fn-header .fn-logo--glitch::after,.fn-header .fn-logo--glitch .fn-logo__text::after{animation:none!important}
}


/* ==========================================================
   v2.5 — nieuwsbrief service/profile pagina
   ========================================================== */
.fn-newsletter-service{padding:118px 0 54px;min-height:58vh;background:radial-gradient(circle at 28% 18%,rgba(140,18,24,.12),transparent 34%),#070808;border-bottom:1px solid var(--fn-line)}
.fn-newsletter-service__head{margin-bottom:22px}
.fn-newsletter-service__head h1{font-family:var(--fn-display);font-size:clamp(1.8rem,4vw,3.2rem);line-height:.95;text-transform:uppercase;margin:0}
.fn-newsletter-service__panel{max-width:900px;padding:26px 28px;border:1px solid rgba(212,32,39,.24);background:linear-gradient(145deg,rgba(25,8,10,.82),rgba(8,9,9,.95));box-shadow:var(--fn-shadow)}
.fn-newsletter-service__panel input[type=text],
.fn-newsletter-service__panel input[type=email],
.fn-newsletter-service__panel select,
.fn-newsletter-service__panel textarea{width:100%;max-width:100%;background:#111!important;border:1px solid rgba(255,255,255,.14)!important;color:#f5f1ea!important;padding:12px 14px!important;border-radius:0!important}
.fn-newsletter-service__panel input[type=submit],
.fn-newsletter-service__panel button{background:linear-gradient(180deg,#d8242b,#a90f15)!important;border:1px solid #db3b42!important;color:#fff!important;padding:11px 18px!important;text-transform:uppercase;font-weight:900;letter-spacing:.07em;cursor:pointer}
.fn-newsletter-service__panel a{color:#e63a42}
@media(max-width:700px){
  .fn-newsletter-service{padding:96px 0 36px}
  .fn-newsletter-service__panel{padding:18px 16px}
}


/* ==========================================================
   v2.6 — slimme editie, statusbadge en archieffilters
   ========================================================== */
.fn-event-pulse{display:inline-flex;align-items:center;gap:.5rem;margin:12px auto 0;padding:6px 10px;border:1px solid rgba(212,32,39,.4);background:rgba(7,8,8,.62);color:#f2ece5;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;font-weight:900;backdrop-filter:blur(8px)}
.fn-event-pulse::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fn-red);box-shadow:0 0 0 0 rgba(212,32,39,.45);animation:fnPulseDot 2.2s infinite}
@keyframes fnPulseDot{0%{box-shadow:0 0 0 0 rgba(212,32,39,.5)}70%{box-shadow:0 0 0 7px rgba(212,32,39,0)}100%{box-shadow:0 0 0 0 rgba(212,32,39,0)}}
.fn-archive-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.fn-archive-filters button{appearance:none;border:1px solid rgba(255,255,255,.16);background:#0b0c0c;color:#bdb7af;padding:8px 13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.68rem;cursor:pointer;transition:.2s ease}
.fn-archive-filters button:hover,.fn-archive-filters button.is-active{color:#fff;border-color:var(--fn-red);background:rgba(212,32,39,.14)}
.fn-edition.is-filtered-out{display:none!important}
@media(prefers-reduced-motion:reduce){.fn-event-pulse::before{animation:none}}


/* ==========================================================
   v2.7 — social sharing + portraitvideo's zonder crop
   ========================================================== */
.fn-event-share{
  border-top:1px solid var(--fn-line);
  border-bottom:1px solid var(--fn-line);
  padding:18px 0;
  background:rgba(8,9,9,.72);
}
.fn-event-share__inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fn-event-share__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--fn-muted);font-weight:800;margin-right:4px}
.fn-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--fn-line);background:#0c0d0d;color:#e9e4dc;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;cursor:pointer;transition:.2s ease}
.fn-share-btn:hover{border-color:rgba(212,32,39,.7);color:#fff;transform:translateY(-1px)}
.fn-share-btn--primary{background:linear-gradient(180deg,#d42027,#a81117);border-color:#db343b}
.fn-share-copy.is-copied{border-color:#4f9d69;color:#bce8c9}

/* YouTube/Vimeo embeds stay widescreen; native uploads/direct MP4 keep their own ratio. */
.fn-edition-video--embed{aspect-ratio:16/9;overflow:hidden}
.fn-edition-video--native{
  aspect-ratio:auto!important;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  background:#000;
}
.fn-edition-video--native .wp-video,
.fn-edition-video--native .mejs-container,
.fn-edition-video--native .mejs-inner{max-width:100%!important;width:100%!important}
.fn-edition-video--native video,
.fn-edition-video--native .wp-video-shortcode{
  width:100%!important;
  height:auto!important;
  max-height:78vh;
  object-fit:contain!important;
  background:#000;
}
@media(max-width:700px){
  .fn-event-share{padding:14px 0}
  .fn-event-share__inner{gap:8px}
  .fn-event-share__label{width:100%;margin-bottom:2px}
  .fn-share-btn{flex:1 1 calc(50% - 8px)}
  .fn-edition-video--native video,.fn-edition-video--native .wp-video-shortcode{max-height:82vh}
}


/* ==========================================================
   v2.8 — social share teruggebracht tot één subtiele icon-button
   ========================================================== */
.fn-event-share{display:none!important}
.fn-event-heading__inner{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.fn-event-heading__copy{min-width:0}
.fn-event-share-icon{
  appearance:none;
  flex:0 0 auto;
  width:34px;
  height:34px;
  margin-top:4px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,9,9,.52);
  color:#aaa49c;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
  backdrop-filter:blur(6px);
}
.fn-event-share-icon svg{width:16px;height:16px;fill:currentColor}
.fn-event-share-icon:hover{color:#fff;border-color:rgba(212,32,39,.6);background:rgba(212,32,39,.10);transform:translateY(-1px)}
.fn-event-share-icon:focus-visible{outline:2px solid var(--fn-red);outline-offset:3px}
.fn-event-share-icon.is-done{color:#bde5c7;border-color:rgba(90,170,112,.55);background:rgba(90,170,112,.10)}
.fn-event-share-icon.is-done svg{display:none}
.fn-event-share-icon.is-done::before{content:"✓";font-weight:900;font-size:.95rem}
@media(max-width:700px){
  .fn-event-heading__inner{gap:12px}
  .fn-event-share-icon{width:32px;height:32px;margin-top:1px}
  .fn-event-share-icon svg{width:15px;height:15px}
}


/* ==========================================================
   v2.9 — rustiger countdown, respecteer afbeeldingsformaten,
           lichtere mobiele hero/story en zachte sectie-overgangen
   ========================================================== */

/* WordPress afbeeldingsgrootte/uitlijning in event-content respecteren.
   Geen geforceerde width:100% of width:auto: editor-keuze blijft leidend. */
.single-frightnight .fn-event-story .fn-prose img{
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.single-frightnight .fn-event-story .fn-prose figure,
.single-frightnight .fn-event-story .fn-prose .wp-block-image{
  max-width:100%;
}
.single-frightnight .fn-event-story .fn-prose figure.aligncenter,
.single-frightnight .fn-event-story .fn-prose .aligncenter{
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-frightnight .fn-event-story .fn-prose figure.alignleft,
.single-frightnight .fn-event-story .fn-prose .alignleft{
  float:left;
  margin-right:1.5rem!important;
}
.single-frightnight .fn-event-story .fn-prose figure.alignright,
.single-frightnight .fn-event-story .fn-prose .alignright{
  float:right;
  margin-left:1.5rem!important;
}
.single-frightnight .fn-event-story .fn-prose::after{content:"";display:block;clear:both}

/* Zachte overgang hero -> verhaal en verhaal -> volgende sectie. */
.home .fn-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:88px;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,6,6,0),#060707 92%);
}
.home .fn-story::before,
.home .fn-story::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:82px;
  z-index:4;
  pointer-events:none;
}
.home .fn-story::before{
  top:0;
  background:linear-gradient(180deg,#060707 0%,rgba(6,7,7,.58) 42%,rgba(6,7,7,0) 100%);
}
.home .fn-story::after{
  bottom:0;
  background:linear-gradient(180deg,rgba(6,7,7,0) 0%,rgba(6,7,7,.62) 58%,#060707 100%);
}

@media(max-width:900px){
  /* Op mobiel/tablet iets meer detail in de beelden. */
  .home .fn-hero__media img{
    filter:brightness(.74) saturate(.98) contrast(1.02);
  }
  .home .fn-hero__media:after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.08) 55%,rgba(4,5,5,.60) 100%),
      linear-gradient(90deg,rgba(0,0,0,.08),transparent 42%,rgba(0,0,0,.08));
  }
  .home .fn-story__visual img{
    filter:brightness(.78) saturate(.78) contrast(1.06);
  }
  .home .fn-story__visual:before{
    background:linear-gradient(180deg,rgba(4,5,5,.06) 0%,rgba(4,5,5,.34) 50%,rgba(4,5,5,.86) 82%,rgba(4,5,5,.96) 100%);
  }
  .home .fn-hero::after{height:108px}
  .home .fn-story::before,.home .fn-story::after{height:96px}
}

@media(max-width:700px){
  .home .fn-hero__media img{filter:brightness(.80) saturate(1) contrast(1.01)}
  .home .fn-story__visual img{filter:brightness(.84) saturate(.82) contrast(1.04)}
}


/* v3.3 — Halloween Spooky ONLY on Zombie Apocalypse */
@font-face{
  font-family:'FN010 Halloween Spooky';
  src:url('../../uploads/frightnight010-fonts/Halloween%20Spooky.otf') format('opentype'),
      url('assets/fonts/Halloween%20Spooky.otf') format('opentype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.home .fn-hero__headline,
.home .fn-hero__headline span{
  font-family:'FN010 Halloween Spooky',var(--fn-display)!important;
  font-weight:400;
}


/* v3.4 — Bloody Terror ONLY on the 010 in the site logo */
@font-face{
  font-family:'FN010 Bloody Terror';
  src:url('../../uploads/frightnight010-fonts/Bloody%20Terror%20TTF%20Personal.ttf') format('truetype'),
      url('assets/fonts/Bloody-Terror.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.fn-logo .fn-logo__blood{
  font-family:'FN010 Bloody Terror',var(--fn-display)!important;
  font-weight:400;
  font-size:.70em;
  line-height:1;
  display:inline-flex;
  align-items:baseline;
  gap:.24em;
  vertical-align:.10em;
  position:relative;
  top:-.18em;
  margin-left:.06em;
  letter-spacing:0;
}
.fn-logo .fn-logo__blood > span{
  display:inline-block;
  font:inherit;
  line-height:1;
}


/* v4.1 — promo van de actieve editie op de homepage */
.fn-home-promo{
  position:relative;
  padding:clamp(54px,7vw,96px) 0;
  background:
    radial-gradient(circle at 72% 48%,rgba(212,32,39,.12),transparent 36%),
    linear-gradient(180deg,#050606 0%,#090707 52%,#050606 100%);
  border-top:1px solid var(--fn-line);
  border-bottom:1px solid var(--fn-line);
  overflow:hidden;
}
.fn-home-promo:before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 45%,rgba(255,255,255,.018) 50%,transparent 55%);
}
.fn-home-promo__grid{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(240px,.58fr) minmax(0,1.42fr);
  gap:clamp(34px,5vw,72px);
  align-items:center;
}
.fn-home-promo__copy h2{
  font-family:var(--fn-display);
  font-size:clamp(2.7rem,5.4vw,5.8rem);
  line-height:.88;
  text-transform:uppercase;
  margin:.16em 0 .25em;
}
.fn-home-promo__copy h2 span{color:var(--fn-red);display:block}
.fn-home-promo__copy p{max-width:390px;color:#a8a29b;margin:0}
.fn-home-promo__video{
  position:relative;
  width:100%;
  background:#000;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  overflow:hidden;
}
.fn-home-promo__video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
.fn-home-promo__video video{display:block;width:100%;height:auto;max-height:72vh;background:#000;object-fit:contain}
.fn-home-promo__video .fn-btn{margin:26px}
@media(max-width:800px){
  .fn-home-promo{padding:50px 0 56px}
  .fn-home-promo__grid{grid-template-columns:1fr;gap:24px}
  .fn-home-promo__copy h2{font-size:clamp(2.6rem,13vw,4.8rem)}
  .fn-home-promo__copy p{max-width:none}
}


/* v4.2 — subtle atmospheric hero effects + cleaner homepage promo */
.fn-hero{isolation:isolate}
.fn-hero__redglow,
.fn-hero__lightning{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
}
.fn-hero__redglow{
  background:
    radial-gradient(circle at 13% 62%, rgba(212,32,39,.22) 0%, rgba(212,32,39,.10) 17%, rgba(212,32,39,0) 38%),
    radial-gradient(circle at 7% 49%, rgba(155,12,18,.15) 0%, rgba(155,12,18,0) 30%);
  mix-blend-mode:screen;
  opacity:.62;
  animation:fn010-red-breathe 8s ease-in-out infinite;
}
.fn-hero__lightning{
  inset:4% 3% auto auto;
  width:min(29vw,480px);
  height:min(42vw,620px);
  opacity:0;
  background-repeat:no-repeat;
  background-position:center top;
  background-size:contain;
  filter:drop-shadow(0 0 8px rgba(255,210,210,.45)) drop-shadow(0 0 18px rgba(212,32,39,.26));
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 520'%3E%3Cpath d='M170 0c-10 42-26 68-12 102 10 25 4 46-16 71-19 24-29 52-19 76 9 21 3 42-16 68-18 24-24 50-13 73 10 21 4 39-11 61-12 18-18 39-12 69' fill='none' stroke='%23f4d9d9' stroke-width='2.1' stroke-linecap='round'/%3E%3Cpath d='M149 112c27 20 40 43 31 68-8 21-4 42 13 64' fill='none' stroke='%23c9252c' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E");
  animation:fn010-lightning 13s linear infinite;
}
@keyframes fn010-red-breathe{
  0%,100%{opacity:.50;transform:scale(1)}
  50%{opacity:.72;transform:scale(1.015)}
}
@keyframes fn010-lightning{
  0%,72%,100%{opacity:0}
  73%{opacity:.18}
  73.4%{opacity:.04}
  73.8%{opacity:.34}
  74.3%{opacity:.06}
  74.8%{opacity:.20}
  76%{opacity:0}
}
@media(max-width:900px){
  .fn-hero__redglow{opacity:.48}
  .fn-hero__lightning{width:42vw;height:66vw;right:-2%;top:7%;filter:drop-shadow(0 0 5px rgba(255,210,210,.38)) drop-shadow(0 0 12px rgba(212,32,39,.20))}
}
@media(prefers-reduced-motion:reduce){
  .fn-hero__redglow,.fn-hero__lightning{animation:none}
  .fn-hero__redglow{opacity:.56}
}


/* ==========================================================
   v4.4 — rustiger eventverhaal + editorformaten + gecentreerde video
   ========================================================== */
.single-frightnight .fn-event-story .fn-event-grid{
  display:block;
  max-width:1180px;
}
.single-frightnight .fn-event-story .fn-event-grid > div:first-child{
  max-width:980px;
  margin:0 auto 30px;
  padding-bottom:20px;
  border-bottom:1px solid var(--fn-line);
}
.single-frightnight .fn-event-story .fn-prose{
  max-width:980px;
  margin:0 auto;
  line-height:1.75;
}
.single-frightnight .fn-event-story .fn-prose > :first-child{margin-top:0}
.single-frightnight .fn-event-story .fn-prose > :last-child{margin-bottom:0}

/* Promo- en editie-video's altijd netjes in het midden. */
.single-frightnight .fn-event-media .fn-event-video{
  margin-left:auto;
  margin-right:auto;
}
.single-frightnight .fn-edition-videos{
  justify-items:center;
}
.single-frightnight .fn-edition-video{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.single-frightnight .fn-edition-video--native .wp-video,
.single-frightnight .fn-edition-video--native .mejs-container{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:700px){
  .single-frightnight .fn-event-story .fn-event-grid > div:first-child{margin-bottom:22px;padding-bottom:16px}
  .single-frightnight .fn-event-story .fn-prose figure.alignleft,
  .single-frightnight .fn-event-story .fn-prose .alignleft,
  .single-frightnight .fn-event-story .fn-prose figure.alignright,
  .single-frightnight .fn-event-story .fn-prose .alignright{
    float:none;
    margin-left:0!important;
    margin-right:0!important;
  }
  .single-frightnight .fn-event-story .fn-prose figure.aligncenter,
  .single-frightnight .fn-event-story .fn-prose .aligncenter{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* ==========================================================
   v4.5 — uncropped promo + plattegrond + comic flipbook
   ========================================================== */
.single-frightnight .fn-event-video--native{
  aspect-ratio:auto;
  overflow:visible;
  width:min(100%,1180px);
  background:#000;
}
.single-frightnight .fn-event-video--native video{
  width:100%;
  height:auto;
  max-height:82vh;
  object-fit:contain;
  background:#000;
}
.single-frightnight .fn-event-video--embed{
  width:min(100%,1180px);
  aspect-ratio:16/9;
  overflow:hidden;
}
.single-frightnight .fn-event-video--embed iframe{
  width:100%;
  height:100%;
  object-fit:contain;
}

.fn-event-map{background:radial-gradient(circle at 50% 40%,rgba(212,32,39,.08),transparent 52%),#080909}
.fn-event-map__head,.fn-event-comic__head{max-width:860px;margin:0 auto 28px;text-align:center}
.fn-event-map__head h2,.fn-event-comic__head h2{margin:.25rem 0 .7rem}
.fn-event-map__head p,.fn-event-comic__head p{color:var(--fn-muted);margin:0 auto;max-width:720px}
.fn-event-map__figure{margin:0 auto;max-width:1180px;border:1px solid var(--fn-line);background:#050505;box-shadow:var(--fn-shadow);padding:12px}
.fn-event-map__figure img{display:block;width:auto;max-width:100%;height:auto;max-height:82vh;margin:0 auto;object-fit:contain}

.fn-event-comic{background:linear-gradient(180deg,#070808,#0d0809 52%,#070808)}
.fn-comic-book{--book-max:820px;position:relative;max-width:var(--book-max);margin:0 auto;padding:10px 64px 48px;perspective:1800px}
.fn-comic-book__stage{position:relative;width:100%;aspect-ratio:0.70;background:#15100f;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.58),inset 0 0 0 7px #080606;overflow:hidden}
.fn-comic-book__stage:before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;z-index:10;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18),transparent)}
.fn-comic-book__page{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#efe9dd;transform-origin:left center;backface-visibility:hidden;transition:transform .66s cubic-bezier(.65,.05,.36,1),opacity .25s;opacity:0;pointer-events:none;z-index:1}
.fn-comic-book__page.is-active{opacity:1;pointer-events:auto;z-index:4;transform:rotateY(0deg)}
.fn-comic-book__page.is-turning-next{opacity:1;z-index:6;transform:rotateY(-178deg);box-shadow:18px 0 28px rgba(0,0,0,.28)}
.fn-comic-book__page.is-turning-prev{opacity:1;z-index:6;transform:rotateY(178deg);transform-origin:right center;box-shadow:-18px 0 28px rgba(0,0,0,.28)}
.fn-comic-book__page img{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.fn-comic-book__nav{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:18px}
.fn-comic-book__button{appearance:none;border:1px solid rgba(255,255,255,.22);background:#0c0c0c;color:#fff;width:42px;height:42px;display:grid;place-items:center;font-size:25px;line-height:1;cursor:pointer;transition:.2s}
.fn-comic-book__button:hover:not(:disabled){border-color:var(--fn-red);color:var(--fn-red);transform:translateY(-1px)}
.fn-comic-book__button:disabled{opacity:.28;cursor:default}
.fn-comic-book__counter{min-width:94px;text-align:center;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:#aaa}
.fn-comic-book__hint{text-align:center;color:#777;font-size:.78rem;margin:14px 0 0;letter-spacing:.04em}
@media(max-width:700px){
  .fn-comic-book{padding-left:0;padding-right:0;max-width:100%}
  .fn-comic-book__stage{aspect-ratio:0.70}
  .fn-event-map__figure{padding:6px}
}
@media(prefers-reduced-motion:reduce){.fn-comic-book__page{transition:none}}


/* ==========================================================
   v4.6 — uniforme eventsecties + downloadbare comic-PDF
   ========================================================== */
.single-frightnight .fn-event-section{
  padding-top:34px!important;
  padding-bottom:46px!important;
}
.single-frightnight .fn-event-section > .fn-shell{
  width:min(calc(100% - 36px),1180px);
}
.single-frightnight .fn-event-section__head{
  max-width:980px;
  margin:0 auto 28px;
  padding-bottom:18px;
  border-bottom:1px solid var(--fn-line);
  text-align:left;
}
.single-frightnight .fn-event-section__head .fn-kicker{
  margin-bottom:8px;
}
.single-frightnight .fn-event-section__head h2{
  font-family:var(--fn-display);
  font-size:clamp(1.55rem,2.6vw,2.8rem)!important;
  line-height:.98;
  text-transform:uppercase;
  margin:.18em 0 .35em;
}
.single-frightnight .fn-event-section__head p{
  max-width:760px;
  margin:0;
  color:var(--fn-muted);
  font-size:1rem;
  line-height:1.6;
}
.single-frightnight .fn-event-section__body{
  max-width:1180px;
  margin:0 auto;
}
.single-frightnight .fn-event-story__body{
  max-width:980px;
}
.single-frightnight .fn-event-media__body{
  display:flex;
  justify-content:center;
}
.single-frightnight .fn-event-media__body > .fn-event-video{
  margin:0 auto;
}
.single-frightnight .fn-event-flyer__figure{
  max-width:780px;
  margin:0 auto;
  text-align:center;
}
.single-frightnight .fn-event-flyer__figure img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:920px;
  margin:0 auto;
}
.single-frightnight .fn-event-map__head,
.single-frightnight .fn-event-comic__head{
  max-width:none;
  margin:0;
  text-align:left;
}
.single-frightnight .fn-event-map__figure{margin:0 auto}
.single-frightnight .fn-edition-gallery,
.single-frightnight .fn-edition-videos{margin-top:0}
.single-frightnight .fn-comic-download{
  display:flex;
  justify-content:center;
  margin:26px auto 0;
}
.single-frightnight .fn-comic-download .fn-btn{
  min-width:230px;
  justify-content:center;
  text-align:center;
}
@media(max-width:700px){
  .single-frightnight .fn-event-section{padding-top:26px!important;padding-bottom:34px!important}
  .single-frightnight .fn-event-section > .fn-shell{width:min(calc(100% - 24px),1180px)}
  .single-frightnight .fn-event-section__head{margin-bottom:20px;padding-bottom:14px}
  .single-frightnight .fn-event-section__head p{font-size:.92rem}
}
