/* croaziere-filter 1.4.2 — mobile first. 1.4.0: sticky left sidebar (computer) + big "Filtre" button (phones), end of file. Palette: titles #1C1F1A, text #3A3E36, captions #6F746A, lines #E4E5E0, buttons #CDD873. 1.3.0: photo header + computer filter bar (end of file). */
.czf [hidden] { display: none !important; }
.czf { color: #3A3E36; }
.czf .container { padding-left: 16px; padding-right: 16px; }
.czf-head { margin: 8px 0 16px; }
.czf-head .section-title { color: #1C1F1A; margin-bottom: 4px; }
.czf-count { color: #6F746A; font-size: 15px; margin: 0; min-height: 1.4em; }

.czf-form { background: #fff; border: 1px solid #E4E5E0; border-radius: 8px; padding: 14px; margin-bottom: 16px; }
.czf-field { position: relative; margin: 0 0 12px; border: 0; padding: 0; min-width: 0; }
.czf-label { display: block; font-size: 13px; font-weight: 600; color: #6F746A; margin: 0 0 4px; letter-spacing: .02em; }
.czf-row { display: flex; gap: 8px; align-items: flex-end; }
.czf-row .czf-field { flex: 1 1 auto; margin-bottom: 0; }
.czf-primary { margin-bottom: 12px; }

.czf input[type=text], .czf input[type=number], .czf select.czf-native {
	width: 100%; height: 48px; border: 1px solid #E4E5E0; border-radius: 6px; background: #fff;
	padding: 0 12px; font-size: 16px; color: #3A3E36; box-shadow: none; -webkit-appearance: none; appearance: none;
}
.czf select.czf-native { background-image: linear-gradient(45deg, transparent 50%, #6F746A 50%), linear-gradient(135deg, #6F746A 50%, transparent 50%);
	background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 32px; }
.czf input::placeholder { color: #6F746A; opacity: 1; }
.czf-date input { padding-right: 40px; cursor: pointer; }
.czf-clear-date { position: absolute; right: 4px; bottom: 4px; width: 40px; height: 40px; border: 0; background: none; font-size: 24px; line-height: 1; color: #6F746A; }

.czf-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border: 0; border-radius: 6px;
	background: #CDD873; color: #1C1F1A; font-weight: 700; font-size: 16px; cursor: pointer; white-space: nowrap; }
.czf-btn:hover, .czf-btn:focus { background: #c2ce62; color: #1C1F1A; }
.czf-search { flex: 0 0 auto; }
.czf-toggle { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 1px solid #1C1F1A;
	border-radius: 6px; background: #fff; color: #1C1F1A; font-weight: 600; font-size: 16px; }
.czf-badge { display: inline-flex; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #CDD873; color: #1C1F1A; font-size: 13px; align-items: center; justify-content: center; }

.czf-adv { display: none; padding-top: 14px; margin-top: 14px; border-top: 1px solid #E4E5E0; }
.czf-open .czf-adv { display: block; }
.czf-adv-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.czf-adv-title { font-size: 18px; margin: 0; color: #1C1F1A; }
.czf-reset { border: 0; background: none; color: #3A3E36; text-decoration: underline; font-size: 15px; min-height: 44px; padding: 0 4px; }
.czf-apply { width: 100%; margin-top: 4px; }

.czf-durations { display: flex; flex-wrap: wrap; gap: 8px; }
.czf-durations legend { width: 100%; }
.czf-chip { position: relative; margin: 0; cursor: pointer; }
.czf-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.czf-chip span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid #E4E5E0; border-radius: 22px; font-size: 15px; color: #3A3E36; background: #fff; }
.czf-chip input:checked + span { border-color: #1C1F1A; box-shadow: inset 0 0 0 1px #1C1F1A; color: #1C1F1A; font-weight: 600; }
.czf-chip input:focus-visible + span { outline: 2px solid #1C1F1A; outline-offset: 2px; }
.czf-chip input:checked + span::before { content: "✓"; margin-right: 6px; }

/* price */
.czf-sliders { position: relative; height: 32px; margin: 4px 6px 8px; }
.czf-sliders input[type=range] { position: absolute; left: 0; right: 0; top: 13px; width: 100%; height: 4px; margin: 0; background: transparent;
	-webkit-appearance: none; appearance: none; pointer-events: none; border: 0; padding: 0; }
.czf-sliders #toSlider { background: #E4E5E0; }
.czf-sliders input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: all; width: 28px; height: 28px; border-radius: 50%;
	background: #fff; border: 2px solid #1C1F1A; cursor: pointer; }
.czf-sliders input[type=range]::-moz-range-thumb { pointer-events: all; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 2px solid #1C1F1A; cursor: pointer; }
.czf-sliders #fromSlider { z-index: 2; }
.czf-price-inputs { display: flex; gap: 8px; }
.czf-price-inputs label { flex: 1 1 0; font-size: 13px; color: #6F746A; margin: 0; }
.czf-price-inputs input { margin-top: 4px; }
.czf-hint { font-size: 13px; color: #6F746A; margin: 6px 0 0; }

/* select2 inside the filter */
.czf .select2-container { width: 100% !important; }
.czf .select2-container--default .select2-selection--single,
.czf .select2-container--default .select2-selection--multiple { min-height: 48px; border: 1px solid #E4E5E0; border-radius: 6px; background: #fff; }
.czf .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 12px; padding-right: 48px; color: #3A3E36; font-size: 16px; }
.czf .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #6F746A; }
.czf .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 6px; }
.czf .select2-container--default .select2-selection--single .select2-selection__clear { font-size: 22px; margin-right: 8px; color: #6F746A; }
.czf .select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 4px 8px; }
.czf .select2-container--default .select2-selection--multiple .select2-selection__choice { margin-top: 5px; padding: 4px 8px; border: 1px solid #E4E5E0; background: #fff; color: #1C1F1A; font-size: 14px; border-radius: 16px; }
.czf .select2-container .select2-search--inline .select2-search__field { margin-top: 8px; font-size: 16px; min-width: 10em; }
.czf .select2-container--default .select2-search--inline .select2-search__field::placeholder { color: #6F746A; }
.czf .select2-dropdown { border-color: #E4E5E0; font-size: 16px; }
.czf .select2-results__option { padding: 10px 12px; min-height: 44px; }
.czf .select2-results__option[aria-disabled=true] { display: none; }
.czf .select2-container--default .select2-results__option--highlighted[aria-selected] { background: #1C1F1A; color: #fff; }
.czf .select2-search--dropdown .select2-search__field { font-size: 16px; height: 40px; border: 1px solid #E4E5E0; }

/* results */
.czf-results { min-height: 50vh; }
#offers-results.is-stale { opacity: .45; transition: opacity .15s; pointer-events: none; }
.czf-loading { position: sticky; top: 72px; z-index: 5; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 auto 12px;
	width: max-content; max-width: 100%; padding: 10px 16px; background: #fff; border: 1px solid #E4E5E0; border-radius: 22px; color: #3A3E36; font-size: 15px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.czf-spinner { width: 18px; height: 18px; border: 2px solid #E4E5E0; border-top-color: #1C1F1A; border-radius: 50%; animation: czfspin .8s linear infinite; }
@keyframes czfspin { to { transform: rotate(360deg); } }
.czf-empty, .czf-error { text-align: center; padding: 32px 16px; border: 1px solid #E4E5E0; border-radius: 8px; background: #fff; margin-bottom: 16px; }
.czf-empty-title { font-size: 20px; color: #1C1F1A; margin: 0 0 8px; }
.czf-empty p, .czf-error p { color: #6F746A; margin: 0 0 16px; }
.czf-more { margin: 8px auto 32px; }
.czf .filtered-offers .cruise-row { margin-bottom: 1rem; }
.czf .filtered-offers .cruise-card-img-bg { height: 60vw; max-height: 28rem; }
.czf .cruise-ports, .czf .cruise-name { overflow-wrap: anywhere; }

/* sticky bar (phones, once the filter box is off screen) */
/* 1.1.0: slim bar at the TOP, just under any fixed/sticky site header (JS sets --czf-top); was at the bottom under the WhatsApp bubble */
.czf-sticky { position: fixed; left: 0; right: 0; top: var(--czf-top, 0px); z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 6px 16px; background: rgba(255,255,255,.97); border-bottom: 1px solid #E4E5E0; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.czf-sticky-count { color: #3A3E36; font-size: 14px; font-weight: 600; }
.czf-sticky-btn { min-height: 40px; padding: 0 14px; border: 1px solid #1C1F1A; border-radius: 6px; background: #fff; color: #1C1F1A; font-weight: 600; font-size: 15px; }

/* date picker */
.daterangepicker.czf-drp { font-family: inherit; color: #3A3E36; border-color: #E4E5E0; z-index: 3000; }
.daterangepicker.czf-drp td.active, .daterangepicker.czf-drp td.active:hover { background: #1C1F1A; color: #fff; }
.daterangepicker.czf-drp td.in-range { background: #E4E5E0; color: #1C1F1A; }
.daterangepicker.czf-drp td.active.in-range { background: #1C1F1A; color: #fff; }
.daterangepicker.czf-drp .drp-buttons .btn { min-height: 40px; padding: 0 16px; font-size: 15px; border-radius: 6px; }
.daterangepicker.czf-drp .drp-buttons .applyBtn { background: #CDD873; border-color: #CDD873; color: #1C1F1A; font-weight: 700; }
.daterangepicker.czf-drp .drp-buttons .cancelBtn { background: #fff; border: 1px solid #E4E5E0; color: #3A3E36; }
.daterangepicker.czf-drp select.monthselect, .daterangepicker.czf-drp select.yearselect { font-size: 15px; padding: 2px; }
/* 1.2.1: computer – month/year dropdowns wide enough for the full Romanian month names (Septembrie, Noiembrie…) */
@media (min-width: 768px) {
	.daterangepicker.czf-drp .drp-calendar { max-width: none; }
	.daterangepicker.czf-drp .calendar-table th, .daterangepicker.czf-drp .calendar-table td { min-width: 34px; width: 34px; }
	.daterangepicker.czf-drp .calendar-table th.month { white-space: nowrap; }
	.daterangepicker.czf-drp select.monthselect { width: auto; min-width: 116px; margin-right: 4px; }
	.daterangepicker.czf-drp select.yearselect { width: auto; min-width: 66px; }
}
@media (max-width: 767.98px) {
	.daterangepicker.czf-drp { position: fixed !important; left: 8px !important; right: 8px !important; top: auto !important; bottom: 8px !important;
		width: auto !important; max-width: none; max-height: calc(100vh - 16px); overflow-y: auto; margin: 0; box-shadow: 0 8px 32px rgba(0,0,0,.25); }
	.daterangepicker.czf-drp::before, .daterangepicker.czf-drp::after { display: none; }
	.daterangepicker.czf-drp .drp-calendar { max-width: none; width: 100%; float: none; }
	.daterangepicker.czf-drp .drp-calendar.right { display: none !important; }
	.daterangepicker.czf-drp .drp-calendar.left { padding: 8px; }
	.daterangepicker.czf-drp .calendar-table th, .daterangepicker.czf-drp .calendar-table td { min-width: 0; width: 14.28%; height: 40px; font-size: 15px; }
	.daterangepicker.czf-drp .drp-buttons { display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
	.daterangepicker.czf-drp .drp-selected { flex: 1 0 100%; text-align: left; padding: 0 0 4px; font-size: 14px; }
	.daterangepicker.czf-drp .drp-buttons .btn { flex: 1 1 0; margin: 0 !important; width: auto; min-height: 48px; font-size: 16px; }
}


/* 1.1.0: destinations (checkbox list), labels + ship year (discreet light-grey pills, like the croaziere-labels badges) */
.czf-sub { font-weight: 400; color: #6F746A; letter-spacing: 0; }
.czf-dest-btn { display: flex; align-items: center; width: 100%; height: 48px; padding: 0 36px 0 12px; border: 1px solid #E4E5E0; border-radius: 6px; background: #fff;
	font-size: 16px; color: #3A3E36; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative;
	background-image: linear-gradient(45deg, transparent 50%, #6F746A 50%), linear-gradient(135deg, #6F746A 50%, transparent 50%);
	background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-size: 5px 5px; background-repeat: no-repeat; }
.czf-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 8px; }
.czf-checks li { margin: 0; min-width: 0; }
.czf-checks.is-collapsed li.czf-extra:not(.is-on) { display: none; }
.czf-check { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 4px 0; cursor: pointer; font-size: 15px; line-height: 1.25; color: #3A3E36; }
.czf-check input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: #1C1F1A; }
.czf-check span { min-width: 0; overflow-wrap: anywhere; }
.czf-check input:checked + span { color: #1C1F1A; font-weight: 600; }
.czf-more-dest { border: 0; background: none; padding: 0 2px; min-height: 40px; color: #3A3E36; text-decoration: underline; font-size: 15px; }
.czf-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.czf-pills legend { width: 100%; }
.czf-pill { position: relative; margin: 0; cursor: pointer; }
.czf-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.czf-pill span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid #f0f0f0; border-radius: 999px; background: #f0f0f0;
	color: #3A3E36; font-size: 14px; white-space: nowrap; }
.czf-pill input:checked + span { background: #fff; border-color: #1C1F1A; box-shadow: inset 0 0 0 1px #1C1F1A; color: #1C1F1A; font-weight: 600; }
.czf-pill input:checked + span::before { content: "✓"; margin-right: 6px; }
.czf-pill input:focus-visible + span { outline: 2px solid #1C1F1A; outline-offset: 2px; }
.czf-pills .czf-hint { flex: 1 0 100%; }

/* 1.1.0: WhatsApp bubble (Joinchat) fades out on phones while "Filtre și sortare" is open (body.czf-wa-off set by the JS) */
.joinchat { transition: opacity .25s ease; }
body.czf-wa-off .joinchat { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity .25s ease, visibility 0s .25s; }

/* 1.1.0: "Perioadă" + "Caută" exactly aligned (the theme gave inputs margin 8px/16px, so the button sat 16px off; iOS adds its own button styling) */
.czf-row { align-items: flex-end; }
.czf .czf-row input#filter-data { margin: 0; height: 48px; border-radius: 6px; }
.czf .czf-row .czf-search { -webkit-appearance: none; appearance: none; box-sizing: border-box; height: 48px; min-height: 48px; margin: 0; padding: 0 20px;
	border: 1px solid #CDD873; border-radius: 6px; line-height: 1; align-self: flex-end; }
.czf .czf-row .czf-search:hover, .czf .czf-row .czf-search:focus { border-color: #c2ce62; }

/* tablet / desktop: filters always visible on the left, no layout jump */
@media (min-width: 768px) {
	.czf-toggle, .czf-apply, .czf-sticky, .czf-dest-field { display: none !important; }
	.czf-checks { grid-template-columns: 1fr; }
	.czf-adv { display: block; }
	.czf-row { flex-direction: column; align-items: stretch; }
	.czf-search { width: 100%; }
	.czf-side .czf-form { position: static; }
	.czf .filtered-offers .cruise-card-img-bg { height: 22rem; }
}
@media (min-width: 1200px) {
	.czf .filtered-offers .col-txt .txt-wrap { padding: 0 2rem; }
	.czf .filtered-offers .card-list .cruise-row:nth-child(2n) .col-img { order: 1; }
	.czf .filtered-offers .card-list .cruise-row:nth-child(2n) .col-txt { order: 2; }
}
/* 1.2.0: destinations + cruise lines as the same light-grey pills (top 10 + "Arată toate"; chosen pills always visible) */
.czf-pill-list { display: contents; list-style: none; margin: 0; padding: 0; }
.czf-pill-list li { margin: 0; padding: 0; max-width: 100%; }
.czf-pill-list.is-collapsed li.czf-extra:not(.is-on) { display: none; }
.czf-pill-list .czf-pill span { max-width: 100%; white-space: normal; text-align: left; line-height: 1.2; padding-top: 6px; padding-bottom: 6px; overflow-wrap: anywhere; }
.czf-more-pills { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px dashed #b9b9b4; border-radius: 999px; background: #fff; color: #3A3E36; font-size: 14px; line-height: 1.2; text-decoration: none; cursor: pointer; }
.czf-more-pills::after { content: "+"; margin-left: 6px; font-weight: 600; }
.czf-more-pills:focus-visible { outline: 2px solid #1C1F1A; outline-offset: 2px; }

/* ============ 1.3.0: photo header on /oferte-croaziera/ (Ponant style) ============ */
.czf-hero { position: relative; height: calc(280px + var(--czh-h, 0px)); overflow: hidden; background: #2f7f93; color: #fff; margin: 0; }
.czf-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; display: block; max-width: none; }
/* light shade: the photo stays bright, the white header/logo (top) and title (bottom) stay readable */
.czf-hero-shade, html body .czc-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,24,30,.30) 0%, rgba(10,24,30,0) 26%, rgba(10,24,30,0) 42%, rgba(10,24,30,.46) 100%), linear-gradient(90deg, rgba(10,24,30,.30) 0%, rgba(10,24,30,0) 60%); }
.czf-hero-txt { position: absolute; left: 0; right: 0; bottom: 22px; padding-left: 16px; padding-right: 16px; }
html body .czf-hero-title { font: 400 36px/1.08 Didot, "Didot LT STD", "Bodoni 72", Georgia, serif !important; margin: 0; padding: 0; color: #fff !important; text-align: left; text-transform: none; letter-spacing: 0; text-shadow: 0 1px 14px rgba(0,0,0,.28); }
html body .czf-hero-title::before, html body .czf-hero-title::after { display: none !important; }
html body .czf-hero-intro { font: 400 16px/1.55 Montserrat, "Helvetica Neue", Arial, sans-serif; margin: 8px 0 0; max-width: 40rem; color: #fff !important; text-shadow: 0 1px 10px rgba(0,0,0,.35); }
/* the header plugin's own title/intro above the list (variant A) is not needed under the photo */
html body.czf-hero-on .czf-head::before { content: none !important; display: none !important; }
html body.czf-hero-on .czf-head { margin: 16px 0 12px; }
@media (max-width: 767.98px) { .czf-hero-intro { display: none; } }

/* ============ 1.3.0: computer (1024px+): filter bar, drawer, full-width cards ============ */
.czf-bar { display: none; }
@media (min-width: 1024px) {
	html body.czf-desk .czf-side { display: none !important; }
	html body.czf-desk .czf-results { flex: 0 0 100%; max-width: 100%; }
	html body.czf-desk .czf.section { padding-top: 0 !important; overflow: visible; }

	/* photo header height + text (same on /oferte-croaziera/ and /destinatii/<slug>/) */
	html body .czf-hero, html body.czh.czh-hero .czc-hero, html body .czc-hero { height: clamp(460px, 60vh, 640px); }
	.czf-hero-txt, html body .czc-txt { bottom: 84px; }
	html body .czf-hero-title { font-size: 56px !important; }
	html body .czf-hero-intro { font-size: 17px; margin-top: 12px; }
	.czf-hero-txt { left: 0; right: 0; padding-left: 15px; padding-right: 15px; }
	html body .czc-txt { left: max(24px, calc((100% - 1110px) / 2)); right: max(24px, calc((100% - 1110px) / 2)); }

}

/* 1.3.0: the compact pill bar at EVERY width (phones/tablets too): bar, popovers, drawer, no sidebar */
html body.czf-desk .czf-side { display: none !important; }
html body.czf-desk .czf-results { flex: 0 0 100%; max-width: 100%; }
html body.czf-desk .czf.section { padding-top: 0 !important; overflow: visible; }
html body.czf-desk .czf-sticky { display: none !important; }
/* the bar: white, rounded, soft shadow, over the bottom of the photo; sticks under the site header and follows it */
.czf-bar { display: block; position: sticky; top: calc(var(--czh-h, 0px) + 12px); z-index: 70; margin: -36px 0 18px; transition: top .25s ease; }
html body.czh-hide .czf-bar { top: 12px; }
html body.admin-bar .czf-bar { top: calc(var(--czh-h, 0px) + 44px); }
.czf-bar-in { display: flex; align-items: center; gap: 10px; min-height: 72px; padding: 14px 16px; background: #fff; border-radius: 16px;
	box-shadow: 0 10px 30px rgba(28,31,26,.12), 0 1px 3px rgba(28,31,26,.08); }
.czf-bp { position: relative; flex: 0 0 auto; }
.czf-bp-btn, .czf-bar-all { display: inline-flex; align-items: center; gap: 6px; height: 44px; margin: 0; padding: 0 16px 0 18px; border: 1px solid #DADBD5;
	border-radius: 999px; background: #fff; color: #1C1F1A; font: 400 14px/1 Montserrat, "Helvetica Neue", Arial, sans-serif; cursor: pointer; white-space: nowrap;
	transition: border-color .15s, box-shadow .15s; -webkit-appearance: none; appearance: none; }
.czf-bp-btn:hover, .czf-bar-all:hover, .czf-bp.is-open .czf-bp-btn, .czf-bp-date:hover .czf-bp-btn { border-color: #1C1F1A; }
.czf-bp-btn:focus-visible, .czf-bar-all:focus-visible, .czf-bp-date input:focus-visible + .czf-bp-btn { outline: 2px solid #1C1F1A; outline-offset: 2px; }
.czf-bp-k { color: #3A3E36; }
.czf-bp-v { font-weight: 600; max-width: 14em; overflow: hidden; text-overflow: ellipsis; }
.czf-bp.is-set .czf-bp-btn { border-color: #1C1F1A; box-shadow: inset 0 0 0 1px #1C1F1A; }
.czf-bp-i { width: 16px; height: 16px; flex: 0 0 16px; margin-left: 2px; }
.czf-bp.is-open .czf-bp-i { transform: rotate(90deg); }
/* Perioadă: the real (invisible) date field covers the pill, so the calendar opens under it */
.czf-bp-date { cursor: pointer; }
html body .czf .czf-bp-date input#filter-data { position: absolute; inset: 0; z-index: 2; width: 100%; height: 44px; margin: 0; padding: 0; opacity: 0; cursor: pointer; border: 0; }
.czf-bp-date .czf-bp-btn { pointer-events: none; }
.czf-bar-sp { flex: 1 1 auto; }
.czf-bar-all { font-weight: 600; padding: 0 12px 0 16px; }
.czf-bar-all-i { width: 20px; height: 20px; }
.czf-bar .czf-badge { min-width: 24px; height: 24px; border-radius: 12px; background: #1C1F1A; color: #fff; font-size: 12px; font-weight: 600; }

/* pill popover (borrows the field from the drawer) */
.czf-pop { position: absolute; left: 0; top: calc(100% + 12px); z-index: 80; width: 460px; max-width: calc(100vw - 48px); background: #fff; border-radius: 14px;
	box-shadow: 0 16px 40px rgba(28,31,26,.18), 0 1px 3px rgba(28,31,26,.1);
	display: flex; flex-direction: column; max-height: calc(100vh - 200px); }
.czf-pop[hidden] { display: none; }
.czf-pop-body { flex: 1 1 auto; min-height: 0; max-height: 460px; overflow: auto; overscroll-behavior: contain; padding: 18px 18px 6px; }
.czf-pop-body .czf-field { margin: 0; }
.czf-pop-body legend { display: none; }
.czf-pop-body .czf-pill-list.is-collapsed li.czf-extra:not(.is-on) { display: none; }
.czf-pop-foot { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid #E4E5E0; }
.czf-pop-clear { border: 0; background: none; padding: 0 4px; min-height: 40px; color: #3A3E36; text-decoration: underline; font-size: 14px; cursor: pointer; }
.czf-pop-ok, .czf-drawer-ok { min-height: 44px; font-size: 15px; font-weight: 600; }

/* "Filtre și sortare": drawer on the right with every filter */
.czf-drawer { position: fixed; inset: 0; z-index: 10050; }
.czf-drawer-ov { position: absolute; inset: 0; background: rgba(28,31,26,.38); opacity: 0; transition: opacity .25s; }
.czf-drawer-p { position: absolute; top: 0; right: 0; bottom: 0; width: 440px; max-width: 92vw; display: flex; flex-direction: column; background: #fff;
	box-shadow: -12px 0 40px rgba(28,31,26,.18); transform: translateX(100%); transition: transform .25s ease; }
.czf-drawer.is-in .czf-drawer-ov { opacity: 1; }
.czf-drawer.is-in .czf-drawer-p { transform: none; }
.czf-drawer-h { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 14px 24px; border-bottom: 1px solid #E4E5E0; }
.czf-drawer-t { font: 600 20px/1.2 Montserrat, "Helvetica Neue", Arial, sans-serif; color: #1C1F1A; }
.czf-drawer-x { width: 44px; height: 44px; border: 0; border-radius: 50%; background: none; font-size: 28px; line-height: 1; color: #1C1F1A; cursor: pointer; }
.czf-drawer-x:hover { background: #F3F3F0; }
.czf-drawer-b { flex: 1 1 auto; overflow: auto; padding: 4px 24px 16px; }
.czf-drawer-b .czf-adv { display: block !important; margin: 0; padding: 0; border: 0; }
.czf-drawer-b .czf-adv-head { justify-content: flex-end; margin: 4px 0 4px; }
.czf-drawer-b .czf-adv-title { display: none; }
.czf-drawer-b .czf-apply { display: none !important; }
.czf-drawer-b .czf-field { margin-bottom: 20px; }
.czf-drawer-f { padding: 14px 24px; border-top: 1px solid #E4E5E0; }
.czf-drawer-ok { width: 100%; }
body.czf-drawer-on { overflow: hidden; }
body.czf-drawer-on .joinchat { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* count under the bar */
html body.czf-desk .czf-head { margin: 0 0 16px !important; }
html body.czf-desk .czf-count { font-size: 14px; color: #6F746A; }
html body .czd-dest.section { padding-top: 0 !important; }


/* phones + tablets: same bar, smaller; pills scroll sideways, "Filtre" stays pinned on the right; popovers become a sheet under the bar */
@media (max-width: 1023.98px) {
	.czf-bar { top: calc(var(--czh-h, 0px) + 8px); margin: 12px 0 12px; }
	html body.czh-hide .czf-bar { top: 8px; }
	.czf-bar-in { min-height: 0; gap: 8px; padding: 8px; border-radius: 14px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.czf-bar-in::-webkit-scrollbar { display: none; }
	.czf-bp-btn, .czf-bar-all { height: 40px; padding: 0 12px 0 14px; font-size: 13px; }
	html body .czf .czf-bp-date input#filter-data { height: 40px; }
	.czf-bar-sp { flex: 0 0 0; margin-left: auto; }
	.czf-bar-all { position: sticky; right: 0; z-index: 3; box-shadow: -12px 0 10px -4px #fff; }
	.czf-bp-i { display: none; }
	.czf-pop { position: fixed; left: 12px; right: 12px; width: auto; max-width: none; }
	.czf-bar.is-stuck .czf-bar-in { min-height: 0; padding: 6px 8px; }
	.czf-bar.is-stuck .czf-bp-btn, .czf-bar.is-stuck .czf-bar-all { min-height: 0; }
	html body.czf-desk .czf-head { margin: 0 0 12px !important; }
}
@media (max-width: 767.98px) {
	.czf-bar-all-x { display: none; }
	/* phones: just Perioadă + Filtre (destination, company, duration live in the Filtre panel) */
	/* phones: row 1 = Destinație (full width, absent on destination pages); row 2 = Perioadă + Filtre. Company/duration live in the Filtre panel. */
	.czf-bp[data-p="comp"], .czf-bp[data-p="dur"] { display: none; }
	.czf-bar-in { flex-wrap: wrap; }
	.czf-bp[data-p="dest"] { flex: 1 1 100%; min-width: 0; }
	.czf-bp[data-p="dest"] .czf-bp-btn { width: 100%; }
	.czf-bp[data-p="dest"] .czf-bp-v { max-width: none; flex: 1 1 auto; text-align: left; }
	.czf-bp[data-p="dest"] .czf-bp-i { display: block; margin-left: auto; transform: rotate(90deg); }
	.czf-bp[data-p="dest"].is-open .czf-bp-i { transform: rotate(-90deg); }
	.czf-bar-in { overflow: visible; }
	.czf-bp-date { flex: 1 1 auto; min-width: 0; }
	.czf-bp-date .czf-bp-btn { width: 100%; }
	.czf-bp-date .czf-bp-v { max-width: none; }
	.czf-bar-sp { display: none; }
	.czf-bar-all { position: static; box-shadow: none; flex: none; }
	.czf-drawer-p { width: 100vw; max-width: 100vw; }
}
@media (min-width: 1024px) {
	/* cards, variant A (default): two per row, photo on top, like Ponant */
	html body.czf-desk.czf-cards-grid .czf .card-list { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; }
	html body.czf-desk.czf-cards-grid .czf .card-list .cruise-row { display: flex; flex-direction: column; margin: 0; background: #fff; border: 1px solid #E4E5E0;
		border-radius: 12px; overflow: hidden; }
	html body.czf-desk.czf-cards-grid .czf .card-list .cruise-row > [class*="col-"] { flex: 0 0 auto; max-width: 100%; width: 100%; padding: 0; order: 0 !important; }
	html body.czf-desk.czf-cards-grid .czf .filtered-offers .cruise-card-img-bg { height: 260px; max-height: none; }
	html body.czf-desk.czf-cards-grid .czf .filtered-offers .col-txt .txt-wrap { padding: 20px 22px 22px; }
	html body.czf-desk.czf-cards-grid .czf .card-separator { display: none; }
	/* variant B: one wide row per offer, photo left / text right, every row the same way */
	html body.czf-desk.czf-cards-list .czf .card-list .cruise-row { margin: 0 0 24px; background: #fff; border: 1px solid #E4E5E0; border-radius: 12px; overflow: hidden; }
	html body.czf-desk.czf-cards-list .czf .card-list .cruise-row .col-img { flex: 0 0 40%; max-width: 40%; padding: 0; order: 1 !important; }
	html body.czf-desk.czf-cards-list .czf .card-list .cruise-row .col-txt { flex: 0 0 60%; max-width: 60%; order: 2 !important; }
	html body.czf-desk.czf-cards-list .czf .filtered-offers .cruise-card-img-bg { height: 100%; min-height: 300px; max-height: none; }
	html body.czf-desk.czf-cards-list .czf .filtered-offers .col-txt .txt-wrap { padding: 24px 28px; }
	html body.czf-desk.czf-cards-list .czf .card-separator { display: none; }
}

.czf-bar-s { height: 0; }
/* computer: the pill bar slims down while it is stuck (72 -> 56px) */
@media (min-width: 1024px) {
	.czf-bar-in { transition: min-height .2s ease, padding .2s ease; }
	.czf-bar.is-stuck .czf-bar-in { min-height: 56px; padding: 8px 12px; }
	.czf-bar.is-stuck .czf-bp-btn, .czf-bar.is-stuck .czf-bar-all { height: 40px; }
	html body .czf .czf-bar.is-stuck .czf-bp-date input#filter-data { height: 40px; }
}

/* 1.3.0: big photos like Ponant (computer) - wider page, 2 columns, tall 3:2 rounded photos, labels over the photo */
@media (min-width: 1024px) {
	html body.czf-desk .czf > .container, html body .czf-hero-txt.container { width: auto !important; max-width: 1360px !important; padding-left: 24px; padding-right: 24px; }
	html body .czc-txt { left: max(24px, calc((100% - 1312px) / 2)); right: max(24px, calc((100% - 1312px) / 2)); }
	html body .czc-back { left: max(24px, calc((100% - 1312px) / 2)) !important; }
	html body .czd-share--hero { right: max(24px, calc((100% - 1312px) / 2)) !important; }
	html body.czf-desk.czf-cards-grid .czf .card-list { gap: 48px 32px; }
	html body.czf-desk.czf-cards-grid .czf .card-list .cruise-row { position: relative; border: 0; border-radius: 0; background: none; overflow: visible; }
	html body.czf-desk.czf-cards-grid .czf .card-list .col-img a { display: block; border-radius: 14px; overflow: hidden; }
	html body.czf-desk.czf-cards-grid .czf .filtered-offers .cruise-card-img-bg { height: auto !important; aspect-ratio: 3 / 2; max-height: none; background-size: cover; background-position: center;
		transition: transform .5s ease; }
	html body.czf-desk.czf-cards-grid .czf .card-list .cruise-row:hover .cruise-card-img-bg { transform: scale(1.03); }
	html body.czf-desk.czf-cards-grid .czf .filtered-offers .col-txt .txt-wrap { padding: 20px 4px 0; }
	html body.czf-desk.czf-cards-grid .czf .card-list .col-txt, html body.czf-desk.czf-cards-grid .czf .card-list .txt-wrap { position: static; }
	html body.czf-desk.czf-cards-grid .czf .card-list .croaziere-labels { position: absolute; top: 16px; left: 16px; right: 16px; z-index: 2; margin: 0; pointer-events: none; }
	html body.czf-desk.czf-cards-grid .czf .card-list .croaziere-labels li { background: rgba(255,255,255,.92); }
}


/* ============ 1.4.0: body.czf-sbl – filter as a sticky LEFT SIDEBAR on a computer, one big "Filtre" button on phones ============ */
/* plain lists with real checkboxes / radio buttons (sidebar + phone panel), 16px text, nothing to open */
html body.czf-sbl .czf-adv { display: flex !important; flex-direction: column; }
html body.czf-sbl .czf-adv > * { order: 20; }
html body.czf-sbl .czf-adv > .czf-adv-head { order: 0; }
html body.czf-sbl .czf-adv > .czf-date { order: 1; }
html body.czf-sbl .czf-adv > #czf-dest { order: 2; }
html body.czf-sbl .czf-adv > #czf-comp { order: 3; }
html body.czf-sbl .czf-adv > .czf-durations { order: 4; }
html body.czf-sbl .czf-adv > .czf-labels-f { order: 5; }
html body.czf-sbl .czf-adv > .czf-price { order: 6; }
html body.czf-sbl .czf-adv > .czf-year { order: 7; }
html body.czf-sbl .czf-adv > .czf-apply { order: 30; }
html body.czf-sbl .czf .czf-field { margin: 0; padding: 16px 0; border-top: 1px solid #E4E5E0; }
html body.czf-sbl .czf .czf-adv-head + .czf-field { border-top: 0; }
html body.czf-sbl .czf .czf-clear-date { bottom: 20px; }
html body.czf-sbl .czf .czf-sort-top { padding: 0; border: 0; }
html body.czf-sbl .czf .czf-label, html body.czf-sbl .czf legend.czf-label { float: none; width: 100%; font-size: 17px; font-weight: 700; color: #1C1F1A; letter-spacing: 0; margin: 0 0 8px; padding: 0; }
html body.czf-sbl .czf .czf-label .czf-sub { display: none; }
/* 1.4.1: pills (same light-grey pill + selected style as 1.3.0) on the computer sidebar AND in the phone panel; they wrap inside the column. 16px text. */
html body.czf-sbl .czf .czf-pills, html body.czf-sbl .czf .czf-durations { display: flex; flex-wrap: wrap; gap: 8px; }
html body.czf-sbl .czf .czf-pill-list { display: contents; }
html body.czf-sbl .czf .czf-pill span, html body.czf-sbl .czf .czf-pill-list .czf-pill span, html body.czf-sbl .czf .czf-chip span { min-height: 40px; padding: 6px 13px; font-size: 16px; line-height: 1.25;
	border: 1px solid #f0f0f0; border-radius: 999px; background: #f0f0f0; color: #3A3E36; white-space: normal; text-align: left; }
html body.czf-sbl .czf .czf-pill input:checked + span, html body.czf-sbl .czf .czf-chip input:checked + span { background: #fff; border-color: #1C1F1A; box-shadow: inset 0 0 0 1px #1C1F1A; color: #1C1F1A; font-weight: 600; }
html body.czf-sbl .czf .czf-pill:hover input:not(:checked) + span, html body.czf-sbl .czf .czf-chip:hover input:not(:checked) + span { background: #E7E8E3; border-color: #E7E8E3; }
html body.czf-sbl .czf .czf-more-pills { display: block; flex: 1 0 100%; width: 100%; text-align: left; line-height: 1.3; min-height: 40px; margin-top: 4px; padding: 0; border: 0; border-radius: 0; background: none; color: #1C1F1A; font-size: 16px; font-weight: 600; text-decoration: underline; }
html body.czf-sbl .czf .czf-more-pills::after { content: none; }
html body.czf-sbl .czf .czf-hint { font-size: 14px; }
html body.czf-sbl .czf .czf-pills legend, html body.czf-sbl .czf .czf-durations legend { flex: 1 0 100%; }
html body.czf-sbl .czf .czf-pills .czf-hint { flex: 1 0 100%; }
html body.czf-sbl .czf .czf-price-inputs label { font-size: 15px; }
html body.czf-sbl .czf-adv-head { margin: 0; padding: 0 0 12px; }
html body.czf-sbl .czf-adv-title { font: 700 20px/1.2 Montserrat, "Helvetica Neue", Arial, sans-serif; color: #1C1F1A; }
html body.czf-sbl .czf .czf-reset { min-height: 40px; padding: 0 14px; border: 1px solid #1C1F1A; border-radius: 6px; background: #fff; color: #1C1F1A; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; }
html body.czf-sbl .czf .czf-reset:hover { background: #F3F3F0; }
html body.czf-sbl .czf-toggle, html body.czf-sbl .czf-search, html body.czf-sbl .czf-dest-field, html body.czf-sbl .czf-sticky { display: none !important; }
/* sort + count above the offers */
html body.czf-sbl .czf .czf-head { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; }
html body.czf-sbl .czf .czf-sort-top { order: 2; flex: 0 1 340px; min-width: 240px; }
html body.czf-sbl .czf .czf-head .czf-count { order: 1; flex: 1 1 auto; margin: 0 0 12px; }
html body.czf-sbl .czf-sort-top .czf-label { font-size: 14px !important; font-weight: 600 !important; color: #6F746A !important; margin-bottom: 4px !important; }
html body.czf-sbl .czf-count { font-size: 16px !important; color: #3A3E36 !important; font-weight: 600; }
/* the calendar opens above the phone panel */
body.czf-drawer-on .daterangepicker.czf-drp { z-index: 10100 !important; }

/* ---- computer (1024px+): sidebar 300px + offers; the sidebar follows the visitor (sticky under the site header) ---- */
@media (min-width: 1024px) {
	html body.czf-sbl .czf-mbar, html body.czf-sbl .czf-bar-s { display: none !important; }
	html body.czf-sbl .czf.section { padding-top: 28px !important; overflow: visible; }
	html body.czf-sbl .czf > .container { width: auto !important; max-width: 1360px !important; padding-left: 24px; padding-right: 24px; }
	/* grid: sidebar on the left from the top; count + "Sortează după" above the offers on the right */
	html body.czf-sbl .czf > .container { display: grid; grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 36px; }
	html body.czf-sbl .czf > .container > .row { display: contents; }
	html body.czf-sbl .czf > .container::before, html body.czf-sbl .czf > .container::after { content: none; display: none; }
	html body.czf-sbl .czf-side { display: block !important; grid-column: 1; grid-row: 1 / span 2; max-width: none; width: auto; padding: 0; }
	html body.czf-sbl .czf-results { grid-column: 2; grid-row: 2; max-width: none; min-width: 0; width: auto; padding: 0; }
	html body.czf-sbl .czf .czf-head { grid-column: 2; grid-row: 1; margin: 0 0 20px !important; }
	html body.czf-sbl .czf-side .czf-form { position: sticky; top: calc(var(--czh-h, 0px) + 16px); max-height: calc(100vh - var(--czh-h, 0px) - 32px); overflow-y: auto; overscroll-behavior: contain;
		margin: 0; padding: 0 18px; border: 1px solid #E4E5E0; border-radius: 12px; background: #fff; transition: top .25s ease, max-height .25s ease;
		scrollbar-width: thin; scrollbar-color: #B9BBB3 transparent; }
	html body.czh-hide.czf-sbl .czf-side .czf-form { top: 16px; max-height: calc(100vh - 32px); }
	html body.admin-bar.czf-sbl .czf-side .czf-form { top: calc(var(--czh-h, 0px) + 48px); max-height: calc(100vh - var(--czh-h, 0px) - 64px); }
	html body.czf-sbl .czf-side .czf-adv { margin: 0; padding: 0; border: 0; }
	/* "Filtre / Resetează" stays at the top of the sidebar, "Vezi … oferte" at the bottom, while the lists scroll between them */
	html body.czf-sbl .czf-side .czf-adv-head { position: sticky; top: 0; z-index: 3; background: #fff; padding: 16px 0 12px; margin: 0; border-bottom: 1px solid #E4E5E0; }
	html body.czf-sbl .czf-side .czf-adv-head + .czf-field { border-top: 0; }
	html body.czf-sbl .czf-side .czf-apply { display: flex !important; position: sticky; bottom: 0; z-index: 3; width: calc(100% + 36px); margin: 4px -18px 0; border-radius: 0 0 11px 11px;
		box-shadow: 0 -8px 14px -6px rgba(28,31,26,.12); }
	html body.czf-sbl .czf .czf-side .czf-date input#filter-data { height: 48px; margin: 0; }

	/* variant A: czf-cards-list – one offer per row, big photo on the left (48%), details on the right */
	html body.czf-sbl.czf-cards-list .czf .card-list .cruise-row { display: flex; flex-wrap: nowrap; margin: 0 0 28px; background: #fff; border: 1px solid #E4E5E0; border-radius: 14px; overflow: hidden; }
	html body.czf-sbl.czf-cards-list .czf .card-list .cruise-row .col-img { flex: 0 0 48%; max-width: 48%; padding: 0; order: 1 !important; }
	html body.czf-sbl.czf-cards-list .czf .card-list .cruise-row .col-img a { display: block; height: 100%; overflow: hidden; }
	html body.czf-sbl.czf-cards-list .czf .card-list .cruise-row .col-txt { flex: 0 0 52%; max-width: 52%; padding: 0; order: 2 !important; }
	html body.czf-sbl.czf-cards-list .czf .filtered-offers .cruise-card-img-bg { height: 100%; min-height: 340px; max-height: none; background-size: cover; background-position: center; transition: transform .5s ease; }
	html body.czf-sbl.czf-cards-list .czf .card-list .cruise-row:hover .cruise-card-img-bg { transform: scale(1.03); }
	html body.czf-sbl.czf-cards-list .czf .filtered-offers .col-txt .txt-wrap { padding: 24px 28px; }
	html body.czf-sbl.czf-cards-list .czf .card-separator { display: none; }

	/* variant B: czf-cards-grid – 2 per row next to the sidebar, tall 3:2 rounded photos, labels over the photo (Ponant) */
	html body.czf-sbl.czf-cards-grid .czf .card-list { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 28px; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .cruise-row { position: relative; display: flex; flex-direction: column; margin: 0; border: 0; background: none; overflow: visible; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .cruise-row > [class*="col-"] { flex: 0 0 auto; max-width: 100%; width: 100%; padding: 0; order: 0 !important; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .col-img a { display: block; border-radius: 14px; overflow: hidden; }
	html body.czf-sbl.czf-cards-grid .czf .filtered-offers .cruise-card-img-bg { height: auto !important; aspect-ratio: 3 / 2; max-height: none; background-size: cover; background-position: center; transition: transform .5s ease; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .cruise-row:hover .cruise-card-img-bg { transform: scale(1.03); }
	html body.czf-sbl.czf-cards-grid .czf .filtered-offers .col-txt .txt-wrap { padding: 18px 2px 0; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .col-txt, html body.czf-sbl.czf-cards-grid .czf .card-list .txt-wrap { position: static; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .croaziere-labels { position: absolute; top: 14px; left: 14px; right: 14px; z-index: 2; margin: 0; pointer-events: none; }
	html body.czf-sbl.czf-cards-grid .czf .card-list .croaziere-labels li { background: rgba(255,255,255,.92); }
	html body.czf-sbl.czf-cards-grid .czf .card-separator { display: none; }
}

/* ---- phones + tablets (< 1024px): no sidebar; a slim sticky bar with ONE big "Filtre" button opens the panel with every filter ---- */
@media (max-width: 1023.98px) {
	html body.czf-sbl .czf-side { display: none !important; }
	html body.czf-sbl .czf-results { flex: 0 0 100%; max-width: 100%; }
	html body.czf-sbl .czf.section { padding-top: 0 !important; overflow: visible; }
	html body.czf-sbl .czf-head { margin: 16px 0 4px !important; }
	html body.czf-sbl .czf .czf-sort-top { flex: 1 1 100%; }
	html body.czf-sbl .czf .czf-head .czf-count { margin: 0; }
	html body.czf-sbl .czf-mbar { display: block; position: sticky; top: calc(var(--czh-h, 0px) + 8px); z-index: 70; margin: 10px 0 14px; transition: top .25s ease; }
	html body.czh-hide.czf-sbl .czf-mbar { top: 8px; }
	html body.czf-sbl .czf-mbar .czf-bar-in { display: block; min-height: 0; padding: 0; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
	html body.czf-sbl .czf-mbar .czf-bar-all { position: static; display: flex; width: 100%; height: 54px; justify-content: center; gap: 10px; padding: 0 16px; border: 0; border-radius: 12px;
		background: #CDD873; color: #1C1F1A; font: 700 18px/1 Montserrat, "Helvetica Neue", Arial, sans-serif; box-shadow: 0 6px 18px rgba(28,31,26,.18); transition: height .2s ease; }
	html body.czf-sbl .czf-mbar .czf-bar-all-i { width: 22px; height: 22px; }
	html body.czf-sbl .czf-mbar .czf-badge { background: #1C1F1A; color: #fff; min-width: 26px; height: 26px; border-radius: 13px; font-size: 14px; }
	html body.czf-sbl .czf-mbar.is-stuck .czf-bar-all { height: 46px; font-size: 17px; }
	html body.czf-sbl .czf-drawer-b { padding: 0 20px 16px; }
	html body.czf-sbl .czf-drawer-b .czf-adv-head { justify-content: flex-end; padding: 12px 0 4px; }
	html body.czf-sbl .czf-drawer-b .czf-field { margin: 0; }
	html body.czf-sbl .czf-drawer-ok { min-height: 52px; font-size: 17px; }
	html body.czf-sbl .czf .czf-drawer-b .czf-date input#filter-data { height: 48px; margin: 0; }
}


/* ============ 1.4.2 ============ */
/* Port de îmbarcare: pills like Destinații / Companie (several ports, OR), right after Companie */
html body.czf-sbl .czf-adv > #czf-port { order: 3; }

/* Offer card footer: price as text (small "Preț de persoană de la" label above the big "1.009 €", then "în cabină dublă, taxe portuare incluse"), one main button,
   croaziere-share's WhatsApp + share as one quiet row of small links (their links, classes and wa.me URLs are untouched,
   so the GTM whatsapp_click / share_click triggers keep working). */
html body .czf .card-list .czf-foot { margin: 20px 0 0 !important; }
html body .czf .card-list .czf-foot-in { padding-left: 0; padding-right: 0; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; padding-top: 18px; border-top: 1px solid #E4E5E0; }
html body .czf .card-list .czf-price { flex: 1 1 180px; display: flex; flex-direction: column; margin: 0; color: #1C1F1A; line-height: 1.25; font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; }
html body .czf .card-list .czf-price-lbl { font-size: 15px; color: #3A3E36; }
html body .czf .card-list .czf-price-val { font-size: 28px; font-weight: 700; line-height: 1.15; color: #1C1F1A; }
html body .czf .card-list .czf-price-per { margin-top: 3px; font-size: 14px; color: #6F746A; }
html body .czf .card-list a.cruise-card-btn.czf-cta { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; margin: 0; padding: 0 28px !important;
	border-radius: 6px; font-size: 17px; font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; }
/* croaziere-share row */
html body .czf .card-list .czsh-pricerow { margin-bottom: 0 !important; }
html body .czf .card-list .cruise-row:not(.czsh-done) .czf-foot-share { margin-bottom: 52px; } /* same height as the row below: no jump */
html body .czf .card-list .czsh-actions { display: flex; flex-wrap: wrap; justify-content: flex-start !important; align-items: center; gap: 0 26px; height: 44px; margin: 8px 0 0 !important; padding: 0; }
html body .czf .card-list .czsh-actions .czsh-wa, html body .czf .card-list .czsh-actions .czsh-wa:visited,
html body .czf .card-list .czsh-actions .czsh-sharebtn { flex: 0 0 auto !important; display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; width: auto !important; min-height: 44px; padding: 0 !important;
	border: 0 !important; background: none !important; box-shadow: none; color: #3A3E36 !important; font: 500 15px/1.3 "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; }
html body .czf .card-list .czsh-actions .czsh-wa span, html body .czf .card-list .czsh-actions .czsh-sharebtn::after { text-decoration: underline; text-decoration-color: #B9BBB3; text-underline-offset: 4px; }
html body .czf .card-list .czsh-actions .czsh-sharebtn::after { content: "Distribuie"; }
html body .czf .card-list .czsh-actions .czsh-wa:hover span, html body .czf .card-list .czsh-actions .czsh-sharebtn:hover::after { text-decoration-color: currentColor; }
html body .czf .card-list .czsh-actions .czsh-i { width: 19px; height: 19px; flex: 0 0 19px; }
html body .czf .card-list .czsh-actions .czsh-wa span { white-space: nowrap; }

@media (max-width: 575.98px) {
	html body .czf .card-list a.cruise-card-btn.czf-cta { flex: 1 1 100%; }
	html body .czf .card-list .czf-price-val { font-size: 26px; }
}

/* ---------- 1.4.4: card top – dates line + cruise line logo, title, ship / port / length rows ---------- */
html body .czf .card-list .czf-top { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin: 0 0 10px; }
html body .czf .card-list .czf-dates { margin: 0; flex: 1 1 auto; font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: .02em; color: #5B6056; line-height: 1.35; }
html body .czf .card-list .czf-arrow { display: inline-block; margin: 0 4px; color: #1C1F1A; font-weight: 400; }
html body .czf .czf-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html body .czf .card-list .czf-line { flex: 0 0 auto; display: inline-flex; align-items: center; height: 30px; }
html body .czf .card-list .czf-logo { display: block; height: 26px; width: auto; max-width: 150px; object-fit: contain; }
html body .czf .card-list .czf-line-name { font-size: 14px; font-weight: 600; color: #3A3E36; }
html body .czf .card-list .croaziere-labels { margin-bottom: 10px; }
html body .czf .card-list .cruise-name.czf-title { margin: 0 0 14px !important; font-size: 22px; line-height: 1.3; }
html body .czf .card-list .czf-facts { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
html body .czf .card-list .czf-facts li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; font-size: 17px; line-height: 1.4; color: #3A3E36; font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; }
html body .czf .card-list .czf-facts li::before { content: none; }
html body .czf .card-list .czf-facts b { font-weight: 600; color: #1C1F1A; }
html body .czf .card-list .czf-ic { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; color: #5B6056; }
html body .czf .card-list .czf-share-meta { display: none !important; }
@media (max-width: 767.98px) {
	html body .czf .card-list .czf-top { margin-top: 12px; flex-wrap: nowrap; gap: 12px; }
	/* 1.4.4: phones – the dates never wrap and the logo takes the rest of the line: wide logos (NCL, HAL, Silversea, Seabourn,
	   Princess) shrink a little to stay beside the dates instead of dropping to their own line */
	html body .czf .card-list .czf-dates { font-size: 15px; flex: 0 0 auto; white-space: nowrap; }
	html body .czf .card-list .czf-line { flex: 0 1 auto; min-width: 0; justify-content: flex-end; }
	html body .czf .card-list .czf-logo { height: 24px; width: auto; max-width: 100%; object-fit: contain; object-position: right center; }
	html body .czf .card-list .cruise-name.czf-title { font-size: 20px; }
	html body .czf .card-list .czf-facts li { font-size: 16px; }
}
@media (max-width: 374.98px) {
	/* narrow phones (e.g. 360 px): a wide logo goes back to its own line rather than becoming too small */
	html body .czf .card-list .czf-top:has(.czf-logo-wide) { flex-wrap: wrap; gap: 6px 12px; }
	html body .czf .card-list .czf-top:has(.czf-logo-wide) .czf-line { flex: 0 0 auto; }
	html body .czf .card-list .czf-logo-wide { max-width: 150px; }
}

/* ---------- 1.4.3: typing search above the Destinații / Companie / Port pills ---------- */
.czf .czf-find { position: relative; margin: 4px 0 10px; flex: 1 0 100%; width: 100%; }
.czf .czf-find-i { position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: #6F746A; pointer-events: none; }
.czf .czf-find-in { display: block; width: 100%; height: 48px; padding: 0 48px 0 44px; border: 1px solid #b9b9b4; border-radius: 10px; background: #fff; color: #1C1F1A; font-size: 17px; line-height: 48px; -webkit-appearance: none; appearance: none; box-shadow: none; }
.czf .czf-find-in::placeholder { color: #6F746A; opacity: 1; }
.czf .czf-find-in::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.czf .czf-find-in:focus { outline: none; border-color: #1C1F1A; box-shadow: 0 0 0 2px rgba(28, 31, 26, .15); }
.czf .czf-find-x { position: absolute; right: 2px; top: 2px; width: 44px; height: 44px; border: 0; background: none; color: #3A3E36; font-size: 26px; line-height: 44px; padding: 0; cursor: pointer; }
.czf .czf-find-x[hidden] { display: none; }
.czf .czf-find-none { margin: 0 0 8px; font-size: 15px; color: #6F746A; }
.czf .czf-pill-list.is-searching li.czf-extra { display: list-item; }
.czf .czf-pill-list.is-collapsed.is-searching li.czf-extra:not(.is-on) { display: list-item; }
.czf .czf-pill-list li.czf-nomatch, .czf .czf-pill-list.is-searching li.czf-nomatch { display: none !important; }
html body .czf .czf-more-pills.czf-find-hide { display: none !important; }

/* 1.4.4 variant B (CZF_CARD_VARIANT 'B'): the line logo on a white curved patch at the bottom-left of the photo; the dates line is then dates only. */
html body .czf .card-list .cruise-row.czf-var-b .col-img { position: relative; }
html body .czf .card-list .cruise-row.czf-var-b .col-img > a { position: relative; display: block; height: 100%; }
html body .czf .card-list .czf-photo-logo { position: absolute; left: 0; bottom: 0; z-index: 2; display: flex; align-items: center; height: 60px; padding: 0 24px 0 18px; background: #fff; border-top-right-radius: 26px; pointer-events: none; }
html body .czf .card-list .czf-photo-logo::before,
html body .czf .card-list .czf-photo-logo::after { content: ""; position: absolute; width: 26px; height: 26px; background: radial-gradient(circle at 100% 0, transparent 25.5px, #fff 26px); }
html body .czf .card-list .czf-photo-logo::before { left: 0; bottom: 100%; } /* curve above the patch */
html body .czf .card-list .czf-photo-logo::after { left: 100%; bottom: 0; }  /* curve to the right of the patch */
html body .czf .card-list .czf-photo-logo .czf-logo { height: 34px; width: auto; max-width: 180px; object-fit: contain; object-position: left center; }
html body .czf .card-list .czf-photo-logo .czf-line-name { font-size: 15px; font-weight: 600; color: #1C1F1A; white-space: nowrap; }
@media (max-width: 767.98px) {
	html body .czf .card-list .czf-photo-logo { height: 52px; padding: 0 20px 0 16px; border-top-right-radius: 22px; }
	html body .czf .card-list .czf-photo-logo::before,
	html body .czf .card-list .czf-photo-logo::after { width: 22px; height: 22px; background: radial-gradient(circle at 100% 0, transparent 21.5px, #fff 22px); }
	html body .czf .card-list .czf-photo-logo .czf-logo { height: 30px; max-width: 160px; }
	html body .czf .card-list .cruise-row.czf-var-b .czf-top { justify-content: flex-start; }
}
