/* ─── Design tokens ─────────────────────────────────────── */
:root {
    --wr-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --wr-font-serif: 'Georgia', 'Times New Roman', serif;

    --wr-black: #1a1a1a;
    --wr-white: #ffffff;
    --wr-gray-50: #fafafa;
    --wr-gray-100: #f5f5f5;
    --wr-gray-200: #e5e5e5;
    --wr-gray-300: #d4d4d4;
    --wr-gray-400: #a3a3a3;
    --wr-gray-500: #737373;
    --wr-gray-600: #525252;
    --wr-gray-700: #404040;
    --wr-gray-800: #262626;
    --wr-gray-900: #171717;

    --wr-primary: #2d6a4f;
    --wr-primary-light: #40916c;
    --wr-primary-dark: #1b4332;
    --wr-primary-50: #f0fdf4;

    --wr-accent: #d4a373;
    --wr-accent-light: #e9c89e;
    --wr-accent-dark: #b07d4f;

    --wr-info: #3b82f6;
    --wr-success: #22c55e;
    --wr-warning: #f59e0b;
    --wr-error: #ef4444;

    --wr-radius: 8px;
    --wr-radius-lg: 12px;
    --wr-shadow-sm: 0 1px 2px rgba(0,0,0,.05);
    --wr-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
    --wr-shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);
    --wr-shadow-lg: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05);

    --wr-max-width: 1200px;
    --wr-content-width: 720px;
    --wr-gutter: 16px;

    --wr-transition: 200ms ease;
}

/* ─── Reset & base ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--wr-font);
    color: var(--wr-gray-800);
    background: var(--wr-white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--wr-primary); text-decoration: none; transition: color var(--wr-transition); }
a:hover { color: var(--wr-primary-dark); }

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.wr-skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    z-index: 9999;
    background: var(--wr-primary);
    color: var(--wr-white);
    padding: 8px 16px;
    border-radius: var(--wr-radius);
}
.wr-skip-link:focus { top: 16px; }

/* ─── Container ────────────────────────────────────────── */
.wr-container {
    max-width: var(--wr-max-width);
    margin: 0 auto;
    padding: 0 var(--wr-gutter);
}

/* ─── Header ───────────────────────────────────────────── */
.wr-header {
    background: var(--wr-white);
    border-bottom: 1px solid var(--wr-gray-200);
    position: sticky;
    top: 0;
    z-index: 100;
}

.wr-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 24px;
}

.wr-header__brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

.wr-header__logo {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--wr-black);
    text-decoration: none;
}
.wr-header__logo:hover { color: var(--wr-black); }
.wr-header__logo-woon { color: var(--wr-primary); }
.wr-header__logo-redactie { color: var(--wr-black); }

.wr-header__tagline { display: none; }

/* ─── Navigation ───────────────────────────────────────── */
.wr-nav { display: flex; align-items: center; gap: 8px; }
.wr-nav__list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

.wr-nav__link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--wr-gray-700);
    border-radius: var(--wr-radius);
    transition: all var(--wr-transition);
}
.wr-nav__link:hover { background: var(--wr-gray-100); color: var(--wr-primary); }

.wr-nav__item { position: relative; }
.wr-nav__sub {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--wr-white);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius);
    box-shadow: var(--wr-shadow-lg);
    padding: 8px 0;
    min-width: 220px;
    list-style: none;
    z-index: 50;
}
.wr-nav__item:hover > .wr-nav__sub { display: block; }
.wr-nav__sub .wr-nav__link { padding: 8px 16px; font-weight: 400; }
.wr-nav__chevron { transition: transform var(--wr-transition); }
.wr-nav__item:hover .wr-nav__chevron { transform: rotate(180deg); }

/* Mobile toggle */
.wr-header__toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}
.wr-header__toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--wr-gray-700);
    transition: all var(--wr-transition);
}

/* Nav search */
.wr-nav__search { margin-left: 8px; }

