/* Impression Core: Onverwacht
   Alleen stijl voor de plugin-onderdelen. Al het overige is opgemaakt in Elementor. */

/* ---------- Sectie-subnavigatie ---------- */
.imp-subnav { font-family: Exo, sans-serif; }
.imp-subnav__title { position: relative; margin: 0 0 5px; padding: 17px 30px 12px; background: #57a4a9; }
.imp-subnav .imp-subnav__title a { display: block; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.2; text-decoration: none; }
.imp-subnav .imp-subnav__title a:hover { color: #fff; }
.imp-subnav__title.is-active::after { content: ''; position: absolute; top: 0; left: 100%; width: 10px; height: 100%; background: url(../img/after_hoekje.png) no-repeat 0 0 / 100% 100%; }
.imp-subnav__sub { margin: 0; padding: 10px 0 5px 30px; list-style: none; }
.imp-subnav__sub li { margin: 0 0 5px; }
.imp-subnav .imp-subnav__sub a { display: inline; padding: 0; background: none; color: #333; font: 300 17px/1.4 Exo, sans-serif; text-decoration: none; }
.imp-subnav__sub a::before { content: ''; display: inline-block; position: relative; top: -2px; width: 6px; height: 8px; margin: 0 13px 0 0; background: url(../img/icon_arrow_grey.png) no-repeat 0 0 / 6px auto; }
.imp-subnav .imp-subnav__sub a:hover, .imp-subnav .imp-subnav__sub a.is-active { background: none; color: #57a4a9; }
.imp-subnav__sub a:hover::before, .imp-subnav__sub a.is-active::before { background-image: url(../img/icon_arrow_groen.png); }
.imp-subnav__sub a.is-active::after { display: none; }
.imp-subnav__list { margin: 0; padding: 0; list-style: none; }
.imp-subnav__list li { margin: 0 0 5px; }
.imp-subnav .imp-subnav__list a { position: relative; display: block; padding: 15px 30px 11px; background: #eee; color: #333; font-size: 17px; font-weight: 300; line-height: 1.4; text-decoration: none; transition: background-color .2s, color .2s; }
.imp-subnav .imp-subnav__list a:hover { background: #57a4a9; color: #fff; }
.imp-subnav .imp-subnav__list a.is-active { background: #57a4a9; color: #fff; font-weight: 600; }
.imp-subnav__list a.is-active::after { content: ''; position: absolute; top: 0; right: -10px; width: 10px; height: 100%; background: url(../img/after_hoekje.png) no-repeat 0 0 / 10px 100%; }
.imp-subnav__select { display: none; width: 100%; height: 42px; padding: 0 12px; border: 1px solid #ddd; border-radius: 2px; background: #fff; font: 400 15px/1 Exo, sans-serif; color: #333; }
@media (max-width: 767px) {
	.imp-subnav__list { display: none; }
	.imp-subnav__select { display: block; }
}

/* ---------- Taalwissel ---------- */
.imp-lang { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; line-height: 1; }
.imp-lang a { display: block; opacity: .6; transition: opacity .2s; }
.imp-lang a:hover, .imp-lang a.is-active { opacity: 1; }
.imp-lang img { display: block; width: 21px; height: 14px; }
.imp-lang { padding-top: 4px; }

/* ---------- Beschikbaarheidskalender ---------- */
.imp-cal { font-family: 'Open Sans', sans-serif; font-size: 12px; line-height: 18px; color: #333; }
.imp-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.imp-cal__nav { display: flex; align-items: center; gap: 8px; }
.imp-cal__btn { width: 24px; height: 30px; padding: 0; border: 0; border-radius: 0; background: #e8e8e8; color: #333; font: 400 12px/30px Arial, Helvetica, sans-serif; cursor: pointer; }
.imp-cal__btn:hover { background: #57a4a9; color: #fff; }
.imp-cal__year, .imp-cal__month { height: 30px; border: 0; background: #fff; font: 400 12px 'Open Sans', sans-serif; color: #333; }
.imp-cal__title { margin: 0; font: 700 18px/30px 'Open Sans', sans-serif; color: #333; }
.imp-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.imp-cal__wd { padding: 10px 6px; color: #666; font-size: 12px; line-height: 20px; text-transform: lowercase; }
.imp-cal__day { position: relative; min-height: 40px; margin: 0 -1px -1px 0; padding: 5px; border: 1px solid #ccc; background: #fff; }
.imp-cal__day.is-fill { background: #f5f5f5; }
.imp-cal__date { display: block; font-weight: 700; }
.imp-cal__status { display: block; font-size: 11px; line-height: 14px; }
.imp-cal__day.is-geboekt { background: #e53d2f; border-color: #c9362a; color: #fff; }
.imp-cal__day.is-optie { background: #ffc926; color: #212121; }
.imp-cal__day.is-beschikbaar { background: #438d00; border-color: #3a7a00; color: #fff; }
.imp-cal__legend { display: flex; flex-wrap: wrap; gap: 20px; margin: 20px 0 0; padding: 0; list-style: none; font: 400 13px/1 'Open Sans', sans-serif; color: #333; }
.imp-cal__legend-item { display: flex; align-items: center; gap: 8px; }
.imp-cal__legend-item span { width: 14px; height: 14px; border: 1px solid #ccc; }
.imp-cal__legend-item.is-geboekt span { background: #e53d2f; }
.imp-cal__legend-item.is-optie span { background: #ffc926; }
.imp-cal__legend-item.is-beschikbaar span { background: #438d00; }
@media (max-width: 767px) {
	.imp-cal__head { flex-direction: column-reverse; align-items: flex-start; gap: 8px; }
	.imp-cal__wd { padding: 6px 2px; font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
	.imp-cal__status { display: none; }
}

/* ---------- Kruimelpad (Yoast) ---------- */
.imp-bc-sep { display: inline-block; position: relative; top: -2px; width: 6px; height: 8px; margin: 0 9px 0 8px; background: url(../img/icon_arrow_groen.png) no-repeat 0 0 / 6px auto; }
