/*
Theme Name: Feiertage Niederlande
Theme URI: https://feiertageniederlande.de/
Author: Feiertage Niederlande Redaktion
Description: Lichtgewicht Duitstalig WordPress-theme voor Nederlandse feestdagen, schoolvakanties en reisgidsen. Geen pagebuilder nodig.
Version: 1.0.14
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: feiertageniederlande
License: GPL-2.0-or-later
*/
:root{--navy:#112c50;--green:#166c4b;--orange:#e9630a;--ink:#263749;--muted:#61707b;--line:#e4e9e9;--cream:#fffaf3;--bg:#fff;--shadow:0 5px 24px rgba(17,44,80,.055)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:#116198;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid #e9630a;outline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy);letter-spacing:-.025em}h1{font-size:clamp(2.5rem,4.5vw,4rem);margin:0 0 .45em}h2{font-size:clamp(1.6rem,2.5vw,2.15rem);margin:0 0 .6em}h3{font-size:1.32rem;margin:.3em 0}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:999}.skip-link:focus{top:10px}.site-header{position:relative;background:#fff;border-bottom:1px solid #edf0f1;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:80px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-family:Georgia,serif;font-weight:700;font-size:clamp(1.05rem,1.8vw,1.55rem)}.brand:hover{text-decoration:none}.brand-mark{font-size:2rem}.brand small{display:block;letter-spacing:.16em;font:600 .56rem/1.2 system-ui,sans-serif;color:#7a8590;margin-top:4px}.menu{display:flex;flex-wrap:wrap;gap:clamp(10px,1.5vw,22px);list-style:none;margin:0;padding:0}.menu a{font-size:.88rem;font-weight:650;color:#273b4e}.menu a:hover{color:var(--orange)}.search-form{display:flex;gap:6px}.search-form input{border:1px solid #cad6dc;border-radius:6px;padding:7px 9px;min-width:120px;width:135px}.search-form button,.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45em;background:var(--orange);color:white;border-radius:24px;padding:12px 20px;font-weight:700;font-size:.91rem;text-decoration:none}.btn:hover{background:#cb5000;text-decoration:none}.btn-outline{background:#fff;color:#bc4c05;border:1px solid #e58b59}.btn-outline:hover{background:#fff3e6}.mobile-menu{display:none;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 10px;color:var(--navy);font-weight:700}.hero{background:linear-gradient(90deg,rgba(239,249,255,.96),rgba(249,252,251,.82) 48%,rgba(255,255,255,0) 78%),url('assets/images/tulpen-hero.jpg') center center/cover;min-height:477px;display:flex;align-items:center}.hero-inner{padding:35px 0 42px}.hero h1,.hero p{max-width:650px}.hero p{font-size:1.12rem;color:#34485a;margin:0 0 20px}.btns{display:flex;gap:12px;flex-wrap:wrap}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px auto}.quick-card{background:#eff7fc;border-radius:12px;display:flex;align-items:center;gap:12px;padding:19px 15px;color:var(--navy);min-height:97px;box-shadow:var(--shadow)}.quick-card:nth-child(2){background:#fbf6e9}.quick-card:nth-child(3){background:#edf7f1}.quick-card:nth-child(4){background:#fbefed}.quick-card:hover{text-decoration:none;transform:translateY(-2px)}.quick-icon{font-size:1.65rem;line-height:1}.quick-card strong{display:block;font-size:.98rem}.quick-card small{display:block;color:#60717a;font-size:.78rem;line-height:1.45}.main-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(275px,1fr);gap:16px;margin:12px auto 28px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow)}.panel h2{margin-top:0}.sidebar-stack{display:grid;gap:13px}.info-panel{background:#eef7fd;border-radius:12px;padding:19px}.info-panel.green{background:#eff7ee}.next-date{display:flex;align-items:center;gap:18px}.date-box{background:#fff;border-radius:10px;min-width:74px;text-align:center;overflow:hidden;box-shadow:0 4px 15px #1232}.date-box b{display:block;background:#f16b4b;color:white;font-size:.9rem}.date-box span{font:700 2rem Georgia;display:block;padding:5px}.year-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.year-nav a{padding:5px 15px;border:1px solid #d3dedf;border-radius:20px;color:var(--navy);font-weight:700}.year-nav .current{background:var(--navy);color:#fff}.table-scroll{overflow:auto}table.holidays{border-collapse:collapse;width:100%;font-size:.92rem;text-align:left;min-width:530px}table.holidays th{background:#edf2f6;color:var(--navy);padding:11px 10px}table.holidays td{padding:9px 10px;border-bottom:1px solid #edf0f1}table.holidays tr:nth-child(even){background:#fafbfc}.muted{color:var(--muted)}.destinations{margin:20px auto 40px}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.destination{min-height:190px;display:flex;align-items:end;border-radius:12px;overflow:hidden;color:#fff;background:linear-gradient(0deg,rgba(9,38,42,.88),transparent 70%),linear-gradient(135deg,#5c989b,#255e7b);padding:15px}.destination:nth-child(2){background:linear-gradient(0deg,rgba(5,35,29,.9),transparent 70%),url('assets/images/tulpen-hero.jpg') center/cover}.destination:nth-child(3){background:linear-gradient(0deg,rgba(15,33,46,.87),transparent 70%),linear-gradient(135deg,#6e8fa4,#415a7c)}.destination:nth-child(4){background:linear-gradient(0deg,rgba(17,53,54,.86),transparent 70%),linear-gradient(130deg,#95bfd0,#dfd0a8)}.destination:hover{text-decoration:none}.destination strong{display:block;color:white}.destination small{display:block;color:#f2f4f7}.content-area{margin:34px auto;max-width:1080px}.page-intro{max-width:850px}.article-body{max-width:800px}.article-body h2{margin-top:1.6em}.article-body p,.article-body li{line-height:1.8}.entry-card{padding:18px 0;border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.82rem;margin:20px 0;color:#6d7b86}.footer{background:#123050;color:#e3edf2;margin-top:55px;padding:32px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:#fff}.footer .menu a{color:#e3edf2}.notice{background:#fff8ea;border-left:4px solid #e9a12a;padding:13px 17px;margin:18px 0}.callout{background:#eef7fd;padding:15px 18px;border-radius:9px}.ads-slot{display:none} @media(max-width:1150px){.header-inner{flex-wrap:wrap;padding:10px 0}.mobile-menu{display:block}.site-nav{display:none;width:100%;order:3}.site-nav.open{display:block}.menu{display:grid;gap:0}.menu li a{display:block;padding:9px 0;border-bottom:1px solid #eee}.quick-grid{grid-template-columns:repeat(2,1fr)}.destination-grid{grid-template-columns:repeat(2,1fr)}.header-search{margin-left:auto}}@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.header-inner{min-height:65px;gap:10px}.brand{font-size:1.1rem}.brand-mark{font-size:1.5rem}.brand small{font-size:.48rem}.header-search{display:none}.hero{min-height:530px;background:linear-gradient(90deg,rgba(248,252,254,.94),rgba(248,252,254,.76) 80%),url('assets/images/tulpen-hero.jpg') center/cover}.hero h1{font-size:2.45rem}.hero p{font-size:1rem}.quick-grid{gap:10px}.quick-card{padding:12px;min-height:95px}.quick-card strong{font-size:.88rem}.quick-icon{font-size:1.2rem}.main-grid{grid-template-columns:minmax(0,1fr)}.main-grid > *{min-width:0}.panel{padding:16px}.destination-grid{grid-template-columns:repeat(2,1fr)}.destination{min-height:150px}.footer-inner{display:block}.footer .menu{margin-top:16px}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.screen-reader-text:focus{clip:auto!important;clip-path:none;background:#fff;color:#000;display:block;height:auto;width:auto;left:5px;top:5px;padding:12px;z-index:100000}

/* Feiertage dropdown menu: desktop hover/focus and touch-friendly toggle */
.site-nav .menu > li{position:relative}
.site-nav .nav-parent{display:flex;align-items:center;gap:3px}
.site-nav .submenu-toggle{font:700 1.1rem/1 system-ui,sans-serif;color:var(--navy);background:transparent;border:0;padding:8px 5px;cursor:pointer;border-radius:4px}
.site-nav .submenu-toggle:focus-visible{outline:2px solid var(--orange)}
.site-nav .sub-menu{display:none;position:absolute;left:0;top:100%;z-index:50;min-width:265px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px rgba(17,44,80,.16);padding:8px 0;margin:0;list-style:none}
.site-nav .sub-menu li{list-style:none}
.site-nav .sub-menu a{display:block;padding:9px 16px;font-size:.86rem;font-weight:550;white-space:normal}
.site-nav .sub-menu a:hover,.site-nav .sub-menu a:focus{background:#f0f6f8;text-decoration:none;color:var(--orange)}
.site-nav .sub-menu .submenu-heading{margin:7px 16px 3px;padding-top:9px;border-top:1px solid var(--line);color:#657582;font-size:.75rem;font-weight:700}
@media(min-width:1151px){.site-nav .fnl-holidays-menu:hover > .sub-menu,.site-nav .fnl-holidays-menu:focus-within > .sub-menu,.site-nav .fnl-holidays-menu.submenu-open > .sub-menu{display:block}}
@media(max-width:1150px){.site-nav .nav-parent{justify-content:space-between;border-bottom:1px solid #eee}.site-nav .nav-parent > a{flex:1;border-bottom:0!important}.site-nav .submenu-toggle{padding:11px 18px}.site-nav .sub-menu{position:static;min-width:0;max-width:none;box-shadow:none;border:0;border-left:2px solid #e9ebea;border-radius:0;padding:0 0 5px;margin:0 0 6px 12px}.site-nav .fnl-holidays-menu.submenu-open > .sub-menu{display:block}.site-nav .sub-menu a{padding:8px 13px}.site-nav .sub-menu .submenu-heading{margin-left:13px}}

/* 1.0.3: keep the desktop header on one line; switch to mobile navigation early. */
@media(min-width:1151px){
 .site-header .header-inner{flex-wrap:nowrap;gap:12px}
 .site-header .brand{flex:0 0 auto;font-size:1.32rem;white-space:nowrap}
 .site-header .site-nav{flex:1 1 auto;min-width:0}
 .site-header .site-nav > .menu{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:clamp(8px,.85vw,14px)}
 .site-header .site-nav > .menu > li{flex:0 0 auto;white-space:nowrap}
 .site-header .site-nav > .menu > li > a,.site-header .site-nav > .menu > li > .nav-parent > a{font-size:.97rem}
 .site-header .header-search{flex:0 0 auto}
 .site-header .search-form input{width:105px;min-width:0}
 .site-header .search-form button{padding:10px 13px}
}

/* 1.0.4: year-specific editable content beneath the calendar, shared editorial design. */
.year-editorial{max-width:100%;margin:8px 0 32px;padding:24px 28px;border:1px solid var(--line);border-radius:12px;background:#fff}
.year-editorial > :first-child{margin-top:0}
.year-editorial > :last-child{margin-bottom:0}
#fnl-year-shell[aria-busy="true"] .year-nav{opacity:.65}
@media(max-width:640px){.year-editorial{padding:18px 16px}}

/* 1.0.5: more legible desktop header navigation; About remains in footer. */
@media (min-width:1151px) {
 .site-header .site-nav > .menu {gap:clamp(9px,1vw,15px)}
 .site-header .site-nav > .menu > li > a,
 .site-header .site-nav > .menu > li > .nav-parent > a {font-size:.97rem;line-height:1.5}
}
/* Seit 1.0.12.1: einheitliche Hero-Höhe auf allen Seiten, damit der Bildausschnitt (Tulpenfelder) nicht von der Textlänge abhängt */
@media(min-width:641px) and (max-width:1150px){.hero{min-height:409px}}
/* 1.0.13: H1 auf Textseiten mobil so groß wie auf Hero-Seiten, damit lange Wörter (z. B. „Datenschutzerklärung“) passen; Umbruch nur als Notlösung */
.article-body h1,.article-body h2,.article-body h3{overflow-wrap:break-word}
@media(max-width:640px){.article-body h1{font-size:2.1rem}}
/* 1.0.13: Kontaktformular [fnl_kontaktformular] */
.fnl-contact-form{margin:18px 0 26px;padding:20px;background:#f7fafb;border:1px solid var(--line);border-radius:12px;max-width:620px}
.fnl-contact-form label{font-weight:700;color:var(--navy);font-size:.92rem}
.fnl-contact-form input[type=text],.fnl-contact-form input[type=email],.fnl-contact-form textarea{width:100%;box-sizing:border-box;margin-top:5px;padding:11px 12px;border:1px solid #c9d6db;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.fnl-contact-form input:focus,.fnl-contact-form textarea:focus{outline:3px solid #e9630a;outline-offset:1px;border-color:#e9630a}
.fnl-contact-form button{border:0;cursor:pointer;background:var(--orange);color:#fff;border-radius:24px;padding:12px 22px;font:700 .95rem system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.fnl-contact-form button:hover{background:#cb5000}
.fnl-form-privacy{font-size:.84rem;color:var(--muted)}
.fnl-form-notice{padding:12px 14px;border-radius:10px;background:#e6f3ec;color:#0f5237;font-weight:600}
.fnl-form-error{background:#fdecea;color:#8a1c12}
/* 1.0.14: Fotos in den Reiseziel-Kacheln der Startseite (Bild als <img> mit Alt-Text, Verlauf darüber für lesbare Schrift) */
.destination{position:relative;isolation:isolate}
.destination__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.destination::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,28,38,.88),rgba(8,28,38,.25) 60%,rgba(8,28,38,0))}
.destination:hover .destination__img{transform:scale(1.03)}
.destination__img{transition:transform .3s ease}