.wr-search-form { display: flex; align-items: center; }
.wr-search-form__input {
    flex: 1;
    border: 1px solid var(--wr-gray-300);
    border-radius: var(--wr-radius) 0 0 var(--wr-radius);
    padding: 10px 14px;
    font-size: 0.9rem;
    outline: none;
    transition: border-color var(--wr-transition);
}
.wr-search-form__input:focus { border-color: var(--wr-primary); }
.wr-search-form__btn {
    background: var(--wr-primary);
    color: var(--wr-white);
    border: none;
    border-radius: 0 var(--wr-radius) var(--wr-radius) 0;
    padding: 11px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

/* ─── Breadcrumbs ──────────────────────────────────────── */
.wr-breadcrumbs { padding: 12px 0; }
.wr-breadcrumbs__list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    font-size: 0.8rem;
    color: var(--wr-gray-500);
}
.wr-breadcrumbs__item:not(:last-child)::after {
    content: '/';
    margin-left: 4px;
    color: var(--wr-gray-400);
}
.wr-breadcrumbs__item a { color: var(--wr-gray-600); }
.wr-breadcrumbs__item a:hover { color: var(--wr-primary); }

/* ─── Hero ─────────────────────────────────────────────── */
.wr-hero {
    background: linear-gradient(135deg, var(--wr-primary-dark) 0%, var(--wr-primary) 100%);
    color: var(--wr-white);
    padding: 80px 0;
    text-align: center;
}

.wr-hero__content { max-width: 700px; margin: 0 auto; }
.wr-hero__title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 16px;
    letter-spacing: -0.02em;
}
.wr-hero__subtitle {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 32px;
    line-height: 1.6;
}

.wr-hero__search {
    display: flex;
    max-width: 500px;
    margin: 0 auto;
    border-radius: var(--wr-radius-lg);
    overflow: hidden;
    box-shadow: var(--wr-shadow-lg);
}
.wr-hero__search-input {
    flex: 1;
    border: none;
    padding: 14px 20px;
    font-size: 1rem;
    outline: none;
}
.wr-hero__search-btn {
    background: var(--wr-accent);
    color: var(--wr-white);
    border: none;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background var(--wr-transition);
}
.wr-hero__search-btn:hover { background: var(--wr-accent-dark); }

/* ─── Seasonal tip ─────────────────────────────────────── */
.wr-seasonal-tip {
    background: var(--wr-primary-50);
    border-bottom: 1px solid var(--wr-gray-200);
    padding: 16px 0;
}
.wr-seasonal-tip__inner {
    display: flex;
    align-items: center;
    gap: 12px;
}
.wr-seasonal-tip__icon { font-size: 1.5rem; }
.wr-seasonal-tip__label { font-weight: 600; color: var(--wr-primary-dark); font-size: 0.85rem; }
.wr-seasonal-tip__text { font-size: 0.9rem; color: var(--wr-gray-700); margin: 0; }

/* ─── Sections ─────────────────────────────────────────── */
.wr-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--wr-black);
    letter-spacing: -0.01em;
}
.wr-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 24px;
}
.wr-section-link {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--wr-primary);
}
.wr-section-desc {
    color: var(--wr-gray-600);
    max-width: 600px;
    margin-bottom: 24px;
}

.wr-latest, .wr-featured-guides, .wr-knowledge { padding: 64px 0; }
.wr-featured-guides { background: var(--wr-gray-50); }

/* ─── Rooms grid ───────────────────────────────────────── */
.wr-rooms { padding: 64px 0; }
.wr-rooms__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
    margin-top: 24px;
}
.wr-rooms__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 16px;
    background: var(--wr-gray-50);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    text-align: center;
    color: var(--wr-gray-700);
    transition: all var(--wr-transition);
}
.wr-rooms__item:hover {
    background: var(--wr-white);
    border-color: var(--wr-primary);
    box-shadow: var(--wr-shadow-md);
    color: var(--wr-primary);
    transform: translateY(-2px);
}
.wr-rooms__icon { width: 48px; height: 48px; margin-bottom: 8px; }
.wr-rooms__icon svg { width: 100%; height: 100%; }
.wr-rooms__name { font-weight: 600; font-size: 0.9rem; }
.wr-rooms__count { font-size: 0.75rem; color: var(--wr-gray-500); }

/* ─── Card grid ────────────────────────────────────────── */
.wr-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}
.wr-card-grid--3 { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.wr-card-grid--2 { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); }

/* ─── Cards ────────────────────────────────────────────── */
.wr-card {
    background: var(--wr-white);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    overflow: hidden;
    transition: all var(--wr-transition);
}
.wr-card:hover {
    box-shadow: var(--wr-shadow-md);
    transform: translateY(-2px);
}

