/* =====================================================================
   Let's Cruise, huisstijl.css (v5.0.596)
   ---------------------------------------------------------------------
   ÉÉN VORMTAAL VOOR SITE, PORTAAL EN OFFERTE

   Het offerteportaal en de pdf delen sinds 5.0.476 één palet en één manier
   van doen: een eyebrow in hoofdletters, een kop in de serif, een gouden
   streepje eronder, en alles in kaarten met een rustige rand. De site deed
   het net anders: andere randen, andere schaduwen, een ander blauw in de
   prijs, en tegels die per pagina van maat verschilden.

   Dit bestand trekt dat recht. Het staat NA main.css en werkt met
   klasse-selectoren, niet met !important: main.css is 4703 regels met 263
   dubbel gedefinieerde selectoren, en daar nog een laag !important
   overheen leggen maakt het alleen erger.

   WAT DIT BESTAND NIET DOET
   Het verandert geen markup en geen inhoud. Haal je het weg, dan staat de
   site er weer bij zoals hij stond. Dat is bewust: dit is de laag waarin
   de nieuwe stijl zich moet bewijzen voordat hij main.css in gaat.
   ===================================================================== */

:root{
	/* Het palet van het portaal, één op één (zie LCOff_Huisstijl). */
	--lco-navy:#0A2540;
	--lco-primair:#0F75BC;
	--lco-licht:#46B5DD;
	--lco-goud:#F2B01E;
	--lco-ink:#1A2A3E;
	--lco-mut:#5F7288;
	--lco-lijn:#E4ECF3;
	--lco-vel:#F6FAFD;
	--lco-wit:#FFFFFF;
	--lco-radius:16px;
	--lco-radius-klein:12px;
}

/* =====================================================================
   1. SECTIEKOPPEN
   Eyebrow, kop in de serif, gouden streepje. Precies zoals in het portaal,
   waar het streepje het teken is dat er een nieuw onderwerp begint.
   ===================================================================== */
.lct-section-header .lct-eyebrow,
.lct-havens-kop .lct-eyebrow{
	font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
	font-weight:800; color:var(--lco-primair);
}
.lct-section-header > h2,
.lct-section-header > div > h2{
	color:var(--lco-navy); letter-spacing:-.01em; text-wrap:balance;
}
/* Het gouden streepje. Onder een gecentreerde kop komt hij in het midden. */
.lct-section-header > h2::after,
.lct-section-header > div > h2::after{
	content:""; display:block; width:52px; height:3px; border-radius:2px;
	background:var(--lco-goud); margin:11px 0 0;
}
.lct-section-header.is-center > h2::after{ margin-inline:auto; }

/* =====================================================================
   1b. DE CONTAINERBREEDTE, OP ELKE PAGINA DEZELFDE

   WAT ER MIS WAS. De kop van /cruises/ zag er anders uit dan overal
   elders, en dat kwam door één ontbrekende regel. main.css zet
   --lct-container op min(97vw, 1560px); index.css, de uitgeklede kopie
   die alleen op /cruises/ geladen wordt, kent die regel niet en blijft op
   de standaard van 1280px staan. Live gemeten op een scherm van 1600:

                          beginpagina   /cruises/
     --lct-container      1552 px       1280 px
     kop-binnenmaat       1552          1280
     logo                 180x60        170x57
     menuletter           14 px         14,5 px
     ruimte tussen items  24 px         28,8 px

   Dus niet alleen smaller, ook een ander logo en een ander menu. Precies
   waar build-index.md voor waarschuwt: index.css wordt gegenereerd en
   loopt achter zodra iemand main.css aanpast zonder opnieuw te bouwen. In
   augustus ging het al twee keer mis, toen met de paginering en met de
   logohoogte.

   Deze regel staat hier omdat huisstijl.css als LAATSTE laadt, op élke
   pagina, ook op /cruises/. Daarmee is de kop overal gelijk, of index.css
   nu bijgewerkt is of niet. Wordt index.css ooit netjes opnieuw
   gegenereerd, dan kan dit blok weg zonder dat er iets verandert.
   ===================================================================== */
:root{ --lct-container:min(97vw,1202px); } /* v5.0.618: de maat van de cruiselijst, zie 1c */

/* =====================================================================
   1c. EEN BREEDTE VOOR DE HELE SITE, DE CRUISELIJST IS DE MAAT (v5.0.618)

   Danny, in drie stappen: de cruisepagina's breder dan 75%, de tegels
   gelijk houden en er meer op een rij zetten, en daarna: "Verstandig lijkt
   het mij om cruises als maximaal breedte aan te houden, juist omdat die
   niet helemaal op de breedte past". En: "Foto's niet uit elkaar trekken.
   Maar juist pagina's redesignen".

   DE MAAT. Een cruisetegel is 383 breed (compact 185), met 16 ertussen.
   Naast het filter (340) en de ruimte daartussen (32) past de lijst
   precies bij een heel aantal tegels. Met de rand van 24 aan weerszijden
   wordt dat de breedte van de hele site, ook van de kop en de voet:

     scherm         site    lijst   tegels per rij (compact)
     tot 1668       1202    1154    2 (4)
     vanaf 1668     1601    1553    3 (6)     85% op 1920
     vanaf 2084     2000    1952    4 (8)

   Onder de 1240 volgt de site het scherm (97%), zoals altijd.

   DE LIJST STAAT OP MEER PLEKKEN. Op /cruises/ en als filterblok op de
   pagina's van rederij, schip en bestemming. Overal dezelfde opbouw en
   dezelfde tegel: een containerquery kijkt hoeveel ruimte er is en kiest
   de lijstbreedte uit het rijtje hierboven. Voorheen was de tegel daar
   317, 487 of 627 breed, afhankelijk van de pagina.

   FOTO'S BLIJVEN OP MAAT. Rijen met foto's die een vast aantal kolommen
   hadden (schepen van een rederij, verhalen, gerelateerd) tellen nu zelf
   hoeveel er passen; de foto's worden niet groter, er komen er meer naast
   elkaar. Lopende tekst blijft op leesbreedte.

   REDESIGN PER PAGINA, vanaf 1280 breed:
   - haven: kaart en "Over de haven" naast elkaar, de aanlopen in twee
     kolommen (de lijst was 22.000 pixels lang).
   - schip: de introductie en "Waar is het schip nu?" naast elkaar.
   - rederij: de acht kerncijfers aan boord op een rij; het fooienblok had
     geen rand en liep tegen de schermrand aan.
   - landingspagina's (cruise uit Rotterdam e.d.): het hele blok breed, de
     tekst op leesbreedte, de tegels en havens met meer naast elkaar.
   Tekstpagina's (contact, offerte, voorwaarden, eerste keer cruise, over
   Danny) en het artikel zelf blijven op leesbreedte.
   ===================================================================== */
@media (min-width:1668px){ :root{ --lct-container:1601px; } }
@media (min-width:2084px){ :root{ --lct-container:2000px; } }

body.is-cruise-single .lcd-binnen{ max-width:var(--lct-container); }
body.is-cruise-index .lc-index{ max-width:var(--lct-container); }
body.is-cruise-index .lc-index .lc-container,
body.is-cruise-index .lc-index .lc-search-row,
body.is-cruise-index .lc-index .lc-active-filters{ max-width:none; }

@media (min-width:1100px){
	.lct-acties-hero-inner,.lct-acties-tabs-inner,.lct-acties-featured-inner,.lct-acties-grid-inner,.lct-deals-inner,
	.lc-bst-wrap,.lct-region-hero-content,.lct-region-section-inner,.lct-haven-links,.lc-hvi-wrap,.lc-hv-wrap,
	.lct-rederijen-hero-inner,.lct-rederijen-grid-inner,.lct-rederij-section-inner,
	.lc-ship-container,.lct-blog-featured-inner,.lct-blog-grid-inner,.lct-blog-related-inner,
	.lct-matcher-hero-inner,.lct-matcher-wizard-inner,.lc-favorites-page,
	.lcl-hero-in,.lcl-trust-in,.lcl-rel,.lcl-end,.lcl-card{ max-width:var(--lct-container) !important; }
	body .lct-rederij-section-inner,
	body .lct-region-section-inner,
	body .lc-ship-container{ padding-inline:24px; box-sizing:border-box; }
}

/* De cruiselijst: overal dezelfde opbouw en dezelfde tegel. */
@media (min-width:1100px){
	body .lc-index .lc-results-layout{ grid-template-columns:340px minmax(0,1fr); column-gap:32px; padding-inline:0; }
}
@media (min-width:900px){
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(auto-fill,min(383px,calc(50% - 8px))); gap:16px; }
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-4{ grid-template-columns:repeat(auto-fill,min(185px,calc(25% - 10.5px))); gap:14px; }
}
body :has(> .lc-results-layout){ container:lclijst / inline-size; }
@container lclijst (min-width:1154px){ body .lc-index .lc-results-layout{ max-width:1154px; margin-inline:auto; } }
@container lclijst (min-width:1553px){ body .lc-index .lc-results-layout{ max-width:1553px; } }
@container lclijst (min-width:1952px){ body .lc-index .lc-results-layout{ max-width:1952px; } }

/* Rijen met foto's en kaarten: meer naast elkaar in plaats van groter. */
@media (min-width:900px){
	body .lct-stories-grid.lct-stories-grid--kaarten{ grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); }
	body .lct-rederij-ships-grid{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
	body .lct-blog-related-grid{ grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); }
	body .lct-blog-related-grid > *{ grid-column:auto !important; }
	body .lct-rederij-keyfacts-inner{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
}
@media (min-width:1500px){ body .lct-rederij-onboard-grid{ grid-template-columns:repeat(8,minmax(0,1fr)); } }
body .lct-rederij-fooien{ max-width:var(--lct-container); margin:34px auto; padding-inline:24px; box-sizing:border-box; }

/* Tekst op leesbreedte in de brede blokken. */
body .lcl-card p, body .lcl-card h2, body .lcl-card h3, body .lcl-card ul, body .lcl-card ol{ max-width:80ch; }
body .lc-hv-wrap .lc-hv-prose, body .lc-hv-wrap .lc-hv-meta{ max-width:90ch; }

/* Haven: kaart en uitleg naast elkaar, de aanlopen in twee kolommen. */
@media (min-width:1280px){
	body .lc-hv-wrap .lc-hv-cols{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); column-gap:32px; }
	body .lc-hv-wrap .lc-hv-cols > *{ grid-column:1 / -1; }
	body .lc-hv-wrap .lc-hv-cols:has(> .lc-hv-sec > .lc-hv-prose) > .lc-hv-sec:has(#lc-hv-kaart){ grid-column:1; grid-row:1; }
	body .lc-hv-wrap .lc-hv-cols > .lc-hv-sec:has(> .lc-hv-prose):not(:has(#lc-hv-calls)){ grid-column:2; grid-row:1; align-self:start; }
	body .lc-hv-wrap .lc-hv-calls{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; align-items:start; }
	body .lc-hv-wrap .lc-hv-calls > .lc-hv-empty-month{ grid-column:1 / -1; }
}

/* Schip: introductie en de live kaart naast elkaar. */
@media (min-width:1280px){
	body .lc-ship-container:has(> div > .lct-schepenkaart){ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; align-items:start; }
	body .lc-ship-container:has(> div > .lct-schepenkaart) > *{ grid-column:1 / -1; }
	body .lc-ship-container:has(> div > .lct-schepenkaart) > .lc-ship-intro{ grid-column:1; grid-row:2; }
	body .lc-ship-container > div:has(> .lct-schepenkaart){ grid-column:2; grid-row:2; }
}

/* =====================================================================
   2. DE TEGELRIJ
   De rij telt zelf uit hoeveel tegels er passen. Zie de uitleg in de
   regel hieronder: een vast aantal kolommen ging mis zodra dezelfde rij
   in een smallere kolom belandde, zoals naast het filter op /cruises/.
   ===================================================================== */
.lct-tegelrij,
.lc-card-grid.lct-tegelrij,
.lc-shared-card-grid,
.lct-region-cruises-grid,
.lct-rederij-cruises-grid,
.lc-ship-cruise-grid{
	display:grid;
	/**
	 * v5.0.571: de rij telt zijn eigen kolommen uit. Geen vast aantal meer.
	 *
	 * WAT ER MIS WAS AAN EEN VAST AANTAL. Er stond "repeat(5, 1fr)" met een rij afbuigingen
	 * eronder voor smallere schermen. Op de beginpagina viel dat mee, maar op /cruises/ staat de
	 * tegelrij IN een resultatenkolom naast het filter, en die is daar 806 pixels breed. Vijf
	 * kolommen in 806 pixels geeft tegels van 148 pixels. In dit bestand staat drie hoofdstukken
	 * hoger mijn eigen zin dat een tegel van 150 pixels door niemand gelezen wordt, en precies dat
	 * stond er dus live.
	 *
	 * Met auto-fill rekent de rij zelf uit hoeveel er passen, waar hij ook staat:
	 *
	 * Gemeten met de ECHTE tegel, niet met een blokje:
	 *
	 *   1392 px (beginpagina, scherm 1600)   ->  5 tegels van 265
	 *   1082 px (scherm 1280)                ->  4 tegels van 258
	 *    806 px (resultatenkolom /cruises/)  ->  3 tegels van 258
	 *    511 px (telefoon liggend)            ->  2 tegels van 248
	 *    375 px (telefoon)                   ->  1 tegel, volle breedte
	 *
	 * DE ONDERGRENS GING VAN 184 NAAR 248, EN DAAR ZIT EEN AFWEGING ONDER.
	 * In 5.0.571 stonden er zeven op een rij van 185 pixels. Dat kon, want de tegel had toen alleen
	 * een titel, een scheepsnaam en een prijs. Sinds 5.0.572 staan er ook de aanleghavens, een
	 * datumbereik en een knop "Bekijk cruise" op. In 185 pixels passen de prijs en die knop niet
	 * naast elkaar en wordt de havenlijst één woord per regel.
	 *
	 * Vijf rijkere tegels laten meer zien dan zeven kale, en op /cruises/ gaat het nog steeds
	 * vooruit: van vijf onleesbare van 148 naar drie van 258.
	 */
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:16px;
	/**
	 * v5.0.571: de max-width van 1400 is eraf.
	 *
	 * Die zat er sinds 5.0.563 in om te voorkomen dat tegels op een breed scherm zó groot werden
	 * dat de foto korrelig werd. Dat probleem is bij de bron opgelost (lct_vierkante_maten in
	 * functions.php), en de rem kostte wel wat: op een scherm van 1600 was de container 1552 breed
	 * en de rij 1392, dus stond er aan weerszijden 80 pixels leeg. Dat viel het meest op bij
	 * "Snelle vertrekken & korting", want daar loopt het blok eromheen wél door.
	 *
	 * Nu volgt de rij gewoon zijn container, en met auto-fill worden de tegels bij meer ruimte
	 * niet groter maar talrijker. Dat is de goede kant op.
	 */
	margin-left:auto;
	margin-right:auto;
}

/**
 * Onder de 560 pixels één tegel per rij.
 *
 * Dit is de enige afbuiging die overblijft, en hij staat op 440 en niet op 560. Op 560 zou één
 * tegel over de volle breedte komen te staan, met een vierkante foto van bijna 500 pixels: veel
 * te dominant op een klein scherm. Daarboven regelt auto-fill het (bij 560 worden dat er twee).
 *
 * Onder de 440 moet die ene tegel juist WEL meegroeien tot de volle breedte, want minmax zou hem
 * anders op 184 laten staan met een lege strook ernaast.
 */
@media (max-width:440px){
	.lct-tegelrij,
	.lc-card-grid.lct-tegelrij,
	.lc-shared-card-grid,
	.lct-region-cruises-grid,
	.lct-rederij-cruises-grid,
	.lc-ship-cruise-grid{ grid-template-columns:1fr; gap:14px; }
}

/**
 * v5.0.591: HET TWEELUIK OP /cruises/ IS DE STANDAARD, EN BLIJFT TWEE KOLOMMEN.
 *
 * De weergavekeuze 1 / 2 / 4 stond in main.css, en daar stond ook een regel die onder de 700
 * pixels ELKE weergave terugzette naar één kolom. Twee kolommen op een tablet van 800 was dus
 * niet mogelijk, hoe je de knop ook zette.
 *
 * Deze regels staan op (0,4,0), één niveau boven die van main.css, zodat het niet uitmaakt in
 * welke volgorde de optimalisatieplugin de bestanden samenvoegt.
 *
 * DE GRENS LIGT NU OP 560 IN PLAATS VAN 700. Tussen 560 en 700 is een tegel nog 265 pixels
 * breed, en dat is precies de maat waar de containerquery van de tegel op gebouwd is. Onder de
 * 560 zou hij onder de 250 zakken en dan gaat er informatie uit; daar blijft het één kolom.
 */
.lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(2,1fr); gap:16px; }
@media (max-width:560px){
	.lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:1fr; gap:14px; }
}

/* Het blok "Laat Danny meedenken" tussen de tegels loopt over de hele rij. */
.lct-tegelrij .lc-infeed-cta,
.lct-tegelrij .lc-acties-banner{ grid-column:1 / -1; }

/* De favorietenpagina bouwt zijn kaarten met javascript en gebruikt de
   uitgebreide kaart; die heeft meer breedte nodig dan een tegel. */
.lc-favorites-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1040px){ .lc-favorites-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) { .lc-favorites-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .lc-favorites-grid{ grid-template-columns:1fr; } }

/* =====================================================================
   2b. DE RIJEN OP DE BEGINPAGINA: ALTIJD VOL (v5.0.619)

   Danny: "beginpagina: uitgelicht cruisetegels maximaliseren tot het
   maximale per pagina, oftewel het moeten altijd 2 rijen zijn behalve op
   een telefoon (dan max 8). bij snelle vertrekken idem, maar dan met een
   max van 5 op mobiel maar bijv 7 of 8 op full size".

   HOE. De tegelrij telt zelf hoeveel tegels er naast elkaar passen
   (auto-fill). Een containerquery op het omhulsel (.lct-rijmaat) weet dus
   ook hoeveel dat er zijn, en verbergt wat niet in de volle rijen past:

     Uitgelicht (tegel vanaf 240, tussenruimte 16), twee volle rijen:
       rijbreedte   op een rij   te zien
       tot  752       1 of 2       8   (telefoon)
       752 - 1008     3            6
       1008 - 1264    4            8
       1264 - 1520    5           10   (scherm 1920: rij 1441)
       1520 - 1776    6           12
       1776 - 2032    7           14   (scherm vanaf 2084: rij 1840)
       vanaf 2032     8           16

     Snelle vertrekken (kleine tegel vanaf 185, tussenruimte 14), een
     volle rij: op de telefoon vijf, daarboven zoveel als er passen. Op een
     scherm van 1920 zijn dat er zeven, vanaf 2084 negen.

   Zijn er minder uitgelichte cruises dan twee rijen vragen, dan blijft er
   een volle rij staan in plaats van een halve tweede.
   ===================================================================== */
.lct-rijmaat{ container:rijmaat / inline-size; }
@media (min-width:441px){
	body .lct-rijmaat--een .lct-tegelrij{ grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:14px; }
}
/* Telefoon (een of twee op een rij): uitgelicht acht, snelle vertrekken vijf. */
@container rijmaat (max-width:751.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+9){ display:none; }
}
@container rijmaat (min-width:752px) and (max-width:1007.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+7){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(6))) > :nth-child(n+4){ display:none; }
}
@container rijmaat (min-width:1008px) and (max-width:1263.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+9){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(8))) > :nth-child(n+5){ display:none; }
}
@container rijmaat (min-width:1264px) and (max-width:1519.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+11){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(10))) > :nth-child(n+6){ display:none; }
}
@container rijmaat (min-width:1520px) and (max-width:1775.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+13){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(12))) > :nth-child(n+7){ display:none; }
}
@container rijmaat (min-width:1776px) and (max-width:2031.98px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+15){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(14))) > :nth-child(n+8){ display:none; }
}
@container rijmaat (min-width:2032px){
	.lct-rijmaat--twee .lct-tegelrij > :nth-child(n+17){ display:none; }
	.lct-rijmaat--twee .lct-tegelrij:not(:has(> :nth-child(16))) > :nth-child(n+9){ display:none; }
}
@container rijmaat (max-width:582.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+6){ display:none; }
}
@container rijmaat (min-width:583px) and (max-width:781.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+4){ display:none; }
}
@container rijmaat (min-width:782px) and (max-width:980.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+5){ display:none; }
}
@container rijmaat (min-width:981px) and (max-width:1179.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+6){ display:none; }
}
@container rijmaat (min-width:1180px) and (max-width:1378.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+7){ display:none; }
}
@container rijmaat (min-width:1379px) and (max-width:1577.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+8){ display:none; }
}
@container rijmaat (min-width:1578px) and (max-width:1776.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+9){ display:none; }
}
@container rijmaat (min-width:1777px) and (max-width:1975.98px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+10){ display:none; }
}
@container rijmaat (min-width:1976px){
	.lct-rijmaat--een .lct-tegelrij > :nth-child(n+11){ display:none; }
}

/* v5.0.621: een volle rij gewone tegels (tegel vanaf 240, tussenruimte 16).
   Voor de soortgelijke cruises onder een cruisepagina. Daar stonden er vier,
   ook op een scherm waar er zeven naast elkaar passen, met drie lege plekken
   ernaast. Nu komen er tot acht op, en blijft staan wat er in een rij past.
   Op de telefoon blijven het er vier, net als voorheen. */
@container rijmaat (max-width:751.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+5){ display:none; }
}
@container rijmaat (min-width:752px) and (max-width:1007.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+4){ display:none; }
}
@container rijmaat (min-width:1008px) and (max-width:1263.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+5){ display:none; }
}
@container rijmaat (min-width:1264px) and (max-width:1519.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+6){ display:none; }
}
@container rijmaat (min-width:1520px) and (max-width:1775.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+7){ display:none; }
}
@container rijmaat (min-width:1776px) and (max-width:2031.98px){
	.lct-rijmaat--vol .lct-tegelrij > :nth-child(n+8){ display:none; }
}

/* =====================================================================
   3. DE CRUISETEGEL: één opmaak, op elke pagina
   ---------------------------------------------------------------------
   v5.0.572: opnieuw opgezet naar het voorbeeld dat Danny aanleverde, maar
   in zijn eigen vormtaal.

   WAT ER OP STAAT, VAN BOVEN NAAR BENEDEN
     foto        met het rederijlogo linksboven en het hartje rechtsboven
     titel       de reis zelf, twee regels
     rederij     de naam, ZONDER sterren
     pillen      "Vanuit Nederland", last minute / korting, "Danny was aan boord"
     wanneer     van ... tot ..., met de einddatum erbij
     wat         duur en vaargebied
     waarlangs   de aanleghavens
     voet        prijs links, "Bekijk cruise" rechts

   WAT ER BEWUST NIET OP STAAT
   Sterren. Het voorbeeld heeft er vijf op elke kaart, en een score die bij
   iedereen hetzelfde is zegt niets. Danny's onderscheid is dat hij zelf aan
   boord is geweest, en dat staat er als pil.

   Ook geen bootje voor "Bekijk cruise". Op een tegel met een scheepsfoto,
   een rederijlogo en een ankertje is dat het vierde bootje.
   ===================================================================== */
