/* ViJourney site-onderdelen (HORIZON-huisstijl): kruimelpad, FAQ, artikelen, kaarten, filters, favorieten, sticky CTA, routekaart */
:root{--vij-p1:#0E6E96;--vij-p2:#128CB8;--vij-ac:#FF6B4A;--vij-ac2:#FFC94D;--vij-bg2:#EAF6FA;--vij-tx:#123A48;--vij-tx2:#5E7C88;--vij-ln:#DDEDF3;--vij-navy:#0B2F3F;--vij-rad:14px;--vij-radL:22px}
.vij-crumbs{font:600 13px Mulish,system-ui,sans-serif;margin:0 0 14px}
.vij-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;color:var(--vij-tx2)}
.vij-crumbs li+li:before{content:"›";margin-right:8px;color:var(--vij-ln)}
.vij-crumbs a{color:var(--vij-p1);text-decoration:none}.vij-crumbs a:hover{color:var(--vij-ac)}
.vij-crumbs [aria-current]{color:var(--vij-tx2)}
.vij-hero-crumbs .vij-crumbs,.vij-hero-crumbs .vij-crumbs a{color:rgba(255,255,255,.75)}.vij-hero-crumbs .vij-crumbs [aria-current]{color:#fff}

/* FAQ */
.vij-faq{font-family:Mulish,system-ui,sans-serif;color:var(--vij-tx)}
.vij-faq h2{font-family:Poppins,sans-serif;color:var(--vij-p1);margin:0 0 14px}
.vij-faq-item{border:1.5px solid var(--vij-ln);border-radius:var(--vij-rad);background:#fff;margin:0 0 10px;padding:0 18px}
.vij-faq-item summary{list-style:none;cursor:pointer;padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.vij-faq-item summary::-webkit-details-marker{display:none}
.vij-faq-item summary h3{font:600 16px/1.35 Poppins,sans-serif;color:var(--vij-p1);margin:0}
.vij-faq-item summary:after{content:"+";font:700 22px/1 Poppins,sans-serif;color:var(--vij-ac);flex:0 0 auto}
.vij-faq-item[open] summary:after{content:"−"}
.vij-faq-a{padding:0 0 16px;font-size:15px;line-height:1.65;color:var(--vij-tx)}
.vij-faq-a p{margin:0 0 8px}

/* Artikelen */
.vij-article-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:14px Mulish,system-ui,sans-serif;color:var(--vij-tx2);margin:0 0 18px;padding:12px 16px;background:var(--vij-bg2);border-radius:var(--vij-rad)}
.vij-toc{background:#fff;border:1.5px solid var(--vij-ln);border-radius:var(--vij-rad);padding:16px 20px;margin:0 0 26px;font-family:Mulish,system-ui,sans-serif}
.vij-toc strong{font-family:Poppins,sans-serif;color:var(--vij-p1);display:block;margin-bottom:8px}
.vij-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}.vij-toc li{margin:0 0 6px;break-inside:avoid}.vij-toc a{color:var(--vij-tx);text-decoration:none}.vij-toc a:hover{color:var(--vij-ac)}
@media(max-width:640px){.vij-toc ol{columns:1}}
.vij-related{margin:40px 0 10px}.vij-related h2{font-family:Poppins,sans-serif;color:var(--vij-p1);margin:4px 0 16px}
.vij-dest-links{margin:22px 0;font-family:Mulish,sans-serif;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vij-dest-links .hzr-tag{text-decoration:none}
.vij-article-cta{margin:36px 0 0;background:var(--vij-navy);color:#fff;border-radius:var(--vij-radL);padding:30px 32px}
.vij-article-cta h2{color:#fff;font-family:Poppins,sans-serif;margin:6px 0 8px}.vij-article-cta p{color:rgba(255,255,255,.85);margin:0 0 12px}
.vij-article-cta .hzr-btn{margin:4px 8px 4px 0}.vij-article-cta .hzr-btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.entry-content h2[id]{scroll-margin-top:100px}
.vij-article-body table,.vij-page table{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:15px;font-family:Mulish,sans-serif}
.vij-article-body th,.vij-page th{background:var(--vij-bg2);color:var(--vij-p1);text-align:left;padding:10px 12px;font-family:Poppins,sans-serif;font-weight:600}
.vij-article-body td,.vij-page td{padding:9px 12px;border-bottom:1px solid var(--vij-ln);vertical-align:top}
.vij-answer{background:var(--vij-bg2);border-left:4px solid var(--vij-ac);border-radius:0 var(--vij-rad) var(--vij-rad) 0;padding:14px 18px;margin:0 0 22px;font:16px/1.6 Mulish,sans-serif;color:var(--vij-tx)}
.vij-answer strong{font-family:Poppins,sans-serif;color:var(--vij-p1)}

/* Kaarten (bestemmingen, reisvormen, artikelen) */
.vij-cards{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}
.vij-cols-2{grid-template-columns:repeat(2,1fr)}.vij-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.vij-cards,.vij-cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.vij-cards,.vij-cols-2,.vij-cols-4{grid-template-columns:1fr}}
.vij-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--vij-radL);overflow:hidden;text-decoration:none;color:var(--vij-tx);box-shadow:0 10px 26px -14px rgba(14,110,150,.3);transition:.18s;font-family:Mulish,system-ui,sans-serif}
.vij-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -14px rgba(14,110,150,.45)}
.vij-card-img{aspect-ratio:4/3;background:var(--vij-bg2)}.vij-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.vij-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.vij-card-body h3{font:600 19px/1.25 Poppins,sans-serif;color:var(--vij-p1);margin:2px 0 0}
.vij-card-body p{margin:0;color:var(--vij-tx2);font-size:14.5px;line-height:1.55}
.vij-card-more{margin-top:auto;padding-top:8px;font-weight:700;color:var(--vij-ac);font-size:14px}
.vij-card-meta{margin-top:auto;padding-top:8px;font-size:12px;color:var(--vij-tx2)}

/* Zoekformulier en filters */
.vij-search{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;align-items:end;background:#fff;border-radius:var(--vij-radL);padding:18px 20px;box-shadow:0 18px 40px -22px rgba(18,58,72,.35);font-family:Mulish,sans-serif}
.vij-search.compact{grid-template-columns:1fr 1fr auto}
.vij-sf-field span{display:block;font:700 12px/1.3 Poppins,sans-serif;color:var(--vij-tx2);letter-spacing:.06em;text-transform:uppercase;margin:0 0 5px}
.vij-search select,.vij-filters select{width:100%;border:1.5px solid var(--vij-ln);border-radius:12px;padding:11px 12px;font:15px Mulish,sans-serif;color:var(--vij-tx);background:#fff}
.vij-search select:focus,.vij-filters select:focus{outline:none;border-color:var(--vij-p1);box-shadow:0 0 0 3px rgba(14,110,150,.15)}
.vij-search .hzr-btn{border:0;cursor:pointer;height:46px;white-space:nowrap}
@media(max-width:900px){.vij-search{grid-template-columns:1fr 1fr}.vij-search .hzr-btn{grid-column:1/-1;justify-content:center}}
@media(max-width:520px){.vij-search{grid-template-columns:1fr}}
.vij-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 22px;font-family:Mulish,sans-serif}
.vij-filters label{font-size:13px;font-weight:700;color:var(--vij-tx2);display:flex;flex-direction:column;gap:4px;min-width:150px;flex:1}
.vij-filters-clear{background:none;border:0;color:var(--vij-p1);font:700 14px Mulish,sans-serif;cursor:pointer;padding:10px 4px;align-self:end}
.vij-noresults{padding:22px;background:var(--vij-bg2);border-radius:var(--vij-rad);font-family:Mulish,sans-serif}

/* Favorieten en vergelijken op kaarten */
.hzr-pkg-img{position:relative}
.vij-fav-btn{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--vij-ac);font-size:19px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:2}
.vij-fav-btn.on{background:var(--vij-ac);color:#fff}
.vij-fav-hero{position:static;width:max-content;height:auto;border:0!important;background:#fff!important;border-radius:999px;padding:9px 16px;gap:6px;font:600 14px Poppins,sans-serif;background:#fff;color:var(--vij-p1);box-shadow:none;align-self:flex-start}
.vij-fav-hero.on{background:var(--vij-ac);color:#fff}
.vij-cmp{position:absolute;left:12px;bottom:12px;z-index:2;background:rgba(255,255,255,.92);border-radius:999px;padding:5px 11px;font:600 12px Mulish,sans-serif;color:var(--vij-tx);display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.vij-compare{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--vij-navy);color:#fff;border-radius:999px;padding:10px 12px 10px 18px;display:flex;gap:10px;align-items:center;z-index:9000;font:600 14px Mulish,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.vij-compare .hzr-btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.vij-modal{position:fixed;inset:0;background:rgba(11,47,63,.6);z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px}
.vij-modal-in{background:#fff;border-radius:var(--vij-radL);max-width:1000px;width:100%;max-height:90vh;overflow:auto;padding:28px;position:relative;font-family:Mulish,sans-serif}
.vij-modal-in h2{font-family:Poppins,sans-serif;color:var(--vij-p1);margin:0 0 16px}
.vij-modal-close{position:absolute;top:14px;right:14px;border:0;background:var(--vij-bg2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px}
.vij-table-wrap{overflow-x:auto}
.vij-compare-table{border-collapse:collapse;width:100%;font-size:14.5px}.vij-compare-table th{text-align:left;padding:10px;background:var(--vij-bg2);color:var(--vij-p1);white-space:nowrap;font-family:Poppins,sans-serif;width:150px}.vij-compare-table td{padding:10px;border-bottom:1px solid var(--vij-ln);vertical-align:top;min-width:180px}

/* Sticky CTA */
.vij-sticky{position:fixed;left:0;right:0;bottom:0;z-index:8500;background:#fff;border-top:1px solid var(--vij-ln);box-shadow:0 -10px 30px rgba(18,58,72,.12);font-family:Mulish,sans-serif}
.vij-sticky-in{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:12px}
.vij-sticky-price{display:flex;flex-direction:column;line-height:1.1;margin-right:auto}.vij-sticky-price strong{font:700 20px Poppins,sans-serif;color:var(--vij-p1)}
@media(max-width:640px){.vij-sticky .vij-brochure{display:none}.vij-sticky-in{padding:10px 14px}}
body.admin-bar .vij-sticky{bottom:0}

/* USP-balk en reiskop */
.vij-usps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px;font:700 14px Mulish,sans-serif;color:var(--vij-tx)}
.vij-usps li{display:flex;align-items:center;gap:8px}.vij-usps .i{width:26px;height:26px;border-radius:50%;background:var(--vij-bg2);color:var(--vij-p1);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.vij-trip-head{font-family:Mulish,sans-serif;display:flex;flex-direction:column;gap:12px}
.vij-trip-sub{color:rgba(255,255,255,.88);font-size:18px;margin:0;max-width:720px}
.vij-trip-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vij-trip-facts li{background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;backdrop-filter:blur(3px)}

/* Routekaart en route-onderdelen */
.vij-route h3{font:600 20px Poppins,sans-serif;color:var(--vij-p1);margin:0 0 12px}
.vij-route-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media(max-width:820px){.vij-route-grid{grid-template-columns:1fr}}
.vij-map{border-radius:var(--vij-radL);overflow:hidden;background:var(--vij-bg2);z-index:1}
.vij-marker span{display:flex;width:28px;height:28px;border-radius:50%;background:var(--vij-ac);color:#fff;font:700 13px Poppins,sans-serif;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.25);border:2px solid #fff}
.vij-route-list{list-style:none;margin:0;padding:0;font-family:Mulish,sans-serif;display:flex;flex-direction:column;gap:8px}
.vij-route-list li{display:flex;gap:10px;align-items:center;padding:8px 10px;background:#fff;border:1.5px solid var(--vij-ln);border-radius:var(--vij-rad);font-size:15px}
.vij-route-list .n{width:26px;height:26px;border-radius:50%;background:var(--vij-ac);color:#fff;font:700 12px Poppins,sans-serif;display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px}
.vij-route-list small{color:var(--vij-tx2);margin-left:4px}.vij-route-list a{color:var(--vij-p1);text-decoration:none;font-weight:700}
.hzr-info-stays{display:grid;gap:12px}
.hzr-info-stay{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;padding:12px;border:1.5px solid var(--vij-ln);border-radius:var(--vij-rad);background:#fff}
.hzr-info-stay img{width:110px;height:82px;object-fit:cover;border-radius:10px}
.hzr-info-stay .p{font:700 12px Poppins,sans-serif;color:var(--vij-ac);letter-spacing:.08em;text-transform:uppercase}
.hzr-info-stay h4{font:600 16px Poppins,sans-serif;color:var(--vij-p1);margin:2px 0}
@media(max-width:560px){.hzr-info-stay{grid-template-columns:1fr}.hzr-info-stay img{width:100%;height:140px}}
.hzr-info-practical{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;margin:0 0 8px}
@media(max-width:640px){.hzr-info-practical{grid-template-columns:1fr}}
.hzr-info-practical div{padding:12px 14px;background:var(--vij-bg2);border-radius:var(--vij-rad);font-size:14.5px}
.hzr-info-practical strong{display:block;font:700 12px Poppins,sans-serif;color:var(--vij-p1);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.hzr-info-day .o{display:block;font-size:12px;color:var(--vij-tx2);margin-top:4px}
.vij-test-badge{display:inline-block;background:#FFF4D6;color:#8A5A00;border-radius:999px;padding:4px 10px;font:700 12px Mulish,sans-serif}
.vij-page .vij-cards{margin:8px 0 12px}
.vij-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:640px){.vij-highlights{grid-template-columns:1fr}}
.vij-highlight{background:#fff;border:1.5px solid var(--vij-ln);border-radius:var(--vij-rad);padding:16px 18px;font-family:Mulish,sans-serif}
.vij-highlight h3{font:600 17px Poppins,sans-serif;color:var(--vij-p1);margin:0 0 6px}.vij-highlight p{margin:0;font-size:14.5px;color:var(--vij-tx)}
.vij-checklist{list-style:none;margin:0;padding:0;font-family:Mulish,sans-serif;display:grid;gap:8px}
.vij-checklist li{padding-left:26px;position:relative;font-size:15px}.vij-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--vij-ac);font-weight:700}

.vij-hero-usps .vij-usps{color:#fff}.vij-hero-usps .vij-usps .i{background:rgba(255,255,255,.16);color:#FFC94D}
.vij-cols-1,.hzr-grid-packages.hzr-cols-1{grid-template-columns:1fr}

/* Stappenlijsten */
.vij-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;font-family:Mulish,sans-serif;counter-reset:none}
.vij-steps li{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.vij-steps .n{width:38px;height:38px;border-radius:50%;background:var(--vij-ac);color:#fff;font:700 15px Poppins,sans-serif;display:inline-flex;align-items:center;justify-content:center}
.vij-steps strong{display:block;font:600 17px Poppins,sans-serif;color:var(--vij-p1);margin:6px 0 4px}
.vij-steps p{margin:0;font-size:15px;color:var(--vij-tx)}
/* Koppenschaal in inhoud */
.vij-article-body h2,.vij-page .elementor-widget-theme-post-content h2{font-size:32px;line-height:1.2;margin:34px 0 12px}
.vij-article-body h3,.vij-page .elementor-widget-theme-post-content h3{font-size:22px;margin:24px 0 8px}
@media(max-width:767px){.vij-article-body h2,.vij-page .elementor-widget-theme-post-content h2{font-size:26px}.vij-article-body h3{font-size:20px}}
.vij-highlight h3{font-size:18px}
/* Hero-knoppen op mobiel volle breedte */
@media(max-width:767px){.vij-hero .elementor-widget-button{width:100%}.vij-hero .elementor-button-wrapper,.vij-hero .elementor-button{width:100%;justify-content:center;text-align:center}}
/* Tabellen scrollbaar op smalle schermen */
.vij-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 22px}.vij-table-wrap table{margin:0;min-width:520px}
/* Formulierknoppen gelijk aan overige knoppen */
.elementor-form .elementor-button{padding-top:15px!important;padding-bottom:15px!important}

/* Knoppen: één hoogte (49px) voor primaire knoppen */
.hzr-btn{font-size:15px;line-height:1.27}
.hzr-btn-sm{font-size:14px;line-height:1.2}
.elementor-form .elementor-button{line-height:1.27!important}
@media(max-width:480px){.vij-hero .elementor-button,.vij-hero .hzr-btn{padding:13px 16px;font-size:14px}}
/* Eénkoloms rasters op tablet in twee kolommen */
@media(min-width:768px) and (max-width:1024px){.vij-cols-1,.hzr-grid-packages.hzr-cols-1{grid-template-columns:repeat(2,1fr)}}
.hzr-pkg-body h3{font-size:19px}
.hzr-tag{font-size:12px}

@media(max-width:480px){.elementor-widget-button{width:100%!important}.elementor-widget-button .elementor-button-wrapper,.elementor-widget-button .elementor-button{width:100%;justify-content:center;text-align:center}.vij-article-cta .hzr-btn,.hzr-card .hzr-btn,.vij-modal .hzr-btn{width:100%;margin:4px 0}}

/* Knoppen: gelijke regelhoogte (48px bij 15px tekst) en compacter op kleine schermen */
.elementor-button{line-height:1.2!important}
.hzr-btn{line-height:1.2}
@media(max-width:480px){.elementor-button,.hzr-btn:not(.hzr-btn-sm){padding:13px 16px!important;font-size:14px!important}.vij-article-cta .hzr-btn,.vij-article-cta .hzr-btn+.hzr-btn{display:flex}}

/* Kaartafbeeldingen: vaste verhouding, ongeacht thema-CSS */
.vij-card-img,.hzr-pkg-img{aspect-ratio:4/3;overflow:hidden;background:var(--vij-bg2)}
.vij-card-img img,.hzr-pkg-img img{width:100%!important;height:100%!important;max-width:100%;object-fit:cover;display:block}
.vij-card-body{min-height:190px}
.vij-card-body .hzr-kick{display:block;min-height:1.6em;line-height:1.35;font-size:11px;letter-spacing:.18em}
.hzr-info-stay img{width:110px!important;height:82px!important;object-fit:cover}
.hzr-info-gallery img{width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover}
/* Hero's compact en direct leesbaar */
.vij-hero{min-height:0!important}
.vij-hero .vij-crumbs{margin-bottom:6px}

/* Zoekbalk in de home-hero: op mobiel alleen reisvorm en regio */
@media(max-width:600px){.vij-home-hero .vij-search .vij-sf-field:nth-child(3),.vij-home-hero .vij-search .vij-sf-field:nth-child(4){display:none}.vij-home-hero .vij-search{padding:14px 16px}}
.vij-usps{justify-content:center}