.wr-card__link { display: block; color: inherit; text-decoration: none; }
.wr-card__link--horizontal { display: flex; }

.wr-card__image { overflow: hidden; aspect-ratio: 3/2; }
.wr-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.wr-card:hover .wr-card__image img { transform: scale(1.03); }

.wr-card__image--placeholder { background: var(--wr-gray-100); display: flex; align-items: center; justify-content: center; }
.wr-card__image--small { width: 120px; flex-shrink: 0; aspect-ratio: 1; }
.wr-card__image--wide { width: 280px; flex-shrink: 0; }

.wr-card__body { padding: 20px; }
.wr-card__cat {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--wr-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}
.wr-card__type {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wr-accent-dark);
    margin-bottom: 8px;
}
.wr-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--wr-black);
    margin-bottom: 8px;
}
.wr-card__title--sm { font-size: 0.95rem; }
.wr-card__excerpt {
    font-size: 0.9rem;
    color: var(--wr-gray-600);
    line-height: 1.5;
    margin-bottom: 12px;
}
.wr-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 0.8rem;
    color: var(--wr-gray-500);
}
.wr-card__badges { display: flex; gap: 8px; margin-bottom: 8px; }
.wr-card__readtime { font-size: 0.8rem; color: var(--wr-gray-500); }
.wr-card__verified {
    color: var(--wr-success);
    font-weight: 600;
}
.wr-card__verified::before { content: '\2713 '; }

/* Cost card */
.wr-card--cost { border-left: 4px solid var(--wr-accent); }
.wr-card__price {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--wr-primary-dark);
    margin: 8px 0;
}
.wr-card__cta {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wr-primary);
}

/* ─── Tags ─────────────────────────────────────────────── */
.wr-tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.75rem;
    font-weight: 500;
    background: var(--wr-primary-50);
    color: var(--wr-primary);
    border-radius: 20px;
    transition: background var(--wr-transition);
}
.wr-tag:hover { background: var(--wr-primary); color: var(--wr-white); }

/* ─── Difficulty badges ────────────────────────────────── */
.wr-difficulty {
    display: inline-block;
    padding: 2px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 20px;
}
.wr-difficulty--easy { background: #dcfce7; color: #166534; }
.wr-difficulty--medium { background: #fef3c7; color: #92400e; }
.wr-difficulty--hard { background: #fee2e2; color: #991b1b; }
.wr-difficulty--pro { background: #ede9fe; color: #5b21b6; }

/* ─── Cost section ─────────────────────────────────────── */
.wr-cost-section {
    background: var(--wr-gray-900);
    color: var(--wr-white);
    padding: 64px 0;
}
.wr-cost-section__inner { display: flex; gap: 48px; align-items: center; }
.wr-cost-section__text { flex: 1; }
.wr-cost-section__text h2 { font-size: 2rem; margin-bottom: 16px; }
.wr-cost-section__text p { color: var(--wr-gray-400); margin-bottom: 24px; }
.wr-cost-section__cards { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.wr-cost-section .wr-card { background: var(--wr-gray-800); border-color: var(--wr-gray-700); }
.wr-cost-section .wr-card__title { color: var(--wr-white); }
.wr-cost-section .wr-card__price { color: var(--wr-accent-light); }
.wr-cost-section .wr-card__cta { color: var(--wr-accent-light); }

/* ─── Button ───────────────────────────────────────────── */
.wr-btn {
    display: inline-block;
    padding: 12px 24px;
    background: var(--wr-primary);
    color: var(--wr-white);
    border-radius: var(--wr-radius);
    font-weight: 600;
    font-size: 0.95rem;
    transition: background var(--wr-transition);
}
.wr-btn:hover { background: var(--wr-primary-dark); color: var(--wr-white); }

/* ─── Trust section ────────────────────────────────────── */
.wr-trust { padding: 64px 0; background: var(--wr-gray-50); }
.wr-trust__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px;
}
.wr-trust__item { text-align: center; }
.wr-trust__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: var(--wr-primary-50);
    border-radius: 50%;
    color: var(--wr-primary);
}
.wr-trust__item h3 { font-size: 1.1rem; margin-bottom: 8px; }
.wr-trust__item p { font-size: 0.9rem; color: var(--wr-gray-600); line-height: 1.5; }

/* ─── Article layout ───────────────────────────────────── */
.wr-article { padding: 32px 0 64px; }
.wr-article__layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
}
.wr-article__header { margin-bottom: 24px; }
.wr-article__cats { margin-bottom: 12px; display: flex; gap: 8px; }
.wr-article__title {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--wr-black);
}
.wr-article__intro {
    font-size: 1.15rem;
    color: var(--wr-gray-600);
    line-height: 1.6;
    margin-top: 12px;
}
.wr-article__hero {
    margin: 24px 0;
    border-radius: var(--wr-radius-lg);
    overflow: hidden;
}

/* ─── Post meta ────────────────────────────────────────── */
.wr-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--wr-gray-200);
    border-bottom: 1px solid var(--wr-gray-200);
    margin-top: 16px;
    font-size: 0.85rem;
    color: var(--wr-gray-500);
}
.wr-post-meta__reviewed {
    color: var(--wr-success);
    font-weight: 500;
}
.wr-post-meta__reviewed::before { content: '\2713 '; }