.lct-tegel{
	position:relative;
	background:var(--lco-wit);
	border:1px solid var(--lco-lijn);
	border-radius:var(--lco-radius);
	overflow:hidden;
	display:flex; flex-direction:column;
	color:var(--lco-ink);
	transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lct-tegel:hover{
	transform:translateY(-2px);
	border-color:#cfe0ee;
	box-shadow:0 10px 26px rgba(10,37,64,.10);
}

/**
 * De foto. width:100% staat er expres bij.
 *
 * Een kader met alleen aspect-ratio laat de browser in sommige gevallen de BREEDTE afleiden uit de
 * hoogte, en dan krimpt de foto tot een strook. Dat is hier eerder misgegaan.
 *
 * v5.0.572: 4 op 3 in plaats van vierkant. De tegel heeft er nu zoveel regels bij gekregen dat een
 * vierkante foto hem te lang maakt; liggend past hij beter bij de rest en bij het voorbeeld.
 */
.lct-tegel-foto{
	position:relative; width:100%; aspect-ratio:4/3;
	background:linear-gradient(135deg,#eaf3fa,#d7e8f5);
	overflow:hidden; flex:0 0 auto;
}
/* v5.0.590: de <picture> om de tegelfoto telt niet mee voor de opmaak; het <img> vult het vakje. */
.lct-tegel-foto picture{ display:contents; }
.lct-tegel-foto img{ width:100%; height:100%; object-fit:cover; display:block; }
/* v5.0.675: Danny: "wat zijn de foto's donker en grauw". Veel scheepsfoto's van de rederijen zijn
   donker (diepblauwe zee, schaduw op de romp). Iets lichter en frisser, zonder dat de kleuren
   onecht worden. */
.lct-tegel-foto img{ filter:brightness(1.08) contrast(1.06) saturate(1.12); }
.lct-tegel-geenfoto{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
	color:var(--lco-primair); opacity:.7; text-align:center; padding:0 12px;
}

/* Het rederijlogo, linksboven op de foto. Op een wit plaatje, want deze logo's
   zijn gemaakt voor een witte achtergrond en verdwijnen op een donkere romp. */
.lct-tegel-merk{
	position:absolute; top:10px; left:10px; z-index:2;
	display:flex; align-items:center; justify-content:center;
	height:34px; min-width:34px; max-width:56%;
	padding:5px 9px; border-radius:9px;
	background:#fff; /* 5.0.746: helemaal wit, anders schemert de lucht door en valt het witte vlak van het logo op */
	box-shadow:0 1px 4px rgba(10,37,64,.16);
}
.lct-tegel-merk img{
	max-height:24px; max-width:100%; width:auto; height:auto;
	object-fit:contain; display:block;
	mix-blend-mode:multiply; /* een bijna wit vlak in het logo valt weg tegen het wit */
}

.lct-tegel-hart{
	position:absolute; top:10px; right:10px; z-index:3;
	width:32px; height:32px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.92); border:0; cursor:pointer;
	color:var(--lco-mut); box-shadow:0 1px 4px rgba(10,37,64,.16);
	transition:color .15s, background .15s;
}
.lct-tegel-hart:hover{ color:#d1495b; background:#fff; }
.lct-tegel-hart.is-active{ color:#d1495b; }
.lct-tegel-hart.is-active svg{ fill:currentColor; }

.lct-tegel-body{
	padding:13px 15px 15px;
	display:flex; flex-direction:column; gap:3px; flex:1; min-width:0;
}

/**
 * De titel staat nu BOVEN de rederijnaam.
 *
 * In het voorbeeld dat Danny aanleverde ook, en dat is beter: de reis is waar iemand op zoekt, de
 * rederij is een bijzin. Andersom leest hij op elke tegel eerst dezelfde vier merknamen.
 *
 * Hoogstens twee regels, maar GEEN vaste hoogte.
 *
 * Die vaste hoogte stond er om de voeten van de tegels uit te lijnen, maar dat doet margin-top:auto
 * op de voet al. Wat de vaste hoogte wél deed: onder een korte titel als "Westelijke Middellandse
 * Zee" een half lege regel achterlaten. Weg ermee.
 */
/**
 * v5.0.584: de tegeltitel staat op ELKE pagina in dezelfde letter.
 *
 * WAT ER MIS WAS, in de browser gemeten op 20 september:
 *
 *                     beginpagina                  /cruises/
 *   font-family       Plus Jakarta Sans            Fraunces, Times New Roman, serif
 *   font-weight       700                          600
 *
 * Dezelfde tegel, dezelfde cruise, twee verschillende letters. De oorzaak is één regel in de
 * gebundelde css:
 *
 *   .lc-index h1, .lc-index h2, .lc-index h3, .lc-index h4 { font-family: Fraunces, ... }
 *
 * De tegeltitel is een <h3>, en op /cruises/ zit hij binnen .lc-index. Die regel is bedoeld voor
 * de KOPPEN van die pagina, maar hij pakt elke h3 die er toevallig in staat, dus ook die van de
 * tegel. Op de beginpagina bestaat .lc-index niet, dus daar bleef het de huisletter.
 *
 * DE SPECIFICITEIT IS HIER HET HELE PUNT. `.lct-tegel-titel` alleen is (0,1,0) en verliest van
 * `.lc-index h3` (0,1,1). Daarom staat de tegel er als voorouder bij: (0,2,0) wint, zonder
 * !important, en zonder dat de echte koppen van /cruises/ hun serif kwijtraken.
 *
 * Dit is dezelfde les als bij de rest van de tegel: één definitie is de helft, hij moet ook
 * bestand zijn tegen de pagina waar hij in landt.
 */
.lct-tegel .lct-tegel-titel,
.lct-tegel-titel{
	margin:0; font-size:15.5px; line-height:1.3;
	font-family:var(--lct-font-body,'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif);
	font-weight:700;
	letter-spacing:-.01em; color:var(--lco-navy);
	display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;
	overflow:hidden;
}
.lct-tegel-titel a{ color:inherit; text-decoration:none; }
.lct-tegel-link::after{ content:""; position:absolute; inset:0; z-index:1; }
.lct-tegel:focus-within{ border-color:#cfe0ee; }
.lct-tegel-link:focus-visible::after{ outline:3px solid var(--lco-goud); outline-offset:-3px; border-radius:var(--lco-radius); }

.lct-tegel-rederij{
	font-size:12.5px; font-weight:600; color:var(--lco-mut);
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/**
 * v5.0.580: het schip als eigen element, met een scheepje ervoor.
 *
 * In 5.0.579 stond de naam als gewone tekstregel onder de titel, en daar viel hij weg: dezelfde
 * grootte en bijna dezelfde kleur als de drie regels eronder. Nu heeft hij een eigen vorm, zodat
 * in één oogopslag te zien is dát er een schip genoemd wordt en welk. Het is de enige eigennaam
 * op de tegel en het woord waar iemand op zoekt ("MSC Euribia cruise").
 *
 * Staat de rederij er ook (alleen als er geen logo gevonden is), dan komt die er kleiner en
 * lichter achter: dan is het verschil tussen de twee zichtbaar zonder een tweede regel.
 */
/**
 * v5.0.582: er staat "REDERIJ - SCHIPNAAM", en die regel mag nu afbreken.
 *
 * In hoofdletters is "HOLLAND AMERICA LINE - NIEUW STATENDAM" breder dan de smalste tegel. Eén
 * regel afdwingen zou de naam afkappen; twee nette regels zijn beter. Het scheepje blijft bovenaan
 * staan (align-items:flex-start) zodat het bij de eerste regel hoort en niet tussen de twee in
 * komt te zweven.
 *
 * Afbreken mag ALLEEN bij het streepje. De twee namen staan daarom in eigen spans met nowrap:
 * "HOLLAND AMERICA" / "LINE - NIEUW STATENDAM" zou erger zijn dan geen tweede regel.
 */
.lct-tegel-schipregel{
	display:flex; align-items:flex-start; gap:5px; min-width:0;
	margin:2px 0 0;
	line-height:1.35;
}
.lct-tegel-schipregel svg{ flex:0 0 auto; margin-top:1px; color:var(--lco-primair); opacity:.85; }
.lct-tegel-merknaam,
.lct-tegel-schipnaam{ white-space:nowrap; }
.lct-tegel-koppel{ opacity:.6; }

/**
 * v5.0.581: de scheepsnaam mag niet op een tweede titelregel lijken.
 *
 * In 5.0.580 stond hij er in hetzelfde donkerblauw en bijna hetzelfde gewicht als de titel, twee
 * pixels kleiner. Daardoor las de tegel als een kop van drie regels waarvan de laatste kort was,
 * en dat was precies niet de bedoeling: de titel zegt wat de reis is, het schip is een ander soort
 * gegeven.
 *
 * Nu in de vorm die de site al voor labels gebruikt: de eyebrow uit hoofdstuk 1 (hoofdletters,
 * klein, gespatieerd, in het oceaanblauw). Vier dingen tegelijk anders dan de titel (kleur,
 * grootte, kapitalen en spatiëring), zodat er geen twijfel over kan bestaan, en toch geen nieuwe
 * vormtaal: dit is hoe een label er op deze site uitziet.
 *
 * MAAT EN SPATIËRING ZIJN GEMETEN, NIET GEKOZEN. De sectiekoppen staan op 1,5px spatiëring; met
 * die waarde past de langste scheepsnaam uit de vloot niet meer. Gemeten in de smalste tegel (245
 * breed, 213 ruimte op die regel), met "Independence of the Seas" als langste echte naam:
 *
 *   11,5px / .04em  ->  219  te breed
 *   11,5px / .02em  ->  213  precies op de rand
 *   11px   / .04em  ->  210  krap
 *   11px   / .02em  ->  205  past, ook op een tegel van 240
 *
 * Het is dus 11px en .02em geworden. De hoofdletters doen het onderscheid al; de spatiëring hoeft
 * het niet nog eens over te doen ten koste van een afgekapte naam.
 */
.lct-tegel-schip{
	min-width:0;
	font-size:12px; font-weight:800; color:var(--lco-primair);
	text-transform:uppercase; letter-spacing:.02em;
	/* Hoogstens twee regels; een derde regel betekent dat er iets anders mis is. */
	display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;
	overflow:hidden;
}

/* De pillen: goud voor waarom NU, blauw voor waarom JUIST DEZE. */
.lct-kaartpillen{ display:flex; flex-wrap:wrap; gap:6px; margin:5px 0 3px; }
.lct-kaartpil{
	display:inline-flex; align-items:center; gap:4px; white-space:nowrap;
	padding:3px 8px; border-radius:999px;
	font-size:12px; font-weight:700; line-height:1.3;
}
.lct-kaartpil--goud{ background:var(--lco-goud); color:#3a2a00; }
.lct-kaartpil--blauw{ background:#eaf3fa; color:var(--lco-primair); }
/**
 * v5.0.573: "Vanuit Nederland" staat nu bij de andere pillen in plaats van op de foto.
 *
 * Als enige met een VOLLE kleur, want hij zegt iets anders dan de andere twee. Goud en lichtblauw
 * zijn verleiding (nú kijken, juist deze); dit is een feit over de reis waar je op filtert. Een
 * volle kleur zet hem apart zonder dat er een vierde vorm bij komt.
 */
.lct-kaartpil--nl{ background:var(--lco-primair); color:#fff; }
/**
 * v5.0.577: "Alleen volwassenen", hetzelfde soort label maar met een eigen vorm.
 *
 * Het is net als "Vanuit Nederland" een feit waarop je filtert, geen verleiding. Maar twee volle
 * blauwe pillen naast elkaar wordt een blauw blok waarin je geen van beide meer leest. Daarom een
 * omlijnde in plaats van een gevulde: hij staat duidelijk in dezelfde familie, zonder het gewicht
 * te verdubbelen.
 *
 * Geen rood of oranje: dit is geen waarschuwing. Voor een stel is het juist een plus, en alleen
 * voor een gezin een reden om verder te kijken. De vorm zegt "dit moet je weten", niet "let op".
 */
.lct-kaartpil--feit{
	background:#fff;
	color:var(--lco-navy);
	box-shadow:inset 0 0 0 1px #c7d7e4;
}
.lct-kaartpil--feit svg{ opacity:.75; }
/* v5.0.667: badge Familiecruise, in het geel van de kindermodus, zodat hij opvalt naast de blauwe. */
.lct-kaartpil--gezin{ background:#FFF3D1; color:#6B4A00; box-shadow:inset 0 0 0 1px #F2D27A; }
.lct-kaartpil--gezin svg{ opacity:1; }
.lct-kaartpil svg{ width:13px; height:13px; flex:0 0 auto; }

/* De feitenregels: een icoontje en een regel tekst. */
.lct-tegel-regel{
	display:flex; align-items:flex-start; gap:6px; min-width:0;
	font-size:12.5px; line-height:1.45; color:var(--lco-mut);
}
.lct-tegel-regel svg{ flex:0 0 auto; margin-top:1px; opacity:.85; }
.lct-tegel-regel > span{ min-width:0; }
.lct-tegel-regel.is-lastminute{ color:#9a6a12; font-weight:600; }
.lct-tegel-tot{ opacity:.7; }

/**
 * v5.0.578: het kopje voor "Vertrek", "Aankomst" en "Vertrek en aankomst".
 *
 * Deze regels stonden eerst allemaal samengeperst in de opsomming onder "Aanleghavens". Live op de
 * AIDA-tegel las dat als: "Kiel, Duitsland · Stavanger · … · Kiel, Duitsland". Kiel twee keer, en
 * de eerste en de laatste zijn helemaal geen aanleghaven: dat is waar je AAN BOORD stapt en waar
 * je er weer af komt.
 *
 * Zelfde vorm als de kop bij de aanleghavens (vet en donker), zodat je de drie regels als één
 * groepje leest en niet als drie losse mededelingen.
 */
.lct-tegel-plaatskop{
	font-weight:700; color:var(--lco-navy);
}
.lct-tegel-plaatskop::after{ content:"\00a0\00b7"; font-weight:400; opacity:.45; }

/**
 * De aanleghavens.
 *
 * Bewust "Aanleghavens" en niet "Vaarroute": een vaarroute klinkt als een lijn op een kaart,
 * aanleghavens zijn de plaatsen waar je werkelijk van boord stapt. Het is ook het woord dat de
 * rest van de site gebruikt.
 *
 * Twee regels, dan puntjes. Acht havens met land erachter maken de tegel anders twee keer zo hoog
 * als de foto, en dan verspringen de voeten van de tegels in een rij.
 */
.lct-tegel-havens{
	margin-top:3px; font-size:12.5px; line-height:1.45;
	display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;
	overflow:hidden;
}
.lct-tegel-havenskop{
	font-weight:700; color:var(--lco-navy);
}
.lct-tegel-havenskop::after{ content:": "; }
.lct-tegel-havenslijst{ color:var(--lco-mut); }

/* De voet: prijs links, knop rechts, op één lijn onderaan. */
.lct-tegel-voet{
	margin-top:auto; padding-top:11px;
	border-top:1px solid var(--lco-lijn);
	/**
	 * Prijs boven, knop eronder over de VOLLE breedte.
	 *
	 * In het voorbeeld staan ze naast elkaar, en op een tegel van 350 pixels zou dat ook passen.
	 * Maar bij 248 pixels niet, en dan sloeg de knop om naar de volgende regel met een lege strook
	 * ernaast: dat leest als een fout in plaats van als een keuze. Eén vorm die op elke breedte
	 * hetzelfde is, is rustiger, en een knop over de volle breedte is op een telefoon bovendien
	 * makkelijker te raken.
	 */
	display:flex; flex-direction:column; align-items:stretch; gap:9px;
}
/**
 * De andere vertrekdata, als eigen blokje boven de prijs en de knop. v5.0.580
 *
 * In 5.0.579 was dit een grijze regel met "12 vertrekdata t/m mrt 2028". Dat las als een
 * voetnoot bij de prijs, en het vroeg de bezoeker zelf te bedenken dat er dus misschien een
 * datum tussen zit die hem wél schikt. Als apart vlak met de data erin is het een aanbod in
 * plaats van een mededeling.
 *
 * Een eigen achtergrond en rand, want hij moet zich losmaken van de prijs eronder zonder ermee
 * te concurreren: geen kleur die schreeuwt, wel een eigen vorm.
 *
 * Eén regel, altijd. Wordt dit blokje twee regels hoog, dan zakt de knop en worden de tegels in
 * een rij ongelijk. Past het niet, dan valt het eind weg met een beletselteken; de kalender, het
 * woord "Ook op" en de eerste datum zijn dan nog te zien, en dat is de helft die telt.
 */
.lct-tegel-data{
	display:flex; align-items:center; gap:5px;
	padding:5px 8px; border-radius:10px;
	background:var(--lco-vel); border:1px solid var(--lco-lijn);
	font-size:12px; line-height:1.3;
	white-space:nowrap; overflow:hidden;
}
.lct-tegel-data svg{ flex:0 0 auto; color:var(--lco-primair); opacity:.85; }

/* =====================================================================
   DE DATABALK DIE OPENKLAPT (v5.0.582)

   Met <details> en <summary>, niet met javascript. De browser doet het
   openklappen zelf, het werkt ook als main.js faalt, en een schermlezer
   kent deze vorm uit zichzelf. Vandaag ging er nog een hartje stuk
   doordat een bindfunctie twee keer draaide; die hele klasse fouten
   bestaat hier niet.

   Z-INDEX 2 IS HIER GEEN OPSMUK MAAR DE WERKING. De titel-link van de
   tegel ligt als onzichtbaar vlak over de HELE tegel
   (.lct-tegel-link::after, z-index 1) zodat je overal kunt klikken.
   Zonder een hogere laag hier vangt dat vlak elke klik op de balk af en
   beland je op de cruisepagina in plaats van dat er iets openklapt.
   ===================================================================== */
/**
 * De rand en de achtergrond zitten op het HELE vak, niet op de balk.
 *
 * Anders staat de uitgeklapte lijst buiten het vlakje te zweven en lijkt hij bij de prijs te
 * horen in plaats van bij de balk waar je op klikte. Zo groeit het vlakje mee en blijft het één
 * ding.
 */
.lct-tegel-datavak{
	position:relative; z-index:2;
	background:var(--lco-vel); border:1px solid var(--lco-lijn); border-radius:10px;
}
.lct-tegel-datavak > .lct-tegel-data{ background:none; border:0; border-radius:0; }
.lct-tegel-datavak > summary{
	cursor:pointer; list-style:none;
	-webkit-tap-highlight-color:transparent;
}
.lct-tegel-datavak > summary::-webkit-details-marker{ display:none; }
.lct-tegel-datavak:hover{ border-color:#cfe0ee; }
.lct-tegel-datavak > summary:focus-visible{
	outline:3px solid var(--lco-goud); outline-offset:-1px; border-radius:10px;
}
/* Het pijltje staat rechts en draait mee; zo is te zien dat er iets te openen valt. */
.lct-tegel-datapijl{
	display:inline-flex; margin-left:auto; color:var(--lco-primair);
	transition:transform .15s ease;
}
.lct-tegel-datavak[open] .lct-tegel-datapijl{ transform:rotate(180deg); }
/* Staat de teller er ook, dan duwt díe al naar rechts en hoeft het pijltje dat niet nog eens. */
.lct-tegel-datameer + .lct-tegel-datapijl{ margin-left:3px; }

/**
 * De lijst erft de maat NIET van de balk, want hij staat ernaast en niet erin.
 *
 * Zonder deze regel pakt hij de letter van de tegel (14px) en werden de uitgeklapte data
 * zichtbaar groter dan de datum in de balk erboven: dezelfde soort gegevens, twee maten.
 */
.lct-tegel-datalijst{
	display:flex; flex-wrap:wrap; gap:5px;
	padding:2px 8px 8px;
	font-size:12px; line-height:1.3;
	border-top:1px solid var(--lco-lijn); margin-top:1px; padding-top:8px;
}
.lct-tegel-datum--link{ text-decoration:none; }
.lct-tegel-datum--link:hover{ border-color:var(--lco-primair); color:var(--lco-primair); }
.lct-tegel-dataalles{
	align-self:center; font-size:12px; font-weight:700;
	color:var(--lco-primair); text-decoration:underline;
}
@media (prefers-reduced-motion:reduce){
	.lct-tegel-datapijl{ transition:none; }
}
/**
 * Niets in dit blokje krimpt.
 *
 * Eerst stond er text-overflow:ellipsis op het label en de data, zodat het "netjes" zou afkappen
 * als het krap werd. Dat pakte omgekeerd uit: drie pixels tekort gaf "Ook ... 12 S... 26 S... +9",
 * want een beletselteken kost meer ruimte dan het bespaart. De inhoud is nu zo gekozen dat hij
 * altijd past (één datum), en flex-shrink:0 zorgt dat hij bij een onverwacht lange tekst liever
 * aan de rand wegloopt dan dat elk woord half wordt afgekapt.
 */
.lct-tegel-datakop{ flex:0 0 auto; font-weight:700; color:var(--lco-mut); }
/* De datum zelf op een wit plaatje, zodat hij als keuze leest en niet als doorlopende tekst. */
.lct-tegel-datum{
	flex:0 0 auto;
	background:var(--lco-wit); border:1px solid var(--lco-lijn); border-radius:7px;
	padding:1px 6px; font-weight:700; color:var(--lco-ink);
}
/**
 * De teller staat rechts en krimpt nooit.
 *
 * Wordt het te krap, dan moet er een datum wijken en niet dit: "+9" is het deel dat zegt dat er
 * nog meer is, en zonder dat leest het blokje als een volledige opsomming van twee data.
 */
.lct-tegel-datameer{ flex:0 0 auto; margin-left:auto; font-weight:700; color:var(--lco-primair); }

/**
 * "Enkele reis", de regel vlak boven de knop. v5.0.586
 *
 * BEWUST GEEN VLAK ZOALS DE DATABALK. Er staan in de voet al een databalk, een prijs en een knop;
 * een vierde omkaderd blok maakt er een stapel van en dan wint niets meer. Dit is een regel, met
 * een pijl van een punt naar een punt ervoor: dat tekent precies wat er gebeurt, van de ene haven
 * naar de andere.
 *
 * GEEN GOUD EN GEEN ROOD. Goud betekent op deze tegel "waarom NU" (last minute) en rood een
 * korting boven de 25 procent. Dit is geen urgentie en geen aanbieding maar een feit over de reis,
 * dus het staat in de gewone tekstkleur met het icoon in het huisblauw, net als de plaatsregels
 * erboven. Wie er wel naar zoekt vindt het; wie erover leest struikelt er niet over.
 *
 * EEN REGEL, EN DAAR PAST MAAR TWEE WOORDEN OP. Er stond eerst "andere aankomsthaven" achter, en
 * dat werd op een tegel van 258 pixels op élke tegel afgekapt tot "andere aankomst…". Dezelfde
 * fout die de databalk hierboven al een keer onleesbaar maakte: een beletselteken kost meer
 * ruimte dan het bespaart. De uitleg zit nu in de title, en de tegel verklaart het woord zelf,
 * want drie regels hoger staat "Vertrek · Barcelona" en "Aankomst · Miami".
 */
/**
 * v5.0.596: de rij onder de prijs. Nachtprijs links, "Enkele reis" rechts.
 *
 * Hij staat er ALTIJD, ook leeg. Zou hij alleen komen als er iets in staat, dan is de voet van
 * een tegel zonder nachtprijs en zonder enkele reis weer een regel korter dan die van de buurman,
 * en dan staat ook de balk met de vertrekdata erboven niet meer op dezelfde hoogte. Dat is precies
 * wat we aan het oplossen zijn.
 *
 * align-items:baseline en niet center: de nachtprijs is 11,5 pixels en "Enkele reis" 12, en op de
 * grondlijn uitgelijnd leest dat als één regel in plaats van twee dingen die toevallig naast
 * elkaar staan.
 */
.lct-tegel-prijsrij{
	display:flex; align-items:center; justify-content:space-between; gap:8px;
	min-width:0; margin-top:1px;
	/**
	 * VASTE HOOGTE, EN DAAR ZIT EEN METING ONDER. Met align-items:baseline was de rij 15,5 pixels
	 * hoog met alleen een nachtprijs en 20,2 met "Enkele reis" erbij, want daar zit een tekening
	 * van 14 bij 14 in. Dat verschil van 4,7 pixels kwam via de voet weer terug in de balk met de
	 * vertrekdata: gemeten 1 tot 2 pixels verschil tussen twee tegels naast elkaar. Nauwelijks te
	 * zien, maar Danny's vraag was dat ze GELIJK staan, en dan is bijna gelijk niet goed genoeg.
	 *
	 * Met een vaste 20 pixels en de inhoud in het midden is de rij even hoog of hij nu leeg is,
	 * alleen een nachtprijs bevat, of allebei.
	 */
	height:20px;
}
.lct-tegel-prijsrij .lct-tegel-nacht{ margin-top:0; min-width:0; }
.lct-tegel-enkel{
	display:flex; align-items:center; gap:5px;
	/**
	 * margin-left:auto en niet alleen space-between op de rij. Bij "Prijs op aanvraag" is er geen
	 * nachtprijs, en dan zet space-between het enige kind gewoon links. Met auto-marge staat
	 * "Enkele reis" rechts, of er nu iets links van hem staat of niet.
	 */
	flex:0 0 auto; margin-left:auto;
	font-size:12px; line-height:1.3; color:var(--lco-ink);
	white-space:nowrap; overflow:hidden;
}
.lct-tegel-enkel svg{ flex:0 0 auto; color:var(--lco-primair); }
.lct-tegel-enkel span{ min-width:0; font-weight:800; overflow:hidden; text-overflow:ellipsis; }

/**
 * v5.0.594: HET PRIJSVAK HOUDT ZIJN HOOGTE, OOK ALS ER GEEN PRIJS IS.
 *
 * Danny's vraag was simpel: de prijzen op dezelfde hoogte. De knoppen stonden al op één lijn,
 * want de voet hangt met margin-top:auto aan de onderkant van de tegel. De prijs niet, en er
 * waren twee oorzaken, allebei gemeten in een browser in plaats van ingeschat:
 *
 *   "Enkele reis" stond tussen de prijs en de knop en staat maar op een deel van de tegels  23px
 *   "Prijs op aanvraag" is één korte regel, een gewone prijs is er twee met de nachtprijs    28px
 *
 * De eerste is opgelost door de regel boven de prijs te zetten (zie cruise-card.php). De tweede
 * hier: het vak is even hoog als een prijs mét nachtprijs, gemeten op 47,2 pixels en afgerond naar 48. Een tegel zonder
 * prijs heeft dan wat lucht onder de regel in plaats van een knop die omhoog kruipt.
 *
 * Het is een MINIMUM en geen vaste hoogte: zou een heel lange prijs ooit over twee regels lopen,
 * dan mag het vak meegroeien in plaats van de tekst af te knijpen.
 */
/**
 * v5.0.596: de hoogte komt nu uit de twee regels zelf, niet uit een minimum op het vak.
 *
 * Het vak is de prijsregel (vast 28) plus de rij eronder (vast 20). Daarmee is hij 49 pixels,
 * of er nu een prijs staat, "Prijs op aanvraag", of een prijs met nachtprijs en enkele reis. Het
 * minimum blijft eronder staan als vangnet voor het geval een van beide ooit wegvalt.
 */
.lct-tegel-prijsvak{ min-width:0; min-height:48px; }
.lct-tegel-prijs{ min-height:28px; }
.lct-tegel-prijs{
	display:flex; align-items:baseline; gap:5px; flex-wrap:wrap;
	color:var(--lco-ink);
}
.lct-tegel-prijs strong{
	font-size:17.5px; font-weight:800; color:var(--lco-primair); letter-spacing:-.02em;
}
.lct-tegel-prijs small{ font-size:12px; color:var(--lco-mut); font-weight:600; }
.lct-tegel-vanaf{ font-size:12px; color:var(--lco-mut); font-weight:600; }
.lct-tegel-oud{ font-size:12px; color:var(--lco-mut); text-decoration:line-through; }
.lct-tegel-prijs--nb{ color:#9a6a12; font-weight:700; font-size:12.5px; }

/**
 * v5.0.574: bij 25 procent korting of meer kleurt de prijs ROOD in plaats van blauw.
 *
 * Blauw is de kleur van de site: hij staat op de knop, in de links en op elke prijs. Precies
 * daarom valt een blauwe prijs niet op tussen twintig andere blauwe prijzen, ook niet als er
 * honderden euro's af zijn.
 *
 * Rood is de enige plek op de tegel waar die kleur voorkomt, en dat is de bedoeling: wie een rij
 * langsloopt ziet in één oogopslag waar de scherpe aanbiedingen zitten. Onder de 25 procent
 * gebeurt er niets, anders is straks elke prijs rood en zegt de kleur weer niets.
 *
 * WELK rood, en waarom niet het felste. #C62828 haalt 5,6 op wit; het felle #E53935 dat je overal
 * ziet haalt 4,2 en zakt daarmee onder de eis van 4,5 voor gewone tekst. Dat zou hier opgaan voor
 * de vette prijs (die is groot genoeg) maar niet voor het kleine "v.a." ernaast. Eén rood voor
 * allebei is rustiger dan twee tinten naast elkaar.
 *
 * De doorgestreepte oude prijs ernaast blijft grijs; die hoort juist weg te vallen.
 */
.lct-tegel-prijs--roos strong{ color:#C62828; }
.lct-tegel-prijs--roos .lct-tegel-vanaf{ color:#C62828; opacity:.85; }
.lct-tegel-nacht{ font-size:12px; color:var(--lco-mut); margin-top:1px; }

/**
 * "Bekijk cruise".
 *
 * Een <span> en geen <a>: de hele tegel is al klikbaar via de titel-link die er met ::after
 * overheen ligt. Een tweede link naar dezelfde plek zou in de tabvolgorde en bij een schermlezer
 * dubbel staan. Hij is dus versiering die uitnodigt, en de link eronder doet het werk.
 */
.lct-tegel-knop{
	display:flex; align-items:center; justify-content:center; gap:5px;
	padding:9px 12px; border-radius:10px;
	background:var(--lco-primair); color:#fff;
	font-size:12.5px; font-weight:700; line-height:1.2; white-space:nowrap;
	transition:background .15s;
}
.lct-tegel:hover .lct-tegel-knop{ background:#0a5a93; }
.lct-tegel-knop svg{ flex:0 0 auto; }



@media (max-width:520px){
	.lct-tegel-body{ padding:12px 13px 13px; }
	/* Op een telefoon staat er één tegel per rij en valt er niets uit te lijnen,
	   dus geen vaste titelhoogte: dat zou een gat onder elke korte titel geven. */
	.lct-tegel-titel{ font-size:16px; min-height:0; -webkit-line-clamp:3; line-clamp:3; }
	.lct-tegel-havens{ -webkit-line-clamp:3; line-clamp:3; }
	.lct-tegel-knop{ padding:11px 14px; font-size:13.5px; }
}


/* =====================================================================
   4. SOORTGELIJKE CRUISES OP DE CRUISEPAGINA
   Zelfde kaartvorm, zodat een bezoeker die van het overzicht naar een
   cruise klikt onderaan niet ineens een ander soort tegel ziet.
   ===================================================================== */
.lcd-simkaart{
	background:var(--lco-wit); border:1px solid var(--lco-lijn);
	border-radius:var(--lco-radius); overflow:hidden; box-shadow:none;
}
.lcd-simkaart:hover{ border-color:#cfe0ee; box-shadow:0 10px 26px rgba(10,37,64,.10); }
.lcd-simkaart-titel{
	font-family:'Instrument Serif',Georgia,serif; font-weight:400;
	font-size:17px; line-height:1.2; color:var(--lco-navy);
}
.lcd-simkaart-meta{
	font-size:12px; letter-spacing:1.1px; text-transform:uppercase;
	font-weight:800; color:var(--lco-mut);
}

/* =====================================================================
   5, 6 en 8. VAARGEBIEDEN, AANLEGHAVENS EN HET BLOK OVER DANNY
   ---------------------------------------------------------------------
   TERUGGEDRAAID IN v5.0.561, EN DIT IS DE LES

   In 5.0.558 heb ik deze drie blokken naar de kaartvorm van het portaal
   getrokken: foto op verhouding, tekst eronder, witte kaart. Dat was fout,
   en wel op dezelfde manier bij alle drie.

   Ze zijn namelijk niet gebouwd als "foto met tekst eronder". Ze zijn
   gebouwd als "foto met tekst EROVERHEEN":

     .lct-destination-card  height:240px, img height:100%, een gradient
                            via ::after, en de tekst absoluut op bottom:20px
     .lct-haven-kaart       hetzelfde patroon
     .lct-danny2            een navy paneel met witte tekst

   Door de foto op aspect-ratio te zetten werd die ineens 150 pixels hoog
   in een kaart van 240, bleef er een grijs gat over, en stond de tekst die
   absoluut gepositioneerd is nog steeds onderaan, boven niets, in een
   kleur die daar niet leesbaar is. Bij Danny werden de vier cijfers witte
   tegels met grijze letters op een donkerblauw paneel.

   Een halve verbouwing is slechter dan geen verbouwing. Deze drie blokken
   staan nu weer precies zoals ze stonden.

   Wil je ze alsnog in de kaartvorm, dan moet de HTML mee (de tekst uit de
   absolute positie halen, de gradient weg, de vaste hoogte weg). Dat is een
   eigen klus met een eigen controle, geen regel die je er even bij zet.
   ===================================================================== */

/* =====================================================================
   7. REISVERSLAGEN EN NIEUWS
   Deze kaarten zijn wél "foto met tekst eronder", dus hier klopt de
   kaartvorm wel. Nagekeken op de live pagina.
   ===================================================================== */
.lct-stories-grid{ gap:16px; }
.lct-story-card{
	background:var(--lco-wit); border:1px solid var(--lco-lijn);
	border-radius:var(--lco-radius); overflow:hidden; box-shadow:none;
	transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lct-story-card:hover{
	transform:translateY(-2px); border-color:#cfe0ee;
	box-shadow:0 10px 26px rgba(10,37,64,.10);
}
.lct-story-card-body{ padding:12px 15px 15px; }
.lct-story-card-meta{
	font-size:12px; letter-spacing:1.1px; text-transform:uppercase;
	font-weight:800; color:var(--lco-mut);
}
.lct-story-card-title{
	font-weight:700; font-size:16px; line-height:1.3; color:var(--lco-navy); margin-top:4px;
}

/* =====================================================================
   9. KLEINE DINGEN DIE OVERAL TERUGKOMEN
   ===================================================================== */
.lct-section-alle{ color:var(--lco-primair); font-weight:700; }
.lct-btn-outline{ border-radius:999px; }
.lct-btn-primary{ border-radius:999px; }

@media (prefers-reduced-motion:reduce){
	.lct-tegel,
	.lct-story-card{ transition:none; }
	.lct-tegel:hover,
	.lct-story-card:hover{ transform:none; }
}

/* =====================================================================
   10. MINDER LUCHT TUSSEN DE BLOKKEN (v5.0.559)

   WAT ER AAN DE HAND WAS
   De ruimte tussen twee secties staat in main.css als clamp(), en die
   groeit mee met de schermbreedte. Op een smal scherm valt dat niet op,
   maar op een laptop van 1400 pixels rekent hij als volgt uit:

     .lct-section              padding 84px boven en onder
     .lct-section + .lct-section  daar bovenop 63px
     .lct-section-header       nog eens 40px onder de kop
     .lct-section--pb-l        100px onderaan

   Tussen twee blokken zat dus ongeveer 147 pixels leeg, en nog eens 40
   tussen een kop en wat eronder staat. Op de beginpagina staan zeven van
   die blokken onder elkaar; dan scroll je vooral langs niets.

   WAT ER VERANDERT
   Alleen de vw-factor en het maximum gaan omlaag, niet het minimum: op
   een telefoon was het al krap genoeg en daar verandert dus niets. Op
   1400 pixels wordt het samen 83 in plaats van 147 pixels, zo'n veertig
   procent minder, en de blokken blijven duidelijk van elkaar gescheiden.

   Lucht is geen verspilling; te véél lucht maakt van één pagina een reeks
   losse pagina's. Dit is het verschil tussen ademruimte en afstand.
   ===================================================================== */
.lct-section{ padding:clamp(34px,3.4vw,56px) 0; }
.lct-section + .lct-section{ padding-top:clamp(26px,2.6vw,42px); }
.lct-section-sm{ padding:48px 0 28px; }
.lct-section-header{ margin-bottom:clamp(18px,1.8vw,28px); }
.lct-section-header p{ margin-top:12px; }
.lct-section--pt-s{ padding-top:16px; }
.lct-section--pt-m{ padding-top:30px; }
.lct-section--pt-l{ padding-top:36px; }
.lct-section--pb-l{ padding-bottom:64px; }
.lct-section--afsluiter{ padding:0 24px 64px; }
.lct-center-blok{ margin-top:26px; }
.lct-section-header--ruim{ margin-bottom:26px; }

/* Het blok met de vaargebieden en de havens eronder is één onderwerp; daar
   hoeft geen sectie-afstand tussen. */
.lct-havens-blok{ margin-top:clamp(22px,2.2vw,34px); }


/* =====================================================================
   v5.0.567: BELLEN IN DE MOBIELE KOP

   De donkere balk bovenin, waar het telefoonnummer staat, gaat onder de
   700 pixels op display:none. Daarmee stond op een telefoon de enige
   belknop nog in het uitklapmenu: twee tikken, op het apparaat waarmee je
   nu juist kunt bellen. Deze knop verschijnt precies daar waar die balk
   verdwijnt, dus nooit allebei tegelijk.
   ===================================================================== */
.lct-kop-bellen{ display:none; }

@media (max-width:700px){
	.lct-kop-bellen{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		flex:0 0 auto;
		width:40px;
		height:40px;
		margin-right:4px;
		border-radius:999px;
		background:var(--lct-primary,#0F75BC);
		color:#fff;
		text-decoration:none;
		box-shadow:0 1px 3px rgba(15,117,188,.30);
	}
	.lct-kop-bellen:hover,
	.lct-kop-bellen:focus{ color:#fff; background:var(--lct-primary-dark,#0a5a93); }
	.lct-kop-bellen:focus-visible{ outline:2px solid #C9A227; outline-offset:2px; }
}

/* Op een heel smal scherm (iPhone SE, 320 px) moet logo, zoeken, bellen en
   het hamburgermenu samen passen. Vier pixels eraf is genoeg; kleiner dan
   36 px wordt het een doelwit dat je misttikt. */
@media (max-width:360px){
	.lct-kop-bellen{ width:36px; height:36px; margin-right:2px; }
}


/* =====================================================================
   v5.0.567: DELEN EN PRINT AAN HET EIND VAN DE CRUISEPAGINA

   Ze stonden boven de titel. Daar heeft een bezoeker de pagina nog niet
   gelezen en heeft hij dus ook niets om te delen of mee te nemen. Hier
   staan ze na de tabbladen, op het moment dat dat wél speelt.

   Rustig gehouden: dit is geen oproep die met de offerteknop moet
   concurreren, het is een nette afronding.
   ===================================================================== */
.lc-slotacties{ padding:8px 24px 44px; }

.lc-slotacties-inner{
	max-width:1400px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:10px 16px;
	padding-top:22px;
	border-top:1px solid var(--lct-border,#E4ECF3);
}

.lc-slotacties-tekst{
	font-size:14.5px;
	color:var(--lct-text-muted,#5F7288);
}

.lc-slotacties-knoppen{
	display:inline-flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
}

@media (max-width:520px){
	.lc-slotacties{ padding:4px 16px 36px; }
	.lc-slotacties-inner{ flex-direction:column; gap:12px; }
	.lc-slotacties-tekst{ text-align:center; }
}

/* Op de cruisepagina staat dit blok IN .lcd-onder, en dat is al een kolom met
   eigen zijmarges (28 px, 16 op een telefoon) en een gat van 22 px tussen de
   blokken. Daar hoeft geen tweede laag lucht omheen; anders staat de regel
   ingesprongen ten opzichte van de nieuwsbrief erboven. */
.lcd-onder .lc-slotacties{ padding:0; }
.lcd-onder .lc-slotacties-inner{ padding-top:20px; max-width:none; }

@media (max-width:520px){
	.lcd-onder .lc-slotacties{ padding:0; }
}


/* =====================================================================
   v5.0.569: "NOG NOOIT GECRUISED?"

   De derde deur op de beginpagina, voor wie nog niet weet of cruisen iets
   voor hem is. Staat tussen de zoekbalk en de uitgelichte cruises.

   Rustig gehouden, met opzet. Dit is een zijdeur voor wie hem nodig heeft,
   geen derde reclameblok waar iedereen langs moet. Daarom geen foto's, geen
   schaduwen en geen felle kleur: alleen de derde keuze krijgt nadruk, want
   daar moet het heen.
   ===================================================================== */
.lct-nieuw-hier{
	padding:clamp(26px,2.6vw,40px) 0 clamp(8px,1vw,14px);
}

.lct-nieuw-hier-binnen{
	background:var(--lct-bg-subtle,#F6FAFD);
	border:1px solid var(--lct-border,#E4ECF3);
	border-radius:18px;
	padding:clamp(20px,2.2vw,30px);
	display:grid;
	grid-template-columns:minmax(210px,1fr) 2fr;
	gap:clamp(18px,2vw,30px);
	align-items:center;
}

.lct-nieuw-hier-eyebrow{
	margin:0 0 6px;
	font-size:12px;
	font-weight:700;
	letter-spacing:1.4px;
	text-transform:uppercase;
	color:var(--lct-primary,#0F75BC);
}

.lct-nieuw-hier h2{
	margin:0 0 8px;
	font-size:clamp(21px,2.1vw,27px);
	line-height:1.2;
}

.lct-nieuw-hier-lead{
	margin:0;
	font-size:14.5px;
	line-height:1.55;
	color:var(--lct-text-muted,#5F7288);
}

.lct-nieuw-hier-deuren{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
}

.lct-nieuw-deur{
	display:flex;
	flex-direction:column;
	gap:5px;
	padding:14px 16px;
	background:#fff;
	border:1px solid var(--lct-border,#E4ECF3);
	border-radius:12px;
	text-decoration:none;
	color:var(--lct-text,#1A2A3E);
	transition:border-color .15s, transform .15s;
}

.lct-nieuw-deur:hover,
.lct-nieuw-deur:focus-visible{
	border-color:var(--lct-primary,#0F75BC);
	transform:translateY(-1px);
	color:var(--lct-text,#1A2A3E);
}

.lct-nieuw-deur-kop{
	font-size:14.5px;
	font-weight:700;
	line-height:1.3;
}

.lct-nieuw-deur-sub{
	font-size:12.5px;
	line-height:1.45;
	color:var(--lct-text-muted,#5F7288);
}

/* De derde deur is waar het heen moet, dus die krijgt als enige kleur. */
.lct-nieuw-deur.is-nadruk{
	background:var(--lct-primary,#0F75BC);
	border-color:var(--lct-primary,#0F75BC);
	color:#fff;
}
.lct-nieuw-deur.is-nadruk .lct-nieuw-deur-sub{ color:rgba(255,255,255,.82); }
.lct-nieuw-deur.is-nadruk:hover,
.lct-nieuw-deur.is-nadruk:focus-visible{
	background:var(--lct-primary-dark,#0a5a93);
	border-color:var(--lct-primary-dark,#0a5a93);
	color:#fff;
}

/* Onder de 900 px past twee kolommen tekst-naast-deuren niet meer. */
@media (max-width:900px){
	.lct-nieuw-hier-binnen{ grid-template-columns:1fr; }
	.lct-nieuw-hier-deuren{ grid-template-columns:1fr 1fr; }
	.lct-nieuw-deur.is-nadruk{ grid-column:1 / -1; }
}

/* Op een telefoon onder elkaar. Gemeten op 375 px is het hele blok 425 pixels
   hoog, ruim een half scherm. Dat klinkt veel, maar het staat vóór 5.979
   pixels aan cruisetegels en het haalt de ingang voor de twijfelaar van
   y=7.606 naar ongeveer y=1.280. Die ruil is hem waard. */
@media (max-width:560px){
	.lct-nieuw-hier{ padding:20px 0 4px; }
	.lct-nieuw-hier-binnen{ padding:18px 16px; border-radius:14px; }
	.lct-nieuw-hier-deuren{ grid-template-columns:1fr; gap:10px; }
	.lct-nieuw-deur{ padding:12px 14px; }
}


/* =====================================================================
   v5.0.570: "NOG NOOIT GECRUISED?" OP DE CRUISEPAGINA

   Eén regel vlak boven het offerteblok. Bewust geen kaart en geen kleur:
   hij staat pal boven "Vraag deze cruise persoonlijk aan" en mag daar niet
   mee concurreren. Wie hem nodig heeft ziet hem, wie hem niet nodig heeft
   leest eroverheen.
   ===================================================================== */
.lcd-eerstekeer{
	margin:0;
	padding:13px 16px;
	background:var(--lct-bg-accent,#EAF6FC);
	border:1px solid var(--lct-border,#E4ECF3);
	border-radius:12px;
	font-size:14px;
	line-height:1.55;
	color:var(--lct-text-mid,#3D5773);
}

.lcd-eerstekeer-label{
	font-weight:700;
	color:var(--lct-navy,#0A2540);
}

.lcd-eerstekeer a{
	color:var(--lct-primary,#0F75BC);
	font-weight:600;
	text-decoration:underline;
	text-underline-offset:2px;
}

.lcd-eerstekeer a:hover{ color:var(--lct-primary-dark,#0a5a93); }

@media (max-width:520px){
	.lcd-eerstekeer{ padding:12px 14px; font-size:13.5px; }
}

/* =====================================================================
   HET MEGAMENU: ÉÉN RAAMWERK VOOR ALLE NEGEN PANELEN (v5.0.588)

   WAT ER MIS WAS. Er waren zes panelen en elk had zijn eigen indeling:
   --4col, --sm, --news, --contact, --zoek. Het cruisespaneel had foto's,
   de rest was een rijtje tekstlinks. Zes losse dingen achter één balk.
   En bij drie van de acht menu-items gebeurde er niets: Beginpagina,
   Havens en Over mij hadden geen paneel.

   WAT HET NU IS. Eén raamwerk, negen panelen, dezelfde drie kolommen:
   hoofd (foto-kaarten), zij (links met icoon), promo (foto met knop),
   met daaronder één voetregel. Niet elk paneel vult alle drie, maar wat
   er is staat altijd op dezelfde plek en heeft altijd dezelfde maat.

   DE SELECTOREN ZIJN MET OPZET (0,2,0) EN NIET (0,1,0).
   main.css zet display:grid met drie kolommen rechtstreeks op .lct-mega,
   en mijn nieuwe opbouw heeft daar een wikkel tussen. Gelijke
   specificiteit zou betekenen dat de volgorde van de bestanden beslist,
   en die bestanden worden op deze site door een optimalisatieplugin
   samengevoegd tot gehashte bundels. Op de volgorde daarvan wil ik niet
   hoeven vertrouwen: dat is precies hoe de tegeltitel op /cruises/ in de
   verkeerde letter belandde. [data-mega] erbij maakt het een niveau
   sterker, zonder !important.
   ===================================================================== */

/**
 * v5.0.590: het paneel ligt in de TOP LAYER (popover), en dat vraagt drie dingen van de css.
 *
 * 1. DE BROWSER VERBERGT EEN GESLOTEN POPOVER ZELF, MAAR ALLEEN IN ZIJN EIGEN STIJLBLAD. En een
 *    stijlblad van de site wint ALTIJD van het stijlblad van de browser, ongeacht specificiteit.
 *    main.css zet display:grid op .lct-mega. Dat is een sitestijl, dus die wint van de
 *    browserregel display:none, en dan staan alle negen panelen altijd open. Daarom zet ik het
 *    verbergen van een gesloten paneel hier zelf neer, als sitestijl.
 *
 * 2. DISPLAY IS DAAROM GESPLITST. Zichtbaar is een paneel dat GEEN popover is (de terugval voor
 *    een oudere browser) of een popover die ECHT open staat. Alles daartussen is display:none.
 *
 * 3. DE BROWSER GEEFT EEN POPOVER EEN RAND, PADDING EN margin:auto. Die drie worden hier
 *    teruggedraaid. De plaatsing NIET: left/right uit main.css en de top die het script zet
 *    zijn sitestijlen en winnen al van de inset:0 van de browser. Zou ik hier inset:auto zetten,
 *    dan zou ik juist die plaatsing wegvagen en het paneel half buiten beeld schuiven.
 */
.lct-mega[data-mega][popover]:not(:popover-open){ display:none; }
.lct-mega[data-mega]:not([popover]),
.lct-mega[data-mega][popover]:popover-open{ display:block; }

.lct-mega[data-mega]{
	width:min(1240px,calc(100vw - 48px));
	background:var(--lco-wit); color:var(--lco-ink);
	border-radius:18px; overflow:hidden;
	/* De browserstijlen van een popover terugdraaien. */
	border:0; padding:0; margin:0; bottom:auto;
}
.lct-mega[data-mega] .lct-mega-in{
	display:grid;
	grid-template-columns:1.6fr 1fr .9fr;
	align-items:start;
}
/* Panelen met twee kolommen laten de derde gewoon weg; de rest schuift niet. */
.lct-mega[data-mega] .lct-mega-in > *{ padding:22px 22px 18px; min-width:0; }
.lct-mega[data-mega] .lct-mega-in > * + *{ border-left:1px solid var(--lco-lijn); }
.lct-mega[data-mega] .lct-mega-hoofd--breed{ grid-column:1 / span 2; }
.lct-mega[data-mega] .lct-mega-zij--breed{ grid-column:2 / span 2; }
/* De promo eerst (paneel Over mij): dan staat de foto links en leest het als een profiel. */
.lct-mega[data-mega] .lct-mega-promo--eerst{ order:-1; border-left:0; }

.lct-mega[data-mega] h4{
	font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
	color:var(--lco-primair); margin:0 0 12px;
}

/* --- De kaart met foto: overal dezelfde vorm --- */
.lct-mk-rij{ display:grid; gap:10px; }
.lct-mk-rij--3{ grid-template-columns:repeat(3,1fr); }
.lct-mk-rij--2{ grid-template-columns:repeat(2,1fr); }
.lct-mk-rij--1{ grid-template-columns:1fr; gap:4px; }
.lct-mk{
	display:flex; flex-direction:column; gap:7px; min-width:0;
	text-decoration:none; color:inherit;
	padding:7px; margin:-7px; border-radius:12px;
	transition:background .15s ease;
}
.lct-mk:hover{ background:var(--lco-vel); }
.lct-mk-beeld{
	display:block; aspect-ratio:16 / 10; border-radius:10px; overflow:hidden;
	background:linear-gradient(140deg,#0F4C81,#46B5DD);
}
.lct-mk-beeld img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Geen foto is geen gat: een gekleurd vlak met een icoon houdt de rij heel. */
.lct-mk-geen{
	display:flex; align-items:center; justify-content:center; width:100%; height:100%;
	color:#fff; opacity:.85;
}
.lct-mk-tekst{ display:block; min-width:0; }
.lct-mk-tekst b{
	display:block; font-size:13.5px; font-weight:700; line-height:1.3; color:var(--lco-navy);
	display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden;
}
.lct-mk-tekst small{ display:block; margin-top:2px; font-size:12px; color:var(--lco-mut); }

/* De actiekaart: logo in plaats van foto, en de korting rechtsonder. */
/**
 * De kortingsbadge staat RECHTSBOVEN en niet in de regel.
 *
 * In de eerste opzet stond hij achter de tekst, en dan houdt de titel in een kolom van 275 pixels
 * nog geen 190 pixels over: "Vroegboekkorting zomer 2027" werd afgekapt tot "Vroegboekkort".
 * Uit de tekststroom halen geeft de titel de volle breedte terug, en de korting valt rechtsboven
 * juist meer op.
 */
.lct-mk--logo{ position:relative; flex-direction:row; align-items:center; gap:10px; padding-right:52px; }
.lct-mk-beeld--logo{
	flex:0 0 64px; aspect-ratio:auto; height:40px; width:64px;
	background:var(--lco-wit); box-shadow:inset 0 0 0 1px var(--lco-lijn);
	display:flex; align-items:center; justify-content:center; padding:4px;
}
.lct-mk-beeld--logo img{ object-fit:contain; }
.lct-mk--logo .lct-mk-geen{ color:var(--lco-primair); }
/* v5.0.758: paneel Familie, logo met de leeftijden ernaast. Geen kortingsbadge, dus geen ruimte rechts. */
.lct-mk--fam{ padding-right:7px; }
.lct-mk--fam .lct-mk-beeld--logo{ flex-basis:56px; width:56px; height:36px; }
.lct-mk-rij--fam{ gap:12px 14px; }
.lct-mega[data-mega] .lct-mega-h4-tweede{ margin-top:18px; }
.lct-mk-korting{
	position:absolute; top:7px; right:7px;
	background:var(--lco-goud); color:#3a2a00;
	font-size:12px; font-weight:800; padding:3px 8px; border-radius:999px; white-space:nowrap;
}

/* --- De linklijst met icoon --- */
.lct-mega[data-mega] .lct-mega-links{ display:grid; gap:1px; }
.lct-mega[data-mega] .lct-mega-links--2{ grid-template-columns:1fr 1fr; gap:1px 10px; }
.lct-mega[data-mega] .lct-mega-links a{
	display:flex; align-items:center; gap:9px; min-width:0; flex-wrap:nowrap; /* v5.0.757: lange regels hielden het icoon los boven de tekst */
	text-decoration:none; color:var(--lco-ink);
	font-size:13.5px; font-weight:600; line-height:1.35;
	padding:8px 9px; border-radius:9px; transition:background .15s ease;
}
.lct-mega[data-mega] .lct-mega-links a:hover{ background:var(--lco-vel); color:var(--lco-primair); }
.lct-mega[data-mega] .lct-mega-links a > svg{ flex:0 0 auto; }
.lct-mega[data-mega] .lct-mega-links svg{ flex:0 0 auto; color:var(--lco-primair); }
.lct-mega[data-mega] .lct-mega-links small{
	margin-left:auto; font-size:12px; font-weight:700; color:var(--lco-mut);
}
/* De grote variant (paneel Contact): de toelichting onder het woord in plaats van erachter. */
.lct-mega[data-mega] .lct-mega-links--groot a{ align-items:flex-start; padding:10px 9px; font-size:14.5px; font-weight:700; }
.lct-mega[data-mega] .lct-mega-links--groot small{
	margin:2px 0 0; display:block; width:100%; font-weight:600;
}
.lct-mega[data-mega] .lct-mega-links--groot a > svg{ margin-top:2px; }

/* --- Het logoraster --- */
.lct-mega[data-mega] .lct-mega-logos{
	display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
}
.lct-mega[data-mega] .lct-mega-logos a{
	display:flex; align-items:center; justify-content:center;
	height:44px; padding:6px; border-radius:10px;
	background:var(--lco-wit); box-shadow:inset 0 0 0 1px var(--lco-lijn);
	transition:box-shadow .15s ease;
}
.lct-mega[data-mega] .lct-mega-logos a:hover{ box-shadow:inset 0 0 0 1px var(--lco-primair); }
.lct-mega[data-mega] .lct-mega-logos img{ max-width:100%; max-height:100%; object-fit:contain; }
.lct-mega[data-mega] .lct-mega-logos span{ font-size:12px; font-weight:700; color:var(--lco-mut); text-align:center; }

/* --- Het uitgelichte blok met foto --- */
/**
 * De promo vult de hele kolom, en dat is geen smaak maar een reparatie.
 *
 * Met alleen een min-hoogte bleef er onder de foto een lege witte strook staan zodra de kolom
 * ernaast hoger werd, en dan ziet het blok eruit alsof er iets niet geladen is. height:100% op
 * de link plus een kolom die zich uitrekt laat de foto meegroeien.
 */
.lct-mega[data-mega] .lct-mega-promo{ align-self:stretch; display:flex; }
.lct-mega[data-mega] .lct-mega-promo a{
	display:flex; flex-direction:column; justify-content:flex-end;
	position:relative; border-radius:12px; overflow:hidden;
	text-decoration:none; color:#fff; min-height:190px; width:100%;
	background:linear-gradient(140deg,#0A2540,#0F75BC);
}
/**
 * v5.0.591: de uitsnede begint bovenaan, niet in het midden.
 *
 * Het promo-vak is hoog en smal en de foto is breder dan hoog, dus object-fit:cover snijdt er
 * boven en onder wat af. Standaard doet hij dat vanuit het MIDDEN, en op een staande foto van
 * een mens is het midden de buik. In het paneel Over mij stond Danny zonder hoofd in beeld.
 *
 * 22% houdt het gezicht binnen de uitsnede, ook als het vak nog hoger wordt.
 */
.lct-mega[data-mega] .lct-mega-promo img{
	position:absolute; inset:0; width:100%; height:100%;
	object-fit:cover; object-position:50% 22%;
}
/* Het verloop maakt de tekst leesbaar op elke foto, ook op een lucht. */
.lct-mega-promo-tekst{
	position:relative; display:block; padding:14px;
	background:linear-gradient(to top,rgba(4,18,33,.86),rgba(4,18,33,0));
}
.lct-mega-promo-tekst em{
	display:block; font-style:normal; font-size:12px; font-weight:800;
	letter-spacing:.1em; text-transform:uppercase; opacity:.85;
}
.lct-mega-promo-tekst b{ display:block; font-size:14.5px; font-weight:800; line-height:1.3; margin-top:3px; }
.lct-mega-promo-tekst i{ display:block; font-style:normal; font-size:12.5px; font-weight:700; margin-top:3px; opacity:.9; }

/* --- De voetregel --- */
.lct-mega[data-mega] .lct-mega-voet{
	display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
	padding:12px 22px; background:var(--lco-vel); border-top:1px solid var(--lco-lijn);
	font-size:12.5px; color:var(--lco-mut);
}
.lct-mega[data-mega] .lct-mega-voet a{
	font-weight:800; color:var(--lco-primair); text-decoration:none; white-space:nowrap;
}
.lct-mega[data-mega] .lct-mega-voet a:hover{ text-decoration:underline; }

.lct-mega[data-mega] .lct-mega-leeg{ color:var(--lco-mut); font-size:13px; margin:0; }
.lct-mega[data-mega] .lct-mega-rev{
	margin-top:12px; padding:11px 13px; background:var(--lco-vel);
	border-left:3px solid var(--lco-goud); border-radius:0 10px 10px 0;
	font-size:13px; line-height:1.5; color:var(--lco-ink);
}
.lct-mega[data-mega] .lct-mega-rev small{ display:block; margin-top:5px; color:var(--lco-mut); font-size:12px; }
.lct-mega[data-mega] .lct-mega-reactie{ display:grid; gap:6px; font-size:13px; }
.lct-mega[data-mega] .lct-mega-reactie b{ color:var(--lco-navy); }
.lct-mega[data-mega] .lct-mega-reactie-di{ color:var(--lco-mut); font-size:12px; }
.lct-mega[data-mega] .lct-mega-uren{ display:grid; gap:3px; margin-top:12px; font-size:12.5px; color:var(--lco-mut); }
.lct-mega[data-mega] .lct-mega-uren i{ display:inline-block; width:74px; font-style:normal; font-weight:700; color:var(--lco-ink); }

/**
 * Onder de 1100 pixels twee kolommen, en de promo eruit.
 *
 * Het megamenu is een muisding: op een telefoon staat het hamburgermenu.
 * Maar een kleine laptop bestaat wel, en daar passen drie kolommen met een
 * fotoblok van 190 hoog niet meer zonder dat de kaarten onleesbaar worden.
 * Dan liever twee goede kolommen dan drie slechte.
 */
@media (max-width:1100px){
	.lct-mega[data-mega] .lct-mega-in{ grid-template-columns:1.4fr 1fr; }
	.lct-mega[data-mega] .lct-mega-promo{ display:none; }
	.lct-mega[data-mega] .lct-mega-hoofd--breed,
	.lct-mega[data-mega] .lct-mega-zij--breed{ grid-column:auto; }
	.lct-mk-rij--3{ grid-template-columns:repeat(2,1fr); }
}

/* =====================================================================
   DE TEGEL MEET ZICHZELF: CONTAINER QUERIES (v5.0.589)

   HET INZICHT DAT DIT MOGELIJK MAAKT
   Bij een raster met auto-fill is de tegel het BREEDST op een telefoon
   (daar is er één van 350 tot 390) en het SMALST op een groot scherm
   (daar passen er vijf van 258 naast elkaar). Dat is precies omgekeerd
   aan wat een gewone media query aanneemt, en daarom viel er met
   schermbreedte niets zinnigs over de tegel te zeggen: hetzelfde getal
   betekent op de beginpagina iets anders dan in de resultatenkolom van
   /cruises/.

   Een container query meet de tegel zelf. Daarmee kan de inhoud zich
   aanpassen aan de ruimte die er ECHT is, waar hij ook staat.

   WAT ER AL WAS, EN WAAROM DAT NIETS MEER DEED
   In index.css staat al een container query, maar die richt zich op
   .lc-cruise-card, de kaart van vóór 5.0.562. Die staat nergens meer op
   de site, dus dat blok is stille dode code geworden. De techniek was er
   dus al; hij wees alleen naar een element dat niet meer bestaat.
   ===================================================================== */
.lct-tegel{ container-type:inline-size; container-name:tegel; }

/**
 * Standaard: één datum in beeld, met de teller die daarbij hoort.
 *
 * Dit is de veilige vorm, want hij past in de smalste tegel die het raster
 * kan maken (240 pixels). Alles wat breder is krijgt hieronder meer.
 */
.lct-tegel-datum--extra,
.lct-tegel-datameer--twee{ display:none; }

@container tegel (min-width: 320px){
	/**
	 * Vanaf 320 past de tweede datum erbij.
	 *
	 * Gemeten: label plus twee data plus een teller van twee cijfers vraagt 202
	 * pixels binnenwerk, en dat heeft een tegel van 320 (met 16 padding aan
	 * weerszijden en 16 in het blokje) ruim. De grens staat op 320 en niet op
	 * 300, zodat ook een datum MET jaartal ("21 feb 2027") er nog bij past.
	 */
	.lct-tegel-datum--extra{ display:inline; }
	.lct-tegel-datameer--een{ display:none; }
	.lct-tegel-datameer--twee{ display:inline; }
}

@container tegel (min-width: 340px){
	/* Ruimte zat: de aanleghavens mogen een regel langer, en de titel ook. */
	.lct-tegel-havenslijst{ -webkit-line-clamp:3; line-clamp:3; }
	.lct-tegel-titel{ font-size:16px; }
}

/* =====================================================================
   CONTENT-VISIBILITY: WAT NIET IN BEELD IS, NIET TEKENEN (v5.0.589)

   /cruises/ is ruim 9.000 pixels hoog met 24 tegels en 148 afbeeldingen;
   een cruisepagina is 17.000. De browser rekent en tekent dat nu
   allemaal, ook het deel dat twintig schermen lager staat.

   content-visibility:auto laat hem dat werk uitstellen tot een blok in de
   buurt van het beeld komt. De afbeeldingen deden dat al (loading=lazy),
   maar de OPMAAK niet.

   contain-intrinsic-size IS HIER GEEN DETAIL. Zonder die geschatte hoogte
   denkt de browser dat een overgeslagen blok nul hoog is, en dan springt
   de schuifbalk en verspringt de pagina onder je duim zodra je scrollt.
   De waarde is een schatting van een tegelrij: hoogte van een tegel maal
   het aantal rijen dat er ongeveer past.
   ===================================================================== */
.lct-tegelrij,
.lc-card-grid.lct-tegelrij{
	content-visibility:auto;
	contain-intrinsic-size:auto 640px;
}

/**
 * Uit zodra er binnenin iets openstaat.
 *
 * Een uitgeklapte databalk verandert de hoogte van de rij, en een blok dat
 * tegelijk overgeslagen mag worden en van hoogte verandert is precies waar
 * de schuifbalk van gaat springen. :has() maakt dat in één regel zichtbaar
 * voor de css, zonder javascript.
 */
.lct-tegelrij:has(.lct-tegel-datavak[open]){ content-visibility:visible; }

/* =====================================================================
   v5.0.595: DE EMOJI'S UIT DE OPMAAK, HET EIGEN ICOONSET ERIN

   WAT ER STOND. De site heeft een eigen set tekeningen (lct_icon, 56 stuks), en die wordt op de
   tegel, in het megamenu en in het filter overal gebruikt. Maar op een paar plekken stond in
   plaats daarvan een emoji in de opmaak: een vuurtje bij "Lopende acties", een cadeautje bij
   "Inclusief pakketten", een stoomboot als er geen foto is, een ster bij de reviews. Die tekenen
   per apparaat anders (Apple, Android en Windows hebben elk hun eigen plaatjes), ze pakken de
   huiskleur niet op, en naast een tekening uit de eigen set zie je meteen dat het iets anders is.

   DE PLEKKEN DIE NU OM ZIJN: acties (vier), rederij (vier), havenpagina (twee), blogarchief
   (twee). Niet om: een emoji in een <option> van een keuzelijst, want daar kan geen tekening in;
   de sterren van een beoordeling (dat is typografie, geen icoon); en de vinkjes.

   DE KLEUR MOEST ERBIJ. Een emoji heeft zijn eigen kleuren, een tekening uit de set neemt de
   tekstkleur over. Op de lege-fotovlakken was die kleur nergens gezet, dus die krijgen hem hier.
   ===================================================================== */
.lct-featured-media-placeholder svg,
.lct-deal-card-media-placeholder svg{ color:var(--lco-primair); opacity:.75; }
.lct-blog-featured-placeholder svg,
.lct-blog-grid-card-placeholder svg{ color:inherit; }

/* =====================================================================
   v5.0.627: TOEGANKELIJKHEID, EEN LAAG OVER DE HELE SITE
   ---------------------------------------------------------------------
   Danny: "Gebruiksvriendelijkheid en toegankelijkheid zijn belangrijk."
   Uit een controle van de stylesheet (WCAG 2.2 AA):

   1. Toetsenbord. main.css zet op 26 plekken outline:none en heeft maar
      14 :focus-visible-regels. Wie met Tab door de site gaat, ziet niet
      waar hij is. Nu heeft alles wat je kunt aanklikken bij toetsenbord-
      focus een blauwe rand (op donker: goud). Alleen bij het toetsenbord
      (:focus-visible), dus met de muis of een vinger verandert er niets.
      Hier wél !important: het moet winnen van de outline:none in main.css,
      en het raakt alleen de focusrand.
   2. De link "Direct naar inhoud" bleef onzichtbaar bij focus: hij heeft
      ook .screen-reader-text, en die knipt hem weg (clip). Nu komt hij in
      beeld zodra je op Tab drukt.
   3. Leesbaarheid. Grijze tekst (#94a3b8, #9ca3af, #5F7288, #8aa0b8,
      #5F7288, #8aa0b4, #888) haalde 2,5 tot 3,5 op 1 contrast op wit,
      de norm is 4,5. Die tekst is nu #5F7288 (4,9 op 1), de grijze tekst
      van de huisstijl. De eyebrow en de rederijnaam op kaarten stonden in
      hemelsblauw #27A9E1 (2,7 op 1); nu primair blauw en leesblauw.
   4. Minder beweging. Wie in zijn toestel "minder beweging" heeft aan,
      krijgt geen animaties, overgangen of zacht scrollen meer.
   ===================================================================== */

/* 1. focus alleen bij het toetsenbord */
:where(a, button, input, select, textarea, summary, [role="button"], [role="tab"], [role="link"], [tabindex]:not([tabindex="-1"])):focus-visible{
	outline:3px solid var(--lco-primair) !important;
	outline-offset:2px !important;
}
:where(.lct-footer, .lct-hero, .lct-topbar, .lct-contact-hero, .lct-region-cta, .lct-blog-newsletter) :where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible{
	outline-color:var(--lco-goud) !important;
}

/* 2. "Direct naar inhoud" in beeld bij focus */
.lct-skip-link.screen-reader-text:focus,
.lct-skip-link:focus{
	left:12px; top:12px; z-index:100001;
	clip:auto; clip-path:none; width:auto; height:auto;
	border-radius:10px; font-weight:700; text-decoration:none;
	box-shadow:0 6px 20px rgba(10,37,64,.25);
}

/* 3. contrast van lichte tekst op wit */
.lc-index .lc-chip-x,
.lc-index .lc-fs-check.is-disabled,
.lc-deal-old,
.lct-card-price-old,
.lct-voertaal-l,
.lct-voertaal-en,
.lct-faq-q::after,
.lct-lead-fine,
.lcd-vluchtrij-via.is-alt,
.lcd-v-alt-ap em,
.lct-fooi-klein,
.lct-shipcard-facts dt,
.lc-brochure-privacy,
.lc-combo-option--with-logo .lc-combo-count{ color:var(--lco-mut); }
.lc-brochure-modal-close,
.lc-popup-close,
.lct-cb-close,
.lct-lead-x{ color:#5F7288; }
.lct-eyebrow{ color:var(--lco-primair); }
.lct-cruise-card-company,
.letscruise-cruise .lc-similar-card-company{ color:#1e7ba6; }

/* 4. minder beweging */
@media (prefers-reduced-motion: reduce){
	html{ scroll-behavior:auto !important; }
	*, *::before, *::after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
}

/* =====================================================================
   v5.0.628: RUST BIJ HET LADEN (PageSpeed desktop: CLS 0,123)
   De logo's van de rederijen boven het zoekvak hadden geen hoogte tot ze
   binnen waren (height:auto zonder width/height in de html). Als ze kwamen,
   schoof alles eronder 26 pixels omlaag. Nu staat de ruimte er vanaf het
   begin. En het label "25 rederijen" (10,5 px, #5F7288) krijgt de grijze
   tekstkleur van de huisstijl voor genoeg contrast.
   ===================================================================== */
.lct-searchbar-brands a{ min-height:34px; }
.lct-searchbar-brands img{ height:26px; width:auto; }
.lct-searchbar-brands-label{ color:var(--lco-mut); }
@media (max-width: 768px){
	.lct-searchbar-brands a{ min-height:28px; min-width:64px; }
	.lct-searchbar-brands img{ height:20px; }
}

/* =====================================================================
   v5.0.641: WEBSITECHECK 3 OKTOBER 2026
   56 pagina's op 390, 768 en 1440 pixels nagemeten. Wat hier staat:
   ===================================================================== */

/* Kop op de telefoon: logo plus vier knoppen pasten niet in 390 pixels, de hamburger stak 9
   pixels buiten beeld. Kleinere tussenruimte, dan past het tot 320 pixels breed. */
@media (max-width:480px){
	body .lct-header-inner{ gap:12px; padding-left:16px; padding-right:16px; }
}
@media (max-width:360px){
	body .lct-header-inner{ gap:6px; padding-left:12px; padding-right:12px; }
}

/* /cruises/ op een tablet (561 tot 899 pixels): frontend.css van de motor zet daar met !important
   één kolom neer, met tegels van 670 pixels breed en een foto van 500 hoog. Twee kolommen, zoals
   de uitleg bij het tweeluik hierboven al wilde. Alleen hier !important, omdat de regel die het
   tegenhoudt dat ook heeft. */
@media (min-width:561px) and (max-width:899px){
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px; }
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-4{ grid-template-columns:repeat(auto-fill,minmax(185px,1fr)) !important; gap:14px; }
}

/* Lange knoppen in het vraagblok breken af in plaats van uit te steken. */
.lct-vraagblok-knoppen > a{ max-width:100%; box-sizing:border-box; white-space:normal; text-align:center; }

/* Juridische pagina's: leesbare koppen en lijsten in de vaste tekst. */
body.page .entry-content h2, body.page .lct-page-content h2{ margin-top:1.6em; }
body.page .entry-content ul, body.page .lct-page-content ul{ padding-left:1.2em; }

/* Kop van een sectie met "Alle bestemmingen" ernaast: op 360 pixels stak de link 10 pixels uit. */
@media (max-width:420px){
	body .lct-section-header--met-link{ flex-wrap:wrap; row-gap:6px; }
}

/* Actietegels op de telefoon: "p.p." viel achter de rand van de tegel weg. */
body .lc-deal-prices{ flex-wrap:wrap; column-gap:6px; row-gap:0; }

/* Bestemmingstegels op de telefoon: "Oost-Middellandse Zee" liep 4 pixels uit de tegel. */
body .lct-destination-card-name{ overflow-wrap:anywhere; hyphens:auto; }


/* v5.0.656: Zo werkt het (homepage) */
.lct-zowerkt{padding:clamp(34px,4vw,60px) 0 clamp(10px,1.4vw,20px)}
.lct-zowerkt-eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--lct-primary,#0F75BC)}
.lct-zowerkt h2{margin:0 0 8px;font-size:clamp(23px,2.4vw,32px);line-height:1.2;text-wrap:balance}
.lct-zowerkt-lead{margin:0 0 22px;max-width:62ch;font-size:15.5px;line-height:1.6;color:var(--lct-text-muted,#5F7288)}
.lct-zowerkt-stappen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:none}
.lct-zowerkt-stap{position:relative;background:#fff;border:1px solid var(--lct-border,#E4ECF3);border-radius:16px;padding:20px 18px 18px;display:flex;flex-direction:column;gap:6px}
.lct-zowerkt-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--lct-bg-subtle,#EAF6FC);color:var(--lct-primary,#0F75BC);margin-bottom:6px}
.lct-zowerkt-nr{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#0B6FAE}
.lct-zowerkt-stap h3{margin:0;font-size:17px;line-height:1.3;color:var(--lct-navy,#0A2540)}
.lct-zowerkt-stap p{margin:0;font-size:14.5px;line-height:1.55;color:var(--lct-text-muted,#3D5773)}
.lct-zowerkt-knoppen{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media (max-width:980px){.lct-zowerkt-stappen{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.lct-zowerkt-stappen{grid-template-columns:1fr}.lct-zowerkt-stap{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px}.lct-zowerkt-ic{margin:0}.lct-zowerkt-stap h3{flex:1}.lct-zowerkt-stap p{flex-basis:100%}.lct-zowerkt-nr{display:none}.lct-zowerkt-knoppen a{flex:1 1 100%;justify-content:center;text-align:center} /* v5.0.657: tekst in het midden van de knop */}


/* v5.0.656: filters op /cruises/. Op een telefoon hadden Duur en Type cruise een rand en een andere
   letter dan de andere velden; nu zien alle velden er hetzelfde uit. */
.lc-meer-knop{display:none}
@media (max-width:820px){
	.lc-index #lc-filter-sidebar .lct-searchbar-field > select.lct-searchbar-select{border:0;border-radius:0;box-shadow:none;background:transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B6573' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6,9 12,15 18,9'/></svg>") no-repeat right 2px center;-webkit-appearance:none;appearance:none;min-height:0;padding:4px 22px 0 0;font-size:16px;font-weight:600;color:var(--lct-navy,#0A2540)}
	.lc-meer-dicht [data-filter="schip"]:not(.lc-actief),
	.lc-meer-dicht [data-filter^="haven-"]:not(.lc-actief),
	.lc-meer-dicht [data-filter="type"]:not(.lc-actief),
	.lc-meer-dicht [data-filter="prijs"]:not(.lc-actief){display:none !important}
	.lc-meer-knop{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;width:100%;margin:6px 0;padding:12px 14px;min-height:52px;background:var(--lct-bg-subtle,#F6FAFD);border:1px solid var(--lct-border,#E4ECF3);border-radius:12px;font:inherit;text-align:left;cursor:pointer;color:var(--lct-navy,#0A2540)}
	.lc-meer-knop .lc-meer-tekst{font-weight:700;font-size:15px}
	.lc-meer-knop .lc-meer-sub{grid-column:1;font-size:13px;color:var(--lct-text-muted,#5F7288)}
	.lc-meer-knop svg{grid-column:2;grid-row:1 / span 2;transition:transform .2s}
	.lc-meer-knop[aria-expanded="true"] svg{transform:rotate(180deg)}
	.lc-meer-knop:focus-visible{outline:3px solid var(--lct-primary,#0F75BC);outline-offset:2px}
	/* De zoekknop in het paneel valt weg zodra de vaste knop onderin er staat: een knop is genoeg. */
	body:has(#lc-zoekbalk-mobiel:not([hidden])) #lc-cruise-filters .lct-searchbar-submit [data-lc-zoekknop]{display:none}
}

/* =====================================================================
   v5.0.676: MEER OP DE ZOEKBALK (Danny: "meer logos op de zoekbalk plaatsen,
   en meer zoekfuncties, zolang het past in de breedte")
   - De logo's staan in een raster met een rij: zoveel kolommen van minstens
     72 px als er passen, de rest valt in een verborgen tweede rij (er komen
     er achttien mee).
   - De snelkoppelingen: het script op de beginpagina zet de klasse is-pas en
     verbergt (is-over) wat niet op de eerste rij past. Past alles, dan
     verdwijnt "Meer +". Zonder script blijft het oude gedrag.
   ===================================================================== */
.lct-searchbar-brands-rij{ flex:1 1 auto; min-width:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); grid-template-rows:34px; grid-auto-rows:34px; column-gap:2px; height:34px; overflow:hidden; align-items:center; }
.lct-searchbar-brands-rij a{ min-width:0; padding:4px 5px; }
.lct-searchbar-brands .lct-searchbar-brands-all{ flex:none; } /* anders groeit hij mee met de logo's (a weegt zwaarder) */
.lct-searchbar-brands-rij img{ height:22px; max-width:100%; }
@media (min-width: 769px){
	.lct-searchbar-tabs.is-pas{ column-gap:2px; }
	.lct-searchbar-tabs.is-pas > .lct-searchbar-tab{ padding-left:11px; padding-right:11px; }
	.lct-searchbar-tabs.is-pas .lct-tab-extra{ display:inline-flex; }
	.lct-searchbar-tabs.is-pas .lct-searchbar-tab.is-over{ display:none; }
	.lct-searchbar-tabs.is-pas.toon-extra .lct-searchbar-tab.is-over{ display:inline-flex; }
	.lct-searchbar-tabs.is-pas.alles-past .lct-tab-meer{ display:none; }
}
@media (max-width: 768px){
	.lct-searchbar-brands-rij{ flex:none; display:flex; height:auto; overflow:visible; gap:4px; }
	.lct-searchbar-brands-rij img{ height:20px; }
}

/* =====================================================================
   v5.0.676: "VANUIT NEDERLAND" BETER ZICHTBAAR
   Danny: "de vanuit nederland batch is niet lekker zichtbaar". Het anker
   stond blauw op een blauwe pil en was dus weg; de pil leek op het
   lichtblauwe "Danny was aan boord" eronder. Nu navy met een vlaggetje,
   iets groter, en duidelijk anders dan de blauwe en de gele pil.
   ===================================================================== */
.lct-kaartpil.lct-kaartpil--nl{ background:var(--lco-navy,#0A2540); color:#fff; font-size:12px; padding:3px 9px 3px 7px; gap:6px; }
.lct-kaartpil-vlag{ flex:0 0 auto; width:15px; height:10px; border-radius:2px; box-shadow:0 0 0 1px rgba(255,255,255,.55); background:linear-gradient(to bottom,#AE1C28 0 33.4%,#fff 33.4% 66.6%,#21468B 66.6% 100%); }

/* v5.0.677: twee extra zoekvelden (Schip, Soort reis) alleen op een breed scherm. */
.lct-searchbar-field--extra { display: none; }
@media (min-width: 1600px) {
	.lct-searchbar-fields { grid-template-columns: repeat(8, minmax(0, 1fr)) auto; }
	.lct-searchbar-field--extra { display: block; }
}

/* v5.0.679: tips van reizigers op de havenpagina */
.lc-hv-tips .lc-hv-tips-uitleg { color: #51606f; font-size: 14px; margin: -4px 0 12px; }
.lc-hv-tiplijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.lc-hv-tiplijst li { background: #F4F8FB; border: 1px solid #E1E9F1; border-radius: 14px; padding: 14px 16px; }
.lc-hv-tiplijst li p { margin: 0 0 8px; color: #0A2540; line-height: 1.5; }
.lc-hv-tiplijst li span { font-size: 13px; color: #51606f; font-weight: 600; }

/* =====================================================================
   v5.0.684: ONTWERPVOORSTELLEN VAN 14 OKTOBER 2026 (Claude Design)
   Hero, zoekbalk, cruisekaart en labels. Alleen in deze laag, zodat
   weghalen de oude stand teruggeeft.
   ===================================================================== */

/* --- Hero: de video blijft, de tekst krijgt een zachte band van links. ---
   Danny: "zorg wel dat de hero de video blijft zoals hij nu is". Alleen de
   overlay verandert: van boven naar onder werd een verloop van links naar
   rechts, zodat de tekst op een rustige ondergrond staat en het kielzog
   rechts helder blijft. Geen donkere balk. */
.lct-hero-overlay{
	background:
		linear-gradient(90deg, rgba(10,37,64,.80) 0%, rgba(10,37,64,.62) 38%, rgba(10,37,64,.16) 68%, rgba(10,37,64,0) 100%),
		linear-gradient(180deg, rgba(10,37,64,.35) 0%, rgba(10,37,64,0) 30%, rgba(10,37,64,0) 70%, rgba(10,37,64,.35) 100%);
}
.lct-hero h1{ text-wrap:balance; }
.lct-hero p{ max-width:520px; text-wrap:pretty; }
/* De hoofdknop in goud, de tweede licht. Alleen in de hero. */
.lct-hero-actions .lct-btn-primary{
	background:var(--lco-goud,#F2B01E);
	color:var(--lco-navy,#0A2540) !important; /* main.css zet #fff met !important */
	box-shadow:0 10px 24px rgba(242,176,30,.30);
}
.lct-hero-actions .lct-btn-primary:hover{ color:var(--lco-navy,#0A2540) !important; box-shadow:0 12px 28px rgba(242,176,30,.42); }
.lct-hero-actions .lct-btn-outline{ background:rgba(255,255,255,.06); }
.lct-hero-punten{
	list-style:none; margin:20px 0 0; padding:0;
	display:flex; flex-wrap:wrap; gap:8px 22px;
	font-size:13px; font-weight:500; color:rgba(255,255,255,.82);
}
.lct-hero-punten li{ display:inline-flex; align-items:center; gap:7px; }
.lct-hero-punten svg{ width:14px; height:14px; flex:0 0 auto; color:var(--lco-goud,#F2B01E); }
@media (max-width:700px){
	.lct-hero-overlay{ background:linear-gradient(180deg, rgba(10,37,64,.62) 0%, rgba(10,37,64,.48) 55%, rgba(10,37,64,.30) 100%); }
	.lct-hero-punten{ margin-top:16px; gap:6px 16px; font-size:12.5px; }
}

/* --- Zoekbalk: drie velden in beeld, de rest achter Meer filters. --- */
.lct-searchbar--kort:not(.is-meer) .lct-searchbar-field--meer{ display:none !important; }
.lct-searchbar-toonmeer{ display:flex; align-items:center; padding:8px 4px 8px 8px; }
.lct-searchbar-meerknop{
	display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
	min-height:48px; padding:0 16px; border-radius:12px;
	border:1px solid var(--lco-lijn,#E1E9F1); background:#fff;
	font:inherit; font-size:14px; font-weight:600; color:var(--lco-primair,#0F4C81);
	cursor:pointer; transition:border-color .15s, background .15s;
}
.lct-searchbar-meerknop:hover{ border-color:#cfe0ee; background:#f6fafd; }
.lct-searchbar-meerknop svg{ width:16px; height:16px; }
.lct-searchbar--kort.is-meer .lct-searchbar-meerknop{ background:#eaf3fa; border-color:#cfe0ee; }
@media (min-width:901px){
	.lct-searchbar--kort .lct-searchbar-fields{ grid-template-columns:repeat(3, minmax(0,1fr)) auto auto; }
	.lct-searchbar--kort .lct-searchbar-submit{ grid-column:auto; }
	.lct-searchbar--kort .lct-searchbar-field{ padding:14px 20px 12px; }
	.lct-searchbar--kort .lct-searchbar-select,
	.lct-searchbar--kort .lct-combo-button{ font-size:15px; }
	/* Open: drie per rij, knoppen onderaan rechts. */
	.lct-searchbar--kort.is-meer .lct-searchbar-fields{ grid-template-columns:repeat(3, minmax(0,1fr)); }
	.lct-searchbar--kort.is-meer .lct-searchbar-field{ border-bottom:1px solid var(--lct-bg-subtle,#F6FAFD); }
	.lct-searchbar--kort.is-meer .lct-searchbar-toonmeer{ grid-column:1 / span 2; justify-content:flex-start; }
	.lct-searchbar--kort.is-meer .lct-searchbar-submit{ grid-column:3; justify-content:flex-end; }
	.lct-searchbar--kort.is-meer .lct-searchbar-submit .lct-btn-primary{ width:100%; justify-content:center; }
}
/* v5.0.685: in een brede cel stond de gekozen waarde gecentreerd (een button centreert zijn tekst). */
.lct-searchbar--kort .lct-combo-button,
.lct-searchbar--kort .lct-combo-current-label{ text-align:left; }
.lct-searchbar--kort .lct-combo-current-logo:empty{ display:none; }
@media (max-width:900px){
	.lct-searchbar--kort .lct-searchbar-toonmeer{ grid-column:1 / -1; padding:10px 14px 0; }
	.lct-searchbar--kort .lct-searchbar-meerknop{ width:100%; justify-content:center; }
	.lct-searchbar--kort:not(.is-meer) .lct-searchbar-field:nth-of-type(n){ border-right:1px solid var(--lct-bg-subtle,#F6FAFD); }
	.lct-searchbar--kort:not(.is-meer) .lct-searchbar-fields > .lct-searchbar-field:first-of-type{ border-right:0; }
}

/* --- De cruisekaart: labels op de foto, feiten compact, prijs naast de knop. --- */
.lct-tegel .lct-kaartpillen--foto{
	position:absolute; left:10px; right:10px; bottom:10px; z-index:2;
	margin:0; gap:6px; pointer-events:none;
}
/* De vaste labelset: zes labels, altijd dezelfde kleur. Hoofdletters, 11 px,
   hoek 8 px. Op een foto met een dunne witte rand, zodat ze op elke foto lezen. */
.lct-kaartpillen--foto .lct-kaartpil{
	border-radius:8px; padding:4px 8px;
	font-size:12px; letter-spacing:.04em; text-transform:uppercase;
	box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 2px 6px rgba(10,37,64,.18);
}
.lct-kaartpil--danny{ background:var(--lco-goud,#F2B01E); color:#3a2a00; }
.lct-kaartpil--actie{ background:#C8102E; color:#fff; }
.lct-kaartpil--gezin.lct-kaartpil--feit,
.lct-kaartpillen--foto .lct-kaartpil--gezin{ background:#0E7C86; color:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 2px 6px rgba(10,37,64,.18); }
.lct-kaartpil--volw{ background:var(--lco-navy,#0A2540); color:#fff; box-shadow:none; }
.lct-kaartpillen--foto .lct-kaartpil--volw{ box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 2px 6px rgba(10,37,64,.18); }
.lct-kaartpil--nl{ background:#0F75BC; }
.lct-kaartpil--lm{ background:#EEF2F6; color:var(--lco-navy,#0A2540); }
.lct-kaartpil--blauw:not(.lct-kaartpil--danny){ background:rgba(255,255,255,.94); color:var(--lco-primair,#0F4C81); }
.lct-kaartpillen--foto .lct-kaartpil svg{ width:12px; height:12px; }
.lct-kaartpillen--foto .lct-kaartpil-vlag{ width:13px; height:9px; }

/* De feiten als een rij die omloopt: datum, nachten, vertrek, aankomst. */
.lct-tegel-feiten{ display:flex; flex-wrap:wrap; gap:3px 14px; margin-top:4px; }
.lct-tegel-feiten .lct-tegel-regel{ font-size:13px; color:var(--lco-ink,#0A2540); }
.lct-tegel-feiten .lct-tegel-regel svg{ color:var(--lco-primair,#0F75BC); opacity:1; }
.lct-tegel-titel{ font-size:17px; line-height:1.25; font-weight:800; text-wrap:balance; }
.lct-tegel .lct-tegel-titel{ font-size:17px; }
.lct-tegel-schipregel{ order:-1; font-size:12px; font-weight:600; color:var(--lco-mut,#51606f); }
.lct-tegel-body{ padding:15px 16px 16px; gap:6px; }

/* Voet: prijs links, knop rechts op één lijn. De kaart is een container, dus
   op een smalle kaart (onder 300 px) gaat de knop weer onder de prijs. */
.lct-tegel{ container-type:inline-size; container-name:tegel; }
.lct-tegel-voetrij{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.lct-tegel-voetrij .lct-tegel-prijsvak{ min-width:0; }
.lct-tegel-voetrij .lct-tegel-knop{ flex:0 0 auto; border-radius:999px; padding:11px 18px; }
.lct-tegel-prijs strong{ font-size:24px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
@container tegel (max-width: 340px){ /* v5.0.685: 340 in plaats van 300, op een telefoon liep de nachtprijs over twee regels */
	.lct-tegel-voetrij{ flex-direction:column; align-items:stretch; }
	.lct-tegel-voetrij .lct-tegel-knop{ justify-content:center; }
}
/* Brede kaart (lijstweergave): foto links, tekst midden, prijs rechts. */
@container tegel (min-width: 640px){
	.lct-tegel-havens{ -webkit-line-clamp:1; line-clamp:1; }
}

/* =====================================================================
   v5.0.686: DE HERO LOOPT DOOR ACHTER TOPBALK EN MENU (alleen beginpagina)
   Danny: "je mag hem gerust door laten lopen zonder het menu in wit te
   hebben en het nieuwe letscruise logo gebruiken". De video blijft zoals
   hij is. Het menu is doorzichtig met het witte logo; zodra je scrolt wordt
   het weer wit met het gekleurde logo (is-scrolled uit main.js).
   --lct-kop-h meet header.php: topbalk plus menu.
   ===================================================================== */
.lct-topbar--over{ position:relative; z-index:101; background:transparent; border-bottom:1px solid rgba(255,255,255,.12); }
.lct-header--over{ background:transparent; border-bottom-color:rgba(255,255,255,.14); transition:background .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lct-header--over.is-scrolled{ background:#fff; border-bottom-color:var(--lct-border,#E4ECF3); }
.lct-header--over .lct-logo-wit{ display:none; }
.lct-header--over:not(.is-scrolled) .lct-logo .lct-logo-img{ display:none; }
.lct-header--over:not(.is-scrolled) .lct-logo .lct-logo-wit{ display:block; height:60px; max-height:60px; width:auto; }
.lct-header--over:not(.is-scrolled) .lct-menu > li > a,
.lct-header--over:not(.is-scrolled) .lct-search-btn,
.lct-header--over:not(.is-scrolled) .lct-kop-bellen,
.lct-header--over:not(.is-scrolled) .lct-header-inner > a,
.lct-header--over:not(.is-scrolled) .lct-header-inner > button:not(.lct-burger){ color:#fff; }
.lct-header--over:not(.is-scrolled) .lct-menu > li > a:hover{ color:var(--lco-goud,#F2B01E); }
.lct-header--over:not(.is-scrolled) .lct-burger span{ background:#fff; }
.lct-header--over:not(.is-scrolled) .lct-btn-portal{ background:#fff !important; color:var(--lco-navy,#0A2540) !important; box-shadow:none; } /* front.css zet navy met !important */
.lct-header--over:not(.is-scrolled) .lct-search-btn{ color:#fff !important; } /* de knop heeft een inline kleur */
.lct-header--over:not(.is-scrolled) .lct-header-inner svg{ color:inherit; }
/* De hero schuift omhoog onder topbalk en menu; de inhoud schuift evenveel omlaag. */
body .lct-hero{ --kop:0px; }
.lct-topbar--over ~ main .lct-hero,
.lct-topbar--over ~ #main .lct-hero,
.lct-topbar--over ~ * .lct-hero,
.lct-topbar--over ~ .lct-hero{ --kop:var(--lct-kop-h,120px); margin-top:calc(-1 * var(--kop)); min-height:calc(clamp(504px, 40vw, 620px) + var(--kop)); }
.lct-hero .lct-hero-content{ top:calc(60px + var(--kop)); }
.lct-hero .lct-hero-overlay{
	background:
		linear-gradient(180deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,0) calc(var(--kop) + 60px)),
		linear-gradient(90deg, rgba(10,37,64,.80) 0%, rgba(10,37,64,.62) 38%, rgba(10,37,64,.16) 68%, rgba(10,37,64,0) 100%),
		linear-gradient(180deg, rgba(10,37,64,0) 70%, rgba(10,37,64,.35) 100%);
}
@media (max-width:1100px){ .lct-header--over:not(.is-scrolled) .lct-logo .lct-logo-wit{ height:44px; max-height:44px; } }
@media (max-width:700px){
	.lct-header--over:not(.is-scrolled) .lct-logo .lct-logo-wit{ height:40px; max-height:40px; }
	.lct-hero .lct-hero-content{ top:auto; padding-top:calc(34px + var(--kop)); }
	.lct-topbar--over ~ * .lct-hero, .lct-topbar--over ~ .lct-hero{ min-height:calc(420px + var(--kop)); }
	.lct-hero .lct-hero-overlay{ background:linear-gradient(180deg, rgba(10,37,64,.70) 0%, rgba(10,37,64,.48) 55%, rgba(10,37,64,.30) 100%); }
}

/* --- Cruisepagina's (cruiseonly): dezelfde leesbare band als in het ontwerp. ---
   Was alleen een verloop van onder; de lichte zee achter de titel maakte de
   rederijregel (cyaan) en de havens slecht leesbaar. Nu een band van links plus
   onder, en de rederijregel in het lichte blauw. */
.lcd-hero-sluier{
	background:
		linear-gradient(to top, rgba(10,37,64,.92) 0%, rgba(10,37,64,.62) 34%, rgba(10,37,64,0) 62%),
		linear-gradient(90deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,.25) 45%, rgba(10,37,64,0) 75%);
}
.lcd-hero-eyebrow{ color:#9FDDF3; text-shadow:0 1px 10px rgba(10,37,64,.45); }
.lcd-hero-titel{ text-shadow:0 1px 16px rgba(10,37,64,.35); text-wrap:balance; }
.lcd-hero-havens{ color:rgba(255,255,255,.88); }

/* v5.0.687: kinderblokken en tegels kritisch nagelopen.
   - Een lang label (FAMILIECRUISE · WATERPARK) liep op een smalle tegel van de foto af; nu met een beletselteken.
   - Het gezinsicoontje in het label was teal op teal; nu wit.
   - Op een heel smalle tegel (de rij van vijf op de beginpagina) vallen de aanleghavens weg, zodat de tegel niet
     twee keer zo lang wordt als breed. De volledige route staat op de cruisepagina. */
.lct-kaartpillen--foto .lct-kaartpil{ display:block; max-width:100%; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; } /* v5.0.688: block, want een flex-pil kapt af zonder beletselteken */
.lct-kaartpillen--foto .lct-kaartpil > svg,.lct-kaartpillen--foto .lct-kaartpil > .lct-kaartpil-vlag{ display:inline-block; vertical-align:-2px; margin-right:4px; }
.lct-kaartpillen--foto .lct-kaartpil--gezin svg{ color:#fff; stroke:currentColor; }
@container tegel (max-width: 230px){
	.lct-tegel-havens{ display:none; }
	.lct-tegel-feiten{ gap:2px 10px; }
	.lct-tegel-feiten .lct-tegel-regel{ font-size:12.5px; }
	.lct-tegel .lct-tegel-titel{ font-size:15.5px; }
}

/* v5.0.689: de labels staan onder de titel in plaats van op de foto (Danny: de foto's werden amper zichtbaar).
   Zelfde vaste kleuren; zonder de witte rand die alleen op een foto nodig was. */
.lct-tegel .lct-kaartpillen--tekst{ position:static; margin:2px 0 2px; gap:5px; pointer-events:auto; }
.lct-kaartpillen--tekst .lct-kaartpil{ border-radius:7px; padding:3px 7px; font-size:12px; letter-spacing:.03em; text-transform:uppercase; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lct-kaartpillen--tekst .lct-kaartpil svg{ width:12px; height:12px; }
.lct-kaartpillen--tekst .lct-kaartpil--gezin{ background:#0E7C86; color:#fff; box-shadow:none; }
.lct-kaartpillen--tekst .lct-kaartpil--gezin svg{ color:#fff; stroke:currentColor; }
.lct-kaartpillen--tekst .lct-kaartpil--volw{ box-shadow:none; }
.lct-kaartpillen--tekst .lct-kaartpil--blauw:not(.lct-kaartpil--danny){ background:#eaf3fa; color:var(--lco-primair,#0F4C81); }
.lct-kaartpillen--tekst .lct-kaartpil--lm{ background:#EEF2F6; color:var(--lco-navy,#0A2540); box-shadow:inset 0 0 0 1px #D6DEE7; }

/* v5.0.691: tussen titel en datum altijd de ruimte van drie labels (Danny), ook als er geen of minder labels zijn.
   De labels staan onder elkaar, elk precies 20px hoog, dus drie labels = 3 x 20 + 2 x 5 = 70px. De schipregel boven de
   titel houdt twee regels vrij en de titel ook, zodat in een rij tegels de datum, de prijs en de knop op dezelfde
   hoogte staan. Op een telefoon (een tegel per rij) valt er niets uit te lijnen, dus daar geen vaste ruimte. */
@media (min-width:521px){
	.lct-tegel .lct-kaartpillen--tekst{ flex-direction:column; flex-wrap:nowrap; align-items:flex-start; gap:5px; min-height:70px; }
	.lct-tegel .lct-kaartpillen--tekst .lct-kaartpil{ box-sizing:border-box; height:20px; line-height:14px; flex:0 0 auto; }
	.lct-tegel .lct-tegel-schip{ min-height:calc(2 * 1.35em); min-height:2lh; }
	.lct-tegel .lct-tegel-titel{ min-height:calc(2 * 1.3em); min-height:2lh; }
}

/* v5.0.693: knoppen voor de app (App Store, Google Play). Zonder link: Binnenkort, gedimd. */
.lct-footer-app{ margin-top:18px; display:grid; gap:8px; }
.lct-appknoppen{ display:flex; flex-wrap:wrap; gap:8px; }
.lct-appknop{ display:inline-flex; align-items:center; gap:9px; min-height:46px; padding:7px 14px 7px 11px; border-radius:12px; text-decoration:none; line-height:1.1; transition:background .15s ease, transform .15s ease; }
.lct-appknop-tekst{ display:grid; }
.lct-appknop-tekst small{ font-size:12px; font-weight:600; letter-spacing:.02em; opacity:.85; }
.lct-appknop-tekst b{ font-size:15px; font-weight:800; }
.lct-appknoppen--donker .lct-appknop{ background:#fff; color:var(--lco-navy,#0A2540); }
.lct-appknoppen--donker a.lct-appknop:hover{ background:var(--lco-goud,#F2B01E); transform:translateY(-1px); }
.lct-appknoppen--licht .lct-appknop{ background:var(--lco-navy,#0A2540); color:#fff; }
.lct-appknoppen--licht a.lct-appknop:hover{ background:var(--lco-primair,#0F75BC); }
.lct-appknop.is-binnenkort{ opacity:.6; cursor:default; }
.lct-appknoppen--donker .lct-appknop.is-binnenkort{ background:rgba(255,255,255,.12); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3); opacity:1; }

/* v5.0.695: rustiger tegels, kleiner en meer op een rij (Danny: "dit ziet er erg rommelig uit, desnoods kleinere
   tegels en meer op een rij").
   - Op /cruises/ vier tegels op een rij in plaats van drie; in de kleine weergave vijf of zes.
   - De foto 3:2 in plaats van 4:3, de tegel wordt daardoor minder hoog.
   - De vaste ruimte voor drie labels (70px, ook als er geen label was) is vervangen door een subgrid: de tegels in
     een rij delen hun regels. De schipregel, de titel, de labels, de feiten en de voet staan zo in een hele rij op
     dezelfde hoogte, en een rij zonder labels houdt geen lege strook over. De datum en de prijs lijnen dus nog
     steeds uit, maar zonder gat.
   - Labels naast elkaar (lopen om), schipregel op een regel. Een stukje van de route blijft staan (Danny): "Via" met
     de aanleghavens, op /cruises/ twee regels, in de smallere rijen elders een regel.
   - Op een telefoon (een tegel per rij) verandert er niets. */
@media (min-width:900px){
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(auto-fill,minmax(236px,1fr)); gap:18px 16px; }
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-4{ grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px 14px; }
}
@media (min-width:521px){
	.lct-tegelrij > .lct-tegel{
		display:grid; grid-template-columns:14px minmax(0,1fr) 14px;
		grid-row:span 7; grid-template-rows:subgrid; row-gap:0;
		container-type:normal; /* een container (layout containment) kan geen subgrid zijn */
	}
	.lct-tegelrij > .lct-tegel > .lct-tegel-foto{ grid-column:1 / -1; grid-row:1; aspect-ratio:3 / 2; }
	.lct-tegelrij > .lct-tegel > .lct-tegel-body{ display:contents; }
	.lct-tegelrij > .lct-tegel .lct-tegel-body > *{ grid-column:2; min-width:0; }
	.lct-tegelrij > .lct-tegel .lct-tegel-schipregel{ grid-row:2; padding-top:12px; align-self:start; }
	.lct-tegelrij > .lct-tegel .lct-tegel-titel{ grid-row:3; padding-top:3px; align-self:start; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst{ grid-row:4; align-self:start; }
	.lct-tegelrij > .lct-tegel .lct-tegel-feiten{ grid-row:5; align-self:start; padding-top:8px; margin-top:0; }
	.lct-tegelrij > .lct-tegel .lct-tegel-havens{ grid-row:6; align-self:start; padding-top:6px; font-size:12px; line-height:1.4; -webkit-line-clamp:1; line-clamp:1; }
	.lct-tegelrij > .lct-tegel .lct-tegel-voet{ grid-row:7; align-self:end; margin:12px 0 14px; }
	/* geen vaste ruimte meer: de rij bepaalt de hoogte */
	.lct-tegelrij > .lct-tegel .lct-tegel-schip{ min-height:0; display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
	.lct-tegelrij > .lct-tegel .lct-tegel-titel{ min-height:0; font-size:16px; line-height:1.28; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst{ flex-direction:row; flex-wrap:wrap; min-height:0; gap:4px; margin:0; padding-top:7px; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst:empty, .lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst.is-leeg{ padding-top:0; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst .lct-kaartpil{ height:auto; line-height:1.3; padding:3px 7px; font-size:12px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-feiten{ gap:2px 12px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-feiten .lct-tegel-regel{ font-size:12.5px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-prijs strong{ font-size:22px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-voetrij{ flex-direction:column; align-items:stretch; gap:9px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-voetrij .lct-tegel-knop{ justify-content:center; padding:9px 14px; font-size:13.5px; }
}
/* Danny koos op het ontwerpcanvas voorstel A (vier op een rij, brede knop) met een stukje van de route erbij.
   Labels krijgen een beletselteken als ze te lang zijn; "Aanleghavens" heet op de tegel "Via". */
@media (min-width:521px){
	.lct-tegelrij > .lct-tegel{ border-color:#E3EBF2; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst .lct-kaartpil{ display:block; min-width:0; }
	.lct-tegelrij > .lct-tegel .lct-kaartpillen--tekst .lct-kaartpil > svg{ display:inline-block; vertical-align:-2px; margin-right:4px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-havenskop{ font-weight:700; color:var(--lco-ink,#0A2540); font-size:0; }
	.lct-tegelrij > .lct-tegel .lct-tegel-havenskop::before{ content:"Via"; font-size:12px; }
	.lct-tegelrij > .lct-tegel .lct-tegel-havenskop::after{ content:" "; font-size:12px; }
	.lc-index .lct-tegelrij > .lct-tegel .lct-tegel-havens{ -webkit-line-clamp:2; line-clamp:2; }
}

/* v5.0.700: filter A (v5.0.696, de filters als een rij knoppen boven de tegels) is weggehaald. Danny: "Zet de filters
   terug naar klassieke lay-out". De filterkolom links staat er weer zoals voor 5.0.696. */

/* v5.0.697: de kleuren van de app terug op de website (Danny: "laat ook de kleurstellingen uit de app terugkomen naar de
   website"). Dezelfde acht kleuren als Snel naar in de app (SNEL_KLEUR in app.js), elk met een vaste betekenis:
   zee = waar naartoe, munt = wanneer, koraal = snel of kort, navy = rederij en schip, goud = Danny en prijs,
   teal = gezin, berry = meer, blauw = alles. Alleen op iconen in een rondje, nooit op tekst of vlakken. */
:root{ --app-goud:#F2B01E; --app-zee:#1E9BD7; --app-navy:#0A2540; --app-blauw:#0F75BC; --app-munt:#2E9E6A; --app-teal:#0E7C86; --app-koraal:#E8603C; --app-berry:#B8326A; }

/* 1. Zoekbalk op de beginpagina: de snelkeuzes krijgen een gekleurd rondje. */
.lct-searchbar-tab > svg{ box-sizing:content-box; width:13px !important; height:13px !important; padding:5px; border-radius:50%; background:var(--k,var(--app-blauw)); color:var(--kt,#fff) !important; stroke:currentColor; flex:0 0 auto; }
.lct-searchbar-tab{ --k:var(--app-blauw); gap:8px; }
.lct-searchbar-tab[href*="lastminute"],.lct-searchbar-tab[href*="duration_max"]{ --k:var(--app-koraal); }
.lct-searchbar-tab[href*="cruise_type=danny"]{ --k:var(--app-goud); --kt:#0A2540; }
.lct-searchbar-tab[href*="gezin"]{ --k:var(--app-teal); }
.lct-searchbar-tab[href*="cruise_type=world"],.lct-searchbar-tab[href*="ship_type=river"]{ --k:var(--app-zee); }
.lct-searchbar-tab[href*="cruise_type=guided"]{ --k:var(--app-navy); --kt:var(--app-goud); }
.lct-searchbar-tab[href*="price_drop"]{ --k:var(--app-munt); }
.lct-searchbar-tab .lct-flag-nl,.lct-searchbar-tab .lct-flag-de{ width:23px !important; height:23px !important; border-radius:50% !important; box-shadow:0 0 0 1px rgba(10,37,64,.12); background-size:cover; }

/* 2. Nog nooit gecruised: de drie deuren krijgen een gekleurd rondje met een icoon. */
.lct-nieuw-deur{ position:relative; padding-left:64px !important; }
.lct-nieuw-deur::before{ content:""; position:absolute; left:16px; top:18px; width:36px; height:36px; border-radius:50%; background:var(--k) var(--i) center / 18px no-repeat; }
.lct-nieuw-deur[href*="eerste-keer"]{ --k:var(--app-munt); --i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .8-1 1.5V14M12 17.5v.01'/%3E%3C/svg%3E"); }
.lct-nieuw-deur:not([href*="eerste-keer"]):not(.is-nadruk){ --k:var(--app-teal); --i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='6' r='2.2'/%3E%3Ccircle cx='16' cy='6' r='2.2'/%3E%3Ccircle cx='12' cy='11' r='1.6'/%3E%3Cpath d='M3.5 19v-1a3.5 3.5 0 0 1 7 0v1M13.5 19v-1a3.5 3.5 0 0 1 7 0v1M9.5 21v-2a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E"); }
.lct-nieuw-deur.is-nadruk{ --k:var(--app-goud); --i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A2540' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }

/* 3. Cruiseoverzicht: snelkeuzes in de kop en de filterknoppen met hetzelfde rondje. */
.lc-hero-quick-item > svg{ box-sizing:content-box; width:13px !important; height:13px !important; padding:5px; border-radius:50%; background:var(--k,var(--app-blauw)); color:var(--kt,#fff) !important; stroke:currentColor; }
.lc-hero-quick-item[href*="aanbevolen"],.lc-hero-quick-item:first-child{ --k:var(--app-goud); --kt:#0A2540; }
.lc-hero-quick-item[href*="from_nl"]{ --k:var(--app-zee); }
.lc-hero-quick-item[href*="from_de"]{ --k:var(--app-navy); --kt:var(--app-goud); }
.lc-hero-quick-item[href*="lastminute"]{ --k:var(--app-koraal); }
/* v5.0.700: de gekleurde rondjes op de filterknoppen hoorden bij filter A en zijn met de klassieke filterkolom weg. */


/* v5.0.708, Danny: "bij de zoekresultaten ontbreken een paar tegels". Het blok "Te veel opties?" staat na acht tegels en
   vult een hele rij. Bij zes of drie kolommen bleef de rij erboven half leeg. Met dense schuiven de volgende tegels in die gaten. */
.lc-index .lc-card-grid.lct-tegelrij { grid-auto-flow: row dense; }

/* v5.0.710, AVG: de video laadt pas na een klik; het vlak zelf houdt de verhouding 16:9 aan. */
.lc-ship-video-wrap{padding-bottom:0;height:auto}

/* =====================================================================
   v5.0.719: het megamenu licht, met de kleuren van de beginpagina als accent: een navy-naar-cyaan
   streep bovenaan, navy koppen met een gouden streepje, een lichtblauwe ondergrond en een navy
   voetregel met een gouden link. (5.0.718 had een volledig navy paneel: veel te donker.)
   ===================================================================== */
.lct-mega[data-mega]{
	background:linear-gradient(180deg,#F5FAFE 0%,#FFFFFF 140px);
	border-top:4px solid transparent;
	border-image:linear-gradient(90deg,var(--lco-navy),var(--lco-primair) 55%,var(--lco-licht)) 1;
	border-image-slice:1 0 0 0;
	box-shadow:0 22px 50px rgba(10,37,64,.18), 0 0 0 1px rgba(10,37,64,.06);
}
.lct-mega[data-mega] h4{ color:var(--lco-navy); position:relative; padding-bottom:8px; }
.lct-mega[data-mega] h4::after{ content:""; position:absolute; left:0; bottom:0; width:22px; height:2px; border-radius:2px; background:var(--lco-goud); }
.lct-mega[data-mega] .lct-mega-links svg{ color:var(--lco-primair); }
.lct-mega[data-mega] .lct-mega-links a:hover{ background:#EAF6FC; color:var(--lco-navy); }
.lct-mega[data-mega] .lct-mk:hover{ background:#EAF6FC; }
.lct-mega[data-mega] .lct-mega-logos a:hover{ box-shadow:inset 0 0 0 1px var(--lco-licht), 0 4px 12px rgba(15,117,188,.12); }
.lct-mega[data-mega] .lct-mega-voet{ background:var(--lco-navy); border-top:0; color:#B9CCDD; }
.lct-mega[data-mega] .lct-mega-voet a{ color:var(--lco-goud); }
.lct-mega[data-mega] .lct-mega-voet a:hover{ color:#FFD45F; }
.lct-mega[data-mega] a:focus-visible{ outline:2px solid var(--lco-primair); outline-offset:2px; }

/* =====================================================================
   v5.0.721: bij scrollen blijft het menu in de nieuwe huisstijl: een navy balk met het witte
   logo, in plaats van terug naar wit met het oude, gekleurde logo (Danny).
   Geldt waar de kop over de foto loopt: de beginpagina en de proefversie van de cruisepagina.
   ===================================================================== */
.lct-header--over.is-scrolled{
	background:rgba(10,37,64,.97); border-bottom-color:rgba(255,255,255,.08);
	box-shadow:0 6px 22px rgba(4,18,33,.28);
	-webkit-backdrop-filter:saturate(140%) blur(8px); backdrop-filter:saturate(140%) blur(8px);
}
.lct-header--over.is-scrolled .lct-logo .lct-logo-img{ display:none; }
.lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ display:block; height:48px; max-height:48px; width:auto; }
.lct-header--over.is-scrolled .lct-menu > li > a,
.lct-header--over.is-scrolled .lct-search-btn,
.lct-header--over.is-scrolled .lct-kop-bellen,
.lct-header--over.is-scrolled .lct-header-inner > a,
.lct-header--over.is-scrolled .lct-header-inner > button:not(.lct-burger){ color:#fff; }
.lct-header--over.is-scrolled .lct-menu > li > a:hover{ color:var(--lco-goud,#F2B01E); }
.lct-header--over.is-scrolled .lct-burger span{ background:#fff; }
.lct-header--over.is-scrolled .lct-btn-portal{ background:#fff !important; color:var(--lco-navy,#0A2540) !important; box-shadow:none; }
.lct-header--over.is-scrolled .lct-search-btn{ color:#fff !important; }
.lct-header--over.is-scrolled .lct-header-inner svg{ color:inherit; }
@media (max-width:1100px){ .lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ height:42px; max-height:42px; } }
@media (max-width:700px){ .lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ height:38px; max-height:38px; } }
/* v5.0.725: openingstijden in het menu onder elkaar, Danny's foto met hoofd in beeld. */
.lct-mega[data-mega] .lct-mega-uren{ grid-template-columns:1fr; gap:4px; }
.lct-mega[data-mega] .lct-mega-uren span{ display:flex; gap:10px; white-space:nowrap; }
.lct-mega[data-mega] .lct-mega-uren i{ flex:0 0 84px; width:auto; }
.lct-mega[data-mega] .lct-mega-promo--eerst img{ object-position:50% 4%; }
.lct-mega[data-mega] .lct-mk[href$="/offerte/"] .lct-mk-beeld img{ object-position:50% 12%; }

/* =====================================================================
   v5.0.726: ontwerp B op het cruiseoverzicht. De kop loopt door over een foto (de zog van de
   beginpagina), titel en snelkeuzes in wit, daarna de lijst zoals hij was.
   ===================================================================== */
.lc-index .lc-index-page-hero.lc-index-page-hero--foto{
	position:relative; overflow:hidden; border-bottom:0;
	margin-top:calc(-1 * var(--lct-kop-h, 120px));
	padding:calc(var(--lct-kop-h, 120px) + 70px) 0 46px;
	background:#0A2540 var(--lct-hero-foto) center 40% / cover no-repeat;
	color:#fff;
}
.lc-index .lc-index-page-hero--foto::before{
	content:""; position:absolute; inset:0; pointer-events:none;
	background:
		linear-gradient(180deg, rgba(10,37,64,.72) 0%, rgba(10,37,64,.25) calc(var(--lct-kop-h, 120px) + 90px), rgba(10,37,64,.35) 70%, rgba(10,37,64,.85) 100%),
		linear-gradient(90deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,0) 70%);
}
.lc-index .lc-index-page-hero--foto .lc-container{ position:relative; }
.lc-index .lc-index-page-hero--foto h1{ color:#fff; font-size:clamp(36px, 4vw, 56px); text-shadow:0 1px 18px rgba(10,37,64,.35); }
.lc-index .lc-index-page-hero--foto .lc-index-subtitle{ color:#DCE8F2; }
.lc-index .lc-index-page-hero--foto .lc-index-subtitle strong{ color:#fff; }
.lc-index .lc-index-page-hero--foto .lc-crumbs, .lc-index .lc-index-page-hero--foto .lc-crumbs a{ color:#B9CCDD; }
.lc-index .lc-index-page-hero--foto .lc-crumb-current{ color:#fff; }
.lc-index .lc-index-page-hero--foto .lc-hero-quick-item{
	background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.28); color:#fff;
	-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.lc-index .lc-index-page-hero--foto .lc-hero-quick-item:hover{ background:rgba(255,255,255,.18); border-color:#fff; color:#fff; }
.lc-index .lc-index-page-hero--foto .lc-hero-quick-item.is-active{ background:#fff; border-color:#fff; color:#0A2540; }
.lc-index .lc-index-page-hero--foto .lc-hero-quick-ico{ color:#F2B01E; }
@media (max-width:700px){
	.lc-index .lc-index-page-hero.lc-index-page-hero--foto{ padding:calc(var(--lct-kop-h, 70px) + 34px) 0 28px; }
}
/* v5.0.726: ook bestemmingen en rederijen met een foto: de kop loopt eroverheen. */
body:has(.lct-header--over) .lct-region-hero,
body:has(.lct-header--over) .lct-rederij-hero{ margin-top:calc(-1 * var(--lct-kop-h, 120px)); }
body:has(.lct-header--over) .lct-region-hero{ height:calc(560px + var(--lct-kop-h, 120px)); }
body:has(.lct-header--over) .lct-region-hero-overlay,
body:has(.lct-header--over) .lct-rederij-hero-overlay{
	background:
		linear-gradient(180deg, rgba(10,37,64,.72) 0%, rgba(10,37,64,.30) calc(var(--lct-kop-h, 120px) + 100px), rgba(10,37,64,.40) 60%, rgba(10,37,64,.85) 100%);
}
@media (max-width:768px){ body:has(.lct-header--over) .lct-region-hero{ height:calc(480px + var(--lct-kop-h, 70px)); } }
body:has(.lct-header--over) .lct-rederij-hero,
body:has(.lct-header--over) .lct-rederij-hero-content{ min-height:calc(540px + var(--lct-kop-h, 120px)); }

/* =====================================================================
   v5.0.727: OVERAL DEZELFDE KOP (Danny: "trek alles in 1 lijn").
   Pagina's met een foto of video bovenaan: kop doorzichtig over de foto (lct-header--over).
   Alle andere pagina's: een navy kop met het witte logo (lct-header--navy), gelijk aan de kop
   die je ziet als je op de beginpagina naar beneden scrolt.
   ===================================================================== */
.lct-header .lct-logo-wit{ display:none; }
.lct-header--navy{
	background:var(--lco-navy,#0A2540); border-bottom-color:rgba(255,255,255,.08);
}
.lct-header--navy.is-scrolled{ box-shadow:0 6px 22px rgba(4,18,33,.28); }
.lct-header--navy .lct-logo .lct-logo-img{ display:none; }
.lct-header--navy .lct-logo .lct-logo-wit{ display:block; height:56px; max-height:56px; width:auto; }
.lct-header--navy .lct-menu > li > a,
.lct-header--navy .lct-search-btn,
.lct-header--navy .lct-kop-bellen,
.lct-header--navy .lct-header-inner > a,
.lct-header--navy .lct-header-inner > button:not(.lct-burger){ color:#fff; }
.lct-header--navy .lct-menu > li > a:hover,
.lct-header--navy .lct-menu > li.current-menu-item > a,
.lct-header--navy .lct-menu > li > a[aria-current="page"]{ color:var(--lco-goud,#F2B01E); }
.lct-header--navy .lct-burger span{ background:#fff; }
.lct-header--navy .lct-btn-portal{ background:#fff !important; color:var(--lco-navy,#0A2540) !important; box-shadow:none; }
.lct-header--navy .lct-search-btn{ color:#fff !important; }
.lct-header--navy .lct-header-inner svg{ color:inherit; }
@media (max-width:1100px){ .lct-header--navy .lct-logo .lct-logo-wit{ height:44px; max-height:44px; } }
@media (max-width:700px){ .lct-header--navy .lct-logo .lct-logo-wit{ height:40px; max-height:40px; } }
/* De topbalk sluit naadloos aan op de navy kop. */
.lct-topbar:not(.lct-topbar--over){ border-bottom:1px solid rgba(255,255,255,.08); }

/* Foto- en videokoppen schuiven onder topbalk en menu door. */
body:has(.lct-header--over){ overflow-x:clip; }
body:has(.lct-header--over) .lc-ship-hero,
body:has(.lct-header--over) .lct-contact-hero,
body:has(.lct-header--over) .lct-blog-archive-hero{
	margin-top:calc(-1 * var(--lct-kop-h, 120px));
	padding-top:calc(var(--lct-kop-h, 120px) + 64px);
}
body:has(.lct-header--over) .lc-ship-hero.has-image{ position:relative; }
body:has(.lct-header--over) .lc-ship-hero.has-image::before{
	content:""; position:absolute; inset:0; pointer-events:none;
	background:linear-gradient(180deg, rgba(10,37,64,.72) 0%, rgba(10,37,64,.25) calc(var(--lct-kop-h, 120px) + 80px), rgba(10,37,64,.35) 70%, rgba(10,37,64,.8) 100%);
}
body:has(.lct-header--over) .lc-ship-hero-inner{ position:relative; }
/* Cruiseoverzicht: de foto van rand tot rand, ook op een breed scherm. */
.lc-index .lc-index-page-hero.lc-index-page-hero--foto{ width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.lc-index .lc-index-page-hero.lc-index-page-hero--foto h1,
.lc-index .lc-index-page-hero.lc-index-page-hero--foto .lc-container h1{ color:#fff !important; }
.lc-index .lc-index-page-hero.lc-index-page-hero--foto .lc-crumbs a,
.lc-index .lc-index-page-hero.lc-index-page-hero--foto .lc-crumbs span{ color:#B9CCDD !important; }
.lc-index .lc-index-page-hero.lc-index-page-hero--foto .lc-crumbs .lc-crumb-current{ color:#fff !important; }

/* =====================================================================
   v5.0.728: een fotokop op elke pagina zonder eigen foto (acties, vaargebieden, havens, gewone
   pagina's): de zog van de beginpagina, of de uitgelichte afbeelding van de pagina, van rand tot
   rand achter het menu, met de titel in wit. Zo begint elke pagina hetzelfde.
   ===================================================================== */
.lct-fotokop{
	position:relative; box-sizing:border-box; overflow:hidden; color:#fff;
	width:100vw; max-width:none !important;
	margin:calc(-1 * var(--lct-kop-h, 120px)) calc(50% - 50vw) 24px !important;
	padding:calc(var(--lct-kop-h, 120px) + 56px) max(20px, calc(50vw - 540px)) 44px !important;
	background:#0A2540 var(--lct-hero-foto) center 40% / cover no-repeat !important;
	border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
.lct-fotokop--binnen{ padding-left:0 !important; padding-right:0 !important; }
.lct-fotokop::before{
	content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
	background:
		linear-gradient(180deg, rgba(10,37,64,.75) 0%, rgba(10,37,64,.35) calc(var(--lct-kop-h, 120px) + 90px), rgba(10,37,64,.45) 70%, rgba(10,37,64,.88) 100%),
		linear-gradient(90deg, rgba(10,37,64,.55) 0%, rgba(10,37,64,0) 75%);
}
.lct-fotokop > *{ position:relative; z-index:1; }
.lct-fotokop h1, .lct-fotokop h2, .lct-fotokop h1 *, .lct-fotokop .lct-acties-h1{ color:#fff !important; }
.lct-fotokop h1 em, .lct-fotokop h1 .lct-serif, .lct-fotokop h1 i{ color:#8FD3EE !important; }
.lct-fotokop p{ color:#DCE8F2 !important; }
.lct-fotokop .lct-breadcrumbs, .lct-fotokop .lct-breadcrumbs a,
.lct-fotokop .lct-breadcrumb, .lct-fotokop .lct-breadcrumb a, .lct-fotokop .lct-breadcrumb span{ color:#B9CCDD !important; }
.lct-fotokop h1{ text-shadow:0 1px 18px rgba(10,37,64,.35); }
@media (max-width:700px){
	.lct-fotokop{ padding-top:calc(var(--lct-kop-h, 70px) + 30px) !important; padding-bottom:30px !important; }
}

/* =====================================================================
   v5.0.729: de laatste pagina's in de nieuwe lay-out: favorieten, schepen, rederijen,
   eerste keer cruise, zoeken, vergelijken, familiecruises, artikelen en havens.
   ===================================================================== */
.lct-fotokop{ isolation:isolate; }
/* Havens: de eigen foto van de haven in plaats van de zog, het kruimelpad op de foto. */
.lct-fotokop--img{ display:flex !important; align-items:flex-end; min-height:calc(var(--lct-kop-h, 120px) + 320px); padding-bottom:0 !important; }
.lct-fotokop--img > img{ z-index:-1 !important; }
.lc-hv-hero.lct-fotokop .lc-hv-hero-overlay{
	background:linear-gradient(180deg, rgba(10,37,64,0) 0%, rgba(10,37,64,.55) 45%, rgba(10,37,64,.9) 100%);
	padding:60px max(20px, calc(50vw - 540px)) 30px;
}
.lc-hv-hero.lct-fotokop .lc-hv-kruimels{ margin-bottom:14px; }
/* Familiecruises: de foto in plaats van de getekende lucht; speels door kleur, niet door tekeningen. */
.lcf-hero.lct-fotokop .lcf-lucht{ background:none !important; padding:0 !important; min-height:0 !important; margin:0; box-shadow:none; border-radius:0; overflow:visible; }
.lcf-hero.lct-fotokop .lck-zon,
.lcf-hero.lct-fotokop .lck-wolk,
.lcf-hero.lct-fotokop .lck-dobber,
.lcf-hero.lct-fotokop .lck-golven{ display:none !important; }
.lcf-hero.lct-fotokop .lck-meeuw path{ stroke:rgba(255,255,255,.85); }
.lcf-hero.lct-fotokop .lcf-home-tekst{ max-width:680px; }
.lcf-hero.lct-fotokop .lcf-home-tekst h1{ font-family:'Plus Jakarta Sans', system-ui, sans-serif; font-weight:800; font-size:clamp(38px, 5vw, 62px); color:#fff !important; letter-spacing:-.02em; }
.lcf-hero.lct-fotokop .lcf-eyebrow{ font-family:'Plus Jakarta Sans', system-ui, sans-serif; color:#8FD3EE !important; letter-spacing:.12em; font-weight:800; }
.lcf-hero.lct-fotokop .lcf-cijfers li{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); color:#fff; box-shadow:none; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.lcf-hero.lct-fotokop .lcf-cijfers b{ font-family:'Plus Jakarta Sans', system-ui, sans-serif; font-weight:800; color:#fff; }
.lcf-hero.lct-fotokop .lck-knop{ font-family:'Plus Jakarta Sans', system-ui, sans-serif; font-weight:800; background:var(--lco-goud,#F2B01E); color:#0A2540; box-shadow:none; min-height:46px; padding:0 22px; }
.lcf-hero.lct-fotokop .lcf-knop2{ font-family:'Plus Jakarta Sans', system-ui, sans-serif; font-weight:800; background:rgba(10,37,64,.25); border:1px solid rgba(255,255,255,.6); color:#fff; box-shadow:none; min-height:46px; padding:0 22px; }
/* Artikelen met een foto: de foto loopt door achter het menu. */
body:has(.lct-header--over) .lct-blog-hero--has-image{
	margin-top:calc(-1 * var(--lct-kop-h, 120px));
	min-height:calc(460px + var(--lct-kop-h, 120px));
	padding-top:calc(var(--lct-kop-h, 120px) + 60px);
}
body:has(.lct-header--over) .lct-blog-hero--has-image .lct-blog-hero-overlay{
	background:linear-gradient(180deg, rgba(10,37,64,.75) 0%, rgba(10,37,64,.35) calc(var(--lct-kop-h, 120px) + 80px), rgba(10,37,64,.55) 55%, rgba(10,37,64,.9) 100%);
}
/* Video-koppen (contact, nieuws): navy in plaats van grijs, zoals de rest. */
.lct-has-video-bg .lct-page-hero-overlay{
	background:linear-gradient(180deg, rgba(10,37,64,.78) 0%, rgba(10,37,64,.45) 45%, rgba(10,37,64,.85) 100%), linear-gradient(90deg, rgba(10,37,64,.5) 0%, rgba(10,37,64,0) 70%);
}
/* Kopjes in een fotokop: het cyaan van de beginpagina. */
.lct-fotokop .lct-eyebrow, .lct-fotokop .lc-ekc-label, .lct-fotokop .lct-rederijen-eyebrow{ color:#8FD3EE !important; }
/* v5.0.730: een fotokop moet tot boven aan de pagina lopen; de wrappers eromheen krijgen geen ruimte erboven. */
main :is(div, section, article):has(> .lct-fotokop:first-child){ padding-top:0 !important; margin-top:0 !important; }
main :is(div, section, article):has(> :is(style, script, link):first-child + .lct-fotokop){ padding-top:0 !important; margin-top:0 !important; }
main :is(div, section, article):has(> :is(div, section):first-child > .lct-fotokop:first-child){ padding-top:0 !important; margin-top:0 !important; }
/* v5.0.731: op de telefoon geen tekst tegen de rand in de fotokop van Eerste keer en Rederijen. */
@media (max-width:900px){
	.lc-ekc-hero.lct-fotokop, .lct-rederijen-hero.lct-fotokop{ padding-left:18px !important; padding-right:18px !important; }
}
.lct-fotokop > .lct-breadcrumb{ margin:0 0 14px; }

/* =====================================================================
   v5.0.733: toegankelijkheid ronde 1 (contrast, knoppen, links).
   ===================================================================== */
/* Goud alleen met navy tekst: wit op goud haalt 1,9:1. */
.lct-btn-primary[style*="F2B01E"], .lct-vraagblok .lct-btn-primary, .lct-btn-goud{ color:#0A2540 !important; }
/* Blauwe labels op lichtblauw iets donkerder (4,35:1 werd 7:1). */
.lct-kaartpil--blauw:not(.lct-kaartpil--danny), .lct-kaartpillen--tekst .lct-kaartpil--blauw{ color:#0F4C81 !important; }
.lct-searchbar-tab.is-active, .lct-searchbar-tab[aria-selected="true"]{ color:#0A4F85; }
/* Links op navy in cyaan, links in lopende tekst onderstreept. */
.lcd-offerte a:not([class*="knop"]):not([class*="btn"]):not([class*="lcoff-"]),
.lcd-offerte-kader a{ color:#8FD3EE; }
.lcd-offerte-formulier a:not([class*="knop"]):not([class*="btn"]){ color:#0F75BC; }
.lcoff-klein a, .lct-newsletter-fine a, .lcd-noot a, .lcd-voorbehoud a{ text-decoration:underline; text-underline-offset:2px; }
/* Vinkjes in formulieren groot genoeg om te raken. */
.lcoff-form input[type="checkbox"], .lcoff-form input[type="radio"]{ width:20px; height:20px; flex:0 0 20px; }
.lcoff-form label:has(> input[type="checkbox"]){ min-height:32px; display:inline-flex; align-items:center; gap:8px; }
/* Scrollvakken met toetsenbord: zichtbare focus. */
[role="region"][tabindex="0"]:focus-visible{ outline:3px solid var(--lco-goud,#F2B01E); outline-offset:3px; }
/* v5.0.734: laatste contrastpunten uit de hertoets. */
.lct-btn-light, .lcd-eerstekeer a, .lct-newsletter-cta .lct-eyebrow, .lct-newsletter-cta .lct-btn-outline{ color:#0B5E99; }
.lcd-offerte .lcoff-form a, .lcd-offerte .lcoff-klein a, .lcd-offerte-formulier .lcoff-klein a{ color:#0F75BC !important; }
.lct-rederij-review-verified{ color:#15803D; }
.lct-rb-group-stars{ color:#B26A00; }
.lct-acties .lc-action-validity a, .lc-action-validity a{ display:inline-flex; align-items:center; min-height:24px; padding:2px 0; }
.lcf-ov-rk{ display:contents; }
/* v5.0.735: hertoets, laatste punten (sterkere regels elders). */
.lct-story-card .lct-btn-light, .lct-cruise-card-footer .lct-btn-light, .lct-btn-light{ color:#0B5E99 !important; }
.lcd-eerstekeer > a{ color:#0B5E99 !important; }
.lct-newsletter-cta .lct-eyebrow, .lct-newsletter-cta .lct-btn-outline{ color:#0B5E99 !important; }
.lct-stat-bron:not(.lct-stat-bron--hero):not(.lct-stat-bron--danny):not(.lct-stat-bron--footer){ color:#51606F; }
.lct-adviseur-desc a, .lct-contact-hero-content span > a, .lct-contact span > a[target="_blank"]{ text-decoration:underline; text-underline-offset:2px; }
.lcd-kaart-knop button{ min-height:36px; }
/* Kaartvermelding klein houden (de 12px-regel gold niet voor deze licentieregel). */
.lcd-balans .lcb-kaart .leaflet-control-attribution{ font-size:9px !important; line-height:1.4; max-width:60%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lcd-balans .lcb-kaart .leaflet-control-attribution:hover{ max-width:none; }
/* Cruiseoverzicht op de telefoon: actieblok onder elkaar in plaats van een smalle kolom. */
@media (max-width:700px){
	.lc-acties-banner{ flex-wrap:wrap; gap:10px; }
	.lc-acties-banner-text{ flex:1 1 calc(100% - 52px); min-width:0; }
	.lc-acties-banner > a, .lc-acties-banner .lc-acties-banner-btn{ flex:1 1 100%; justify-content:center; text-align:center; }
}

/* =====================================================================
   v5.0.736: een lijn op elk scherm. Danny: op een groot scherm begonnen de kop, het kruimelpad,
   de titel en de inhoud elk op een andere plek. Nu volgt alles dezelfde rand als het logo:
   de breedte van --lct-container met --lct-pad binnenruimte. Een fotokop die van rand tot rand
   loopt, gebruikt --lct-rand, dat is dezelfde lijn gemeten vanaf de rand van het scherm.
   ===================================================================== */
:root{ --lct-pad:20px; }
@media (min-width:1024px){ :root{ --lct-pad:32px; } }
:root{ --lct-rand:max(var(--lct-pad), calc((100vw - var(--lct-container, 1280px)) / 2 + var(--lct-pad))); }
@media (min-width:1024px){
	#lct-header .lct-header-inner, .lct-container, .lct-footer-inner{ padding-left:var(--lct-pad) !important; padding-right:var(--lct-pad) !important; }
	.lc-bst-wrap, .lc-hvi-wrap, .lct-region-section-inner, .lct-haven-links, .lct-rederij-fooien, .lct-rederij-section-inner,
	.lc-ship-container, .lct-rederijen-hero-inner, .lct-rederijen-grid-wrap, .lct-acties-hero-inner, .lct-acties-grid-inner, .lct-acties-tabs-inner,
	.lct-acties-featured-inner, .lct-deals-inner, .lct-region-hero-content, .lct-rederij-hero-content, .lct-blog-grid-inner,
	.lc-ship-hero-inner, .lc-index, .lct-hero-content, .lct-rederijen-grid-inner, .lc-hv-wrap, .lcf .lct-container{
		max-width:var(--lct-container) !important; width:100% !important; box-sizing:border-box !important;
		margin-left:auto !important; margin-right:auto !important;
		padding-left:var(--lct-pad) !important; padding-right:var(--lct-pad) !important;
	}
	.lct-region-season-grid, .lc-bst-groep, .lc-hvi-group, .lc-hvz, .lc-hvk, .lc-hv-cols{ padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; max-width:none !important; }
	.lct-fotokop:not(.lct-fotokop--binnen){ padding-left:var(--lct-rand) !important; padding-right:var(--lct-rand) !important; }
	.lc-hv-hero-overlay{ padding-left:var(--lct-rand) !important; padding-right:var(--lct-rand) !important; }
	.lc-hv-hero-overlay > *{ max-width:none !important; margin-left:0 !important; }
	.lc-index .lc-index-page-hero--foto .lc-container{ max-width:none !important; padding-left:var(--lct-rand) !important; padding-right:var(--lct-rand) !important; }
	.lct-fotokop:not(.lct-fotokop--binnen) > p{ max-width:72ch; }
	/* cruisepagina: kruimelpad, kolommen, offerte en de kop op dezelfde lijn */
	.lcd-binnen .lcd-grid, .lcd-binnen .lcd-onder, .lcd-binnen .lcd-kruimelbalk{ padding-left:var(--lct-pad) !important; padding-right:var(--lct-pad) !important; }
	.lcd-balans.lcd-balans{ --lcb-rand:var(--lct-rand); }
}
/* =====================================================================
   v5.0.736: /cruises/ rustiger. Danny: "het filtermenu is onnodig rommelig".
   - Filters die je zelden gebruikt klappen in (zie het script onderaan cruise-index.php).
   - De werkbalk boven de tegels op een regel: links waar je bent, rechts sorteren en weergave.
   - De pillen op een tegel in een rustige stijl: lichte grond, navy tekst, het icoon in kleur.
   ===================================================================== */
@media (min-width:1025px){
	#lc-filter-sidebar .lc-fp-klap > .lct-searchbar-label{ cursor:pointer; display:flex !important; align-items:center; gap:6px; user-select:none; }
	#lc-filter-sidebar .lc-fp-klap > .lct-searchbar-label::after{
		content:""; margin-left:auto; width:8px; height:8px; flex:none;
		border-right:2px solid #51606F; border-bottom:2px solid #51606F; transform:rotate(45deg) translateY(-2px); transition:transform .2s;
	}
	#lc-filter-sidebar .lc-fp-klap.lc-fp-dicht > .lct-searchbar-label::after{ transform:rotate(-45deg); }
	#lc-filter-sidebar .lc-fp-klap.lc-fp-dicht > :not(.lct-searchbar-label){ display:none !important; }
	#lc-filter-sidebar .lc-fp-klap.lc-fp-dicht{ padding-bottom:10px !important; }
	#lc-filter-sidebar .lc-fp-klap > .lct-searchbar-label:focus-visible{ outline:3px solid #F2B01E; outline-offset:2px; border-radius:6px; }
	#lc-filter-sidebar .lct-combo-scroll{ max-height:168px !important; }
	/* werkbalk */
	.lc-index .lc-results-meta-row{
		display:flex !important; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 18px;
		background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 0 4px !important; margin:0 0 14px !important;
	}
	.lc-index .lc-results-meta-row .lc-results-meta-inline{ order:-1; color:#51606F; font-size:14px; margin:0 !important; }
	.lc-index .lc-results-tools{ display:flex !important; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-left:auto; }
	.lc-index .lc-results-tools .lct-sort-label{ font-size:13px !important; letter-spacing:0 !important; text-transform:none !important; color:#51606F !important; font-weight:600 !important; }
	.lc-index .lc-viewswitch{ display:flex; align-items:center; gap:4px; margin:0 !important; }
	.lc-index .lc-viewswitch-label{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
}
/* pillen op de tegel, ook op een telefoon */
.lct-tegel .lct-kaartpillen--tekst{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:flex-start; gap:6px !important; margin:6px 0 8px; }
.lct-tegel .lct-kaartpillen--tekst .lct-kaartpil{ width:auto !important; flex:0 1 auto !important; }
.lct-tegel .lct-kaartpillen--tekst .lct-kaartpil{
	display:inline-flex !important; align-items:center; gap:5px; min-height:24px; padding:2px 9px !important;
	background:#F1F6FA !important; color:#0A2540 !important; border:1px solid #E1EAF2 !important; border-radius:999px !important;
	font-size:12px !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important; box-shadow:none !important;
	max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lct-tegel .lct-kaartpil .lct-ico{ flex:none; color:#0F75BC; }
.lct-tegel .lct-kaartpil--lm .lct-ico{ color:#D1432B; }
.lct-tegel .lct-kaartpil--danny .lct-ico{ color:#B7860B; }
.lct-tegel .lct-kaartpil--gezin .lct-ico{ color:#0E7C86; }
@media (min-width:1025px){
	#lc-filter-sidebar .lct-shiptype-checks{ display:grid !important; gap:0 !important; padding-top:10px !important; }
	#lc-filter-sidebar .lct-shiptype-check{ min-height:36px; padding:4px 0 !important; margin:0 !important; }
	#lc-filter-sidebar .lct-shiptype-check span{ font-size:14px !important; font-weight:600 !important; color:#0A2540; gap:7px; }
	#lc-filter-sidebar .lct-shiptype-check span svg{ width:15px; height:15px; color:#0F75BC; }
	#lc-filter-sidebar .lct-shiptype-hint{ display:block; font-size:12px !important; line-height:1.45; font-style:normal !important; color:#51606F !important; margin:-4px 0 6px 30px !important; }
}

/* =====================================================================
   v5.0.736: het menu trilde bij scrollen (Danny). Bij de overgang naar de navy balk werd het
   logo kleiner (60 naar 48 pixels), dus werd de hele kop 12 pixels lager en schoof de pagina
   eronder mee omhoog; rond het omslagpunt gebeurde dat heen en weer. Nu houdt de kop dezelfde
   hoogte en verandert alleen de kleur. Ook geen vervaagfilter meer achter de balk: dat liet de
   balk tijdens het scrollen flikkeren in sommige browsers.
   ===================================================================== */
.lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ height:60px; max-height:60px; }
@media (max-width:1100px){ .lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ height:44px; max-height:44px; } }
@media (max-width:700px){ .lct-header--over.is-scrolled .lct-logo .lct-logo-wit{ height:40px; max-height:40px; } }
.lct-header--over.is-scrolled{ background:#0A2540; -webkit-backdrop-filter:none; backdrop-filter:none; }
.lct-header{ overflow-anchor:none; }
/* megamenu: de kop "Waar wil je heen?" is een link naar alle vaargebieden */
.lct-mega h4 a.lct-mega-h4a{ color:inherit; text-decoration:none; }
.lct-mega h4 a.lct-mega-h4a:hover{ text-decoration:underline; text-underline-offset:3px; }
/* v5.0.737: "Terug naar de zoekresultaten" op dezelfde lijn als het kruimelpad */
@media (min-width:1024px){ .lcd-binnen > .lcd-terugbalk{ padding-left:var(--lct-pad); padding-right:var(--lct-pad); margin-top:16px; } }
/* v5.0.738: het actieblok boven het cruiseoverzicht in de huisletter (stond in een schreefletter) */
.lct-actie-promo-title{ font-family:'Plus Jakarta Sans', system-ui, sans-serif !important; font-weight:800; letter-spacing:-.01em; color:#0A2540; }

/* =====================================================================
   v5.0.739: kaartvermelding onder de kaart in plaats van erop (Danny: liep over de knoppen
   "Toon havens" en de zeemijlen). Met daarboven op een telefoon de tip dat je met twee vingers
   zoomt en verschuift; met een vinger scroll je door de pagina.
   ===================================================================== */
.lcd-kaart-bron{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 12px; padding:5px 2px 0; font-size:10px; line-height:1.5; color:#51606F; }
.lcd-kaart-bron:empty{ display:none; }
.lcd-kaart-bron .leaflet-control-attribution{
	float:none !important; clear:none !important; margin:0 0 0 auto !important; padding:0 !important;
	background:none !important; font-size:10px !important; line-height:1.5 !important; color:inherit !important;
	max-width:none !important; white-space:normal !important; overflow:visible !important; box-shadow:none !important;
}
.lcd-kaart-bron .leaflet-control-attribution a{ color:inherit !important; text-decoration:none; }
.lcd-kaart-bron .leaflet-control-attribution a:hover{ text-decoration:underline; }
.lcd-kaart-tip{ font-size:12px; font-weight:600; color:#33475B; }
/* cruisepagina in balans: de vermelding als smalle regel tussen de kaart en de legenda */
.lcd-balans .lcb-kaart .lcd-zijroutekaart{ grid-template-rows:minmax(0,1fr) auto auto; }
.lcd-balans .lcb-kaart .lcd-kaart-bron{ grid-column:1 / -1; grid-row:2; padding:6px 16px 0; color:#8FB3CF; }
.lcd-balans .lcb-kaart .lcd-kaart-legenda, .lcd-balans .lcb-kaart .lct-schipnu-regel{ grid-row:3; }
.lcd-balans .lcb-kaart .lcd-kaart-tip{ color:#DCE8F2; }
/* v5.0.740: op een smal scherm de plus en min boven de knoppenrij, niet over de zeemijlen */
@media (max-width:560px){ .lcd-balans .lcb-kaart .leaflet-bottom.leaflet-right .leaflet-control-zoom{ margin-bottom:64px !important; } }
/* v5.0.741: de klapknop van de filters ligt als onzichtbare knop over de hele kop */
@media (min-width:1025px){
	#lc-filter-sidebar .lc-fp-klap > .lct-searchbar-label{ position:relative; }
	#lc-filter-sidebar .lc-fp-knop{ position:absolute; inset:-4px 0; width:100%; margin:0; padding:0; border:0; background:transparent; cursor:pointer; border-radius:6px; }
	#lc-filter-sidebar .lc-fp-knop:focus-visible{ outline:3px solid #F2B01E; outline-offset:2px; }
}

/* v5.0.741: grote check, toegankelijkheid. */
.lct-rb-group-stars, .lct-rb-group .lct-rb-group-stars{ color:#8A5300 !important; }
.lc-vergelijk-page p{ color:#3D4A57 !important; }
.leaflet-container .leaflet-control-attribution a{ color:#0B5E99; }
.leaflet-touch .leaflet-bar a, .leaflet-bar a{ width:36px; height:36px; line-height:36px; }
.lcd-contact p a, .lct-contact p a, .lcd-contact span > a, .lct-contact span > a, main p a:not([class]), main li a:not([class]){ text-decoration:underline; text-underline-offset:2px; }
/* v5.0.742: zoomknoppen ook tegen de stylesheet van de kaart in, en de link in de toestemmingsregel onderstreept. */
.leaflet-touch .leaflet-bar a, .leaflet-bar a{ width:36px !important; height:36px !important; line-height:36px !important; }
form label a, .lcoff-form label a, label span > a{ text-decoration:underline; text-underline-offset:2px; }

/* v5.0.744: tekst in de blauwe familieband leesbaar (wit op blauw, was navy en blauw op blauw). */
.lck-lucht .lcf-home-tekst h1, .lck-lucht .lcf-home-tekst h2{ color:#fff !important; }
.lck-lucht .lcf-home-tekst p{ color:rgba(255,255,255,.92) !important; }
.lck-lucht .lcf-home-tekst .lcf-eyebrow{ color:#BFEAFB !important; }
.lck-lucht .lcf-cijfers li{ background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; box-shadow:none; }
.lck-lucht .lcf-cijfers b{ color:#fff; }
.lck-lucht .lck-dobber svg, .lck-lucht .lck-zon{ display:none; }

/* v5.0.744: reisverslagen en nieuws, vijf kaarten op een rij. */
@media (min-width:1200px){ body .lct-stories-grid.lct-stories-grid--kaarten.lct-stories-grid--vijf{ grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (min-width:601px) and (max-width:1199px){
	body .lct-stories-grid.lct-stories-grid--kaarten.lct-stories-grid--vijf{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	body .lct-stories-grid--vijf > .lct-story-card:first-child{ grid-column:1 / -1; }
}

/* ==========================================================================
   5.0.747: tikdoelen van 44 px op de telefoon (grote check, toegankelijkheid ronde 2).
   Knoppen en pillen worden zelf 44 px hoog. Kleine dingen die in de vormgeving klein
   moeten blijven (datums op de tegel, jaartallen, het hartje, kruimelpad, "alle ..."-links)
   krijgen een onzichtbaar tikvlak van 44 px eromheen, zodat het beeld gelijk blijft.
   De titel van een tegel hoeft niet: die maakt de hele tegel al aanklikbaar.
   ========================================================================== */
@media (max-width: 760px), (pointer: coarse) {
	/* Knoppen en pillen: zelf 44 px */
	html body .lct-header-inner .lct-vk-knop,
	html body .lct-header-inner .lct-search-btn,
	html body .lct-header-inner .lct-kop-bellen,
	html body .lct-header-inner .lct-burger,
	html body .lct-social a,
	html body .lc-viewswitch .lc-viewbtn,
	html body .leaflet-control-zoom a { min-width:44px; min-height:44px; }
	html body .leaflet-control-zoom a { line-height:44px !important; }
	html body .lct-logo > a,
	html body .lct-footer-menu li > a,
	html body .lct-footer a.lct-footer-cta,
	html body .lct-searchbar-brands-rij > a,
	html body .lct-searchbar-brands a.lct-searchbar-brands-all,
	html body .lct-searchbar-tabs .lct-searchbar-tab,
	html body .lc-hero-quick .lc-hero-quick-item,
	html body .lct-contact-kanalen > a,
	html body .lcd-secnav .lcd-secnav-link,
	html body .lcd-hutkeuze .lcd-keuze,
	html body .lcd-keuzeblok .lcd-keuze,
	html body .lcd-ontdek > a,
	html body .lcd-chips .lcd-chip,
	html body .lcb-chips .lcb-chip,
	html body .lcd-balk-knoppen > a,
	html body .lcd-kaart-knop > button,
	html body .lc-slotacties-knoppen .lcd-knop-klein,
	html body .lcf-duo-knoppen > a,
	html body .lcb-hero-knoppen .lcb-hero-knop,
	html body .lc-acties-banner .lc-acties-banner-cta,
	html body .lc-infeed-cta-actions a,
	html body .lc-results-tools .lc-sort-fav-link,
	html body .lct-schipnu-regel .lct-schipnu-knop,
	html body .lcb-langer .lcb-langer-knop,
	html body .lcd-knop-klein,
	html body .lcd-regiokaart-body a.lcd-regiokaart-link,
	html body .lck-kinderen .lck-kind,
	html body .lcd-cta-paar .lcd-cta-tweede,
	html body .lcd-datalijst a.lcd-datarij { min-height:44px; display:inline-flex; align-items:center; }
	html body .lcb-strook-wrap .lcb-pijl { min-width:44px; min-height:44px; }
	html body .lck-geb-veld input,
	html body .lca-sort select { min-height:44px; }
	html body .lcd-hutkeuze .lcd-keuze,
	html body .lcd-keuzeblok .lcd-keuze,
	html body .lcd-ontdek > a,
	html body .lcd-kaart-knop > button { justify-content:center; }
	html body .lc-results-tools select.lc-sort-select,
	html body .lct-searchbar-field select.lct-searchbar-select { min-height:44px; }
	html body .lct-tegel-datavak > summary.lct-tegel-data,
	html body details.lct-faq-item > summary.lct-faq-q,
	html body details.lcd-mij-beleid > summary { min-height:44px; display:flex; align-items:center; }
	html body .lct-combo > .lct-combo-button { min-height:44px; }
	html body .lct-footer-menu li { margin-bottom:0; } /* de link is zelf 44 px hoog, dus geen extra ruimte ertussen */

	/* Klein in beeld, groot om te tikken */
	html body .lct-tegel-datalijst a.lct-tegel-datum--link,
	html body .lct-tegel-datalijst a.lct-tegel-dataalles,
	html body .lck-jaren .lck-jaar,
	html body .lcf-band-knoppen .lck-jaar,
	html body nav.lcd-kruimels > a,
	html body nav.lct-breadcrumb > a,
	html body nav.lc-crumbs > a,
	html body .lct-section-header a.lct-section-alle,
	html body .lct-havens-kop a.lct-section-alle,
	html body .lct-revstrip-score a.lct-revstrip-alle,
	html body .lcb-sr-links > a,
	html body .lcd-visum > a,
	html body .lcd-klas .lcb-meer,
	html body .lcd-fooien .lcd-fooien-info,
	html body .lcd-cruisecode .lcd-cruisecode-w { position:relative; }
	html body .lct-tegel-datalijst a.lct-tegel-datum--link::after,
	html body .lct-tegel-datalijst a.lct-tegel-dataalles::after,
	html body .lck-jaren .lck-jaar::after,
	html body .lcf-band-knoppen .lck-jaar::after,
	html body nav.lcd-kruimels > a::after,
	html body nav.lct-breadcrumb > a::after,
	html body nav.lc-crumbs > a::after,
	html body .lct-section-header a.lct-section-alle::after,
	html body .lct-havens-kop a.lct-section-alle::after,
	html body .lct-revstrip-score a.lct-revstrip-alle::after,
	html body .lcb-sr-links > a::after,
	html body .lcd-visum > a::after,
	html body .lcd-klas .lcb-meer::after,
	html body .lcd-fooien .lcd-fooien-info::after,
	html body .lcd-cruisecode .lcd-cruisecode-w::after {
		content:""; position:absolute; left:50%; top:50%;
		width:max(100%, 44px); height:44px; transform:translate(-50%, -50%);
	}

	/* Het hartje op de tegel: 44 px om te tikken, het rondje blijft 32 px */
	html body .lct-tegel-hart { width:44px; height:44px; top:4px; right:4px; background:transparent; box-shadow:none; }
	html body .lct-tegel-hart::before {
		content:""; position:absolute; left:6px; top:6px; width:32px; height:32px; border-radius:50%;
		background:rgba(255,255,255,.92); box-shadow:0 1px 4px rgba(10,37,64,.16); z-index:-1;
	}
	html body .lct-tegel-hart:hover { background:transparent; }
	html body .lct-tegel-hart:hover::before { background:#fff; }
}

/* v5.0.761: op de telefoon de kleinere kopfoto (lichte-fotos.php zet --lct-hero-foto-klein naast --lct-hero-foto).
   Zonder die variabele blijft het de gewone foto. */
@media (max-width:760px){
	.lct-fotokop{ background-image:var(--lct-hero-foto-klein, var(--lct-hero-foto)) !important; }
	.lc-index .lc-index-page-hero.lc-index-page-hero--foto{ background-image:var(--lct-hero-foto-klein, var(--lct-hero-foto)); }
}
/* v5.0.761: kleine hulptekst minstens 13 px (grote check: 60-plussers lazen 11 tot 12 px grijs slecht). */
html body .lct-tegel-datum, html body .lct-tegel-nacht, html body .lct-tegel-datakop, html body .lct-tegel-vanaf,
html body .lct-tegel-tot, html body .lct-tegel-plaatskop, html body .lct-tegel-havenslijst,
html body .lct-tegel-dataalles, html body .lct-tegel-datameer, html body .lct-tegel-oud, html body .lct-kaartpil,
html body .lct-tegel small, html body .lct-tegel-havenskop:not([style*="font-size:0"]),
html body .lct-haven-aantal, html body .lct-haven-badge, html body .lct-story-card-badge, html body .lct-stat-bron,
html body .lcf-tel, html body .lcf-red-sub, html body .lcf-ab-lb, html body .lcf-mini-club,
html body .lct-nieuw-deur-sub, html body .lct-revstrip-aantal, html body .lct-revstrip-alle,
html body .lct-danny2-voet, html body .lct-danny2-badge, html body .lct-vestiging-note, html body .lct-contact-form-time,
html body .lct-searchbar-brands-all, html body .lct-footer small, html body .lct-footer-bottom a, html body .lct-footer-bottom small{
	font-size:13px;
}

/* v5.0.764: schoolvakanties op de familiepagina */
.lct-sv-blok{margin:0 0 26px;padding:18px 20px;border:1px solid var(--lco-lijn,#e3e9ef);border-radius:14px;background:var(--lco-vel,#f4f8fb)}
.lct-sv-kop{margin:0 0 4px;font-size:18px;color:var(--lco-navy,#0A2540)}
.lct-sv-uitleg{margin:0 0 12px;font-size:14.5px;color:#51606f}
.lct-sv-lijst{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lct-sv-lijst li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.lct-sv-lijst b{min-width:190px;color:var(--lco-navy,#0A2540)}
.lct-sv-regios{display:flex;flex-wrap:wrap;gap:8px}
html body .lct-sv-regios a{display:inline-flex;text-decoration:none;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--lco-lijn,#e3e9ef);font-size:14px;font-weight:600;color:var(--lco-primair,#0F75BC);text-decoration:none}
.lct-sv-regios a:hover{border-color:var(--lco-primair,#0F75BC)}
.lct-sv-bron{margin:12px 0 0;font-size:13px;color:#51606f}
.lct-sv-kies{margin-top:4px}

/* v5.0.800: tijdens een reis bovenin alleen de gouden vakantieregel; de tweede regel met bereikbaarheid,
   nummer en mail komt terug als Danny niet op reis is (keuze "Een regel"). */
.lct-topbar.lct-topbar-reis .lct-topbar-inner { display: none !important; }
/* v5.0.800: boven een lichte kopfoto (havenpagina) was de vakantieregel slecht leesbaar; altijd een navy ondergrond met de gouden tint. */
.lct-topbar-reisrow { background-color: #0A2540; background-image: linear-gradient(rgba(242,176,30,.10), rgba(242,176,30,.10)); }

/* ==========================================================================
   v5.0.800: telefoon, tikdoelen en kleine tekst (check met 600 bezoekers, keuze "Ja, direct").

   Gemeten op 390 px: vaargebied 349, haven 315, schip 228, cruise 153 en familie 137 tikdoelen
   kleiner dan 44 px, en tot 594 stukjes tekst onder 13 px. Het ontwerp blijft gelijk:
   - tekstlinks krijgen een groter tikvlak met padding en een even grote negatieve marge, zodat er
     niets verschuift;
   - echte knoppen worden 44 px hoog;
   - ronde vraagtekenknopjes houden hun maat en krijgen een onzichtbare rand van 7 px om te tikken;
   - kleine tekst gaat naar minimaal 13 px.
   ========================================================================== */
@media (max-width: 900px) {
	html body :is(.lct-tegel-link, .lct-tegel-dataalles, .lct-tegel-datum--link, .lc-hv-link, .lct-breadcrumb a, .lc-ship-breadcrumb a, .lct-rederij-ship-meta, .lct-rederij-ship-cta, .lct-section-alle, .lct-revstrip-alle, .lct-deal-card-link, .lct-rederij-cruises-allmore, .lc-action-validity a, .lct-hw-bron a):not(#lct-x) {
		display: inline-block; padding-block: 14px; margin-block: -14px;
	}
	html body :is(.lct-haven-chip, .lcf-chip, .lct-hw-chip):not(#lct-x) { min-height: 44px; display: inline-flex; align-items: center; }
	html body :is(.lck-jaar, .lc-hv-fbtn, .lc-hv-toggle, .lcsk-looks button, .lc-hvz-meer .lct-btn-outline, .lcf-zk-veld select, .lcf-zk-kidsrij select, .lcf-zk-plus, .lcf-zk-euro input) { min-height: 44px; }
	html body :is(.lcoff-bouw-vraag, .lcoff-ft-vraag) { position: relative; }
	html body :is(.lcoff-bouw-vraag, .lcoff-ft-vraag)::after { content: ""; position: absolute; inset: -7px; }
	/* v5.0.867: Danny: "Verwerk de vraagtekens in de tegel". De regel hierboven zette ze onder de tegel; in een tegel blijven ze rechtsboven. */
	html body :is(.lcoff-ftw, .lcoff-pkw, .lcoff-bouw-tegelw) > :is(.lcoff-ft-vraag, .lcoff-bouw-vraag) { position: absolute; top: 6px; right: 6px; z-index: 2; }

	html body :is(.lct-kaartpil, .lct-tegel-merknaam, .lct-tegel-koppel, .lct-tegel-schipnaam, .lct-tegel-enkel span,
		.lct-region-port-country, .lct-region-port-badge, .lct-region-stat-label,
		.lc-hv-portcall, .lc-hv-d-mon, .lc-hv-d-yr, .lc-hv-embark, .lct-hw-uur small, .lct-hw-dag-naam small, .lct-hw-kans,
		.lc-ship-spec-key, .lc-hvz-meta, .lc-hvz-geb, .lc-hvz-n, .lc-hvz-bez, .lc-hvz-veld label,
		.lct-rederij-ship-year, .lct-rederij-ship-meta, .lct-rederij-ship-cta, .lct-rb-dim-criteria summary, .lct-aanboord, .lct-rederij-onboard-key, .lct-kl-lijst li,
		.lcf-ov-balk small, .lcf-ab-kop, .lcf-chip small, .lcf-dt-chips li, .lcf-band-kop,
		.lct-story-card-meta, .lct-hero-punten li, .lcbs-kop, .lct-topbar-reisline, .lct-topbar-reisline span,
		.lc-hv-buurt-soort, .lc-hv-buurt-km, .lct-hw-kop, .lct-hw-chip, .lc-hv-fbtn, .lc-hv-opt .is-sm,
		.lct-rb-dim-criteria li, .lct-kl-label, .lct-kl-klein, .lct-rederij-keyfact-eye, .lct-rederij-keyfact-label,
		.lcf-ab-chips small, .lcf-dt-naam small, .lcf-dt-clubs span, .lcf-ov-naam small, .lcf-ab-naam small, .lcf-dt dt, .lcf-ov-naam):not(#lct-x) {
		font-size: 13px;
	}
	html body .lct-topbar-reisline .lct-reis-pill { font-size: 12.5px; }
	html body main small { font-size: max(13px, .85em); }
}

/* v5.0.828: elk vlak achter een rederijlogo helemaal wit (Danny: "sommige logo's hebben een witte rand").
   Een logo met een eigen wit of bijna wit vlak eromheen valt alleen weg tegen zuiver wit. Bij de
   rederijkaarten op /rederijen/ was het vlak 96% wit over de foto, dus de rand van het logo stond er
   als een lichtere rechthoek in. Multiply laat wit in het logo wegvallen tegen het witte vlak, en het
   filter maakt een bijna witte rand (240 tot 254) helemaal wit; de kleuren van het logo zelf verschuiven
   daar nauwelijks door. Bij de tegels kreeg het logo tot nu toe het fotofilter mee (verzadiging erbij). */
html body :is(.lct-tegel-merk, .lct-rederij-card-logo, .lcd-rederij-logo){ background:#fff; }
html body :is(.lct-tegel-merk, .lct-rederij-card-logo, .lcd-rederij-logo) img{
	mix-blend-mode:multiply;
	filter:brightness(1.03) contrast(1.08);
}
/* In de filterlijst heeft het logo een eigen wit plaatje; geen multiply, anders neemt het de kleur van een gekozen regel aan. */
html body .lct-combo-item-logo{ filter:brightness(1.03) contrast(1.08); }

/* v5.0.829: de sectienavigatie op de cruisepagina trilde op de iPhone (Danny, derde melding). Het origineel
   plakt niet meer; zodra het onder het menu zou verdwijnen, toont het menu onderaan een kopie (JS in
   cruiseonly/onder.php). Een plakkende laag in plaats van twee, dus niets meer dat langs elkaar schuift. */
html body .lcd-pagina.lcd-secnav-in-kop .lcd-secnav:not(.lcd-secnav--kop){ position:relative; top:auto; -webkit-transform:none; transform:none; }
html body .lcd-secnav-wacht{ height:0; margin:0; padding:0; }
html body #lct-header .lcd-secnav.lcd-secnav--kop{
	position:absolute; left:0; right:0; top:100%; z-index:1; margin:0;
	display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; overflow-y:hidden;
	scrollbar-width:none; overscroll-behavior-x:contain;
	padding:8px max(16px, calc((100% - 1384px) / 2));
	background:#F4F7FA; border-bottom:1px solid var(--lcd-rand, #E4ECF3);
	box-shadow:0 8px 14px -10px rgba(10,37,64,.22);
	-webkit-transform:none; transform:none;
	visibility:hidden; opacity:0; pointer-events:none; transition:opacity .15s ease, visibility 0s linear .15s;
}
html body #lct-header .lcd-secnav.lcd-secnav--kop.is-zichtbaar{ visibility:visible; opacity:1; pointer-events:auto; transition:opacity .15s ease; }
html body #lct-header .lcd-secnav--kop::-webkit-scrollbar{ display:none; }
html body #lct-header .lcd-secnav--kop.is-balans a{ font-size:14px; padding:9px 16px; }
html body #lct-header .lcd-secnav--kop.is-balans a.is-actief,
html body #lct-header .lcd-secnav--kop.is-balans a:hover{ background:var(--lcd-navy, #0A2540); border-color:var(--lcd-navy, #0A2540); color:#fff; }
@media (prefers-reduced-motion: reduce){ html body #lct-header .lcd-secnav.lcd-secnav--kop{ transition:none; } }

/* =====================================================================
   v5.0.885: /cruises/ weer op de volle breedte. Danny: "probleem met de smalle cruise pagina is weer terug, gebruik de
   breedte die je hebt". Oorzaak: .lc-index heeft 32 px rand, dus binnenin 1537 in plaats van 1553; de containerquery
   bleef dan op de lijstbreedte 1154 staan en de lijst kwam smal in het midden (gemeten op 1710: 1154 van 1537, tegels
   250). Nu vult de lijst de ruimte die er is, gelijk met de kop erboven, en tellen de tegels zelf hoeveel er passen.
   ===================================================================== */
@media (min-width:1100px){
	body .lc-index .lc-results-layout{ max-width:none !important; margin-inline:0 !important; }
}
@media (min-width:900px){
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(auto-fill,minmax(340px,1fr)) !important; }
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-4{ grid-template-columns:repeat(auto-fill,minmax(185px,1fr)) !important; }
}

/* =====================================================================
   v5.0.886: Danny: "en dan 4 resultaten op 1 rij, maak ook het filter 20% smaller". Filter 340 wordt 272; de tegels
   minimaal 260 breed, dan passen er op 1710 en breder vier op een rij (296), op 1440 drie.
   ===================================================================== */
@media (min-width:1100px){
	body .lc-index .lc-results-layout{ grid-template-columns:272px minmax(0,1fr) !important; }
	body .lc-index #lc-filter-sidebar{ width:auto !important; min-width:0 !important; max-width:272px; }
}
@media (min-width:900px){
	body .lc-index .lc-card-grid.lct-tegelrij.is-cols-2{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important; }
}

/* =====================================================================
   v5.0.887: snelle keuzes en Acties deze week in de hero van /cruises/ (Danny: "probeer deze in de hero te
   verwerken"). Breed: rechts naast de titel, als donker glazen paneel over de foto. Smal: onder de knoppen.
   ===================================================================== */
.lc-index .lc-hero-paneel{ display:flex; flex-direction:column; gap:10px; margin-top:18px; min-width:0; }
.lc-index .lc-hero-paneel .lct-snel{ margin:0; background:rgba(10,37,64,.55); border:1px solid rgba(255,255,255,.18); border-radius:16px; padding:12px 14px; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); gap:10px 18px; }
.lc-index .lc-hero-paneel .lct-snel-kop{ color:rgba(255,255,255,.72); }
.lc-index .lc-hero-paneel .lct-snel-chip{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); color:#fff; min-height:34px; }
.lc-index .lc-hero-paneel .lct-snel-chip:hover{ background:rgba(255,255,255,.22); border-color:#fff; }
.lc-index .lc-hero-paneel .lct-snel-chip.is-aan{ background:#F2B01E; border-color:#F2B01E; color:#0A2540; }
.lc-index .lc-hero-paneel .lc-acties-banner{ margin:0; padding:10px 12px 10px 14px; border-radius:14px; gap:12px; box-shadow:0 6px 20px rgba(10,37,64,.25); }
.lc-index .lc-hero-paneel .lc-acties-banner-icon svg{ width:24px; height:24px; }
.lc-index .lc-hero-paneel .lc-acties-banner-title{ font-size:12.5px; }
.lc-index .lc-hero-paneel .lc-acties-banner-sub{ font-size:13.5px; line-height:1.35; }
@media (min-width:1100px){
	body.is-cruise-index .lc-index .lc-index-page-hero .lc-container{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,600px); column-gap:40px; row-gap:0; align-items:start; }
	body.is-cruise-index .lc-index .lc-index-page-hero .lc-container > *{ grid-column:1; }
	body.is-cruise-index .lc-index .lc-index-page-hero .lc-container > .lc-hero-paneel{ grid-column:2; grid-row:1 / span 12; align-self:end; margin-top:0; }
}
@media (min-width:1100px) and (max-width:1439px){
	body.is-cruise-index .lc-index .lc-index-page-hero .lc-container{ grid-template-columns:minmax(0,1fr) minmax(0,480px); column-gap:28px; }
}

/* v5.0.923: Black Friday. Badge op de tegelfoto (twee keer zo hoog als het hartje: 64 px) en de aankondiging in de kop van de beginpagina. */
.lct-bf-badge{position:absolute;right:10px;bottom:10px;z-index:3;height:64px;min-width:64px;padding:0 12px;border-radius:14px;background:#0b0e13;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.35);border:2px solid #E4572E;pointer-events:none}
.lct-bf-badge b{font-size:15px;font-weight:900;letter-spacing:.06em}
.lct-bf-badge i{font-style:normal;font-size:15px;font-weight:900;letter-spacing:.06em;color:#E4572E;margin-top:3px}
.lct-bf-badge--kop{right:24px;bottom:auto;top:24px;height:88px;min-width:88px;border-radius:18px}
.lct-bf-badge--kop b,.lct-bf-badge--kop i{font-size:20px}
.lct-bf-aankondiging{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin:0 0 18px;padding:6px 14px 6px 6px;border-radius:999px;background:rgba(11,14,19,.88);color:#fff;text-decoration:none;font-size:14.5px;font-weight:700;border:1px solid rgba(228,87,46,.7);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.lct-bf-aankondiging:hover{background:#0b0e13;color:#fff}
.lct-bf-aankondiging-label{background:#fff;color:#0b0e13;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:900;letter-spacing:.06em;white-space:nowrap}
.lct-bf-aankondiging-label b{color:#E4572E}
.lct-bf-aankondiging-tekst{min-width:0}
.lct-bf-aankondiging-pijl{color:#F7B49B;font-size:16px}
@media (max-width:600px){.lct-bf-aankondiging{font-size:13px}.lct-bf-badge--kop{height:64px;min-width:64px;right:14px;top:14px}.lct-bf-badge--kop b,.lct-bf-badge--kop i{font-size:15px}}

/* v5.0.925: Black Friday-label in de titelregel van de cruisepagina */
.lct-bf-badge.lct-bf-badge--regel{position:static;display:inline-flex;flex-direction:row;gap:5px;height:auto;min-width:0;padding:4px 9px;margin-left:8px;border-radius:7px;border-width:1.5px;box-shadow:none;vertical-align:middle;line-height:1}
.lct-bf-badge.lct-bf-badge--regel b,.lct-bf-badge.lct-bf-badge--regel i{font-size:11.5px;margin:0;letter-spacing:.08em}

/* v5.0.925: hutfoto's als slider (twee foto's) */
.lcd-klas-foto.lcd-ks{position:relative;overflow:hidden}
.lcd-ks .lcd-ks-baan{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.lcd-ks .lcd-ks-baan::-webkit-scrollbar{display:none}
.lcd-ks .lcd-ks-baan img{flex:0 0 100%;width:100%;scroll-snap-align:start;object-fit:cover;display:block;margin:0!important}
.lcd-ks-pijl{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#0A2540;font-size:20px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(10,37,64,.2);display:flex;align-items:center;justify-content:center;padding:0 0 2px}
.lcd-ks-pijl[hidden]{display:none}
.lcd-ks-vorige{left:8px}.lcd-ks-volgende{right:8px}
.lcd-ks-stippen{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.lcd-ks-stippen i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 2px rgba(0,0,0,.3)}
.lcd-ks-stippen i.is-aan{background:#fff}
