.attracties-site *,
.attracties-home *,
.attracties-single *,
.attracties-archive *,
.atr-header *,
.atr-footer * {
box-sizing: border-box;
}
body.attracties-site {
margin: 0;
font-family: var(--ff-body, 'Plus Jakarta Sans', sans-serif);
font-size: var(--font-size-base, 16px);
background: var(--clr-bg, #F7F9F7);
color: var(--clr-text, #1A2E22);
-webkit-font-smoothing: antialiased;
overflow-x: hidden; 
max-width: 100vw;
}
.attracties-stars i { color: #F4A623; }
.attracties-stars .far.fa-star { color: rgba(244,166,35,.3); }
.atr-header {
position: absolute;
top: 0; left: 0; right: 0;
z-index: 300;
pointer-events: none; 
}
.atr-header--sticky {
position: absolute; 
top: 0; left: 0; right: 0;
}
.atr-header__layout {
display: flex;
align-items: flex-start;
justify-content: space-between;
padding: 28px 36px 0;
gap: 16px;
pointer-events: none;
}
.atr-header__layout > * { pointer-events: auto; }
.atr-header__brand {
display: flex;
align-items: center;
text-decoration: none;
flex-shrink: 0;
background: rgba(255,255,255,.92);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 16px;
padding: 10px 16px;
box-shadow: 0 4px 24px rgba(0,0,0,.18);
transition: transform .2s, box-shadow .2s;
}
.atr-header__brand:hover {
transform: translateY(-2px);
box-shadow: 0 8px 32px rgba(0,0,0,.22);
}
.atr-header__logo {
height: 80px; width: auto; object-fit: contain; display: block;
}
.atr-header__site-name {
font-family: var(--ff-display);
font-size: 1.4rem; letter-spacing: .05em;
color: var(--clr-primary); line-height: 1;
}
.atr-nav-pill {
display: flex;
align-items: center;
gap: 2px;
background: rgba(255,255,255,.92);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-radius: 100px;
padding: 6px 8px;
box-shadow: 0 4px 24px rgba(0,0,0,.18);
}
.atr-nav-pill__link {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 9px 18px;
border-radius: 100px;
text-decoration: none;
color: #1A2E22;
font-size: .86rem;
font-weight: 600;
white-space: nowrap;
transition: background .15s, color .15s;
}
.atr-nav-pill__link i {
font-size: .8em;
opacity: .7;
transition: opacity .15s;
}
.atr-nav-pill__link:hover i,
.atr-nav-pill__link.is-active i { opacity: 1; }
.atr-nav-pill__link:hover {
background: rgba(45,106,79,.1);
color: var(--clr-primary);
}
.atr-nav-pill__link.is-active {
background: var(--clr-primary);
color: #fff;
}
.atr-hamburger {
display: none;
width: 40px; height: 40px; border-radius: 100px;
background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.25);
cursor: pointer; flex-direction: column; align-items: center;
justify-content: center; gap: 5px;
transition: background .2s, border-color .2s; flex-shrink: 0; margin-left: 4px;
position: relative; z-index: 310;
}
.atr-hamburger:hover { background: rgba(255,255,255,.25); border-color: rgba(255,255,255,.4); }
.atr-hamburger span {
display: block; width: 18px; height: 2px;
background: #2D6A4F; border-radius: 2px;
transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s, width .2s;
transform-origin: center;
}
.atr-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.atr-hamburger.is-open span:nth-child(2) { opacity: 0; width: 0; }
.atr-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.atr-mobile-nav {
position: fixed;
top: 16px; right: 16px; 
width: 260px;
z-index: 305;
background: #fff;
border-radius: 20px;
box-shadow: 0 20px 60px rgba(0,0,0,.18), 0 4px 16px rgba(0,0,0,.1);
border: 1px solid rgba(0,0,0,.06);
overflow: hidden;
opacity: 0;
transform: scale(.85) translateY(-16px);
transform-origin: top right;
pointer-events: none;
transition:
opacity .25s cubic-bezier(.4,0,.2,1),
transform .3s cubic-bezier(.34,1.56,.64,1); 
}
.atr-mobile-nav.is-open {
opacity: 1;
transform: scale(1) translateY(0);
pointer-events: auto;
}
.atr-mobile-nav__header {
padding: 14px 16px 12px;
border-bottom: 1px solid rgba(0,0,0,.06);
display: flex; align-items: center; justify-content: space-between;
}
.atr-mobile-nav__header span {
font-family: var(--ff-display); font-size: .9rem; letter-spacing: .06em;
color: #1a1f2e; font-weight: 700; text-transform: uppercase;
}
.atr-mobile-nav__close {
width: 30px; height: 30px; border-radius: 100px;
background: rgba(0,0,0,.06); border: none; cursor: pointer;
display: flex; align-items: center; justify-content: center;
color: #1a1f2e; font-size: .9rem; transition: background .15s;
}
.atr-mobile-nav__close:hover { background: rgba(45,106,79,.12); color: #2D6A4F; }
.atr-mobile-nav__items { padding: 8px 0; }
.atr-mobile-nav__link {
display: flex; align-items: center; gap: 12px;
padding: 11px 20px;
color: #1a1f2e; text-decoration: none;
font-size: .88rem; font-weight: 600;
transition: background .15s, color .15s;
border-radius: 0;
}
.atr-mobile-nav__link:hover { background: rgba(45,106,79,.07); color: #2D6A4F; }
.atr-mobile-nav__link.is-active { color: #2D6A4F; background: rgba(45,106,79,.07); }
.atr-mobile-nav__link i {
color: #2D6A4F; width: 18px; text-align: center;
font-size: .85rem; flex-shrink: 0;
}
.atr-mobile-backdrop {
display: none; position: fixed; inset: 0; z-index: 300;
}
.atr-mobile-backdrop.is-open { display: block; }
.attracties-home .atr-hero,
.attracties-archive .archive-hero,
.attracties-single .attractie-hero {
padding-top: 0; 
}
@media (max-width: 1100px) and (min-width: 821px) {
.atr-nav-pill__link {
padding: 8px 10px;
font-size: .74rem;
gap: 4px;
}
.atr-nav-pill__link i { display: none; } 
.atr-header__layout { padding: 24px 20px 0; }
.atr-header__logo { height: 60px; }
}
@media (max-width: 820px) {
.atr-nav-pill__link { display: none; }
.atr-lang-switcher--desktop,
.atr-lang-switcher--desktop * { display: none !important; }
.atr-hamburger { display: flex; }
.atr-header__layout { padding: 20px 16px 0; }
.atr-header__logo { height: 52px; }
}
.attracties-home { min-height: 100vh; display: flex; flex-direction: column; }
.atr-hero {
position: relative;
min-height: 92vh;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center; 
background: var(--clr-bg) center/cover no-repeat;
overflow: hidden;
}
.atr-hero__overlay {
position: absolute; inset: 0;
background:
linear-gradient(135deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.4) 55%, rgba(0,0,0,.15) 100%),
linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 40%);
animation: atr-overlay-breathe 8s ease-in-out infinite;
}
@keyframes atr-overlay-breathe {
0%,100% { opacity: 1; }
50%      { opacity: .88; }
}

/* Floating particles */
.atr-hero__particles {
position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1;
}
.atr-hero__particles span {
position: absolute; display: block; border-radius: 50%;
background: rgba(255,255,255,.1);
animation: atr-float linear infinite;
}
.atr-hero__particles span:nth-child(1)  { width:80px;  height:80px;  left:10%; animation-duration:18s; animation-delay:0s;    top:20%; }
.atr-hero__particles span:nth-child(2)  { width:120px; height:120px; left:70%; animation-duration:24s; animation-delay:-5s;   top:60%; }
.atr-hero__particles span:nth-child(3)  { width:50px;  height:50px;  left:40%; animation-duration:15s; animation-delay:-2s;   top:80%; }
.atr-hero__particles span:nth-child(4)  { width:90px;  height:90px;  left:85%; animation-duration:20s; animation-delay:-8s;   top:15%; }
.atr-hero__particles span:nth-child(5)  { width:60px;  height:60px;  left:25%; animation-duration:22s; animation-delay:-12s;  top:40%; }
.atr-hero__particles span:nth-child(6)  { width:40px;  height:40px;  left:55%; animation-duration:16s; animation-delay:-4s;   top:30%; }
.atr-hero__particles span:nth-child(7)  { width:70px;  height:70px;  left:5%;  animation-duration:19s; animation-delay:-7s;   top:65%; }
.atr-hero__particles span:nth-child(8)  { width:100px; height:100px; left:60%; animation-duration:23s; animation-delay:-14s;  top:45%; }
.atr-hero__particles span:nth-child(9)  { width:45px;  height:45px;  left:32%; animation-duration:17s; animation-delay:-3s;   top:70%; }
.atr-hero__particles span:nth-child(10) { width:65px;  height:65px;  left:78%; animation-duration:21s; animation-delay:-9s;   top:35%; }
.atr-hero__particles span:nth-child(11) { width:55px;  height:55px;  left:48%; animation-duration:14s; animation-delay:-6s;   top:55%; }
.atr-hero__particles span:nth-child(12) { width:85px;  height:85px;  left:18%; animation-duration:25s; animation-delay:-11s;  top:10%; }
@keyframes atr-float {
0%   { transform: translateY(0)   rotate(0deg);   opacity: 0; }
10%  { opacity: 1; }
90%  { opacity: 1; }
100% { transform: translateY(-600px) rotate(360deg); opacity: 0; }
}
.atr-hero__content {
position: relative; z-index: 2;
width: 100%;
padding: 160px 48px 160px 48px;
text-align: left;
}
/* Tag boven titel */
.atr-hero__tag {
display: inline-flex; align-items: center; gap: 8px;
max-width: 860px;
background: rgba(255,255,255,.12);
backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,.2);
color: rgba(255,255,255,.9); font-size: .8rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
padding: 6px 16px; border-radius: 100px;
margin-bottom: 20px;
animation: atr-fade-up .6s ease both;
}
.atr-hero__tag i { color: #52B788; }
.atr-hero__title {
font-family: var(--ff-display);
font-size: clamp(3rem, 7.5vw, 7rem);
letter-spacing: .01em; line-height: .95;
text-shadow: 0 4px 32px rgba(0,0,0,.4);
color: #fff; margin-bottom: 20px;
max-width: 860px;
animation: atr-fade-up .6s ease .1s both;
}
.atr-hero__subtitle {
font-size: clamp(.95rem, 1.8vw, 1.15rem);
color: rgba(255,255,255,.82); line-height: 1.65;
margin-bottom: 28px; max-width: 560px; font-weight: 500;
animation: atr-fade-up .6s ease .2s both;
}
/* Type pills in hero */
.atr-hero__types {
display: flex; flex-wrap: wrap; gap: 8px;
margin-bottom: 32px;
animation: atr-fade-up .6s ease .3s both;
}
.atr-hero__type-pill {
display: inline-flex; align-items: center; gap: 6px;
padding: 7px 16px; border-radius: 100px;
background: rgba(255,255,255,.1);
backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
border: 1px solid rgba(255,255,255,.2);
color: #fff; font-size: .82rem; font-weight: 600;
text-decoration: none;
transition: background .2s, border-color .2s, transform .2s;
}
.atr-hero__type-pill:hover {
background: rgba(82,183,136,.35);
border-color: rgba(82,183,136,.6);
transform: translateY(-2px);
color: #fff;
}
.atr-hero__type-pill i { font-size: .78rem; opacity: .85; }
.atr-hero__buttons {
display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-start;
animation: atr-fade-up .6s ease .4s both;
}

/* Scroll indicator */
.atr-hero__scroll {
position: absolute; bottom: 32px; left: 50%;
transform: translateX(-50%);
z-index: 3;
}
.atr-hero__scroll span {
display: block; width: 24px; height: 38px;
border: 2px solid rgba(255,255,255,.4); border-radius: 12px;
position: relative;
}
.atr-hero__scroll span::before {
content: ''; position: absolute;
top: 6px; left: 50%; transform: translateX(-50%);
width: 4px; height: 8px; border-radius: 2px;
background: rgba(255,255,255,.7);
animation: atr-scroll-dot 2s ease infinite;
}
@keyframes atr-scroll-dot {
0%   { top: 6px; opacity: 1; }
100% { top: 22px; opacity: 0; }
}

/* Fade-up animatie voor hero elementen */
@keyframes atr-fade-up {
from { opacity: 0; transform: translateY(24px); }
to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 820px) {
.atr-hero { min-height: 55vh; }
.atr-hero__content { padding: 100px 32px 80px; }
}
@media (max-width: 640px) {
.atr-hero { min-height: 52vh; }
.atr-hero__content { padding: 90px 20px 70px; }
.atr-hero__title { font-size: clamp(2.2rem, 10vw, 3.5rem); }
}
.atr-btn {
display: inline-flex; align-items: center; gap: 8px;
padding: 14px 28px; border-radius: var(--radius, 14px);
font-family: var(--ff-body); font-size: .95rem; font-weight: 600;
text-decoration: none; cursor: pointer; border: 2px solid transparent;
color: #fff; 
transition: transform .25s, box-shadow .25s, background .25s, color .25s;
}
.atr-btn:hover { transform: translateY(-3px); color: #fff; }
.atr-btn--primary {
background: var(--clr-primary); color: #fff;
box-shadow: 0 6px 24px rgba(var(--clr-primary-rgb,.5),0.4);
}
.atr-btn--primary:hover { box-shadow: 0 10px 32px rgba(var(--clr-primary-rgb,.5),0.5); }
.atr-btn--outline {
background: transparent; color: #fff;
border-color: rgba(255,255,255,.5); backdrop-filter: blur(4px);
}
.atr-btn--outline:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.atr-btn--lg { padding: 16px 36px; font-size: 1.05rem; }
.atr-hero__types {
position: relative; z-index: 2;
display: flex; gap: 12px; justify-content: flex-start; flex-wrap: wrap;
padding: 0;
width: 100%;
}
@media (max-width: 640px) {
.atr-hero__types { padding: 0; }
}
.atr-type-chip {
display: flex; flex-direction: column; align-items: center; gap: 6px;
padding: 16px 20px; border-radius: var(--radius, 14px);
background: rgba(255,255,255,.1); backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,.15);
text-decoration: none; color: #fff; font-size: .8rem; font-weight: 600;
letter-spacing: .04em; text-transform: uppercase;
transition: background .2s, border-color .2s, transform .2s;
min-width: 90px;
}
.atr-type-chip i { font-size: 1.4rem; }
.atr-type-chip:hover { transform: translateY(-4px); }
.atr-type-chip--achtbaan:hover { background: rgba(var(--clr-achtbaan),.25); border-color: var(--clr-achtbaan); }
.atr-type-chip--waterattractie:hover { background: rgba(0,180,216,.25); border-color: var(--clr-waterattractie); }
.atr-type-chip--darkride:hover { background: rgba(123,47,190,.25); border-color: var(--clr-darkride); }
.atr-stats { background: var(--clr-surface); border-top: 1px solid var(--clr-border); border-bottom: 1px solid var(--clr-border); }
.atr-stats__inner {
max-width: 1320px; margin: 0 auto; padding: 56px 24px;
display: grid; grid-template-columns: repeat(4,1fr); gap: 24px;
}
.atr-stat { text-align: center; }
.atr-stat__num {
display: block; font-family: var(--ff-display);
font-size: clamp(2rem, 5vw, 3.2rem); color: var(--clr-primary);
letter-spacing: .02em; line-height: 1;
}
.atr-stat__label {
display: flex; align-items: center; justify-content: center; gap: 6px;
font-size: .85rem; color: var(--clr-muted); margin-top: 6px;
}
.atr-stat__label i { color: var(--clr-primary); }
@media (max-width: 600px) { .atr-stats__inner { grid-template-columns: repeat(2,1fr); } }
.atr-section { padding: 64px 0; }
.atr-section__inner { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.atr-section__header {
display: flex; align-items: center; justify-content: space-between;
margin-bottom: 20px;
}
.atr-section__title {
font-family: var(--ff-display);
font-size: clamp(1.6rem, 4vw, 2.4rem); letter-spacing: .03em;
display: flex; align-items: center; gap: 12px;
}
.atr-section__title i { color: var(--clr-primary); }
.atr-section__link {
color: var(--clr-primary); text-decoration: none;
font-weight: 600; font-size: .9rem;
transition: opacity .2s;
}
.atr-section__link:hover { opacity: .75; }
.atr-parks-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 20px;
}
.atr-park-card {
text-decoration: none; color: var(--clr-text);
border-radius: var(--radius); overflow: hidden;
border: 1px solid var(--clr-border);
background: var(--clr-surface);
transition: transform .25s, box-shadow .25s;
}
.atr-park-card:hover { transform: translateY(-6px); box-shadow: 0 12px 36px rgba(45,106,79,.15); border-color: var(--clr-primary); }
.atr-park-card__img {
aspect-ratio: 16/9; background: var(--clr-bg) center/cover no-repeat;
display: flex; align-items: center; justify-content: center;
position: relative; font-size: 2.5rem; color: var(--clr-muted);
}
.atr-park-card__overlay {
position: absolute; inset: 0;
background: linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 60%);
}
.atr-park-card__body {
padding: 16px 20px;
display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
}
.atr-park-card__body h3 { font-size: 1rem; font-weight: 700; flex: 1; }
.atr-park-card__body span {
font-size: .78rem; color: var(--clr-muted);
background: var(--clr-glass); padding: 3px 10px; border-radius: 100px;
border: 1px solid var(--clr-border);
flex-shrink: 0; white-space: nowrap; margin-top: 2px;
}
.atr-cta {
background: linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-dk, #1a4731) 100%);
padding: 64px 24px; text-align: center;
}
.atr-cta__inner { max-width: 640px; margin: 0 auto; }
.atr-cta__title { font-family: var(--ff-display); font-size: clamp(1.8rem,4vw,3rem); margin-bottom: 16px; color: #fff; letter-spacing: .03em; }
.atr-cta__text { color: rgba(255,255,255,.8); line-height: 1.7; margin-bottom: 32px; font-size: 1.05rem; }
.atr-cta .atr-btn--primary {
background: #fff; color: var(--clr-primary);
box-shadow: 0 6px 24px rgba(0,0,0,.2);
}
.atr-cta .atr-btn--primary:hover { box-shadow: 0 10px 32px rgba(0,0,0,.3); }
.attractie-hero, .archive-hero {
position: relative; min-height: 480px;
display: flex; align-items: flex-end;
background: var(--clr-bg) center/cover no-repeat;
overflow: hidden;
}
.attractie-hero .hero-content,
.archive-hero .hero-content {
padding-top: 160px;
}
.archive-hero { min-height: 360px; padding-top: 160px; }
.attractie-hero { background-color: var(--clr-bg); }
.hero-overlay {
position: absolute; inset: 0;
background: linear-gradient(to top, rgba(0,0,0,.94) 0%, rgba(0,0,0,.35) 60%, transparent 100%);
}
.hero-content { position: relative; z-index: 2; padding: 40px 48px; width: 100%; }
.hero-breadcrumb {
display: flex; align-items: center; gap: 8px;
font-size: .82rem; margin-bottom: 8px;
color: rgba(255,255,255,.75);
text-shadow: 0 1px 4px rgba(0,0,0,.4);
max-width: 100%; flex-wrap: nowrap; min-width: 0;
}
.hero-breadcrumb a { color: #fff; text-decoration: none; transition: opacity .2s; flex-shrink: 0; }
.hero-breadcrumb a:hover { opacity: .8; }
.hero-breadcrumb .sep { color: rgba(255,255,255,.6); flex-shrink: 0; }
.hero-breadcrumb span { color: rgba(255,255,255,.75); }
/* Laatste item (de huidige paginatitel) mag wél krimpen en wordt netjes
   afgekapt met ellipsis, in plaats van de hele balk te laten overlopen
   of de pagina breder te maken dan de viewport bij een lange titel. */
.hero-breadcrumb span:last-child {
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
min-width: 0; flex-shrink: 1;
}
@media (max-width: 640px) {
.hero-breadcrumb span:last-child { max-width: 55vw; }
}
.hero-title, .archive-title {
font-family: var(--ff-display);
font-size: clamp(2.4rem, 6vw, 5rem);
letter-spacing: .03em; line-height: 1;
margin-bottom: 16px; text-shadow: 0 4px 24px rgba(0,0,0,.6);
color: #fff;
}
.archive-tag {
display: inline-flex; align-items: center; gap: 6px;
padding: 4px 14px; border-radius: 100px;
background: var(--clr-primary);
font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
color: #fff; margin-bottom: 4px;
}
.archive-description { max-width: 600px; color: rgba(255,255,255,.7); line-height: 1.6; }
.hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
.hero-type-badge, .hero-status {
display: inline-flex; align-items: center; gap: 6px;
padding: 6px 16px; border-radius: 100px;
font-size: .82rem; font-weight: 600; letter-spacing: .05em;
}
.hero-type-badge { background: rgba(255,255,255,.18); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.25); color: #fff; }
.hero-status.status-open { background: rgba(34,197,94,.2); border: 1px solid rgba(34,197,94,.4); color: #4ade80; }
.hero-status.status-binnenkort { background: rgba(244,166,59,.2); border: 1px solid rgba(244,166,59,.45); color: #fbbf24; }
.hero-status.status-gesloten { background: rgba(239,68,68,.2); border: 1px solid rgba(239,68,68,.4); color: #f87171; }
.hero-status.status-gesloopt { background: rgba(107,114,128,.2);border: 1px solid rgba(107,114,128,.4);color: #9ca3af; }
.hero-rating { display: flex; align-items: center; gap: 8px; color: var(--clr-text); }
.hero-rating strong { font-size: 1.2rem; }
.hero-rating em { font-size: .8rem; color: var(--clr-muted); }
.achtbaan-theme .hero-overlay { background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 60%,transparent 100%); }
.waterattractie-theme .hero-overlay { background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 60%,transparent 100%); }
.darkride-theme .hero-overlay { background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 60%,transparent 100%); }
.land-theme .hero-overlay { background: linear-gradient(135deg,rgba(10,30,18,.92) 0%,rgba(45,106,79,.35) 100%); }
.park-theme .hero-overlay { background: linear-gradient(135deg,rgba(10,30,18,.92) 0%,rgba(45,106,79,.25) 100%); }
.attractie-container { max-width: 1280px; margin: 0 auto; padding: 48px 24px; }
.archive-container { max-width: 1280px; margin: 0 auto; padding: 36px 24px; }
.attractie-layout { display: grid; grid-template-columns: 1fr 340px; gap: 40px; align-items: start; }
.attractie-section {
background: var(--clr-surface); border-radius: var(--radius);
padding: 32px; margin-bottom: 28px;
border: 1px solid var(--clr-border);
box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.section-title {
font-family: var(--ff-display); font-size: 1.6rem; letter-spacing: .04em;
margin-bottom: 24px; display: flex; align-items: center; gap: 10px;
color: var(--clr-text);
}
.section-title i { color: var(--clr-primary); }
.attractie-description { line-height: 1.8; color: var(--clr-text); opacity: .88; }
.attractie-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 12px; }
.gallery-item { position: relative; border-radius: var(--radius-sm); overflow: hidden; aspect-ratio: 4/3; display: block; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.gallery-overlay {
position: absolute; inset: 0; background: rgba(0,0,0,.5);
display: flex; align-items: center; justify-content: center;
opacity: 0; transition: opacity .2s;
}
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-overlay i { font-size: 1.5rem; color: #fff; }
.attractie-sidebar { position: sticky; top: 88px; }
.specs-card, .sidebar-card {
background: var(--clr-surface); border: 1px solid var(--clr-border);
border-radius: var(--radius); padding: 24px; margin-bottom: 20px;
box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.specs-title {
font-family: var(--ff-display); font-size: 1.4rem; letter-spacing: .05em;
margin-bottom: 20px; display: flex; align-items: center; gap: 8px; color: var(--clr-text);
}
.specs-title i { color: var(--clr-primary); }
.specs-list { list-style: none; }
.spec-item {
display: flex; justify-content: space-between; align-items: flex-start;
padding: 12px 0; border-bottom: 1px solid var(--clr-border);
}
.spec-item:last-child { border-bottom: none; }
.spec-item dt {
display: flex; align-items: center; gap: 8px;
font-size: .85rem; color: var(--clr-muted); max-width: 55%;
}
.spec-item dt i { color: var(--clr-primary); width: 16px; text-align: center; }
.spec-item dd { font-weight: 600; font-size: .95rem; text-align: right; color: var(--clr-text); }
.spec-item.spec-highlight dt i { color: var(--clr-primary); }
.spec-item.spec-highlight dd { color: var(--clr-primary); font-size: 1.05rem; }
.sidebar-card h3 {
font-family: var(--ff-display); font-size: 1.2rem; letter-spacing: .04em;
margin-bottom: 12px; display: flex; align-items: center; gap: 8px; color: var(--clr-text);
}
.park-link {
display: block; padding: 10px 14px;
background: var(--clr-glass); border-radius: var(--radius-sm);
text-decoration: none; color: var(--clr-secondary);
font-weight: 600; font-size: .9rem; transition: background .2s;
}
.park-link:hover { background: rgba(255,184,0,.12); }
.reviews-summary {
display: flex; align-items: center; gap: 24px; padding: 24px; margin-bottom: 28px;
background: linear-gradient(135deg,rgba(82,183,136,.1),rgba(45,106,79,.05));
border-radius: var(--radius); border: 1px solid rgba(45,106,79,.2);
}
.summary-score {
font-family: var(--ff-display); font-size: 4rem; line-height: 1;
color: var(--clr-primary);
}
.summary-details p { color: var(--clr-muted); font-size: .85rem; margin-top: 6px; }
.review-item { padding: 20px 0; border-bottom: 1px solid var(--clr-border); animation: fadeIn .4s ease; }
.review-item:last-child { border-bottom: none; }
.review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.review-author { display: flex; align-items: center; gap: 12px; }
.review-avatar {
width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
background: linear-gradient(135deg, var(--clr-primary), var(--clr-secondary));
display: flex; align-items: center; justify-content: center;
font-weight: 700; color: #fff;
}
.review-author strong { display: block; font-weight: 600; color: var(--clr-text); }
.review-author time { font-size: .8rem; color: var(--clr-muted); }
.review-text { line-height: 1.7; color: var(--clr-text); opacity: .85; }
.no-reviews { text-align: center; padding: 48px 24px; color: var(--clr-muted); }
.no-reviews i { font-size: 2.5rem; margin-bottom: 12px; display: block; opacity: .5; }
.review-form-wrapper {
margin-top: 40px; padding: 32px;
background: var(--clr-bg); border: 1px solid var(--clr-border); border-radius: var(--radius);
box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.review-form-wrapper h3 {
font-family: var(--ff-display); font-size: 1.5rem; letter-spacing: .04em;
margin-bottom: 24px; display: flex; align-items: center; gap: 8px; color: var(--clr-text);
}
.form-row { display: flex; gap: 16px; }
.form-row-half > * { flex: 1; }
.form-field { margin-bottom: 18px; }
.form-field label {
display: flex; align-items: center; gap: 6px;
font-size: .85rem; font-weight: 500; color: var(--clr-muted); margin-bottom: 8px;
}
.form-field label i { color: var(--clr-primary); }
.form-field input, .form-field textarea {
width: 100%; padding: 12px 16px;
background: var(--clr-bg); border: 1.5px solid var(--clr-border);
border-radius: var(--radius-sm); color: var(--clr-text);
font-family: var(--ff-body); font-size: .95rem;
transition: border-color .2s, box-shadow .2s; outline: none;
}
.form-field input:focus, .form-field textarea:focus {
border-color: var(--clr-primary);
box-shadow: 0 0 0 3px rgba(45,106,79,.12);
}
.star-rating-input { display: flex; gap: 6px; padding: 4px 0; }
.star-btn {
background: none; border: none; cursor: pointer;
font-size: 1.8rem; color: rgba(244,166,35,.25);
transition: color .2s, transform .2s; padding: 0; line-height: 1;
}
.star-btn:hover, .star-btn.active { color: #F4A623 !important; transform: scale(1.15); }
.attracties-btn-submit {
width: 100%; padding: 15px 32px;
background: linear-gradient(135deg, #2D6A4F, #1a4731) !important;
border: none !important; border-radius: var(--radius-sm); color: #fff !important;
font-family: var(--ff-body); font-size: 1rem; font-weight: 600; letter-spacing: .04em;
cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px;
transition: transform .25s, box-shadow .25s;
text-decoration: none !important;
}
.attracties-btn-submit i,
.attracties-btn-submit span,
.attracties-btn-submit svg { color: #fff !important; fill: #fff !important; }
.attracties-btn-submit:hover {
transform: translateY(-2px);
color: #fff !important;
box-shadow: 0 8px 24px rgba(45,106,79,.4);
}
.review-success { padding: 14px 20px; border-radius: var(--radius-sm); margin-bottom: 20px; font-weight: 500; background: rgba(34,197,94,.15); border: 1px solid rgba(34,197,94,.3); color: #4ade80; }
.review-error { padding: 14px 20px; border-radius: var(--radius-sm); margin-bottom: 20px; font-weight: 500; background: rgba(239,68,68,.15); border: 1px solid rgba(239,68,68,.3); color: #f87171; }
.filter-bar {
position: sticky; top: 68px; z-index: 50;
background: rgba(255,255,255,.96); backdrop-filter: blur(16px);
border: 1px solid var(--clr-border);
border-radius: var(--radius);
margin-bottom: 32px;
box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.filter-bar-inner {
max-width: 1280px; margin: 0 auto; padding: 10px 20px;
display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
min-width: 0;
}
.filter-group { display: flex; align-items: center; gap: 6px; flex-shrink: 0; white-space: nowrap; }
.filter-group label {
font-size: .72rem; font-weight: 700; color: var(--clr-muted);
letter-spacing: .05em; text-transform: uppercase;
display: flex; align-items: center; gap: 4px;
white-space: nowrap; flex-shrink: 0;
}
.filter-group label i { color: var(--clr-primary); flex-shrink: 0; }
.atr-filter-pills { display: flex; gap: 4px; flex-wrap: nowrap; flex-shrink: 0; }
.atr-filter-pill {
padding: 6px 12px !important; border-radius: 100px !important;
background: transparent !important;
border: 1.5px solid #d0ddd6 !important;
color: #6B8F71 !important;
font-size: .78rem !important; font-weight: 600 !important;
cursor: pointer !important; font-family: inherit !important;
transition: none !important;
outline: none !important;
box-shadow: none !important;
text-decoration: none !important;
display: inline-flex !important; align-items: center !important; gap: 4px !important;
-webkit-appearance: none !important; appearance: none !important;
line-height: 1.2 !important; white-space: nowrap !important;
}
.atr-filter-pill.active {
background: #2D6A4F !important;
border-color: #2D6A4F !important;
color: #fff !important;
}
.filter-select {
padding: 5px 10px; background: var(--clr-bg); border: 1px solid var(--clr-border);
border-radius: var(--radius-sm); color: var(--clr-text); font-size: .78rem;
font-family: var(--ff-body); cursor: pointer; outline: none; transition: border-color .2s;
flex-shrink: 0; max-width: 150px;
}
.filter-select:focus { border-color: var(--clr-primary); }
.filter-reset {
margin-left: auto; padding: 5px 12px; background: none !important;
border: 1px solid #d0ddd6 !important;
border-radius: 100px; color: #6B8F71 !important; font-size: .75rem; cursor: pointer;
display: flex; align-items: center; gap: 4px; transition: none !important;
flex-shrink: 0; white-space: nowrap;
}
.filter-reset:hover { border-color: #2D6A4F !important; color: #2D6A4F !important; }
.filter-divider {
width: 1px; height: 24px; background: var(--clr-border); flex-shrink: 0;
}
@media (max-width: 900px) {
.filter-bar-inner { gap: 8px 10px; padding: 10px 16px; }
.filter-divider { display: none; }
}
@media (max-width: 640px) {
.filter-bar-inner { flex-direction: column; align-items: flex-start; }
.filter-reset { margin-left: 0; }
}
.archive-results-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.results-count { font-size: .9rem; color: var(--clr-muted); }
.attracties-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 24px;
}
.attractie-card {
border-radius: var(--radius); overflow: hidden;
background: var(--clr-surface); border: 1px solid var(--clr-border);
box-shadow: 0 2px 12px rgba(0,0,0,.06);
transition: transform .28s, box-shadow .28s, border-color .28s;
animation: fadeIn .4s ease both;
}
.attractie-card:hover {
transform: translateY(-6px);
box-shadow: 0 12px 36px rgba(45,106,79,.15);
border-color: var(--clr-primary);
}
.attractie-card.achtbaan:hover { border-color: var(--clr-achtbaan); }
.attractie-card.waterattractie:hover { border-color: var(--clr-waterattractie); }
.attractie-card.darkride:hover { border-color: var(--clr-darkride); }
.card-link { display: block; text-decoration: none; color: inherit; }
.card-image { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #F0F4F1; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.attractie-card:hover .card-image img { transform: scale(1.05); }
.card-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--clr-muted); }
.card-badges {
position: absolute; top: 12px; left: 12px;
display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.card-type-badge {
position: static; padding: 4px 12px; border-radius: 100px;
background: rgba(255,255,255,.92); backdrop-filter: blur(8px);
font-size: .75rem; font-weight: 600; color: #1A2E22;
display: flex; align-items: center; gap: 5px;
box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.attractie-card.achtbaan .card-type-badge i { color: var(--clr-achtbaan); }
.attractie-card.waterattractie .card-type-badge i { color: var(--clr-waterattractie); }
.attractie-card.darkride .card-type-badge i { color: var(--clr-darkride); }
.card-status {
position: absolute; top: 12px; right: 12px; padding: 4px 12px; border-radius: 100px;
font-size: .72rem; font-weight: 700; letter-spacing: .05em;
backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
text-shadow: none;
}
.status-open { background: rgba(22,163,74,.9); color: #fff; }
.status-binnenkort { background: rgba(244,166,59,.92); color: #1A2E22; }
.status-gesloten { background: rgba(30,30,30,.75); color: #fff; }
.status-gesloopt { background: rgba(30,30,30,.75); color: #d1d5db; }
.card-body { padding: 20px; }
.card-title { font-size: 1.1rem; font-weight: 700; margin-bottom: 6px; line-height: 1.3; color: var(--clr-text); }
.card-park { font-size: .82rem; color: var(--clr-muted); margin-bottom: 10px; display: flex; align-items: center; gap: 5px; }
.card-park i { color: var(--clr-primary); }
.card-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; }
.card-rating.no-rating { color: var(--clr-muted); font-size: .82rem; }
.rating-num { font-weight: 700; color: var(--clr-text); }
.rating-count { font-size: .78rem; color: var(--clr-muted); }
.card-specs { display: flex; flex-wrap: wrap; gap: 8px; }
.card-specs span {
display: flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 100px;
background: var(--clr-glass); border: 1px solid var(--clr-border); font-size: .78rem; color: var(--clr-muted);
}
.card-specs i { color: var(--clr-primary); font-size: .7em; }
.attracties-loading {
grid-column: 1/-1; display: flex; flex-direction: column; align-items: center;
padding: 80px 24px; color: var(--clr-muted);
}
.loading-spinner {
width: 44px; height: 44px;
border: 3px solid rgba(0,0,0,.08); border-top-color: var(--clr-primary);
border-radius: 50%; animation: spin .8s linear infinite; margin-bottom: 16px;
}
.attracties-no-results {
grid-column: 1/-1; text-align: center; padding: 80px 24px; color: var(--clr-muted);
}
.attracties-no-results i { font-size: 3rem; margin-bottom: 16px; display: block; opacity: .5; }
.attracties-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; }
.attracties-pagination button {
width: 40px; height: 40px; border-radius: var(--radius-sm);
background: var(--clr-glass); border: 1px solid var(--clr-border);
color: var(--clr-text); cursor: pointer; font-weight: 600; transition: all .2s;
}
.attracties-pagination button:hover { border-color: #2D6A4F !important; color: #2D6A4F !important; }
.attracties-pagination button.current { background: #2D6A4F !important; border-color: #2D6A4F !important; color: #fff !important; }
@keyframes fadeIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
.attractie-layout { grid-template-columns: 1fr; }
.attractie-sidebar { position: static; }
.hero-content { padding: 24px; }
}
@media (max-width: 640px) {
.filter-bar-inner { flex-direction: column; align-items: stretch; }
.filter-group { flex-direction: column; align-items: flex-start; }
.attracties-grid { grid-template-columns: 1fr; }
.form-row { flex-direction: column; }
.attractie-section { padding: 20px; }
.review-form-wrapper { padding: 20px; }
.review-header { flex-direction: column; align-items: flex-start; gap: 8px; }
.reviews-summary { flex-direction: column; }
.summary-score { font-size: 3rem; }
.atr-hero__types { gap: 8px; }
.atr-type-chip { min-width: 72px; padding: 12px 14px; }
.atr-stats__inner { grid-template-columns: repeat(2,1fr); }
}
.search-bar-inline {
margin-bottom: 36px;
}
.search-bar-inline__form {
display: flex; align-items: center; gap: 14px;
background: var(--clr-surface);
border: 1.5px solid var(--clr-border);
border-radius: var(--radius);
padding: 14px 20px;
max-width: 680px;
transition: border-color .2s, box-shadow .2s;
}
.search-bar-inline__form:focus-within {
border-color: var(--clr-primary);
box-shadow: 0 0 0 3px rgba(var(--clr-primary-rgb, 255,61,0), .12);
}
.search-bar-inline__form i {
color: var(--clr-muted); font-size: 1rem; flex-shrink: 0;
}
.search-bar-inline__form input[type=search] {
flex: 1; background: none; border: none; outline: none;
color: var(--clr-text); font-size: 1rem; font-family: var(--ff-body);
}
.search-bar-inline__form input::placeholder { color: var(--clr-muted); }
.search-bar-inline__form button {
background: var(--clr-primary); color: #fff; border: none;
padding: 9px 22px; border-radius: calc(var(--radius) - 4px);
font-size: .88rem; font-weight: 700; cursor: pointer;
font-family: var(--ff-body); white-space: nowrap;
transition: background .15s;
}
.search-bar-inline__form button:hover { background: var(--clr-primary-dk, #c62d00); }
.search-no-results {
text-align: center;
padding: 80px 24px 48px;
}
.search-no-results__icon {
width: 80px; height: 80px; border-radius: 50%;
background: var(--clr-surface); border: 1px solid var(--clr-border);
display: flex; align-items: center; justify-content: center;
margin: 0 auto 24px;
font-size: 1.8rem; color: var(--clr-muted);
}
.search-no-results h2 {
font-family: var(--ff-display);
font-size: 1.8rem; letter-spacing: .03em;
margin-bottom: 12px; color: var(--clr-text);
}
.search-no-results p {
color: var(--clr-muted); margin-bottom: 32px; font-size: .95rem;
}
.search-no-results__links {
display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
}
.search-category-btn {
display: inline-flex; align-items: center; gap: 8px;
padding: 12px 22px;
background: var(--clr-surface); border: 1px solid var(--clr-border);
border-radius: var(--radius); text-decoration: none;
color: var(--clr-text); font-size: .9rem; font-weight: 600;
transition: border-color .2s, color .2s, background .2s;
}
.search-category-btn i { color: var(--clr-primary); }
.search-category-btn:hover {
border-color: var(--clr-primary);
color: var(--clr-primary);
background: rgba(var(--clr-primary-rgb, 255,61,0), .06);
}
.pagination-btn {
display: inline-flex; align-items: center; justify-content: center;
width: 40px; height: 40px; border-radius: var(--radius-sm);
background: var(--clr-surface); border: 1px solid var(--clr-border);
color: var(--clr-text); text-decoration: none; font-weight: 600;
transition: border-color .2s, color .2s;
}
.pagination-btn:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
.pagination-btn.current { background: var(--clr-primary); border-color: var(--clr-primary); color: #fff; }
.atr-instuur {
background: var(--clr-primary);
padding: 80px 0;
}
.atr-instuur__inner {
max-width: 1100px; margin: 0 auto; padding: 0 36px;
display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
align-items: start;
}
.atr-instuur__tag {
display: inline-flex; align-items: center; gap: 7px;
background: rgba(255,255,255,.2); color: #fff;
padding: 5px 16px; border-radius: 100px;
font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
margin-bottom: 20px;
}
.atr-instuur__titel {
font-family: var(--ff-display);
font-size: clamp(2rem, 4vw, 3rem);
letter-spacing: .03em; line-height: 1.05;
color: #fff; margin-bottom: 16px;
}
.atr-instuur__tekst p {
color: rgba(255,255,255,.82); line-height: 1.7;
font-size: 1rem; margin-bottom: 28px;
}
.atr-instuur__voordelen {
list-style: none; padding: 0; margin: 0;
display: flex; flex-direction: column; gap: 12px;
}
.atr-instuur__voordelen li {
display: flex; align-items: center; gap: 10px;
color: rgba(255,255,255,.9); font-size: .92rem; font-weight: 500;
}
.atr-instuur__voordelen i { color: rgba(255,255,255,.7); font-size: .85rem; }
.atr-instuur__formulier {
background: #fff;
border-radius: 20px;
padding: 36px;
box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
.instuur-row { margin-bottom: 16px; }
.instuur-row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.instuur-field label {
display: block; font-size: .8rem; font-weight: 700;
color: #1A2E22; text-transform: uppercase; letter-spacing: .05em;
margin-bottom: 7px;
}
.instuur-field input,
.instuur-field textarea {
width: 100%; padding: 11px 14px;
border: 1.5px solid #E2EDE6; border-radius: 10px;
font-family: var(--ff-body); font-size: .93rem; color: #1A2E22;
background: #F7F9F7; outline: none;
transition: border-color .2s, box-shadow .2s;
}
.instuur-field input:focus,
.instuur-field textarea:focus {
border-color: var(--clr-primary);
background: #fff;
box-shadow: 0 0 0 3px rgba(45,106,79,.12);
}
.instuur-field textarea { resize: vertical; min-height: 80px; }
.instuur-btn {
width: 100%; padding: 14px;
background: #2D6A4F !important; color: #fff !important; border: none !important;
border-radius: 10px; font-family: var(--ff-body);
font-size: .95rem; font-weight: 700; cursor: pointer;
display: flex; align-items: center; justify-content: center; gap: 9px;
margin-top: 4px;
transition: background .2s, transform .2s;
}
.instuur-btn:hover { background: #1a4731 !important; color: #fff !important; transform: translateY(-2px); }
.instuur-btn i, .instuur-btn span { color: #fff !important; }
.instuur-success, .instuur-error {
padding: 16px 20px; border-radius: 12px; margin-bottom: 20px;
font-weight: 600; display: flex; align-items: center; gap: 12px;
}
.instuur-success { background: rgba(22,163,74,.1); border: 1px solid rgba(22,163,74,.3); color: #15803d; }
.instuur-success i { font-size: 1.4rem; }
.instuur-error { background: rgba(220,38,38,.08); border: 1px solid rgba(220,38,38,.2); color: #b91c1c; }
@media (max-width: 820px) {
.atr-instuur__inner { grid-template-columns: 1fr; gap: 40px; padding: 0 24px; }
.instuur-row--2 { grid-template-columns: 1fr; }
}
.atr-footer {
background: #1A2E22;
margin-top: 0;
}
.atr-footer__top {
max-width: 1320px; margin: 0 auto;
padding: 72px 36px 56px;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 48px;
align-items: start;
}
.atr-footer__logo-link { display: inline-block; margin-bottom: 20px; }
.atr-footer__logo { height: 70px; width: auto; object-fit: contain; filter: brightness(0) invert(1); }
.atr-footer__wordmark {
display: inline-block; margin-bottom: 20px;
font-family: var(--ff-display); font-size: 1.8rem;
color: #fff; text-decoration: none; letter-spacing: .05em;
}
.atr-footer__tagline {
color: rgba(255,255,255,.55); font-size: .88rem;
line-height: 1.7; margin-bottom: 28px; max-width: 260px;
}
.atr-footer__social { display: flex; gap: 10px; flex-wrap: wrap; }
.atr-social-btn {
width: 38px; height: 38px; border-radius: 10px;
background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.12);
display: flex; align-items: center; justify-content: center;
color: rgba(255,255,255,.7); text-decoration: none; font-size: .9rem;
transition: background .2s, color .2s;
}
.atr-social-btn:hover { background: var(--clr-secondary, #52B788); color: #fff; border-color: transparent; }
.atr-footer__col-heading {
font-size: .72rem; font-weight: 800;
text-transform: uppercase; letter-spacing: .12em;
color: rgba(255,255,255,.4); margin-bottom: 18px;
}
.atr-footer__nav-col ul {
list-style: none; padding: 0; margin: 0;
display: flex; flex-direction: column; gap: 10px;
}
.atr-footer__nav-col a {
color: rgba(255,255,255,.65); text-decoration: none;
font-size: .88rem; transition: color .2s;
display: flex; align-items: center; gap: 6px;
}
.atr-footer__nav-col a:hover { color: #fff; }
.atr-footer__empty { color: rgba(255,255,255,.3); font-size: .85rem; font-style: italic; }
.atr-footer__bottom {
border-top: 1px solid rgba(255,255,255,.08);
max-width: 1320px; margin: 0 auto;
padding: 22px 36px;
display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
}
.atr-footer__copy { font-size: .82rem; color: rgba(255,255,255,.35); }
.atr-footer__bottom-links { display: flex; gap: 20px; }
.atr-footer__bottom-links a {
font-size: .82rem; color: rgba(255,255,255,.35);
text-decoration: none; transition: color .2s;
}
.atr-footer__bottom-links a:hover { color: rgba(255,255,255,.75); }
.atr-footer__recaptcha-notice {
    flex-basis: 100%;
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.06);
    font-size: .72rem;
    line-height: 1.6;
    color: rgba(255,255,255,.3);
}
.atr-footer__recaptcha-notice a {
    color: rgba(255,255,255,.45);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s;
}
.atr-footer__recaptcha-notice a:hover { color: rgba(255,255,255,.75); }
@media (max-width: 1024px) {
.atr-footer__top { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 640px) {
.atr-footer__top { grid-template-columns: 1fr; padding: 48px 24px 36px; }
.atr-footer__bottom { flex-direction: column; gap: 10px; text-align: center; padding: 18px 24px; }
.atr-footer__recaptcha-notice { text-align: center; }
}
.wt-search-wrap { margin-bottom: 36px; }
.wt-search {
display: flex; align-items: center; gap: 12px;
background: #fff; border: 1.5px solid var(--clr-border);
border-radius: var(--radius); padding: 12px 20px;
max-width: 480px;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
transition: border-color .2s, box-shadow .2s;
}
.wt-search:focus-within {
border-color: var(--clr-primary);
box-shadow: 0 0 0 3px rgba(45,106,79,.1);
}
.wt-search i { color: var(--clr-muted); }
.wt-search input {
flex: 1; border: none !important; outline: none !important; background: none !important; box-shadow: none !important;
-webkit-appearance: none !important; appearance: none !important;
font-family: var(--ff-body); font-size: .95rem; color: var(--clr-text);
}
.wt-search input:focus,
.wt-search input:focus-visible {
outline: none !important; box-shadow: none !important; border: none !important;
}
.wt-search input::placeholder { color: var(--clr-muted); }
.wt-continent { margin-bottom: 48px; }
.wt-continent__title {
font-family: var(--ff-display);
font-size: 1.5rem; letter-spacing: .04em;
display: flex; align-items: center; gap: 10px;
margin-bottom: 20px; color: var(--clr-text);
}
.wt-continent__title i { color: var(--clr-primary); }
.wt-continent__count {
font-size: .78rem; font-weight: 600; color: var(--clr-muted);
background: var(--clr-glass); border: 1px solid var(--clr-border);
padding: 3px 10px; border-radius: 100px; margin-left: auto;
}
.wt-parks-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 12px;
}
.wt-park-card {
display: flex; align-items: center; gap: 14px;
padding: 16px 20px;
background: #fff; border: 1px solid var(--clr-border);
border-left: 4px solid var(--clr-border);
border-radius: var(--radius); text-decoration: none;
color: var(--clr-text);
box-shadow: 0 1px 6px rgba(0,0,0,.05);
transition: border-color .15s, box-shadow .15s, transform .15s;
}
.wt-park-card[data-status="open"] { border-left-color: #22c55e; }
.wt-park-card[data-status="closed"] { border-left-color: #94a3b8; }
.wt-park-card:hover {
border-color: var(--clr-primary);
box-shadow: 0 4px 16px rgba(45,106,79,.12);
transform: translateY(-2px);
}
.wt-park-card[data-status] { border-left-width: 4px; }
.wt-park-card:hover.wt-park-card[data-status="open"] { border-left-color: #22c55e; }
.wt-park-card:hover.wt-park-card[data-status="closed"] { border-left-color: #94a3b8; }
.wt-park-card__status {
    flex-shrink: 0; font-size: .68rem; font-weight: 700;
    padding: 3px 9px; border-radius: 100px;
    background: var(--clr-bg, #F4F7F5); color: var(--clr-muted);
    white-space: nowrap;
}
.wt-park-card__status.is-open { background: #EAF7EF; color: #16803c; }
.wt-park-card__status.is-closed { background: #F1F3F5; color: #64748b; }
.wt-park-card__icon {
width: 42px; height: 42px; border-radius: 10px;
background: rgba(45,106,79,.08);
display: flex; align-items: center; justify-content: center;
color: var(--clr-primary); font-size: 1rem; flex-shrink: 0;
}
.wt-park-card__body { flex: 1; min-width: 0; }
.wt-park-card__body h3 {
font-size: .92rem; font-weight: 700;
margin: 0 0 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wt-park-card__country {
font-size: .78rem; color: var(--clr-muted);
display: flex; align-items: center; gap: 4px;
}
.wt-park-card__country i { color: var(--clr-primary); font-size: .7rem; }
.wt-park-card__arrow { color: var(--clr-muted); font-size: .75rem; flex-shrink: 0; }
.wt-stats-bar {
display: flex; gap: 0;
background: #fff; border: 1px solid var(--clr-border);
border-radius: var(--radius); overflow: hidden;
margin-bottom: 24px;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.wt-stat {
flex: 1; display: flex; align-items: center; gap: 12px;
padding: 18px 20px;
border-right: 1px solid var(--clr-border);
}
.wt-stat:last-child { border-right: none; }
.wt-stat > i { font-size: 1.2rem; color: var(--clr-primary); flex-shrink: 0; }
.wt-stat div strong { display: block; font-size: 1.1rem; font-weight: 700; color: var(--clr-text); }
.wt-stat div span { font-size: .75rem; color: var(--clr-muted); text-transform: uppercase; letter-spacing: .06em; }
.wt-stat--refresh { justify-content: space-between; }
.wt-refresh-btn {
background: rgba(45,106,79,.08) !important; border: none !important; color: #2D6A4F !important;
width: 34px; height: 34px; border-radius: 8px; cursor: pointer; font-size: .85rem;
display: flex; align-items: center; justify-content: center;
transition: none !important;
}
.wt-refresh-btn:hover { background: rgba(45,106,79,.22) !important; color: #2D6A4F !important; }

/* ── Tabs: Attracties / Shows / Restaurants ─────────────────────────── */
.wt-tabs { display: flex; gap: 8px; margin-bottom: 22px; flex-wrap: wrap; }
button.wt-tab-btn {
    display: inline-flex !important; align-items: center !important; gap: 7px !important;
    padding: 10px 18px !important; border-radius: 100px !important;
    background: #fff !important; border: 1.5px solid #d0ddd6 !important;
    color: #6B8F71 !important; font-size: .88rem !important; font-weight: 700 !important;
    cursor: pointer; box-shadow: none !important; outline: none !important;
}
button.wt-tab-btn.is-active {
    background: var(--clr-primary, #2D6A4F) !important; border-color: var(--clr-primary, #2D6A4F) !important; color: #fff !important;
}
button.wt-tab-btn:hover:not(.is-active) { border-color: var(--clr-primary, #2D6A4F) !important; }
.wt-tab-panel { }

/* Shared row style for Shows and Restaurants lists */
.wt-tpw-row {
    background: #fff; border: 1px solid var(--clr-border, #e6ece8); border-radius: 12px;
    padding: 16px 18px; margin-bottom: 10px;
}
.wt-tpw-row__head {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 8px;
}
.wt-tpw-row__name { flex: 1 1 auto; min-width: 0; font-size: .95rem; font-weight: 600; color: var(--clr-text); }
.wt-tpw-badge {
    flex-shrink: 0; font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 100px; white-space: nowrap;
}
.wt-tpw-badge.is-open { background: #EAF7EF; color: #2D6A4F; }
.wt-tpw-badge.is-closed { background: #FCEDEC; color: #B3261E; }
.wt-tpw-times { display: flex; flex-wrap: wrap; gap: 6px; }
.wt-tpw-time {
    font-size: .8rem; font-weight: 600; color: var(--clr-text);
    background: var(--clr-bg, #F4F7F5); border-radius: 8px; padding: 4px 10px;
}
.wt-tpw-empty-text { margin: 0; font-size: .84rem; color: var(--clr-muted); }
.wt-tpw-countdown {
    display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; white-space: nowrap;
    font-size: .78rem; font-weight: 700; color: var(--clr-primary, #2D6A4F);
    background: var(--clr-bg, #F4F7F5); border-radius: 100px; padding: 3px 10px;
}
.wt-tpw-countdown.is-ongoing { color: #fff; background: var(--clr-primary, #2D6A4F); }
.wt-tpw-countdown-slot:empty { display: none; }

/* Op smalle schermen: naam op de eerste regel, countdown + status samen op
   een eigen regel eronder -- voorkomt dat de countdown-tekst binnen zijn
   eigen pilletje moet afbreken doordat er te weinig ruimte overblijft. */
@media (max-width: 480px) {
    .wt-tpw-row__name { flex: 1 1 100%; }
    .wt-tpw-countdown-slot { order: 1; }
    .wt-tpw-badge { order: 2; margin-left: auto; }
}

.wt-filter-bar {
display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
margin-bottom: 28px;
}
.wt-filter-btn {
display: inline-flex !important; align-items: center !important; gap: 6px !important;
padding: 8px 16px !important; border-radius: 100px !important;
background: #fff !important; border: 1.5px solid #d0ddd6 !important;
color: #6B8F71 !important; font-size: .84rem !important; font-weight: 600 !important;
cursor: pointer !important;
transition: none !important;
}
.wt-filter-btn:hover { border-color: #2D6A4F !important; color: #2D6A4F !important; }
.wt-filter-btn.is-active {
background: #2D6A4F !important; border-color: #2D6A4F !important; color: #fff !important;
}
.wt-filter-search {
display: flex; align-items: center; gap: 8px;
background: #fff; border: 1.5px solid var(--clr-border);
border-radius: 100px; padding: 7px 16px; margin-left: auto;
transition: border-color .15s;
}
.wt-filter-search:focus-within { border-color: var(--clr-primary); }
.wt-filter-search i { color: var(--clr-muted); font-size: .8rem; }
.wt-filter-search input {
border: none !important; outline: none !important; background: none !important; box-shadow: none !important;
-webkit-appearance: none !important; appearance: none !important;
font-family: var(--ff-body); font-size: .85rem; color: var(--clr-text); width: 160px;
}
.wt-filter-search input:focus,
.wt-filter-search input:focus-visible {
outline: none !important; box-shadow: none !important; border: none !important;
}
@media (max-width: 640px) {
.wt-filter-bar { flex-direction: column; align-items: stretch; }
.wt-filter-search {
order: -1; width: 100%; margin-left: 0; margin-bottom: 8px;
}
.wt-filter-search input { width: 100%; flex: 1; }
.wt-filter-btn { flex: 1; justify-content: center; }
}
.wt-land-section { margin-bottom: 32px; }
.wt-land-title {
font-family: var(--ff-display); font-size: 1.1rem; letter-spacing: .04em;
display: flex; align-items: center; gap: 8px;
padding: 0 0 10px; margin-bottom: 0;
border-bottom: 2px solid var(--clr-primary);
color: var(--clr-text);
}
.wt-land-title i { color: var(--clr-primary); font-size: .85em; }
.wt-land-count {
margin-left: auto; font-size: .72rem; font-weight: 400;
color: var(--clr-muted); font-family: var(--ff-body);
background: var(--clr-bg); padding: 2px 10px; border-radius: 100px;
}
.wt-rides-list { border: 1px solid var(--clr-border); border-top: none; border-radius: 0 0 var(--radius) var(--radius); overflow: hidden; }
.wt-ride-row {
display: flex; align-items: center; gap: 14px;
padding: 12px 18px;
border-bottom: 1px solid var(--clr-border);
background: #fff; transition: background .12s;
}
.wt-ride-row:last-child { border-bottom: none; }
.wt-ride-row:hover { background: #f7faf8; }
.wt-ride-row.is-closed { opacity: .6; }
.wt-ride-row.has-storing { opacity: 1 !important; background: rgba(234,179,8,.04); }
.wt-dot {
width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.wt-dot--open { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.2); }
.wt-dot--storing { background: #eab308; box-shadow: 0 0 0 3px rgba(234,179,8,.25); }
.wt-dot--closed { background: #94a3b8; }
.wt-ride__name { flex: 1; font-size: .9rem; font-weight: 500; color: var(--clr-text); display: flex; align-items: center; gap: 8px; }
.wt-ride__wait { flex-shrink: 0; }
/* !important overal nodig -- Elementor/thema's globale button-stijl (rand,
   achtergrond, hover-kleur) heeft anders altijd voorrang op onze eigen CSS. */
button.wt-ride__info-btn {
    background: none !important; border: none !important; box-shadow: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
    padding: 0 !important; margin: 0 !important; width: auto !important; height: auto !important;
    min-width: 0 !important; border-radius: 0 !important; cursor: pointer;
    color: var(--clr-muted) !important; font-size: .95rem; line-height: 1;
    display: inline-flex !important; align-items: center; justify-content: center;
    flex-shrink: 0; opacity: .65; transition: opacity .15s, color .15s;
}
button.wt-ride__info-btn:hover, button.wt-ride__info-btn:focus-visible {
    opacity: 1; color: var(--clr-primary) !important; background: none !important; border: none !important;
}
button.wt-ride__info-btn:focus, button.wt-ride__info-btn:active {
    background: none !important; border: none !important; box-shadow: none !important; outline: none !important;
}

/* ── Rit-informatie pop-up ────────────────────────────────────────────── */
.wt-ride-modal {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.wt-ride-modal__backdrop {
    position: absolute; inset: 0; background: rgba(11,26,18,.55);
}
.wt-ride-modal__panel {
    position: relative; background: #fff; border-radius: 16px;
    width: 100%; max-width: 480px; max-height: 88vh; overflow-y: auto;
    padding: 28px 24px 24px; box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
button.wt-ride-modal__close {
    position: absolute !important; top: 14px !important; right: 14px !important;
    width: 32px !important; height: 32px !important; min-width: 0 !important;
    border-radius: 50% !important; border: none !important; box-shadow: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
    background: var(--clr-bg) !important; color: var(--clr-text) !important;
    font-size: .95rem; cursor: pointer; padding: 0 !important; margin: 0 !important;
    display: flex !important; align-items: center; justify-content: center;
    transition: background .15s;
}
button.wt-ride-modal__close:hover { background: var(--clr-border) !important; }
button.wt-ride-modal__close:focus, button.wt-ride-modal__close:active {
    background: var(--clr-bg) !important; box-shadow: none !important; outline: none !important;
}
.wt-ride-modal__title { font-family: var(--ff-display, inherit); font-size: 1.3rem; margin: 0 0 16px; padding-right: 32px; color: var(--clr-text); }
.wt-ride-modal__loading { text-align: center; padding: 30px 0; font-size: 1.4rem; color: var(--clr-muted); }
.wt-ride-modal__empty {
    display: flex; align-items: center; gap: 8px; color: var(--clr-muted);
    font-size: .9rem; background: var(--clr-bg); padding: 14px 16px; border-radius: 10px; margin: 0;
}
.wt-ride-modal__specs {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px; margin-bottom: 18px;
}
.wt-ride-modal__spec {
    display: flex; align-items: center; gap: 10px; background: var(--clr-bg);
    border-radius: 10px; padding: 10px 12px;
}
.wt-ride-modal__spec i { color: var(--clr-primary); font-size: 1rem; flex-shrink: 0; }
.wt-ride-modal__spec div { display: flex; flex-direction: column; line-height: 1.25; }
.wt-ride-modal__spec span { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: var(--clr-muted); }
.wt-ride-modal__spec strong { font-size: .9rem; color: var(--clr-text); }
.wt-ride-modal__video { position: relative; width: 100%; padding-top: 56.25%; border-radius: 10px; overflow: hidden; }
.wt-ride-modal__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wt-ride-modal__video-link { margin: 0; }
.wt-ride-modal__video-link a {
    display: inline-flex; align-items: center; gap: 8px; color: var(--clr-primary); font-weight: 600; text-decoration: none;
}
.wt-ride-modal__video-link a:hover { text-decoration: underline; }

.wt-wait-badge {
display: inline-flex; align-items: center; gap: 5px;
padding: 4px 12px; border-radius: 100px; font-size: .78rem; font-weight: 700;
}
.wt-wait-badge--zero { background: rgba(34,197,94,.12); color: #15803d; }
.wt-wait-badge--wait-low { background: rgba(34,197,94,.12); color: #15803d; }
.wt-wait-badge--wait-med { background: rgba(234,179,8,.15); color: #a16207; }
.wt-wait-badge--wait-high { background: rgba(239,68,68,.12); color: #b91c1c; }
.wt-wait-badge--virtual { background: rgba(99,102,241,.12); color: #4338ca; }
.wt-status-badge {
display: inline-flex; align-items: center; gap: 5px;
padding: 4px 12px; border-radius: 100px; font-size: .78rem; font-weight: 700;
}
.wt-status-badge--storing { background: rgba(234,179,8,.18); color: #92400e; }
.wt-status-badge--onderhoud { background: rgba(148,163,184,.15); color: #475569; }
.wt-closed-badge {
display: inline-flex; padding: 4px 12px; border-radius: 100px;
font-size: .78rem; font-weight: 600;
background: rgba(148,163,184,.12); color: #64748b;
}
.wt-no-data {
text-align: center; padding: 64px 24px; color: var(--clr-muted);
}
.wt-no-data i { font-size: 2rem; display: block; margin-bottom: 12px; opacity: .4; }
.wt-single-widget {
background: #fff; border: 1px solid var(--clr-border);
border-radius: var(--radius); overflow: hidden;
margin-bottom: 28px;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.wt-single-widget__header {
display: flex; align-items: center; gap: 10px;
padding: 14px 20px;
background: var(--clr-primary); color: #fff;
font-weight: 700; font-size: .9rem;
}
.wt-single-widget__header i { font-size: .95rem; }
.wt-single-widget__header span { flex: 1; }
.wt-single-refresh {
background: rgba(255,255,255,.2); border: none; color: #fff;
width: 30px; height: 30px; border-radius: 6px; cursor: pointer; font-size: .8rem;
display: flex; align-items: center; justify-content: center;
transition: background .15s;
}
.wt-single-refresh:hover { background: rgba(255,255,255,.3); }
.wt-single-widget__body { padding: 20px 24px; }
.wt-loading { color: var(--clr-muted); font-size: .9rem; display: flex; align-items: center; gap: 8px; }
.wt-single-status {
display: flex; align-items: center; gap: 16px;
}
.wt-single-status__wait {
font-family: var(--ff-display);
font-size: 3rem; line-height: 1;
color: var(--clr-primary); letter-spacing: .02em;
}
.wt-single-status__wait i { font-size: 2rem; }
.wt-single-status--virtual .wt-single-status__wait { color: #4338ca; }
.wt-single-status__wait span { font-family: var(--ff-body); font-size: 1rem; color: var(--clr-muted); font-weight: 500; }
.wt-single-status__info { display: flex; flex-direction: column; gap: 4px; }
.wt-single-status__info strong { font-size: .92rem; color: var(--clr-text); }
.wt-single-status__info small { font-size: .78rem; color: var(--clr-muted); }
.wt-single-closed {
display: flex; align-items: center; gap: 10px;
color: #64748b; font-weight: 600;
}
.wt-single-closed i { font-size: 1.2rem; }
.wt-single-closed--storing { color: #92400e; }
@media (max-width: 640px) {
.wt-stats-bar { flex-direction: column; }
.wt-stat { border-right: none; border-bottom: 1px solid var(--clr-border); }
.wt-stat:last-child { border-bottom: none; }
.wt-parks-grid { grid-template-columns: 1fr; }
}
.dt-filter-bar {
display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
margin-bottom: 32px; padding: 16px 20px;
background: #fff; border: 1px solid var(--clr-border);
border-radius: var(--radius);
box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.dt-filter-group { display: flex; flex-direction: column; gap: 4px; }
.dt-filter-group label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--clr-muted); }
.dt-select {
padding: 8px 12px; border: 1.5px solid var(--clr-border); border-radius: 8px;
font-family: var(--ff-body); font-size: .88rem; color: var(--clr-text);
background: var(--clr-bg); cursor: pointer; outline: none;
transition: border-color .15s;
}
.dt-select:focus { border-color: var(--clr-primary); }
.dt-reset {
display: inline-flex; align-items: center; gap: 6px;
padding: 8px 14px; border-radius: 8px;
background: rgba(220,38,38,.08); color: #b91c1c;
text-decoration: none; font-size: .84rem; font-weight: 600;
transition: background .15s;
}
.dt-reset:hover { background: rgba(220,38,38,.15); }
.dt-count { margin-left: auto; font-size: .84rem; color: var(--clr-muted); }
.dt-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 24px;
margin-bottom: 40px;
}
.dt-card {
display: flex; flex-direction: column;
background: #fff; border: 1px solid var(--clr-border);
border-radius: var(--radius); overflow: hidden;
text-decoration: none; color: inherit;
box-shadow: 0 2px 10px rgba(0,0,0,.05);
transition: transform .25s, box-shadow .25s, border-color .25s;
}
.dt-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 32px rgba(45,106,79,.15);
border-color: var(--clr-primary);
}
.dt-card__img {
position: relative; aspect-ratio: 16/9; overflow: hidden;
background: #F0F4F1;
}
.dt-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.dt-card:hover .dt-card__img img { transform: scale(1.04); }
.dt-card__placeholder {
width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
font-size: 2.5rem; color: var(--clr-primary); opacity: .25;
}
.dt-card__body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.dt-card__title { font-family: var(--ff-display); font-size: 1.3rem; letter-spacing: .03em; color: var(--clr-text); margin: 0; }
.dt-card__location { display: flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--clr-muted); }
.dt-card__location i { color: var(--clr-primary); }
.dt-card__specs { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.dt-card__specs span {
display: inline-flex; align-items: center; gap: 5px;
font-size: .78rem; color: var(--clr-muted);
background: var(--clr-bg); padding: 3px 10px; border-radius: 100px;
border: 1px solid var(--clr-border);
}
.dt-card__specs i { color: var(--clr-primary); }
.dt-stats-row {
display: flex; gap: 0;
background: #fff; border: 1px solid var(--clr-border); border-radius: var(--radius);
overflow: hidden; margin-bottom: 28px;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.dt-stat-item {
flex: 1; display: flex; flex-direction: column; align-items: center;
padding: 20px 16px; gap: 4px; text-align: center;
border-right: 1px solid var(--clr-border);
}
.dt-stat-item:last-child { border-right: none; }
.dt-stat-item > i { font-size: 1.3rem; color: var(--clr-primary); margin-bottom: 4px; }
.dt-stat-item > strong { font-family: var(--ff-display); font-size: 1.6rem; color: var(--clr-text); letter-spacing: .02em; line-height: 1; }
.dt-stat-item > span { font-size: .75rem; color: var(--clr-muted); text-transform: uppercase; letter-spacing: .05em; }
.dt-highlights { display: flex; flex-wrap: wrap; gap: 10px; }
.dt-highlight-tag {
display: inline-flex; align-items: center; gap: 7px;
padding: 8px 16px; border-radius: 100px;
background: rgba(45,106,79,.08); border: 1px solid rgba(45,106,79,.2);
color: var(--clr-primary); font-size: .88rem; font-weight: 600;
}
.dt-facs-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 12px;
}
.dt-fac-item {
display: flex; align-items: center; gap: 10px;
padding: 12px 14px; border-radius: 10px;
background: var(--clr-bg); border: 1px solid var(--clr-border);
font-size: .88rem; font-weight: 500; color: var(--clr-text);
}
.dt-fac-item i { color: var(--clr-primary); width: 16px; text-align: center; }
.dt-website-btn {
display: flex; align-items: center; justify-content: center; gap: 8px;
width: 100%; padding: 11px; margin-top: 16px;
background: var(--clr-primary); color: #fff;
text-decoration: none; border-radius: 10px;
font-size: .88rem; font-weight: 700;
transition: background .15s;
}
.dt-website-btn:hover { background: var(--clr-primary-dk, #1a4731); color: #fff; }
.dt-content { font-size: .95rem; line-height: 1.8; color: var(--clr-text); }
@media (max-width: 640px) {
.dt-stats-row { flex-direction: column; }
.dt-stat-item { border-right: none; border-bottom: 1px solid var(--clr-border); flex-direction: row; gap: 12px; text-align: left; }
.dt-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
.atr-header__layout,
.archive-container,
.attractie-container,
.atr-footer__top,
.atr-footer__bottom,
.atr-instuur__inner,
.wt-filter-bar,
.wt-stats-bar,
.dt-filter-bar {
overflow-x: hidden;
}
.atr-hero__content {
padding: 120px 20px 80px;
}
.hero-content {
padding-top: 120px;
padding-left: 20px;
padding-right: 20px;
}
.archive-container { padding: 24px 16px; }
}
.nieuws-cats {
display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px;
}
.nieuws-cat-btn {
padding: 8px 18px; border-radius: 100px;
background: var(--clr-surface); border: 1.5px solid var(--clr-border);
color: var(--clr-muted); font-size: .85rem; font-weight: 600;
text-decoration: none; transition: all .15s;
}
.nieuws-cat-btn:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
.nieuws-cat-btn.is-active { background: var(--clr-primary); border-color: var(--clr-primary); color: #fff; }
.nieuws-cat-label {
display: inline-block; padding: 3px 12px; border-radius: 100px;
background: rgba(45,106,79,.1); color: var(--clr-primary);
font-size: .75rem; font-weight: 700; text-decoration: none;
text-transform: uppercase; letter-spacing: .05em;
margin-bottom: 8px; transition: background .15s;
}
.nieuws-cat-label:hover { background: rgba(45,106,79,.18); }
.nieuws-featured {
display: grid; grid-template-columns: 1fr 1fr;
border-radius: var(--radius); overflow: hidden;
background: var(--clr-surface); border: 1px solid var(--clr-border);
box-shadow: 0 4px 20px rgba(0,0,0,.07);
margin-bottom: 40px;
transition: box-shadow .25s, transform .25s;
}
.nieuws-featured:hover {
box-shadow: 0 12px 40px rgba(45,106,79,.15);
transform: translateY(-3px);
}
.nieuws-featured__img-wrap {
display: block; overflow: hidden; aspect-ratio: 16/10;
}
.nieuws-featured__img-wrap img {
width: 100%; height: 100%; object-fit: cover; transition: transform .4s;
}
.nieuws-featured:hover .nieuws-featured__img-wrap img { transform: scale(1.04); }
.nieuws-featured__body {
padding: 40px 36px;
display: flex; flex-direction: column; justify-content: center;
}
.nieuws-featured__cats { margin-bottom: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.nieuws-featured__title {
font-family: var(--ff-display);
font-size: clamp(1.5rem, 3vw, 2.1rem);
letter-spacing: .02em; line-height: 1.15;
margin-bottom: 14px;
}
.nieuws-featured__title a { color: var(--clr-text); text-decoration: none; }
.nieuws-featured__title a:hover { color: var(--clr-primary); }
.nieuws-featured__excerpt { color: var(--clr-muted); line-height: 1.7; margin-bottom: 20px; font-size: .95rem; }
.nieuws-featured__meta {
display: flex; align-items: center; justify-content: space-between;
font-size: .85rem; color: var(--clr-muted);
}
.nieuws-featured__meta i { margin-right: 4px; color: var(--clr-primary); }
.nieuws-featured__lees {
display: inline-flex; align-items: center; gap: 6px;
color: var(--clr-primary); text-decoration: none !important;
font-weight: 700; font-size: .88rem; transition: gap .2s;
}
.nieuws-featured:hover .nieuws-featured__lees { gap: 10px; }
.nieuws-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 24px; margin-bottom: 40px;
}
.nieuws-grid--home { margin-bottom: 0; }
.nieuws-card {
background: var(--clr-surface); border: 1px solid var(--clr-border);
border-radius: var(--radius); overflow: hidden;
box-shadow: 0 2px 10px rgba(0,0,0,.05);
transition: transform .25s, box-shadow .25s, border-color .25s;
display: flex; flex-direction: column;
}
.nieuws-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 30px rgba(45,106,79,.12);
border-color: var(--clr-primary);
}
.nieuws-card__img-wrap {
display: block; overflow: hidden; aspect-ratio: 16/9; background: #F0F4F1;
}
.nieuws-card__img-wrap img {
width: 100%; height: 100%; object-fit: cover; transition: transform .35s;
}
.nieuws-card:hover .nieuws-card__img-wrap img { transform: scale(1.05); }
.nieuws-card__placeholder {
width: 100%; height: 100%; display: flex; align-items: center;
justify-content: center; font-size: 2rem; color: var(--clr-primary); opacity: .2;
}
.nieuws-card__body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.nieuws-card__title { font-family: var(--ff-display); font-size: 1.1rem; letter-spacing: .02em; line-height: 1.25; margin: 0; }
.nieuws-card__title a { color: var(--clr-text); text-decoration: none; }
.nieuws-card__title a:hover { color: var(--clr-primary); }
.nieuws-card__excerpt { font-size: .85rem; color: var(--clr-muted); line-height: 1.6; flex: 1; }
.nieuws-card__meta { font-size: .78rem; color: var(--clr-muted); margin-top: auto; }
.nieuws-card__meta i { color: var(--clr-primary); margin-right: 3px; }
.nieuws-layout {
display: grid; grid-template-columns: 1fr 320px;
gap: 48px; padding: 40px 0; align-items: start;
}
.nieuws-artikel { min-width: 0; }
.nieuws-content { font-size: 1.02rem; line-height: 1.85; color: var(--clr-text); }
.nieuws-content p { margin-bottom: 1.4em; }
.nieuws-content h2 { font-family: var(--ff-display); font-size: 1.7rem; letter-spacing:.03em; margin: 1.8em 0 .6em; }
.nieuws-content h3 { font-family: var(--ff-display); font-size: 1.3rem; margin: 1.4em 0 .5em; }
.nieuws-content ul,
.nieuws-content ol { padding-left: 1.4em; margin-bottom: 1.4em; }
.nieuws-content li { margin-bottom: .4em; }
.nieuws-content blockquote {
border-left: 4px solid var(--clr-primary);
padding: 16px 24px; margin: 24px 0;
background: rgba(45,106,79,.05); border-radius: 0 var(--radius) var(--radius) 0;
font-style: italic; color: var(--clr-muted);
}
.nieuws-content img { max-width: 100%; height: auto; border-radius: var(--radius); margin: 20px 0; box-shadow: 0 4px 20px rgba(0,0,0,.1); }
.nieuws-content figure { margin: 24px 0; }
.nieuws-content figcaption { font-size: .82rem; color: var(--clr-muted); text-align: center; margin-top: 8px; }
.nieuws-content iframe { max-width: 100%; border-radius: var(--radius); aspect-ratio: 16/9; }
.nieuws-tags {
display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--clr-border);
font-size: .85rem; color: var(--clr-muted);
}
.nieuws-tag {
display: inline-block; padding: 4px 12px; border-radius: 100px;
background: var(--clr-bg); border: 1px solid var(--clr-border);
color: var(--clr-text); text-decoration: none; font-size: .82rem;
transition: border-color .15s, color .15s;
}
.nieuws-tag:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
.nieuws-nav {
display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px;
}
.nieuws-nav__btn {
display: flex; align-items: center; gap: 14px;
padding: 16px 20px; border-radius: var(--radius);
background: var(--clr-surface); border: 1px solid var(--clr-border);
text-decoration: none; color: var(--clr-text);
transition: border-color .15s, box-shadow .15s;
}
.nieuws-nav__btn:hover { border-color: var(--clr-primary); box-shadow: 0 4px 16px rgba(45,106,79,.1); }
.nieuws-nav__btn--next { justify-content: flex-end; text-align: right; }
.nieuws-nav__btn i { color: var(--clr-primary); flex-shrink: 0; font-size: 1.1rem; }
.nieuws-nav__btn small { display: block; font-size: .72rem; color: var(--clr-muted); text-transform: uppercase; letter-spacing: .06em; }
.nieuws-nav__btn span { display: block; font-weight: 600; font-size: .9rem; margin-top: 2px; }
.nieuws-sidebar-item {
display: flex; align-items: center; gap: 12px;
padding: 10px 0; border-bottom: 1px solid var(--clr-border);
text-decoration: none; color: var(--clr-text); transition: color .15s;
}
.nieuws-sidebar-item:last-of-type { border-bottom: none; }
.nieuws-sidebar-item:hover { color: var(--clr-primary); }
.nieuws-sidebar-item img { width: 60px; height: 45px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.nieuws-sidebar-item__placeholder {
width: 60px; height: 45px; background: var(--clr-bg); border-radius: 6px;
display: flex; align-items: center; justify-content: center; color: var(--clr-muted); flex-shrink: 0;
}
.nieuws-sidebar-item strong { display: block; font-size: .85rem; font-weight: 600; line-height: 1.3; }
.nieuws-sidebar-item small { font-size: .75rem; color: var(--clr-muted); }
.nieuws-gerelateerd { padding: 0 0 48px; }
.nieuws-gerelateerd__titel { font-family: var(--ff-display); font-size: 1.5rem; letter-spacing: .03em; margin-bottom: 24px; }
.atr-section--nieuws { background: var(--clr-bg); }
@media (max-width: 900px) {
.nieuws-featured { grid-template-columns: 1fr; }
.nieuws-featured__img-wrap { aspect-ratio: 16/8; }
.nieuws-featured__body { padding: 24px; }
.nieuws-layout { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
.nieuws-grid { grid-template-columns: 1fr; }
.nieuws-nav { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) and (min-width: 769px) {
.archive-container { padding: 32px 24px; }
.attracties-grid { grid-template-columns: repeat(2, 1fr); }
.dt-grid { grid-template-columns: repeat(2, 1fr); }
.nieuws-grid { grid-template-columns: repeat(2, 1fr); }
.nieuws-featured { grid-template-columns: 1fr; }
.nieuws-featured__img-wrap { aspect-ratio: 16/8; }
.nieuws-featured__body { padding: 28px; }
.nieuws-layout { grid-template-columns: 1fr 260px; gap: 28px; }
.attractie-layout { grid-template-columns: 1fr 260px; gap: 28px; }
.atr-parks-grid { grid-template-columns: repeat(2, 1fr); }
.wt-parks-grid { grid-template-columns: repeat(2, 1fr); }
.dt-stats-row { flex-wrap: wrap; }
.dt-stat-item { min-width: 50%; border-right: none; border-bottom: 1px solid var(--clr-border); }
.atr-footer__top { grid-template-columns: repeat(2, 1fr); }
}
.wt-loading-state { padding: 8px 0; }
.wt-skeleton {
height: 52px; border-radius: 10px;
background: linear-gradient(90deg, var(--clr-bg) 25%, rgba(255,255,255,.6) 50%, var(--clr-bg) 75%);
background-size: 200% 100%;
animation: wt-shimmer 1.4s infinite;
margin-bottom: 10px;
}
.wt-skeleton:nth-child(2) { opacity: .7; animation-delay: .15s; }
.wt-skeleton:nth-child(3) { opacity: .4; animation-delay: .3s; }
@keyframes wt-shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
.attracties-site .star-btn,
.attracties-archive .star-btn,
.attracties-single .star-btn {
color: rgba(244,166,35,.3) !important;
background: none !important;
border: none !important;
}
.attracties-site .star-btn:hover,
.attracties-site .star-btn.active,
.attracties-archive .star-btn:hover,
.attracties-archive .star-btn.active,
.attracties-single .star-btn:hover,
.attracties-single .star-btn.active {
color: #F4A623 !important;
}
.attracties-site .review-form input,
.attracties-site .review-form textarea,
.attracties-single .review-form input,
.attracties-single .review-form textarea {
border: 1.5px solid #c8d8cd !important;
outline: none !important;
box-shadow: none !important;
accent-color: #2D6A4F;
}
.attracties-site .review-form input:focus,
.attracties-site .review-form textarea:focus,
.attracties-single .review-form input:focus,
.attracties-single .review-form textarea:focus {
border-color: #2D6A4F !important;
box-shadow: 0 0 0 3px rgba(45,106,79,.1) !important;
}
.attracties-site button[class*="btn"],
.attracties-site a[class*="btn"],
.attracties-home button[class*="btn"],
.attracties-home a[class*="btn"],
.attracties-archive button[class*="btn"],
.attracties-archive a[class*="btn"],
.attracties-single button[class*="btn"],
.attracties-single a[class*="btn"] {
color: inherit; 
}
.attracties-btn-submit,
.instuur-btn,
.atr-btn--primary {
color: #fff !important;
}
.attracties-btn-submit *,
.instuur-btn *,
.atr-btn--primary * {
color: #fff !important;
}
.card-type-badge--water {
background: rgba(255,255,255,.92) !important;
color: #1A2E22 !important;
}
.card-type-badge--water i {
color: #0096C7 !important;
}
.sidebar-related { margin-top: 16px; }
.sidebar-related__item {
display: flex; align-items: center; gap: 10px;
padding: 8px 0; border-bottom: 1px solid var(--clr-border);
text-decoration: none; color: var(--clr-text);
font-size: .85rem; font-weight: 600; line-height: 1.3;
transition: color .15s;
}
.sidebar-related__item:last-child { border-bottom: none; }
.sidebar-related__item:hover { color: #2D6A4F; }
.sidebar-related__item img {
width: 52px; height: 40px; object-fit: cover;
border-radius: 6px; flex-shrink: 0;
}
.sidebar-related__placeholder {
width: 52px; height: 40px; background: var(--clr-bg);
border-radius: 6px; display: flex; align-items: center;
justify-content: center; color: #2D6A4F; opacity: .4;
flex-shrink: 0;
}
/* ── 404 PAGINA ────────────────────────────────────────────────── */
.attracties-404 { background: var(--clr-bg); min-height: 100vh; }
.e404-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, #1a3a2a 0%, #2D6A4F 50%, #1a3a2a 100%); display: flex; align-items: center; justify-content: center; padding: 100px 24px 80px; text-align: center; min-height: 70vh; }
.e404-bg-circles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.e404-circle { position: absolute; border-radius: 50%; border: 2px solid rgba(255,255,255,.08); animation: e404-pulse 4s ease-in-out infinite; }
.e404-circle--1 { width:300px; height:300px; top:-80px; right:-80px; animation-delay:0s; }
.e404-circle--2 { width:500px; height:500px; bottom:-150px; left:-150px; animation-delay:-1.5s; }
.e404-circle--3 { width:200px; height:200px; top:50%; left:60%; animation-delay:-3s; }
@keyframes e404-pulse { 0%,100% { transform:scale(1); opacity:.6; } 50% { transform:scale(1.05); opacity:1; } }
.e404-content { position: relative; z-index: 2; max-width: 600px; }
.e404-number { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:32px; }
.e404-4 { font-family:var(--ff-display); font-size:clamp(6rem,20vw,12rem); line-height:1; color:#fff; letter-spacing:-.02em; text-shadow:0 8px 40px rgba(0,0,0,.4); }
.e404-icon-wrap { width:clamp(80px,15vw,120px); height:clamp(80px,15vw,120px); background:rgba(255,255,255,.15); backdrop-filter:blur(12px); border-radius:28px; display:flex; align-items:center; justify-content:center; animation:e404-bounce 2s ease-in-out infinite; }
.e404-icon { font-size:clamp(2.5rem,8vw,4rem); color:#fff; }
@keyframes e404-bounce { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-12px) rotate(5deg); } }
.e404-title { font-family:var(--ff-display); font-size:clamp(1.6rem,4vw,2.4rem); color:#fff; letter-spacing:.02em; margin-bottom:16px; }
.e404-subtitle { color:rgba(255,255,255,.75); font-size:clamp(.9rem,2vw,1.05rem); line-height:1.7; margin-bottom:36px; }
.e404-actions { display:flex; justify-content:center; }
.e404-links-section { padding:56px 0 32px; }
.e404-links-title { font-family:var(--ff-display); font-size:1.5rem; letter-spacing:.03em; margin-bottom:24px; color:var(--clr-text); }
.e404-quicklinks { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; margin-bottom:48px; }
.e404-quicklink { display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 12px; border-radius:var(--radius); background:var(--clr-surface); border:1px solid var(--clr-border); text-decoration:none; color:var(--clr-text); font-size:.85rem; font-weight:600; transition:border-color .2s,transform .2s,box-shadow .2s; }
.e404-quicklink:hover { border-color:#2D6A4F; transform:translateY(-4px); box-shadow:0 8px 24px rgba(45,106,79,.12); color:#2D6A4F; }
.e404-quicklink__icon { width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,#2D6A4F,#52B788); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; }
.e404-suggestions { padding-bottom:56px; }

/* ── Onride Video ───────────────────────────────────────────────── */
.attractie-video-wrap {
position: relative; width: 100%; padding-top: 56.25%;
border-radius: 12px; overflow: hidden;
background: #000; margin-bottom: 12px;
}
.attractie-video-wrap iframe {
position: absolute; top: 0; left: 0;
width: 100%; height: 100%; border: 0;
}
.attractie-video-wrap video {
display: block; width: 100%; height: auto;
border-radius: 12px; margin-bottom: 12px;
}
/* Voor self-hosted video: geen padding-top truc nodig */
.attractie-video-wrap--native {
padding-top: 0; background: transparent;
}
.attractie-video-bron {
font-size: .82rem; color: var(--clr-muted);
display: flex; align-items: center; gap: 6px;
}
.attractie-video-bron a { color: var(--clr-primary); text-decoration: none; }
.attractie-video-bron a:hover { text-decoration: underline; }

/* ── Wachttijden fallback (geen live data) ──────────────────────── */
.wt-fallback {
  text-align: center; padding: 48px 24px; max-width: 600px; margin: 0 auto;
}
.wt-fallback__icon {
  width: 72px; height: 72px; border-radius: 20px;
  background: linear-gradient(135deg, #2D6A4F, #52B788);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 24px; font-size: 1.8rem; color: #fff;
}
.wt-fallback__title {
  font-family: var(--ff-display); font-size: clamp(1.3rem,3vw,1.8rem);
  letter-spacing: .02em; margin-bottom: 12px; color: var(--clr-text);
}
.wt-fallback__text {
  color: var(--clr-muted); line-height: 1.7; margin-bottom: 28px; font-size: .95rem;
}
.wt-fallback__links {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px;
}
.wt-fallback__btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: 100px;
  background: #2D6A4F !important; color: #fff !important; font-weight: 600;
  font-size: .88rem; text-decoration: none !important;
  transition: opacity .2s;
}
.wt-fallback__btn:hover { opacity: .85; color: #fff !important; }
.wt-fallback__btn--outline {
  background: transparent !important; border: 2px solid #2D6A4F !important; color: #2D6A4F !important;
}
.wt-fallback__btn--outline:hover { background: #2D6A4F !important; color: #fff !important; }
.wt-fallback__attracties { text-align: left; }
.wt-fallback__attracties h3 {
  font-family: var(--ff-display); font-size: 1.2rem; letter-spacing: .03em;
  margin-bottom: 20px; color: var(--clr-text);
}

/* ── Pretparken per land ───────────────────────────────────────── */
.pretparken-land-section { margin-bottom: 48px; }
.pretparken-land-title {
  font-family: var(--ff-display); font-size: clamp(1.2rem,2.5vw,1.6rem);
  letter-spacing: .03em; color: var(--clr-text);
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 2px solid var(--clr-border);
}
.pretparken-land-title i { color: #2D6A4F; }
.pretparken-land-count {
  font-size: .78rem; font-weight: 600; color: var(--clr-muted);
  background: var(--clr-glass); border: 1px solid var(--clr-border);
  padding: 3px 10px; border-radius: 100px; margin-left: auto;
}

/* ── Dichtstbijzijnde parken widget ────────────────────────────── */
.wt-location-bar {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 24px; flex-wrap: wrap;
}
.wt-location-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: 100px;
  background: #2D6A4F !important; color: #fff !important;
  border: none; font-size: .88rem; font-weight: 600;
  cursor: pointer; transition: opacity .2s;
  font-family: var(--ff-body);
}
.wt-location-btn:hover { opacity: .85; }
.wt-location-btn:disabled { opacity: .6; cursor: wait; }
.wt-location-status { font-size: .82rem; color: var(--clr-muted); }

.wt-nearby-section {
  background: var(--clr-surface); border: 1px solid var(--clr-border);
  border-radius: var(--radius); padding: 24px; margin-bottom: 28px;
}
.wt-nearby-title {
  font-family: var(--ff-display); font-size: 1.2rem;
  letter-spacing: .03em; color: var(--clr-text);
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 20px;
}
.wt-nearby-title i { color: #2D6A4F; }
.wt-nearby-close {
  margin-left: auto; background: none; border: none;
  color: var(--clr-muted); cursor: pointer; font-size: 1rem;
  padding: 4px 8px; border-radius: 4px;
}
.wt-nearby-close:hover { color: var(--clr-text); }
.wt-nearby-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.wt-nearby-card {
  display: flex; align-items: center; gap: 12px;
  background: var(--clr-bg); border: 1px solid var(--clr-border);
  border-radius: 10px; padding: 12px; text-decoration: none;
  color: var(--clr-text); transition: border-color .2s, transform .2s;
}
.wt-nearby-card:hover { border-color: #2D6A4F; transform: translateY(-2px); }
.wt-nearby-card__img { width: 56px; height: 56px; flex-shrink: 0; }
.wt-nearby-card__img img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 8px;
}
.wt-nearby-placeholder {
  width: 56px; height: 56px; border-radius: 8px;
  background: linear-gradient(135deg, #2D6A4F, #52B788);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.2rem;
}
.wt-nearby-card__name { font-weight: 700; font-size: .88rem; margin-bottom: 4px; }
.wt-nearby-card__dist { font-size: .78rem; color: #2D6A4F; font-weight: 600; }
.wt-nearby-card__dist i { margin-right: 3px; }

@media (max-width: 640px) {
  .wt-nearby-grid { grid-template-columns: 1fr; }
}

/* ── Park gesloten banner ───────────────────────────────────────── */
.wt-park-closed-banner {
  background: rgba(99,102,241,.08); border: 1px solid rgba(99,102,241,.2);
  border-radius: 10px; padding: 12px 16px; margin-bottom: 20px;
  display: flex; align-items: center; gap: 10px;
  font-size: .88rem; font-weight: 600; color: #4338ca;
}
.wt-park-closed-banner i { font-size: 1rem; }

/* ── Wachttijden retry knop ─────────────────────────────────────── */
.wt-retry-btn {
  margin-top: 12px; padding: 8px 20px; border-radius: 100px;
  background: #2D6A4F !important; color: #fff !important;
  border: none; font-size: .85rem; font-weight: 600;
  cursor: pointer; font-family: var(--ff-body);
}
.wt-retry-btn:hover { opacity: .85; }

/* ── Openingstijden + Drukte info bar ────────────────────────────── */
.wt-info-bar {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px;
}
@media (max-width: 640px) {
  .wt-info-bar { grid-template-columns: 1fr; }
}
.wt-hours-widget {
  background: #fff !important; border: 1px solid #e2e8e4 !important;
  border-radius: 12px !important; overflow: hidden;
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 14px 18px !important;
  font-family: var(--ff-body) !important; font-size: .88rem !important;
}
.wt-hours-widget i:first-child { color: #2D6A4F !important; }
.wt-hours-widget span { color: #1A2E22 !important; }
.wt-hours-widget strong { color: #2D6A4F !important; }

.wt-crowd-widget {
  background: #fff !important; border: 1px solid #e2e8e4 !important;
  border-radius: 12px !important; padding: 14px 18px;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.wt-crowd-widget i:first-child { color: #2D6A4F !important; }
.wt-crowd-widget span { font-size: .88rem; color: #1A2E22 !important; }
.wt-crowd-widget strong { color: #2D6A4F; }
.wt-crowd-bar {
  flex: 1; min-width: 80px; height: 8px; background: var(--clr-border);
  border-radius: 4px; overflow: hidden;
}
.wt-crowd-fill {
  height: 100%; border-radius: 4px; background: linear-gradient(90deg, #4ade80, #facc15, #ef4444);
  transition: width .4s ease;
}

/* ── Wartezeiten.app credit (verplicht volgens API voorwaarden) ─── */
.wt-credit {
  text-align: center; font-size: .75rem; color: var(--clr-muted);
  margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--clr-border);
}
.wt-credit a { color: #2D6A4F; font-weight: 600; text-decoration: none; }
.wt-credit a:hover { text-decoration: underline; }

/* ── Taalswitcher (GTranslate) — geïntegreerd in eigen menu i.p.v. losse
   widget die overal in de weg zit (PWA-installatieknop, reCAPTCHA-rij). ── */

/* Desktop: in de nav-pill, vóór de hamburger-knop */
.atr-lang-switcher--desktop {
  display: inline-flex; align-items: center; position: relative;
  border-radius: 100px; transition: background .15s;
}
.atr-lang-switcher--desktop:hover {
  background: rgba(45,106,79,.1);
}
.atr-lang-switcher__icon {
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  font-size: .8em; opacity: .7; color: #1A2E22; pointer-events: none;
  transition: opacity .15s, color .15s; z-index: 1;
}
.atr-lang-switcher--desktop:hover .atr-lang-switcher__icon {
  opacity: 1; color: var(--clr-primary);
}
.atr-lang-switcher--desktop .gtranslate_wrapper select,
.atr-lang-switcher--desktop select.glink {
  display: inline-flex !important; align-items: center !important;
  appearance: none !important; -webkit-appearance: none !important;
  background: none !important;
  border: none !important; outline: none !important; box-shadow: none !important;
  padding: 9px 30px 9px 36px !important;
  border-radius: 100px !important;
  color: #1A2E22 !important;
  font-size: .86rem !important; font-weight: 600 !important;
  font-family: var(--ff-body) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: color .15s !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='%231A2E22' d='M0 0l5 6 5-6z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
}
.atr-lang-switcher--desktop:hover select {
  color: var(--clr-primary) !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='%232D6A4F' d='M0 0l5 6 5-6z'/%3e%3c/svg%3e") !important;
}

/* Mobiel: eigen rij onderaan het hamburger-dropdownmenu */
.atr-mobile-nav__lang {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 11px 20px; margin-top: 4px;
  border-top: 1px solid rgba(0,0,0,.06);
}
.atr-mobile-nav__lang-label {
  display: flex; align-items: center; gap: 10px;
  font-size: .88rem; font-weight: 600; color: #1a1f2e;
}
.atr-mobile-nav__lang-label i { color: #2D6A4F; width: 18px; text-align: center; font-size: .85rem; }
.atr-lang-switcher--mobile .gtranslate_wrapper select,
.atr-lang-switcher--mobile select.glink {
  appearance: none !important; -webkit-appearance: none !important;
  background: rgba(45,106,79,.07) !important;
  border: none !important; outline: none !important; box-shadow: none !important;
  padding: 7px 26px 7px 14px !important;
  border-radius: 100px !important;
  color: #2D6A4F !important;
  font-size: .82rem !important; font-weight: 600 !important;
  font-family: var(--ff-body) !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3e%3cpath fill='%232D6A4F' d='M0 0l5 6 5-6z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
}

/* GTranslate voegt naast onze eigen shortcode-instanties altijd óók nog een
   losse, automatische widget toe direct na de </footer> (met een dynamisch
   gegenereerd ID zoals #gt-wrapper-XXXXXXXX -- nooit hetzelfde, dus geen vast
   ID te targeten). We verbergen daarom elke .gtranslate_wrapper die NIET
   binnen onze eigen .atr-lang-switcher containers valt. */
body > .gtranslate_wrapper {
  display: none !important;
}