/* ─── Cost indicator ───────────────────────────────────── */
.wr-cost-indicator {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--wr-primary-50);
    padding: 12px 16px;
    border-radius: var(--wr-radius);
    margin-top: 16px;
    border-left: 4px solid var(--wr-primary);
}
.wr-cost-indicator__icon { font-size: 1.5rem; color: var(--wr-primary); }
.wr-cost-indicator__label { font-size: 0.75rem; color: var(--wr-gray-500); text-transform: uppercase; letter-spacing: 0.05em; }
.wr-cost-indicator__range { font-size: 1.1rem; font-weight: 700; color: var(--wr-primary-dark); }

/* ─── Prose (article body) ─────────────────────────────── */
.wr-prose { font-size: 1.05rem; line-height: 1.75; color: var(--wr-gray-800); }
.wr-prose h2 { font-size: 1.5rem; font-weight: 700; margin: 40px 0 16px; color: var(--wr-black); }
.wr-prose h3 { font-size: 1.25rem; font-weight: 600; margin: 32px 0 12px; color: var(--wr-gray-900); }
.wr-prose p { margin-bottom: 16px; }
.wr-prose ul, .wr-prose ol { margin: 0 0 16px 24px; }
.wr-prose li { margin-bottom: 4px; }
.wr-prose blockquote {
    border-left: 4px solid var(--wr-primary);
    padding: 16px 20px;
    background: var(--wr-gray-50);
    margin: 24px 0;
    border-radius: 0 var(--wr-radius) var(--wr-radius) 0;
    font-style: italic;
    color: var(--wr-gray-700);
}
.wr-prose img { border-radius: var(--wr-radius); margin: 24px 0; }
.wr-prose table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 0.9rem; }
.wr-prose th, .wr-prose td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--wr-gray-200); }
.wr-prose th { background: var(--wr-gray-50); font-weight: 600; }
.wr-prose a { color: var(--wr-primary); text-decoration: underline; text-underline-offset: 2px; }

/* ─── Table of Contents ────────────────────────────────── */
.wr-toc {
    background: var(--wr-gray-50);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    padding: 24px;
    margin: 24px 0;
}
.wr-toc__title { font-size: 1rem; font-weight: 700; margin-bottom: 12px; }
.wr-toc__list { padding-left: 20px; }
.wr-toc__list li { margin-bottom: 6px; font-size: 0.9rem; }
.wr-toc__list a { color: var(--wr-gray-700); text-decoration: none; }
.wr-toc__list a:hover { color: var(--wr-primary); }
.wr-toc__sub { padding-left: 16px; font-size: 0.85rem; }

