body{font-family:system-ui,Arial,sans-serif;margin:0;padding:0 0 200px 0;background:#fcfcfc}
.rv_pageContainer{
  max-width:1920px;margin:0 auto;padding:24px;box-sizing:border-box
}
h1{margin:0 0 24px}
.rv_pageIntro{margin:0 0 24px;font-size:16px;line-height:1.6;color:#475569}

/* Breadcrumbs */
.rv_breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;
  margin-bottom:20px;font-size:14px;color:#64748b
}
.rv_breadcrumbs a{
  color:#0ea5e9;text-decoration:none
}
.rv_breadcrumbs a:hover{text-decoration:underline}
.rv_breadcrumbs__sep{color:#94a3b8;user-select:none}
.rv_breadcrumbs__current{color:#334155;font-weight:500}

/* Content area title (h1 rechts van filters) */
.rv_contentArea__title{
  margin:0 0 16px;font-size:1.5rem;font-weight:700;color:#1e293b
}

/* Main Layout */
.rv_mainLayout{
  display:flex;gap:32px;align-items:flex-start
}
.rv_filtersSidebar{
  flex:0 0 280px;position:sticky;top:24px;padding-right:16px;
  max-height:calc(100vh - 48px);overflow-y:auto;
  scrollbar-width:none;-ms-overflow-style:none
}
.rv_filtersSidebar::-webkit-scrollbar{display:none}
.rv_contentArea{
  flex:1;min-width:0
}

/* Filter */
.rv_filter{
  margin-bottom:24px;padding:16px;border-radius:8px;background:#f9fafb;position:relative
}
.rv_filter__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;position:relative}
.rv_filter__title{font-weight:600;font-size:15px;color:#333}
.rv_filter__value{display:none}

/* Filter Info Icon */
.rv_filterInfo{
  position:relative;display:inline-block
}
.rv_filterInfo__icon{
  width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.7);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:#666;cursor:pointer;
  transition:background 150ms ease,color 150ms ease
}
.rv_filterInfo:hover .rv_filterInfo__icon{
  background:rgba(255,255,255,.9);color:#333
}
.rv_filterInfo__tooltip{
  position:absolute;top:calc(100% + 8px);right:0;
  background:#fff;border-radius:8px;padding:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  min-width:200px;max-width:280px;z-index:1000;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity 150ms ease,transform 150ms ease,visibility 150ms ease;
  pointer-events:none
}
.rv_filterInfo:hover .rv_filterInfo__tooltip{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto
}
.rv_filterInfo__title{
  font-weight:600;font-size:14px;color:#333;margin-bottom:6px
}
.rv_filterInfo__text{
  font-size:13px;color:#666;line-height:1.5
}

/* Filter Colors - Aantal dagen (Green) */
.rv_filter:has(#rv_dagenMin){background:#dcfce7;border-left:4px solid #16a34a}
.rv_filter:has(#rv_dagenMin) .rv_filter__title{color:#15803d}

/* Filter Colors - Prijs (Purple) */
.rv_filter:has(#rv_prijsMin){background:#f3e8ff;border-left:4px solid #9333ea}
.rv_filter:has(#rv_prijsMin) .rv_filter__title{color:#7e22ce}

/* Filter Colors - Land (Blue) */
.rv_filter:has(#rv_countrySelect){background:#e0f2fe;border-left:4px solid #0284c7}
.rv_filter:has(#rv_countrySelect) .rv_filter__title{color:#0369a1}

/* Filter Colors - Samenstelling (Orange) */
.rv_filter:has(#rv_samenstellingLinksContainer){background:#fff7ed;border-left:4px solid #ea580c}
.rv_filter:has(#rv_samenstellingLinksContainer) .rv_filter__title{color:#c2410c}

/* Filter Colors - Reissoort (Teal) */
.rv_filter:has(#rv_reissoortLinksContainer){background:#f0fdfa;border-left:4px solid #14b8a6}
.rv_filter:has(#rv_reissoortLinksContainer) .rv_filter__title{color:#0d9488}

/* Filter Colors - Reisaanbieders (Pink) */
.rv_filter:has(#rv_reisaanbiederLinksContainer){background:#fdf2f8;border-left:4px solid #ec4899}
.rv_filter:has(#rv_reisaanbiederLinksContainer) .rv_filter__title{color:#db2777}

/* Filter Accordion */
.rv_filterAccordion__toggle{
  display:inline-flex;align-items:center;gap:4px;
  font-size:13px;font-weight:500;
  color:#666;text-decoration:none;cursor:pointer;
  transition:color 150ms ease;white-space:nowrap
}
.rv_filterAccordion__toggle:hover{
  color:#333;text-decoration:underline
}
.rv_filterAccordion__toggleIcon{
  width:14px;height:14px;transition:transform 200ms ease
}
.rv_filter.rv_isExpanded .rv_filterAccordion__toggleIcon{
  transform:rotate(180deg)
}
.rv_filterAccordion__content{
  margin-top:12px
}

/* Country Dropdown */
.rv_countrySelect{
  width:100%;padding:10px 12px;font-size:14px;
  border:1px solid #0284c7;border-radius:8px;
  background:#fff;color:#333;cursor:pointer;
  transition:border-color 150ms ease,box-shadow 150ms ease;
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230284c7' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:36px
}
.rv_countrySelect:hover{border-color:#0369a1}
.rv_countrySelect:focus{outline:none;border-color:#0284c7;box-shadow:0 0 0 3px rgba(2,132,199,.1)}

/* Filter Toggle */
.rv_filterToggle{
  display:none;margin-top:16px
}
.rv_filterToggle__btn{
  width:100%;padding:12px 16px;
  background:transparent;border:1px solid #d1d5db;
  border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  gap:8px;color:#6b7280;font-size:14px;font-weight:500;
  transition:background 150ms ease,color 150ms ease,border-color 150ms ease
}
.rv_filterToggle__btn:hover{
  background:#f9fafb;color:#374151;border-color:#9ca3af
}
.rv_filterToggle__icon{
  width:16px;height:16px;transition:transform 200ms ease
}
.rv_filterToggle.rv_isExpanded .rv_filterToggle__icon{
  transform:rotate(180deg)
}

/* Responsive */
@media (max-width:1024px){
  .rv_mainLayout{
    flex-direction:column;gap:24px
  }
  .rv_filtersSidebar{
    flex:0 0 auto;position:static;max-height:none;overflow-y:visible;padding-right:0;width:100%
  }
  .rv_contentArea{
    width:100%
  }
}
@media (max-width:768px){
  .rv_pageContainer{
    padding:16px
  }
  .rv_mainLayout{
    gap:20px
  }
  .rv_filtersSidebar{
    order:-1;width:100%
  }
  .rv_filter{
    width:100%;box-sizing:border-box
  }
  .rv_grid{
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px
  }
  .rv_filterToggle{
    display:block;margin-top:16px
  }
  .rv_filterMobileHidden{
    display:none !important
  }
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterMobileHidden{
    display:block !important
  }
  /* Keep default filters hidden even when sidebar is expanded on mobile */
  /* These rules have higher specificity to override the mobile toggle */
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterLand,
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterSamenstelling,
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterReisaanbieders{
    display:none !important
  }
  .rv_filterToggleHide{
    display:none !important
  }
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterToggleHide{
    display:block !important
  }
  .rv_filtersSidebar.rv_filtersExpanded .rv_filterToggleShow{
    display:none !important
  }
}
@media (max-width:480px){
  .rv_grid{
    grid-template-columns:1fr;gap:12px
  }
  .rv_pageContainer{
    padding:12px
  }
  .rv_comparisonBar{
    right:12px;bottom:12px;left:12px;max-width:none;width:auto
  }
}

.rv_statusbar{margin:12px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#rv_status{color:#666}
#rv_status.rv_error{color:#b00020}

/* Land intro (ChatGPT tekst bij first_run) */
.rv_landIntro{
  margin:16px 0 24px;padding:20px 24px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0
}
.rv_landIntro__title{
  margin:0 0 12px;font-size:1.25rem;font-weight:600;color:#1e293b
}
.rv_landIntro__text{
  font-size:1rem;line-height:1.6;color:#475569
}
.rv_landIntro__text p{margin:0 0 0.75em}
.rv_landIntro__text p:last-child{margin-bottom:0}

/* Active Filters */
.rv_activeFilters{
  display:none;flex-wrap:wrap;gap:8px;margin:12px 0;align-items:center;
  background:#fff;padding:12px 16px;border-radius:8px
}
.rv_activeFilters__header{
  display:flex;align-items:center;gap:6px;margin-right:8px;color:#6b7280;font-size:14px;font-weight:500
}
.rv_activeFilters__icon{
  width:14px;height:14px;flex-shrink:0
}
.rv_activeFilterTag{
  display:flex;align-items:center;gap:6px;
  background:#f3f4f6;border-radius:16px;padding:4px 10px;
  font-size:13px;color:#6b7280;cursor:pointer;transition:background 150ms ease
}
.rv_activeFilterTag:hover{
  background:#e5e7eb
}
.rv_activeFilterTag__remove{
  background:transparent;border:none;cursor:pointer;
  color:#9ca3af;font-size:16px;line-height:1;padding:0;
  width:16px;height:16px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:background 150ms ease,color 150ms ease
}
.rv_activeFilterTag__remove:hover{
  background:#e5e7eb;color:#6b7280
}
.rv_activeFilterTag__label{
  font-weight:500
}

.rv_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:16px;align-items:stretch}

/* Below content: flex kolom, twoCol = chart+beste | FAQ naast elkaar of onder */
.rv_belowContent{
  display:flex;flex-direction:column;gap:24px;
  margin-top:48px;padding-top:32px;border-top:1px solid #e2e8f0;
  width:100%;min-width:0;box-sizing:border-box
}
@media (max-width: 768px){
  .rv_belowContent{gap:20px;margin-top:36px;padding-top:24px}
}
@media (max-width: 480px){
  .rv_belowContent{gap:16px;margin-top:24px;padding-top:20px}
}
.rv_belowContent__twoCol{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  min-width:0
}
@media (max-width: 880px){
  .rv_belowContent__twoCol{grid-template-columns:1fr;gap:20px}
}
@media (max-width: 480px){
  .rv_belowContent__twoCol{gap:16px}
}
.rv_belowContent__leftCol{
  display:flex;flex-direction:column;gap:20px;
  min-width:0
}
@media (max-width: 480px){
  .rv_belowContent__leftCol{gap:16px}
}
.rv_belowContent__block{
  background:#f8fafc;border-radius:12px;padding:24px;border:1px solid #e2e8f0;
  min-width:0;overflow:hidden;box-sizing:border-box
}
@media (max-width: 768px){
  .rv_belowContent__block{padding:20px;border-radius:10px}
}
@media (max-width: 480px){
  .rv_belowContent__block{padding:16px;border-radius:8px}
}
.rv_belowContent__h2{
  margin:0 0 16px;font-size:1.25rem;font-weight:600;color:#1e293b
}
@media (max-width: 480px){
  .rv_belowContent__h2{margin-bottom:12px;font-size:1.125rem}
}
/* Prijs-grafiek: horizontale tabbladen (links naar rechts) */
.rv_chartTabs{margin-top:12px}
@media (max-width: 480px){
  .rv_chartTabs__buttons button{padding:8px 12px;font-size:13px}
}
.rv_chartTabs__buttons{
  display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid #e2e8f0;margin-bottom:16px
}
.rv_chartTabs__buttons button{
  padding:10px 16px;font-size:14px;font-weight:500;color:#64748b;
  background:transparent;border:none;border-bottom:3px solid transparent;
  margin-bottom:-2px;cursor:pointer;transition:color 0.2s ease,border-color 0.2s ease
}
.rv_chartTabs__buttons button:hover{color:#334155}
.rv_chartTabs__buttons button[aria-selected="true"]{
  color:#0ea5e9;border-bottom-color:#0ea5e9
}
.rv_chartTabs__panel{display:none}
.rv_chartTabs__panel.rv_chartTabs__panel--active{display:block}
.rv_chartTabs__panel[hidden]{display:none !important}
.rv_chartBlock__img{
  margin-top:0;border-radius:8px;overflow:hidden;background:#e2e8f0;max-width:100%
}
.rv_chartBlock__img img{display:block;width:100%;height:auto;max-width:100%}

/* Beste reistijd + klimaat tabel */
.rv_besteReistijd{margin-top:0;padding-top:0}
.rv_besteReistijd__tekst{margin:20px 0 0;padding-top:0;font-size:15px;line-height:1.7;color:#475569}
@media (max-width: 480px){
  .rv_besteReistijd__tekst{margin-top:16px;font-size:14px}
}
.rv_klimaatTabelWrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.rv_klimaatTabel{
  width:100%;min-width:200px;border-collapse:collapse;font-size:14px;table-layout:auto
}
.rv_klimaatTabel th,.rv_klimaatTabel td{
  padding:10px 12px;text-align:left;border-bottom:1px solid #e2e8f0
}
@media (max-width: 480px){
  .rv_klimaatTabel{font-size:13px;min-width:180px}
  .rv_klimaatTabel th,.rv_klimaatTabel td{padding:6px 8px}
}
.rv_klimaatTabel th{background:#f1f5f9;font-weight:600;color:#334155}
.rv_klimaatTabel td{color:#475569}
.rv_klimaatTabel tbody tr:hover td{background:#f8fafc}
.rv_srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Lees verder (mobiel): beperk teksten tot 4 regels, knop om uit te klappen */
.rv_readMoreBtn{
  display:none;
  margin-top:12px;padding:10px 0;
  background:transparent;border:none;cursor:pointer;
  font-size:14px;font-weight:600;color:#1e293b;
  transition:color 150ms ease;
  align-items:center;gap:6px
}
.rv_readMoreBtn::after{
  content:"";
  display:inline-block;
  width:14px;height:14px;margin-left:6px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e293b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  background-size:contain;
  vertical-align:middle;transition:transform 200ms ease
}
.rv_readMoreWrap.rv_isExpanded .rv_readMoreBtn::after{transform:rotate(180deg)}
.rv_readMoreBtn:hover{color:#0f172a;text-decoration:underline}
.rv_readMoreWrap.rv_readMoreNoBtn .rv_readMoreBtn{display:none !important}
.rv_readMoreWrap{margin-top:0;padding:0}
.rv_landIntro__text.rv_readMoreWrap .rv_readMoreText{margin-bottom:0}
.rv_dagenOverzicht__card .rv_readMoreWrap,
.rv_besteReistijd .rv_readMoreWrap,
.rv_trendsBlock__card .rv_readMoreWrap{padding:0;margin-top:4px}
@media (max-width:768px){
  .rv_readMoreWrap .rv_readMoreText{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    overflow:hidden;
    line-height:1.5
  }
  .rv_readMoreWrap.rv_isExpanded .rv_readMoreText{
    -webkit-line-clamp:unset;
    overflow:visible;
    display:block
  }
  .rv_readMoreWrap .rv_readMoreBtn{display:inline-block}
  .rv_readMoreWrap.rv_isExpanded .rv_readMoreBtn{display:inline-block}
}
@media (min-width:769px){
  .rv_readMoreWrap .rv_readMoreText{display:block;overflow:visible}
  .rv_readMoreWrap .rv_readMoreBtn{display:none !important}
}

.rv_faqBlock__intro{
  margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569
}

/* FAQ Accordion */
.rv_faqAccordion{border-radius:8px;overflow:hidden}
.rv_faqAccordion__item{
  border-bottom:1px solid #e2e8f0;
  background:#fff
}
.rv_faqAccordion__item:last-child{border-bottom:none}
.rv_faqAccordion__question{
  margin:0;font-size:1rem;font-weight:600
}
.rv_faqAccordion__question button{
  width:100%;padding:14px 16px;text-align:left;
  background:transparent;border:none;cursor:pointer;
  font:inherit;color:#1e293b;
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.rv_faqAccordion__question button:hover{background:#f1f5f9}
.rv_faqAccordion__question button::after{
  content:'';flex-shrink:0;
  width:20px;height:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  transition:transform 0.2s ease
}
.rv_faqAccordion__item--open .rv_faqAccordion__question button::after{
  transform:rotate(180deg)
}
.rv_faqAccordion__answer{
  padding:0 16px 16px
}
.rv_faqAccordion__answer[hidden]{display:none}
.rv_faqAccordion__answer p{margin:0;font-size:14px;line-height:1.6;color:#475569}
@media (max-width: 480px){
  .rv_faqAccordion__question button{padding:12px 14px;font-size:0.9375rem}
  .rv_faqAccordion__answer{padding:0 14px 14px}
  .rv_faqAccordion__answer p{font-size:13px}
  .rv_faqBlock__intro{font-size:14px}
}

/* Dagen overzicht – 6, 3, 2 of 1 kolom; schaalt met schermbreedte */
/* 6 naast | 2x3 | 3x2 | 6 onder elkaar */
.rv_dagenOverzicht{
  min-width:0
}
.rv_dagenOverzicht__intro{margin:0 0 20px;font-size:15px;line-height:1.6;color:#475569}
.rv_dagenOverzicht__grid{
  display:grid;gap:12px;
  grid-template-columns:1fr;
  min-width:0
}
@media (min-width:480px){
  .rv_dagenOverzicht__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (min-width:768px){
  .rv_dagenOverzicht__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media (min-width:1100px){
  .rv_dagenOverzicht__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
}
.rv_dagenOverzicht__card{
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px;
  display:flex;flex-direction:column;gap:6px;min-width:0;
  overflow-wrap:break-word;word-break:break-word
}
@media (max-width: 480px){
  .rv_dagenOverzicht__grid{gap:10px}
  .rv_dagenOverzicht__card{padding:14px;border-radius:8px}
  .rv_dagenOverzicht__cardTitle{font-size:0.9375rem}
  .rv_dagenOverzicht__cardText{font-size:13px;line-height:1.5}
}
.rv_dagenOverzicht__cardTitle{
  margin:0;font-size:1rem;font-weight:600;color:#1e293b;line-height:1.3
}
.rv_dagenOverzicht__cardText{margin:0;font-size:14px;line-height:1.55;color:#475569}

/* Trends – 4 naast | 2x2 | 4 onder elkaar */
.rv_trendsBlock{min-width:0}
.rv_trendsBlock__grid{
  display:grid;gap:12px;
  grid-template-columns:1fr;
  min-width:0
}
@media (min-width:480px){
  .rv_trendsBlock__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (min-width:768px){
  .rv_trendsBlock__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
}
.rv_trendsBlock__card{
  background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;gap:0;min-width:0;
  overflow-wrap:break-word;word-break:break-word
}
.rv_trendsBlock__cardImg{
  width:100%;height:170px;overflow:hidden;flex-shrink:0;background:#e2e8f0
}
.rv_trendsBlock__cardImg img{width:100%;height:100%;object-fit:cover;display:block}
.rv_trendsBlock__cardTitle,.rv_trendsBlock__cardText{padding:0 18px}
.rv_trendsBlock__cardTitle{margin:10px 0 4px;font-size:1rem;font-weight:600;color:#1e293b;line-height:1.3}
.rv_trendsBlock__cardText{margin:0 0 18px;font-size:14px;line-height:1.55;color:#475569}
@media (max-width: 480px){
  .rv_trendsBlock__grid{gap:10px}
  .rv_trendsBlock__cardImg{height:130px}
  .rv_trendsBlock__cardTitle,.rv_trendsBlock__cardText{padding:0 14px}
  .rv_trendsBlock__cardTitle{margin:8px 0 2px;font-size:0.9375rem}
  .rv_trendsBlock__cardText{margin:0 0 14px;font-size:13px}
}

/* Card */
.rv_card{
  border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;height:100%;
  transition:transform 200ms ease,box-shadow 200ms ease,background-color 200ms ease;
  will-change:transform
}
.rv_card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 10px 26px rgba(0,0,0,.16);background-color:#fffdf3}
.rv_card{position:relative}
/* Om en om wit / #fbfbfb voor betere scheiding tussen cards (o.a. mobiel) */
#rv_grid .rv_card:nth-child(even){background:#f4f4f4}
#rv_grid .rv_card:nth-child(even):hover{background-color:#fffdf3}

/* Media + placeholder */
.rv_card .rv_media{position:relative;width:100%;height:160px;overflow:hidden}
.rv_card .rv_media img{width:100%;height:160px;object-fit:cover;display:block;transition:opacity 300ms ease}
.rv_card .rv_media .rv_imgPlaceholder{position:absolute;inset:0;background:#e5e7eb;z-index:1}
.rv_card .rv_media .rv_imgPlaceholder::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  animation:shimmer 1.1s infinite
}
@keyframes shimmer{100%{transform:translateX(100%)}}
.rv_card .rv_media.rv_isLoading img{opacity:0}
.rv_card .rv_media.rv_isLoaded img{opacity:1}
.rv_card .rv_media.rv_isLoaded .rv_imgPlaceholder{display:none}
.rv_card .rv_media.rv_isError .rv_imgPlaceholder::after{display:none}
.rv_card .rv_media.rv_isError img{opacity:0}

/* Favorite button (tijdelijk verborgen, functionaliteit komt later) */
.rv_favoriteBtn{
  display:none !important; /* TODO: verwijder display:none wanneer favorietenfunctie actief is */
  position:absolute;top:8px;right:8px;
  width:36px;height:36px;
  border-radius:50%;background:#fff;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition:transform 150ms ease,box-shadow 150ms ease;
  z-index:10;padding:0
}
.rv_favoriteBtn:hover{transform:scale(1.1);box-shadow:0 3px 12px rgba(0,0,0,.2)}
.rv_favoriteBtn:active{transform:scale(0.95)}
.rv_heartIcon{
  width:20px;height:20px;
  stroke:#999;stroke-width:1.5;
  fill:none;transition:fill 200ms ease,stroke 200ms ease
}
.rv_favoriteBtn:hover .rv_heartIcon{stroke:#f43f5e;fill:#f43f5e}
.rv_favoriteBtn.rv_isFavorite .rv_heartIcon{stroke:#ef4444;fill:#ef4444}
.rv_favoriteBtn.rv_isFavorite:hover .rv_heartIcon{stroke:#dc2626;fill:#dc2626}

/* Content */
.rv_card .rv_content{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}

/* Title */
.rv_card h3{
  margin:6px 0 0;cursor:default;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;text-overflow:ellipsis;
  cursor:default
}
.rv_card h3:hover {
	cursor:pointer
}

/* Meta/badges */
.rv_meta{color:#555;font-size:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rv_badge{background:#f2f2f2;padding:3px 8px;border-radius:999px}

/* Badge Colors - Days (Green) - matches Aantal dagen filter */
.rv_badgeDagen{background:#dcfce7;color:#15803d;border:1px solid #16a34a}

/* Badge Colors - Samenstelling (Orange) - matches Samenstelling filter */
.rv_badgeSamenstelling{background:#fff7ed;color:#c2410c;border:1px solid #ea580c}

/* Badge Colors - Countries (Blue) - matches Land filter */
.rv_landenBadge{
  display:inline-block;max-width:220px;box-sizing:border-box;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle
}
.rv_badgeLanden{background:#e0f2fe;color:#0369a1;border:1px solid #0284c7}

/* Badge Colors - Reissoort (Teal) - matches Reissoort filter */
.rv_badgeReissoort{background:#ccfbf1;color:#0d9488;border:1px solid #14b8a6}

/* Omschrijving */
.rv_omschrijvingLink{
  text-decoration:none;color:inherit;display:block;cursor:pointer
}
.rv_omschrijvingLink:hover{
  text-decoration:none
}
.rv_omschrijving{margin:0;color:#444;line-height:1.5;word-break:break-word}

/* Footer: altijd onderin (logo links, prijs rechts) */
.rv_cardFooter{
  margin-top:auto;padding-top:10px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px
}
.rv_providerLogo{max-width:70px;max-height:44px;width:auto;height:auto;object-fit:contain;display:block}
.rv_priceCorner{font-weight:800;font-size:22px;color:#ef4444;line-height:1;white-space:nowrap;flex-shrink:0}

/* Refresh */
#rv_refresh{padding:10px 12px;font-size:16px;border:1px solid #ccc;border-radius:10px;background:#fff;cursor:pointer}
#rv_refresh:disabled{opacity:.6;cursor:not-allowed}

/* Dual range slider */
.rv_dualRange{position:relative;height:50px;margin-top:8px;margin-bottom:8px;overflow:visible;padding:0 2px}
.rv_dualRange__track{position:absolute;left:0;right:0;top:50%;height:8px;transform:translateY(-50%);border-radius:999px;background:#e5e7eb;cursor:pointer}
.rv_dualRange__fill{position:absolute;top:50%;height:8px;transform:translateY(-50%);border-radius:999px;background:#ef4444;left:0;right:0;pointer-events:none}

.rv_dualRange__input{position:absolute;inset:0;width:100%;height:50px;margin:0;background:none;-webkit-appearance:none;appearance:none;pointer-events:none}
.rv_dualRange__input::-webkit-slider-runnable-track{height:8px;background:transparent}
.rv_dualRange__input::-moz-range-track{height:8px;background:transparent}
.rv_dualRange__input::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;pointer-events:auto;
  width:18px;height:18px;border-radius:999px;border:2px solid #16a34a;background:#fff;cursor:pointer;margin-top:-5px
}
.rv_dualRange__input::-moz-range-thumb{
  pointer-events:auto;width:18px;height:18px;border-radius:999px;border:2px solid #16a34a;background:#fff;cursor:pointer
}
/* Override thumb color for price slider */
.rv_filter:has(#rv_prijsMin) .rv_dualRange__input::-webkit-slider-thumb{border-color:#9333ea}
.rv_filter:has(#rv_prijsMin) .rv_dualRange__input::-moz-range-thumb{border-color:#9333ea}

/* Slider Colors - Days (Green) */
.rv_filter:has(#rv_dagenMin) .rv_dualRange__fill{background:#16a34a}
.rv_filter:has(#rv_dagenMin) .rv_dualRange__input::-webkit-slider-thumb{border-color:#16a34a}
.rv_filter:has(#rv_dagenMin) .rv_dualRange__input::-moz-range-thumb{border-color:#16a34a}

/* Slider Colors - Prijs (Purple) */
.rv_filter:has(#rv_prijsMin) .rv_dualRange__fill{background:#9333ea}
.rv_filter:has(#rv_prijsMin) .rv_dualRange__input::-webkit-slider-thumb{border-color:#9333ea}
.rv_filter:has(#rv_prijsMin) .rv_dualRange__input::-moz-range-thumb{border-color:#9333ea}
.rv_dualRange__thumbLabel{position:absolute;top:35px;transform:translateX(-50%);font-size:12px;color:#444;white-space:nowrap;pointer-events:none;transition:top 0.2s ease, transform 0.2s ease}
.rv_dualRange__thumbLabel.rv_isAbove{top:-5px}

/* Loading effects */
#rv_grid .rv_card img{opacity:1;transition:opacity 150ms}
#rv_grid.rv_isLoading .rv_card img{opacity:.55;transition:opacity 150ms}
#rv_grid.rv_isLoading .rv_card::after{
  content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;
  background:linear-gradient(110deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.35) 50%,rgba(255,255,255,0) 60%);
  animation:loadingShimmer 1.2s infinite linear
}
@keyframes loadingShimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

/* Samenstelling (Orange) - vertical list like reissoort */
.rv_pillLinks{display:flex;flex-wrap:wrap;gap:10px}
.rv_pillLinks.rv_filterList{
  display:flex;flex-direction:column;gap:8px
}
.rv_pillLinks__link{
  color:#4b5563;text-decoration:none;font-size:14px;cursor:pointer;user-select:none;display:inline-block;padding:4px 8px;border-radius:4px;transition:background 150ms ease,color 150ms ease;position:relative
}
.rv_pillLinks__link:hover{color:#ea580c;background:#fff7ed;padding-left:20px}
.rv_pillLinks__link:hover::before{
  content:">";position:absolute;left:8px;color:#ea580c;font-weight:700
}
.rv_pillLinks__link.rv_isActive{
  color:#374151;background:#ffedd5;font-weight:600;padding-left:20px
}
.rv_pillLinks__link.rv_isActive::before{
  content:">";position:absolute;left:8px;color:#374151;font-weight:700
}
.rv_pillLinks__link.rv_isActive:hover{
  background:#fff
}
.rv_pillLinks__link.rv_isActive:hover::before{
  content:"×";color:#374151
}

/* Reissoort (Teal) */
.rv_reissoortLinks{display:flex;flex-wrap:wrap;gap:10px}
.rv_reissoortLinks.rv_filterList{
  display:flex;flex-direction:column;gap:8px
}
.rv_reissoortLinks__link{
  color:#4b5563;text-decoration:none;font-size:14px;cursor:pointer;user-select:none;display:inline-block;padding:4px 8px;border-radius:4px;transition:background 150ms ease,color 150ms ease;position:relative
}
.rv_reissoortLinks__link:hover{color:#14b8a6;background:#f0fdfa;padding-left:20px}
.rv_reissoortLinks__link:hover::before{
  content:">";position:absolute;left:8px;color:#14b8a6;font-weight:700
}
.rv_reissoortLinks__link.rv_isActive{
  color:#374151;background:#ccfbf1;font-weight:600;padding-left:20px
}
.rv_reissoortLinks__link.rv_isActive::before{
  content:">";position:absolute;left:8px;color:#374151;font-weight:700
}
.rv_reissoortLinks__link.rv_isActive:hover{
  background:#fff
}
.rv_reissoortLinks__link.rv_isActive:hover::before{
  content:"×";color:#374151
}
/* Excluded reissoort links show + on hover instead of > */
.rv_filterOptionWrapper.rv_isExcluded .rv_reissoortLinks__link:hover::before{
  content:"+";position:absolute;left:8px;color:#14b8a6;font-weight:700
}
/* Excluded reisaanbieder links show + on hover instead of > */
.rv_filterOptionWrapper.rv_isExcluded .rv_reisaanbiederLinks__link:hover::before{
  content:"+";position:absolute;left:8px;color:#ec4899;font-weight:700
}

/* Reisaanbieders (Pink) */
.rv_reisaanbiederLinks{display:flex;flex-wrap:wrap;gap:10px}
.rv_reisaanbiederLinks.rv_filterList{
  display:flex;flex-direction:column;gap:8px
}
.rv_reisaanbiederLinks__link{
  color:#4b5563;text-decoration:none;font-size:14px;cursor:pointer;user-select:none;display:inline-block;padding:4px 8px;border-radius:4px;transition:background 150ms ease,color 150ms ease;position:relative
}
.rv_reisaanbiederLinks__link:hover{color:#ec4899;background:#fdf2f8;padding-left:20px}
.rv_reisaanbiederLinks__link:hover::before{
  content:">";position:absolute;left:8px;color:#ec4899;font-weight:700
}
.rv_reisaanbiederLinks__link.rv_isActive{
  color:#374151;background:#fce7f3;font-weight:600;padding-left:20px
}
.rv_reisaanbiederLinks__link.rv_isActive::before{
  content:">";position:absolute;left:8px;color:#374151;font-weight:700
}
.rv_reisaanbiederLinks__link.rv_isActive:hover{
  background:#fff
}
.rv_reisaanbiederLinks__link.rv_isActive:hover::before{
  content:"×";color:#374151
}
.rv_filterCount{
  color:#666;font-weight:normal;margin-left:4px
}

/* Filter Option Wrapper with Exclude Icon */
.rv_filterOptionWrapper{
  display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;width:100%
}
.rv_filterOptionWrapper.rv_isExcluded .rv_reissoortLinks__link{
  text-decoration:line-through;opacity:0.7
}
.rv_filterOptionWrapper.rv_isExcluded .rv_reisaanbiederLinks__link{
  text-decoration:line-through;opacity:0.7
}

/* Exclude/Include Icon */
.rv_filterExcludeIcon{
  width:14px;height:14px;min-width:14px;min-height:14px;
  padding:0;margin:0;border:none;background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:#9ca3af;transition:color 150ms ease,transform 150ms ease;
  position:relative;flex-shrink:0;font-size:12px;line-height:1
}
.rv_filterExcludeIcon:hover{
  color:#666;transform:scale(1.15)
}
.rv_filterExcludeIcon:active{
  transform:scale(0.9)
}
.rv_filterExcludeTooltip{
  position:absolute;bottom:calc(100% + 6px);right:0;
  background:#333;color:#fff;padding:4px 8px;border-radius:4px;
  font-size:11px;white-space:nowrap;z-index:1000;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity 150ms ease,transform 150ms ease,visibility 150ms ease;
  pointer-events:none
}
.rv_filterExcludeIcon:hover .rv_filterExcludeTooltip{
  opacity:1;visibility:visible;transform:translateY(0)
}
.rv_filterExcludeTooltip::after{
  content:"";position:absolute;top:100%;right:8px;
  border:4px solid transparent;border-top-color:#333
}


.rv_providerLogo {
  transition: transform 180ms ease;
  will-change: transform;
}

.rv_providerLogo:hover {
  transform: translateY(-2px) scale(1.10);
}



/* Maak de titel-link netjes */
.rv_reisTitleLink { text-decoration:none; color:inherit; }
.rv_reisTitleLink:hover { text-decoration:underline; }

/* Afbeelding-link zonder extra styling */
.rv_reisLink { display:block; }

/* Landenlinks binnen badge: behoud ellipsis in de badge */
.rv_landenBadge { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rv_landenLink { color:inherit; text-decoration:none; }
.rv_landenLink:hover { text-decoration:underline; }
.rv_landenSep { color:inherit; }

/* Provider logo klikbaar zonder extra effecten */
.rv_providerLink { display:inline-block; }

/* Prijs klikbaar */
.rv_priceLink { text-decoration:none; color:inherit; }

/* "vanaf" klein en grijs, bedrag groot */
.rv_priceCorner { display:flex; flex-direction:column; align-items:flex-end; line-height:1.05; }
.rv_priceVanaf { font-size:12px; color:#888; font-weight:600; }
.rv_priceAmount { font-weight:800; font-size:22px; color:#ef4444; white-space:nowrap; }
.rv_priceInclVlucht { font-size:11px; color:#16a34a; font-weight:600; white-space:nowrap; }

/* Comparison bar */
.rv_comparisonBar{
  position:fixed;bottom:24px;right:24px;
  background:#333;border-radius:12px;
  box-shadow:0 4px 20px rgba(0,0,0,.3);
  z-index:1000;min-width:280px;max-width:90vw;
  overflow:hidden;box-sizing:border-box
}
.rv_comparisonWarning{
  background:#ef4444;color:#fff;
  padding:8px 16px;text-align:center;
  font-size:14px;font-weight:600
}
.rv_comparisonToggle{
  display:flex;align-items:center;gap:12px;
  padding:14px 18px;background:transparent;
  border:none;cursor:pointer;width:100%;
  color:#fff;transition:background 150ms ease
}
.rv_comparisonToggle:hover{background:rgba(255,255,255,.1)}
.rv_comparisonTitle{
  flex:1;font-size:16px;font-weight:600;
  text-align:left;color:#fff
}
.rv_comparisonExpandIcon{
  width:20px;height:20px;
  stroke:#fff;stroke-width:2;
  transition:transform 200ms ease;
  transform:rotate(180deg)
}
.rv_comparisonToggle.rv_isExpanded .rv_comparisonExpandIcon{
  transform:rotate(0deg)
}
.rv_comparisonFavCount{
  display:flex;align-items:center;gap:6px;
  background:#fff;border-radius:20px;
  padding:6px 12px;min-width:50px;
  justify-content:center
}
.rv_comparisonHeartIcon{
  width:16px;height:16px;
  color:#ef4444;flex-shrink:0
}
.rv_comparisonCount{
  font-size:16px;font-weight:700;
  color:#000 !important;min-width:20px;
  text-align:center;
  line-height:1
}
.rv_comparisonList{
  max-height:400px;overflow-y:auto;
  padding:12px;background:#2a2a2a;
  border-top:1px solid rgba(255,255,255,.1)
}
.rv_comparisonItem{
  display:flex;gap:12px;padding:10px;
  background:#3a3a3a;border-radius:8px;
  margin-bottom:8px;align-items:center;
  transition:background 150ms ease
}
.rv_comparisonItem:last-child{margin-bottom:0}
.rv_comparisonItem:hover{background:#4a4a4a}
.rv_comparisonItemImg{
  width:60px;height:60px;
  object-fit:cover;border-radius:6px;
  flex-shrink:0
}
.rv_comparisonItemContent{
  flex:1;min-width:0
}
.rv_comparisonItemTitle{
  margin:0 0 6px;font-size:14px;
  font-weight:600;color:#fff;
  display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:2;overflow:hidden;
  text-overflow:ellipsis;line-height:1.3
}
.rv_comparisonItemMeta{
  display:flex;gap:12px;align-items:center;
  font-size:12px;color:#ccc
}
.rv_comparisonItemDays{
  color:#aaa
}
.rv_comparisonItemPrice{
  font-weight:700;color:#ef4444
}
.rv_comparisonItemRemove{
  width:32px;height:32px;
  border-radius:50%;background:#d1d5db;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background 150ms ease;
  padding:0
}
.rv_comparisonItemRemove:hover{
  background:#9ca3af
}
.rv_comparisonItemRemove svg{
  width:18px;height:18px;
  stroke:#666;stroke-width:2
}
.rv_comparisonButtonContainer{
  padding:12px;background:#2a2a2a;
  border-top:1px solid rgba(255,255,255,.1);
  box-sizing:border-box
}
.rv_comparisonButton{
  display:block;width:100%;
  padding:14px 20px;
  background:#22c55e;color:#fff;
  text-align:center;text-decoration:none;
  font-size:18px;font-weight:700;
  border-radius:8px;
  transition:background 150ms ease;
  border:none;cursor:pointer;
  box-sizing:border-box
}
.rv_comparisonButton:hover{
  background:#16a34a
}
.rv_comparisonButton:disabled,.rv_comparisonButton.rv_isDisabled{
  background:#6b7280;color:#fff;
  cursor:not-allowed;opacity:.7;
  pointer-events:none
}
.rv_comparisonButton:disabled:hover,.rv_comparisonButton.rv_isDisabled:hover{
  background:#6b7280
}

/* Load More Card */
.rv_loadMoreCard {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.rv_loadMoreCardContent {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
}

.rv_loadMoreBtn {
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background: #2563eb;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 200ms ease, transform 150ms ease;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

.rv_loadMoreBtn:hover {
  background: #1d4ed8;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.rv_loadMoreBtn:active {
  transform: translateY(0);
}

.rv_loadMoreBtn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Spinner */
.rv_spinnerCard {
  min-height: 400px;
}

.rv_spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #e5e7eb;
  border-top-color: #2563eb;
  border-radius: 50%;
  animation: rv_spin 0.8s linear infinite;
}

@keyframes rv_spin {
  to { transform: rotate(360deg); }
}