/* ─── Author box ───────────────────────────────────────── */
.wr-author-box {
    display: flex;
    gap: 20px;
    padding: 24px;
    background: var(--wr-gray-50);
    border-radius: var(--wr-radius-lg);
    margin: 32px 0;
    border: 1px solid var(--wr-gray-200);
}
.wr-author-box__avatar img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.wr-author-box__label { font-size: 0.75rem; color: var(--wr-gray-500); text-transform: uppercase; letter-spacing: 0.05em; }
.wr-author-box__name { font-size: 1.1rem; font-weight: 700; margin: 4px 0; }
.wr-author-box__name a { color: var(--wr-black); }
.wr-author-box__role { font-size: 0.85rem; color: var(--wr-primary); font-weight: 500; }
.wr-author-box__expertise { font-size: 0.8rem; color: var(--wr-gray-500); }
.wr-author-box__credentials { font-size: 0.8rem; color: var(--wr-gray-500); font-style: italic; }
.wr-author-box__bio { font-size: 0.9rem; color: var(--wr-gray-600); line-height: 1.5; margin-top: 8px; }
.wr-author-box__articles { margin-top: 8px; }
.wr-author-box__articles a { font-size: 0.85rem; font-weight: 600; color: var(--wr-primary); }

/* ─── Sources box ──────────────────────────────────────── */
.wr-sources {
    background: var(--wr-gray-50);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    padding: 24px;
    margin: 32px 0;
}
.wr-sources__title { font-size: 1rem; font-weight: 700; margin-bottom: 12px; }
.wr-sources__list { padding-left: 20px; font-size: 0.85rem; }
.wr-sources__list li { margin-bottom: 4px; }
.wr-sources__list a { word-break: break-all; }

/* ─── Related posts ────────────────────────────────────── */
.wr-related { padding: 48px 0; border-top: 1px solid var(--wr-gray-200); margin-top: 48px; }
.wr-related__title { font-size: 1.5rem; font-weight: 700; margin-bottom: 24px; }
.wr-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* ─── Archive layout ───────────────────────────────────── */
.wr-archive-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
    padding: 32px 0 64px;
}
.wr-archive__title { font-size: 2rem; font-weight: 800; margin-bottom: 8px; }
.wr-archive__desc { color: var(--wr-gray-600); margin-bottom: 32px; }
.wr-archive__header { margin-bottom: 32px; }

/* ─── Pagination ───────────────────────────────────────── */
.wr-pagination { margin-top: 48px; text-align: center; }
.wr-pagination .nav-links { display: flex; justify-content: center; gap: 4px; }
.wr-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--wr-gray-300);
    border-radius: var(--wr-radius);
    font-size: 0.9rem;
    color: var(--wr-gray-700);
    transition: all var(--wr-transition);
}
.wr-pagination .page-numbers:hover { background: var(--wr-gray-100); }
.wr-pagination .page-numbers.current {
    background: var(--wr-primary);
    color: var(--wr-white);
    border-color: var(--wr-primary);
}

/* ─── Sidebar ──────────────────────────────────────────── */
.wr-sidebar { position: sticky; top: 80px; }
.wr-widget { margin-bottom: 24px; padding: 20px; background: var(--wr-gray-50); border-radius: var(--wr-radius-lg); border: 1px solid var(--wr-gray-200); }
.wr-widget__title { font-size: 1rem; font-weight: 700; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--wr-primary); }

.wr-widget ul { list-style: none; }
.wr-widget li { padding: 10px 0; border-bottom: 1px solid var(--wr-gray-200); }
.wr-widget li:last-child { border-bottom: none; }
.wr-widget li a { color: var(--wr-gray-700); font-size: 0.9rem; display: block; transition: color var(--wr-transition); }
.wr-widget li a:hover { color: var(--wr-primary); }

.wr-widget .post-date { display: block; font-size: 0.75rem; color: var(--wr-gray-500); margin-top: 2px; }

/* ─── Page ─────────────────────────────────────────────── */
.wr-page { padding: 48px 0 64px; max-width: var(--wr-content-width); margin: 0 auto; }
.wr-page__title { font-size: 2.5rem; font-weight: 800; margin-bottom: 32px; }

/* ─── 404 ──────────────────────────────────────────────── */
.wr-404 { text-align: center; padding: 80px 0; max-width: 600px; margin: 0 auto; }
.wr-404 h1 { font-size: 3rem; font-weight: 800; margin-bottom: 16px; }
.wr-404 p { color: var(--wr-gray-600); margin-bottom: 32px; }
.wr-404__suggestions { margin-top: 48px; text-align: left; }
.wr-404__suggestions h2 { font-size: 1.25rem; margin-bottom: 12px; }
.wr-404__suggestions ul { list-style: none; }
.wr-404__suggestions li { padding: 8px 0; border-bottom: 1px solid var(--wr-gray-200); }

/* ─── Footer ───────────────────────────────────────────── */
.wr-footer {
    background: var(--wr-gray-900);
    color: var(--wr-gray-400);
    padding: 64px 0 0;
}
.wr-footer__top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    padding-bottom: 48px;
}
.wr-footer__logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--wr-white);
    text-decoration: none;
    display: inline-block;
    margin-bottom: 12px;
}
.wr-footer__logo .wr-header__logo-woon { color: var(--wr-primary-light); }
.wr-footer__logo .wr-header__logo-redactie { color: var(--wr-white) !important; }
.wr-footer__mission { font-size: 0.9rem; line-height: 1.6; }
.wr-footer__columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.wr-footer__col h4 { color: var(--wr-white); font-size: 0.9rem; margin-bottom: 16px; }
.wr-footer__menu { list-style: none; }
.wr-footer__menu li { margin-bottom: 8px; }
.wr-footer__menu a { color: var(--wr-gray-400); font-size: 0.85rem; transition: color var(--wr-transition); }
.wr-footer__menu a:hover { color: var(--wr-white); }

.wr-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0;
    border-top: 1px solid var(--wr-gray-800);
    font-size: 0.8rem;
}
.wr-footer__trust { display: flex; gap: 16px; }
.wr-footer__trust-badge {
    padding: 4px 12px;
    border: 1px solid var(--wr-gray-700);
    border-radius: 20px;
    font-size: 0.75rem;
    color: var(--wr-gray-500);
}

/* ─── No results ───────────────────────────────────────── */
.wr-no-results { text-align: center; padding: 48px 0; }
.wr-no-results h2 { margin-bottom: 8px; }

/* ─── Responsive ───────────────────────────────────────── */
@media (max-width: 1024px) {
    .wr-article__layout,
    .wr-archive-layout { grid-template-columns: 1fr; }
    .wr-article__sidebar,
    .wr-archive-layout__sidebar { display: none; }
}

/* ─── About / E-E-A-T page ─────────────────────────────── */
.wr-page--about { max-width: 900px; }
.wr-page__subtitle { font-size: 1.15rem; color: var(--wr-gray-600); margin-top: 8px; }
.wr-about-section { margin: 48px 0; }
.wr-about-section h2 { font-size: 1.5rem; margin-bottom: 16px; }

.wr-process-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin-top: 24px;
}
.wr-process-step {
    background: var(--wr-gray-50);
    border-radius: var(--wr-radius-lg);
    padding: 24px;
    border: 1px solid var(--wr-gray-200);
}
.wr-process-step__number {
    width: 36px; height: 36px;
    background: var(--wr-primary);
    color: var(--wr-white);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    margin-bottom: 12px;
}
.wr-process-step h3 { font-size: 1.05rem; margin-bottom: 8px; }
.wr-process-step p { font-size: 0.9rem; color: var(--wr-gray-600); line-height: 1.5; }

.wr-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px;
}
.wr-team-member {
    background: var(--wr-gray-50);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    padding: 24px;
    text-align: center;
}
.wr-team-member__photo { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; }
.wr-team-member__name { font-size: 1.1rem; font-weight: 700; }
.wr-team-member__role { color: var(--wr-primary); font-size: 0.9rem; font-weight: 500; }
.wr-team-member__expertise { font-size: 0.8rem; color: var(--wr-gray-500); }
.wr-team-member__credentials { font-size: 0.8rem; color: var(--wr-gray-500); font-style: italic; }
.wr-team-member__bio { font-size: 0.85rem; color: var(--wr-gray-600); margin-top: 8px; line-height: 1.5; }
.wr-team-member__link { display: inline-block; margin-top: 12px; font-size: 0.85rem; font-weight: 600; }

.wr-independence { background: var(--wr-primary-50); padding: 32px; border-radius: var(--wr-radius-lg); }
.wr-independence__content p { font-size: 0.95rem; line-height: 1.6; margin-bottom: 8px; }

/* ─── Seasonal calendar ────────────────────────────────── */
.wr-cal-tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.wr-cal-tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px;
    background: var(--wr-gray-50);
    border: 2px solid var(--wr-gray-200);
    border-radius: var(--wr-radius-lg);
    cursor: pointer;
    transition: all var(--wr-transition);
    font-family: inherit;
    font-size: 0.9rem;
}
.wr-cal-tab:hover { border-color: var(--tab-color); }
.wr-cal-tab.is-active { border-color: var(--tab-color); background: var(--wr-white); box-shadow: var(--wr-shadow-md); }
.wr-cal-tab__icon { font-size: 1.5rem; }
.wr-cal-tab__label { font-weight: 600; }

.wr-cal-panel { display: none; }
.wr-cal-panel.is-active { display: block; }

.wr-cal-tasks { display: flex; flex-direction: column; gap: 12px; }
.wr-cal-task {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    background: var(--wr-white);
    border: 1px solid var(--wr-gray-200);
    border-radius: var(--wr-radius);
    transition: all var(--wr-transition);
}
.wr-cal-task.is-done { opacity: 0.5; }
.wr-cal-task.is-done .wr-cal-task__title { text-decoration: line-through; }

.wr-cal-task__checkbox {
    width: 20px; height: 20px;
    margin-top: 2px;
    accent-color: var(--wr-primary);
    cursor: pointer;
}
.wr-cal-task__title { font-size: 1rem; font-weight: 600; margin-bottom: 4px; }
.wr-cal-task__desc { font-size: 0.85rem; color: var(--wr-gray-600); }
.wr-cal-task__cat {
    display: inline-block;
    margin-top: 4px;
    padding: 2px 8px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    background: var(--wr-gray-100);
    border-radius: 20px;
    color: var(--wr-gray-500);
}

/* ─── Comparator ───────────────────────────────────────── */
.wr-comparator__category-select { margin-bottom: 24px; }
.wr-comparator__select {
    padding: 10px 16px;
    border: 1px solid var(--wr-gray-300);
    border-radius: var(--wr-radius);
    font-size: 1rem;
    font-family: inherit;
    margin-left: 8px;
    background: var(--wr-white);
}
.wr-comparator__table-wrap { overflow-x: auto; }
.wr-comp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.wr-comp-table th {
    background: var(--wr-primary);
    color: var(--wr-white);
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}
.wr-comp-table th:first-child { border-radius: var(--wr-radius) 0 0 0; }
.wr-comp-table th:last-child { border-radius: 0 var(--wr-radius) 0 0; }
.wr-comp-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--wr-gray-200);
}
.wr-comp-table tr:hover td { background: var(--wr-gray-50); }
.wr-comp-table td:first-child { font-weight: 600; }

@media (max-width: 768px) {
    .wr-header__toggle { display: flex; }
    .wr-nav {
        display: none;
        position: absolute;
        top: 64px;
        left: 0;
        right: 0;
        background: var(--wr-white);
        border-bottom: 1px solid var(--wr-gray-200);
        box-shadow: var(--wr-shadow-lg);
        padding: 16px;
        flex-direction: column;
        align-items: stretch;
    }
    .wr-nav.is-open { display: flex; }
    .wr-nav__list { flex-direction: column; align-items: stretch; }
    .wr-nav__sub {
        position: static;
        box-shadow: none;
        border: none;
        padding-left: 16px;
        display: block;
    }



    .wr-hero { padding: 48px 0; }
    .wr-hero__title { font-size: 1.75rem; }
    .wr-hero__search { flex-direction: column; border-radius: var(--wr-radius); }
    .wr-hero__search-input { border-radius: var(--wr-radius) var(--wr-radius) 0 0; }
    .wr-hero__search-btn { border-radius: 0 0 var(--wr-radius) var(--wr-radius); }

    .wr-card-grid { grid-template-columns: 1fr; }
    .wr-card-grid--2, .wr-card-grid--3 { grid-template-columns: 1fr; }
    .wr-card__link--horizontal { flex-direction: column; }
    .wr-card__image--wide { width: 100%; }

    .wr-cost-section__inner { flex-direction: column; }

    .wr-footer__top { grid-template-columns: 1fr; }
    .wr-footer__columns { grid-template-columns: 1fr; }
    .wr-footer__bottom { flex-direction: column; gap: 12px; text-align: center; }

    .wr-rooms__grid { grid-template-columns: repeat(2, 1fr); }

    .wr-author-box { flex-direction: column; align-items: center; text-align: center; }

}
