/*
Theme Name:   Traveler RBCT
Theme URI:    https://rivierabarcrawltours.com/
Description:  Riviera Bar Crawl Tours child theme for Traveler 3.3 / Modtour — RBCT brand charte (dark black + RBCT red), search without date, Featured Bar Crawls & Walking Tours, identical design in every WPML language. Only for RBCT; French Riviera Parties keeps its own theme.
Author:       Riviera Bar Crawl Tours
Template:     traveler
Version:      1.0.67
Requires PHP: 7.4
License:      GNU General Public License v2 or later
*/

/*
 * No "Text Domain" header on purpose: the Traveler code plugin only loads when the active
 * theme's Text Domain is "traveler" (or empty, falling back to Template: traveler). Setting it
 * to "rbct" silently disables tours, categories and bookings. The rbct strings are loaded
 * explicitly in functions.php instead.
 */

/* ==========================================================================
   0. Tokens
   The actual values are printed inline from inc/palette.php (Appearance > RBCT
   Design). These fallbacks only matter if that inline block is missing.
   ========================================================================== */
:root {
	--rbct-black: #111114;
	--rbct-surface: #262626;
	--rbct-border: #3c3c46;
	--rbct-red: #d72027;
	--rbct-red-hover: #b71b21;
	--rbct-pink: #e87d81;
	--rbct-muted: #9696a0;
	--rbct-text: #f2f2f2;

	--rbct-radius: 12px;
	--rbct-radius-sm: 8px;
	--rbct-gap: clamp(16px, 2.5vw, 28px);
	--rbct-section-y: clamp(48px, 7vw, 96px);
	--rbct-container: 1200px;
	--rbct-shadow: 0 10px 30px rgba(0, 0, 0, .35);
	--rbct-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ==========================================================================
   1. Base — dark page
   ========================================================================== */
body.rbct {
	background-color: var(--rbct-black);
	color: var(--rbct-text);
}

body.rbct h1, body.rbct h2, body.rbct h3,
body.rbct h4, body.rbct h5, body.rbct h6 {
	color: var(--rbct-text);
}

body.rbct a { color: var(--rbct-pink); }
body.rbct a:hover,
body.rbct a:focus { color: var(--rbct-text); }

body.rbct hr { border-color: var(--rbct-border); }

body.rbct ::selection { background: var(--rbct-red); color: #fff; }

body.rbct :focus-visible {
	outline: 2px solid var(--rbct-pink);
	outline-offset: 2px;
}

body.rbct .text-muted,
body.rbct small,
body.rbct .st-breadcrumb,
body.rbct .breadcrumb,
body.rbct .breadcrumb a { color: var(--rbct-muted); }

/* Traveler page wrappers that ship with white backgrounds */
body.rbct #st-content-wrapper,
body.rbct .search-result-page,
body.rbct .modern-search-result,
body.rbct .st-blog,
body.rbct .st-page-default,
body.rbct .single-st_tours,
body.rbct .st-related-service-new,
body.rbct .st-offer-new,
body.rbct .list-destination,
body.rbct .best-seller-swapper,
body.rbct .st-testimonial-new,
body.rbct .st-list-service--bg {
	background-color: var(--rbct-black);
	color: var(--rbct-text);
}

body.rbct .st-breadcrumb,
body.rbct .breadcrumb { background: transparent; }

/* ==========================================================================
   2. Header & footer — colours only. Structure, logo and menus are the
      site's existing ones (guide p.6). Disable with the rbct_dark_header /
      rbct_dark_footer filters.
   ========================================================================== */
body.rbct-dark-header #header,
body.rbct-dark-header #header .header,
body.rbct-dark-header .header-top,
body.rbct-dark-header .navbar,
body.rbct-dark-header .main-menu {
	background-color: var(--rbct-black);
	border-color: var(--rbct-border);
}

body.rbct-dark-header #header,
body.rbct-dark-header #header a,
body.rbct-dark-header .main-menu > li > a { color: var(--rbct-text); }

body.rbct-dark-header #header a:hover,
body.rbct-dark-header .main-menu > li > a:hover,
body.rbct-dark-header .main-menu > li.current-menu-item > a { color: var(--rbct-pink); }

body.rbct-dark-header #header .dropdown-menu,
body.rbct-dark-header .main-menu .menu-dropdown,
body.rbct-dark-header .main-menu .sub-menu {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	box-shadow: var(--rbct-shadow);
}

/* Traveler's inline SVG icons are drawn in navy (#1A2B48) — invisible on black */
body.rbct-dark-header #header svg [fill="#1A2B48"],
body.rbct-dark-header #header svg [fill="#1a2b48"] { fill: var(--rbct-text); }
body.rbct-dark-header #header svg [stroke="#1A2B48"],
body.rbct-dark-header #header svg [stroke="#1a2b48"] { stroke: var(--rbct-text); }

body.rbct-dark-footer #main-footer,
body.rbct-dark-footer #main-footer .elementor-section,
body.rbct-dark-footer footer.site-footer,
body.rbct-dark-footer .footer,
body.rbct-dark-footer .mailchimp {
	background-color: var(--rbct-black);
	color: var(--rbct-muted);
	border-top: 1px solid var(--rbct-border);
}

body.rbct-dark-footer #main-footer h1, body.rbct-dark-footer #main-footer h2,
body.rbct-dark-footer #main-footer h3, body.rbct-dark-footer #main-footer h4,
body.rbct-dark-footer #main-footer .widget-title { color: var(--rbct-text); }

body.rbct-dark-footer #main-footer a { color: var(--rbct-muted); }
body.rbct-dark-footer #main-footer a:hover { color: var(--rbct-pink); }

/* ==========================================================================
   2b. Traveler uses --link-color (light text here) as the background of some
       dark panels and of button hovers. Put those back on the dark palette.
   ========================================================================== */
body.rbct #header #topbar,
body.rbct header #topbar,
body.rbct #header #topbar .dropdown-menu,
body.rbct header #topbar .dropdown .dropdown-menu,
body.rbct #header.sticky,
body.rbct.error404 header#header,
body.rbct.woocommerce-cart header#header,
body.rbct.woocommerce-checkout header#header,
body.rbct.woocommerce-cart #header #topbar,
body.rbct.woocommerce-checkout #header #topbar,
body.rbct .top-bar,
body.rbct .aside-menu-left .aside-menu-left-content,
body.rbct .aside-menu-left .aside-menu-left-content .menu-content ul > li > a,
body.rbct .st-loader,
body.rbct #st-content-wrapper .owl-carousel-wrapper .owl-tour-program .owl-item .item .body,
body.rbct .st-program-list.style2 .item .body,
body.rbct .sts-check-available-form,
body.rbct .search-form-wrapper .nav-tabs li a,
body.rbct .st-banner-search-form .multi-search .nav-item a,
body.rbct .list-service-style4 .item-service .service-border .thumb .service-price,
body.rbct .list-service-style5 .item-service .service-border .thumb .service-price,
body.rbct .main-slider.style3 .carousel-inner .item > .background {
	background-color: var(--rbct-surface);
	color: var(--rbct-text);
}
body.rbct #header #topbar,
body.rbct header #topbar { border-bottom: 1px solid var(--rbct-border); }

body.rbct .btn.btn-primary:hover,
body.rbct .btn-v2.btn-primary:hover,
body.rbct .btn-v2.btn-primary:focus,
body.rbct .btn-v2.btn-primary:active,
body.rbct .btn.btn-green:hover,
body.rbct .st-btn-back,
body.rbct .st-btn-continue,
body.rbct .st-search-form-tour .tour-search-form-home .search-form .form .form-button-new .btn-search,
body.rbct .st-woo-checkout-form .woocommerce-checkout-payment .place-order .button,
body.rbct .st-coupon-wrapper .checkout_coupon input[type=submit],
body.rbct .st-discount-btn button:hover,
body.rbct .st-sale-btn button:hover,
body.rbct .button-color a:hover,
body.rbct .vc_btn3-container.st-contact-button > a,
body.rbct .item-member-ship:hover .item-st .button-get {
	background-color: var(--rbct-red-hover);
	border-color: var(--rbct-red-hover);
	color: #fff;
}

body.rbct .i-check.checked,
body.rbct .i-radio.checked,
body.rbct .owl-dots .owl-dot.active,
body.rbct .owl-dots .active,
body.rbct .flickity-page-dots li.dot.is-selected,
body.rbct .content-text .box__separator,
body.rbct .box__separator_line,
body.rbct .stt-button::before,
body.rbct .sts-btn::before {
	background-color: var(--rbct-red);
	border-color: var(--rbct-red);
}

/* ==========================================================================
   3. Buttons, badges, rules — brick-red focus
   ========================================================================== */
.rbct-btn,
body.rbct .btn-primary,
body.rbct .btn.btn-green,
body.rbct .st-button,
body.rbct button[type="submit"]:not(.rbct-plain),
body.rbct input[type="submit"],
body.rbct .woocommerce .button.alt,
body.rbct .elementor-button {
	background-color: var(--rbct-red);
	border: 1px solid var(--rbct-red);
	color: #fff;
	border-radius: var(--rbct-radius-sm);
	font-weight: 600;
	letter-spacing: .02em;
	transition: background-color .2s var(--rbct-ease), border-color .2s var(--rbct-ease), transform .2s var(--rbct-ease);
}

.rbct-btn:hover, .rbct-btn:focus-visible,
body.rbct .btn-primary:hover, body.rbct .btn-primary:focus,
body.rbct .btn.btn-green:hover,
body.rbct .st-button:hover,
body.rbct button[type="submit"]:not(.rbct-plain):hover,
body.rbct input[type="submit"]:hover,
body.rbct .elementor-button:hover {
	background-color: var(--rbct-red-hover);
	border-color: var(--rbct-red-hover);
	color: #fff;
}

.rbct-btn:active { transform: translateY(1px); }

.rbct-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 48px;
	padding: 0 28px;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
}
.rbct-btn--sm { min-height: 38px; padding: 0 18px; font-size: 14px; }

body.rbct .btn-default,
body.rbct .btn-secondary {
	background: transparent;
	border: 1px solid var(--rbct-border);
	color: var(--rbct-text);
}

/* Traveler badges: featured / sale / best-seller */
body.rbct .service-tag,
body.rbct .st_featured,
body.rbct .sale_block,
body.rbct .st-tag-sale {
	background-color: var(--rbct-red);
	color: #fff;
}

body.rbct .booking-item-rating-stars .fa,
body.rbct .fa-star, body.rbct .fa-star-o, body.rbct .fa-star-half-o,
body.rbct .stt-icon-star1 { color: var(--rbct-pink); }

/* ==========================================================================
   4. Cards, panels, forms — surface colour
   ========================================================================== */
body.rbct .service-border,
body.rbct .item-service .service-border,
body.rbct .st-hotel-result .item-service,
body.rbct .item-service-map,
body.rbct .sidebar-item,
body.rbct .sidebar-widget,
body.rbct .widget,
body.rbct .form-book-wrapper,
body.rbct .st-tour-content .st-program,
body.rbct .st-faq .item,
body.rbct .st-list-dropdown,
body.rbct .toolbar,
body.rbct .st-popup,
body.rbct .map-view-popup,
body.rbct .st-package-popup,
body.rbct .modal-content,
body.rbct .dropdown-menu,
body.rbct .panel,
body.rbct .card {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-border);
	color: var(--rbct-text);
}

/* Same panels when Traveler scopes them under the #st-content-wrapper ID */
body.rbct #st-content-wrapper .st-breadcrumb,
body.rbct #st-content-wrapper .st-breadcrumb ul {
	background-color: transparent;
	color: var(--rbct-muted);
}
body.rbct #st-content-wrapper .widgets,
body.rbct #st-content-wrapper .form-book-wrapper,
body.rbct #st-content-wrapper .sidebar-item,
body.rbct #st-content-wrapper .st-faq .item,
body.rbct #st-content-wrapper .owl-tour-program .item .header,
body.rbct #st-content-wrapper .owl-tour-program .item .body {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-border);
	color: var(--rbct-text);
}
body.rbct #st-content-wrapper .form-book-wrapper .form-head,
body.rbct #st-content-wrapper .form-book-wrapper .form-head .price {
	background-color: var(--rbct-red);
	color: #fff;
}

/* Sticky "Book now" bar on mobile tour pages */
body.rbct .hotel-target-book-mobile {
	background-color: var(--rbct-surface);
	border-top: 1px solid var(--rbct-border);
	color: var(--rbct-text);
}
body.rbct .hotel-target-book-mobile .price { color: var(--rbct-text); }

body.rbct .service-border { border-radius: var(--rbct-radius); overflow: hidden; }

body.rbct .service-title a,
body.rbct .item-title a { color: var(--rbct-text); }
body.rbct .service-title a:hover { color: var(--rbct-pink); }
body.rbct .service-location,
body.rbct .service-review,
body.rbct .service-duration { color: var(--rbct-muted); }
body.rbct .service-price .price,
body.rbct .item-price .price { color: var(--rbct-text); }

body.rbct .section-footer,
body.rbct .footer-inner { border-color: var(--rbct-border); }

body.rbct input[type="text"],
body.rbct input[type="search"],
body.rbct input[type="email"],
body.rbct input[type="tel"],
body.rbct input[type="number"],
body.rbct input[type="password"],
body.rbct input[type="url"],
body.rbct textarea,
body.rbct select,
body.rbct .form-control,
body.rbct .select2-container .select2-selection,
body.rbct .select2-dropdown {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	color: var(--rbct-text);
}

body.rbct input::placeholder,
body.rbct textarea::placeholder { color: var(--rbct-muted); opacity: 1; }

body.rbct .select2-results__option--highlighted { background-color: var(--rbct-red) !important; color: #fff !important; }
body.rbct .select2-container .select2-selection__rendered { color: var(--rbct-text); }

/* Booking calendar (single tour) — keep it usable on dark */
body.rbct .daterangepicker {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-border);
	color: var(--rbct-text);
}
body.rbct .daterangepicker .calendar-table {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-surface);
}
body.rbct .daterangepicker td.off,
body.rbct .daterangepicker td.disabled { background: transparent; color: #55555f; }
body.rbct .daterangepicker td.available:hover,
body.rbct .daterangepicker th.available:hover { background-color: var(--rbct-border); color: #fff; }
body.rbct .daterangepicker td.active,
body.rbct .daterangepicker td.active:hover { background-color: var(--rbct-red); color: #fff; }
body.rbct .daterangepicker .calendar-table .next span,
body.rbct .daterangepicker .calendar-table .prev span { border-color: var(--rbct-text); }

/* Tables (prices, checkout) */
body.rbct table,
body.rbct th,
body.rbct td { border-color: var(--rbct-border); }

/* Pagination */
body.rbct .pagination > li > a,
body.rbct .pagination > li > span,
body.rbct .page-numbers {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-border);
	color: var(--rbct-text);
}
body.rbct .pagination > .active > a,
body.rbct .pagination > .active > span,
body.rbct .page-numbers.current {
	background-color: var(--rbct-red);
	border-color: var(--rbct-red);
	color: #fff;
}

/* Tabs / accordions (Traveler + Elementor) */
body.rbct .nav-tabs { border-color: var(--rbct-border); }
body.rbct .nav-tabs > li > a { color: var(--rbct-muted); }
body.rbct .nav-tabs > li.active > a,
body.rbct .nav-tabs > li.active > a:hover {
	background: transparent;
	color: var(--rbct-text);
	border-color: var(--rbct-border) var(--rbct-border) transparent;
	box-shadow: inset 0 -2px 0 var(--rbct-red);
}
body.rbct .elementor-accordion .elementor-accordion-item,
body.rbct .elementor-tab-title,
body.rbct .elementor-tab-content { border-color: var(--rbct-border); }

/* ==========================================================================
   5. Date removal in Traveler's tour search forms (fallback)
   The template overrides already return nothing for the date field; this hides
   date blocks rendered by the Elementor layout plugin too. Single tour booking
   forms are excluded, they keep their calendar.
   ========================================================================== */
body.rbct:not(.single-st_tours) .search-form .form-date-field,
body.rbct:not(.single-st_tours) .search-form .form-date-search,
body.rbct:not(.single-st_tours) .st-search-form-tour .form-date-field,
body.rbct:not(.single-st_tours) .search-form-mobile .form-date-field,
body.rbct:not(.single-st_tours) .search-form [class*="col-"]:has(> .form-date-field),
body.rbct:not(.single-st_tours) .search-form [class*="col-"]:not(:has(*)) {
	display: none !important;
}

/* Tour results page, mobile toolbar: "Date" opens a date picker popup */
body.rbct.page-template-template-tour-search .toolbar-action-mobile .btn-date,
body.rbct.post-type-archive-st_tours .toolbar-action-mobile .btn-date,
body.rbct.tax-st_tour_type .toolbar-action-mobile .btn-date {
	display: none !important;
}
body.rbct .toolbar-action-mobile .btn,
body.rbct .st-hotel-result .toolbar .toolbar-action-mobile li a {
	background: transparent;
	border-color: var(--rbct-red);
	color: var(--rbct-text);
}

/* Remaining fields share the freed width */
body.rbct .stt-search-form .search-form form.form {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
body.rbct .stt-search-form .search-form form.form > [class*="col-"] {
	flex: 1 1 0;
	width: auto;
	max-width: none;
}

body.rbct .search-form,
body.rbct .search-form-wrapper .search-form {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: var(--rbct-radius);
}
body.rbct .search-form .border-right { border-color: var(--rbct-border) !important; }

/* ==========================================================================
   6. RBCT components ([rbct_hero], [rbct_search], [rbct_featured], [rbct_languages])
   ========================================================================== */
.rbct-container {
	width: 100%;
	max-width: var(--rbct-container);
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}

/* --- Hero --- */
.rbct-hero {
	position: relative;
	padding: clamp(72px, 12vw, 160px) 0 clamp(56px, 8vw, 104px);
	background-color: var(--rbct-black);
	text-align: center;
	isolation: isolate;
	overflow: hidden;
}
.rbct-hero--image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--rbct-hero-image) center / cover no-repeat;
}
.rbct-hero--image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(17, 17, 20, .55) 0%, rgba(17, 17, 20, .75) 60%, var(--rbct-black) 100%);
}
.rbct-hero__title {
	margin: 0 auto 16px;
	max-width: 18ch;
	font-size: clamp(34px, 6vw, 64px);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--rbct-text);
	text-wrap: balance;
}
.rbct-hero__subtitle {
	margin: 0 auto 36px;
	max-width: 52ch;
	font-size: clamp(16px, 1.6vw, 19px);
	line-height: 1.5;
	color: var(--rbct-muted);
	text-wrap: pretty;
}

/* --- Search (keyword · destination · category · Search) --- */
.rbct-search {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: 8px;
	max-width: 960px;
	margin: 0 auto;
	padding: 8px;
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: var(--rbct-radius);
	box-shadow: var(--rbct-shadow);
	text-align: start;
}
.rbct-search__field {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
}
.rbct-search__icon {
	position: absolute;
	inset-inline-start: 14px;
	display: flex;
	color: var(--rbct-pink);
	pointer-events: none;
}
.rbct .rbct-search input,
.rbct .rbct-search select,
.rbct-search input,
.rbct-search select {
	width: 100%;
	height: 48px;
	margin: 0;
	padding-block: 0;
	padding-inline: 42px 14px;
	background-color: var(--rbct-black);
	border: 1px solid var(--rbct-border);
	border-radius: var(--rbct-radius-sm);
	color: var(--rbct-text);
	font-size: 15px;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}
.rbct-search select {
	padding-inline-end: 36px;
	background-image: linear-gradient(45deg, transparent 50%, var(--rbct-muted) 50%), linear-gradient(135deg, var(--rbct-muted) 50%, transparent 50%);
	background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	text-overflow: ellipsis;
}
.rbct-search input:focus,
.rbct-search select:focus {
	border-color: var(--rbct-red);
	outline: none;
	box-shadow: 0 0 0 3px rgba(215, 32, 39, .3);
}
.rbct-search__submit { height: 48px; }

/* --- Sections --- */
.rbct-section {
	padding: var(--rbct-section-y) 0 0;
	background-color: var(--rbct-black);
}
.rbct-home > .rbct-section:last-of-type,
.rbct-languages { padding-bottom: var(--rbct-section-y); }

.rbct-section__title {
	position: relative;
	margin: 0 0 32px;
	padding-bottom: 14px;
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--rbct-text);
}
.rbct-section__title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background-color: var(--rbct-red);
}

.rbct-notice {
	max-width: var(--rbct-container);
	margin: 24px auto 0;
	padding: 16px 20px;
	border: 1px dashed var(--rbct-red);
	border-radius: var(--rbct-radius-sm);
	color: var(--rbct-muted);
	font-size: 14px;
}

/* --- Tour cards --- */
.rbct-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rbct-gap);
}
.rbct-card {
	display: flex;
	flex-direction: column;
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: var(--rbct-radius);
	overflow: hidden;
	transition: border-color .25s var(--rbct-ease), transform .25s var(--rbct-ease), box-shadow .25s var(--rbct-ease);
}
.rbct-card:hover {
	border-color: var(--rbct-red);
	transform: translateY(-3px);
	box-shadow: var(--rbct-shadow);
}
.rbct-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background-color: var(--rbct-black);
	overflow: hidden;
}
.rbct-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--rbct-ease);
}
.rbct-card:hover .rbct-card__media img { transform: scale(1.04); }
.rbct-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--rbct-surface), var(--rbct-black));
}
.rbct-badge {
	position: absolute;
	top: 14px;
	inset-inline-start: 14px;
	padding: 5px 10px;
	border-radius: 999px;
	background-color: var(--rbct-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.2;
}
.rbct-badge--new {
	background-color: var(--rbct-black);
	color: var(--rbct-pink);
	box-shadow: inset 0 0 0 1px var(--rbct-pink);
}
.rbct-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px 20px;
}
.rbct-card__title {
	margin: 0;
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
}
.rbct .rbct-card__title a,
.rbct-card__title a { color: var(--rbct-text); text-decoration: none; }
.rbct .rbct-card__title a:hover { color: var(--rbct-pink); }
.rbct-card__city {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--rbct-muted);
	font-size: 14px;
}
.rbct-card__city svg { flex: none; color: var(--rbct-pink); }
.rbct-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--rbct-border);
}
.rbct-card__price {
	margin: 0;
	color: var(--rbct-muted);
	font-size: 13px;
}
.rbct-card__price strong {
	color: var(--rbct-text);
	font-size: 20px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
.rbct .rbct-card .rbct-btn { color: #fff; margin-inline-start: auto; }

/* --- Languages strip --- */
.rbct-languages__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rbct-languages__list a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--rbct-border);
	border-radius: 999px;
	color: var(--rbct-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	transition: border-color .2s var(--rbct-ease), color .2s var(--rbct-ease);
}
.rbct .rbct-languages__list a { color: var(--rbct-text); }
.rbct .rbct-languages__list a:hover,
.rbct .rbct-languages__list a.is-active {
	border-color: var(--rbct-red);
	color: var(--rbct-pink);
}

.rbct-home__content { padding: var(--rbct-section-y) 0; }

/* ==========================================================================
   7. Responsive
   ========================================================================== */
@media (max-width: 991px) {
	.rbct-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rbct-search { grid-template-columns: 1fr 1fr; }
	.rbct-search__field--keyword,
	.rbct-search__submit { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
	.rbct-cards { grid-template-columns: 1fr; }
	.rbct-search { grid-template-columns: 1fr; }
	.rbct-hero { text-align: start; }
	.rbct-hero__title,
	.rbct-hero__subtitle { margin-inline-start: 0; }
	body.rbct .stt-search-form .search-form form.form > [class*="col-"] { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.rbct-card,
	.rbct-card__media img,
	.rbct-btn { transition: none; }
	.rbct-card:hover { transform: none; }
	.rbct-card:hover .rbct-card__media img { transform: none; }
}

/* ==========================================================================
   8. Logo — round RBCT badge from the brand kit
   ========================================================================== */
body.rbct #header .logo img {
	width: auto;
	height: 56px;
	max-height: 56px;
}
@media (max-width: 767px) {
	body.rbct #header .logo img { height: 44px; max-height: 44px; }
}

/* ==========================================================================
   9. Pages rebuilt in Elementor (Stage 3)
   ========================================================================== */
.rbct-page-banner .elementor-heading-title {
	color: #fff;
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 800;
	letter-spacing: -.02em;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .45);
}

body.rbct .elementor-widget-text-editor { color: var(--rbct-text); }
body.rbct .elementor-widget-text-editor a { color: var(--rbct-pink); }
body.rbct .elementor-heading-title { color: var(--rbct-text); }
body.rbct .elementor-divider-separator { border-color: var(--rbct-border) !important; }

body.rbct .elementor-accordion .elementor-tab-title,
body.rbct .elementor-toggle .elementor-tab-title {
	background-color: var(--rbct-surface);
	border-color: var(--rbct-border);
}
body.rbct .elementor-accordion .elementor-tab-title a,
body.rbct .elementor-accordion .elementor-accordion-icon { color: var(--rbct-text); }
body.rbct .elementor-accordion .elementor-tab-title.elementor-active a { color: var(--rbct-pink); }
body.rbct .elementor-accordion .elementor-tab-content {
	background-color: var(--rbct-black);
	border-color: var(--rbct-border);
	color: var(--rbct-text);
}

body.rbct .elementor-image-box-title,
body.rbct .elementor-image-box-title a { color: var(--rbct-text); }
body.rbct .elementor-image-box-img img { border-radius: var(--rbct-radius); }

.rbct-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.rbct-gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--rbct-radius-sm);
}

.rbct-tours-list { margin: 8px 0 24px; }
.rbct-tours-list .rbct-notice { margin-top: 16px; }

/* WPBakery "design options" photos converted to Elementor tiles (e.g. city tiles) */
.rbct-photo-tile { border-radius: var(--rbct-radius); overflow: hidden; }
body.rbct .rbct-photo-tile .elementor-widget-text-editor,
body.rbct .rbct-photo-tile .elementor-widget-text-editor a {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .6);
	text-decoration: none;
}

/* ==========================================================================
   10. Fixes after the first staging check (7 Oct 2026)
   ========================================================================== */

/* Header style 4 (English home) is transparent over the hero photo on the live site:
   keep it transparent, and dark only once it becomes sticky while scrolling. */
body.rbct-dark-header #header.header-style-4:not(.sticky),
body.rbct-dark-header #header.header-style-4:not(.sticky) .header,
body.rbct-dark-header #header.header-style-4:not(.sticky) .main-menu,
body.rbct-dark-header #header.header-style-4:not(.sticky) .navbar {
	background-color: transparent;
	border-color: transparent;
}

/* Tour search (Traveler / Elementor widget): the date column is removed, so let the remaining
   columns share the full width; the Search button sits at the end of the last column. */
@media (min-width: 992px) {
	body.rbct .search-form form.form > .row {
		display: flex;
		flex-wrap: nowrap;
	}
	body.rbct .search-form form.form > .row > [class*="col-"] {
		flex: 1 1 0;
		width: auto;
		max-width: none;
		float: none;
	}
}
body.rbct .search-form input::placeholder,
body.rbct .search-form .render input::placeholder { color: var(--rbct-muted); opacity: 1; }
body.rbct .search-form .render input,
body.rbct .search-form .render { color: var(--rbct-text); }
body.rbct .search-form label { color: var(--rbct-muted); }

/* Old page content with hard-coded dark text colours (e.g. <h2 style="color: black">):
   keep it readable on the dark design until those pages are rebuilt in Elementor (Stage 3). */
body.rbct #st-content-wrapper [style*="color: black"],
body.rbct #st-content-wrapper [style*="color:black"],
body.rbct #st-content-wrapper [style*="color: #000"],
body.rbct #st-content-wrapper [style*="color:#000"],
body.rbct #st-content-wrapper [style*="color: rgb(0, 0, 0)"],
body.rbct .wpb_text_column [style*="color: black"],
body.rbct .wpb_text_column [style*="color:black"],
body.rbct .wpb_text_column [style*="color: #000"],
body.rbct .wpb_text_column [style*="color:#000"] {
	color: var(--rbct-text) !important;
}

/* Header dropdown / mega menus: Traveler styles them white with two IDs, so match that weight. */
body.rbct-dark-header #header #st-main-menu .main-menu .menu-dropdown,
body.rbct-dark-header #header #st-main-menu .main-menu .sub-menu {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	box-shadow: var(--rbct-shadow);
}
body.rbct-dark-header #header #st-main-menu .main-menu .menu-dropdown a,
body.rbct-dark-header #header #st-main-menu .main-menu .sub-menu a { color: var(--rbct-text); }
body.rbct-dark-header #header #st-main-menu .main-menu .menu-dropdown a:hover,
body.rbct-dark-header #header #st-main-menu .main-menu .sub-menu a:hover { color: var(--rbct-pink); }

/* Search placeholder: Traveler colours it with the main (red) colour. */
body.rbct .search-form .form-group input::placeholder { color: var(--rbct-muted) !important; opacity: 1; }

/* Homepage destination slider (custom "tour-card" component) */
body.rbct .location-slider .tour-card {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
}
body.rbct .location-slider .tour-card .tour-title { color: var(--rbct-text); }
body.rbct .location-slider .tour-card .tour-location { color: var(--rbct-muted); }

/* Footer bottom links (hard-coded navy) */
body.rbct a.n-link { color: var(--rbct-muted) !important; }   /* site custom CSS forces navy with !important */
body.rbct a.n-link:hover { color: var(--rbct-pink) !important; }

/* Trustindex review widget header text (black by default) */
body.rbct .ti-widget .ti-rating-text,
body.rbct .ti-widget .ti-rating-text * { color: var(--rbct-text) !important; }

/* WPBakery sections with a light "design options" fill (e.g. the #f5f5f5 newsletter bar):
   dark surface instead. Background photos are kept. These pages are rebuilt in Stage 3. */
body.rbct .wpb-content-wrapper .vc_row.vc_row-has-fill { background-color: var(--rbct-surface) !important; }

/* ==========================================================================
   11. Brand red instead of the site's blue buttons (7 Oct 2026)
   The site's custom CSS (Appearance → Custom CSS, also on the live site) forces
   blue rgb(81,145,250) / rgb(84,148,252) with !important. The RBCT charter is red.
   ========================================================================== */
body.rbct .btn.btn-green,
body.rbct #header .header .header-right .st-list li.st-header-link a,
body.rbct.home a.btn.btn-info.btn-normal,
body.rbct .partner-row .btn-normal,
body.rbct .th-checkout-button-1 {
	background: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
}
body.rbct .btn.btn-green:hover,
body.rbct #header .header .header-right .st-list li.st-header-link a:hover,
body.rbct.home a.btn.btn-info.btn-normal:hover,
body.rbct .partner-row .btn-normal:hover,
body.rbct .th-checkout-button-1:hover {
	background: var(--rbct-red-hover) !important;
	border-color: var(--rbct-red-hover) !important;
}

/* Top-bar social icons: the site's custom CSS asks for "Font Awesome 5 Brands", which is never
   loaded (empty squares, also on the live site). Line Awesome is loaded and uses the same codes. */
body.rbct #header #topbar .socials li a .fa {
	font-family: "Line Awesome Brands" !important;
	font-weight: 400 !important;
	font-style: normal;
}
body.rbct #header #topbar .socials li a .fa-tiktok::before { content: "\e07b"; }

/* Tour booking box: the custom CSS colours its border, header band and BOOK NOW button blue
   with stronger selectors, so these repeat them. */
body.rbct #st-content-wrapper .form-book-wrapper {
	border-color: var(--rbct-border) !important;
	border-top-color: var(--rbct-red) !important;
}
body.rbct #st-content-wrapper .form-book-wrapper .form-head,
body.rbct .submit-group a.btn.btn-green.btn-large.btn-full.upper {
	background: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
}
body.rbct .submit-group a.btn.btn-green.btn-large.btn-full.upper:hover {
	background: var(--rbct-red-hover) !important;
	border-color: var(--rbct-red-hover) !important;
}

/* Tour description "View More" fade: white by default, fade into the dark page instead. */
body.rbct .cut-gradient {
	background: linear-gradient(to bottom, rgba(17, 17, 20, 0) 1%, var(--rbct-black) 80%) !important;
}

/* ==========================================================================
   12. Corrections from the staging review (8 Oct 2026)
   ========================================================================== */

/* Header dropdown menus were light text on WHITE: Traveler's header-style-4 rule
   (#header.header-style-4 .header .header-right #st-main-menu … .menu-dropdown) is more specific than ours. */
body.rbct-dark-header #header #st-main-menu .main-menu .menu-dropdown,
body.rbct-dark-header #header #st-main-menu .main-menu .sub-menu,
body.rbct-dark-header #header #st-main-menu .main-menu .mega-menu,
body.rbct-dark-header #header #st-main-menu .main-menu .dropdown-menu {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	box-shadow: var(--rbct-shadow);
}

/* Tour cards (homepage sliders, tour lists): titles take exactly two lines, so every card has the same height
   and the stars / duration / price rows line up (a long title made its card taller). */
body.rbct .item-service .service-title {
	line-height: 1.35;
	min-height: calc(2em * 1.35);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Footer menus (Important Links, Cities) sat in grey boxes: our widget-card style also matched the footer widgets. */
body.rbct #main-footer .widget {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Homepage hero on phones/tablets: the title ran under the transparent header (Stage 4 mobile test, 8 Oct). */
@media (max-width: 991px) {
	body.rbct .search-form-wrapper.auto-height-form-search {
		padding-top: 140px !important;
	}
}

/* ==========================================================================
   13. Modtour layout (Traveler "Elementor v2", header style 9) in dark RBCT colours — 8 Oct 2026
   Proportions measured on modtour.travelerwp.com; light colours swapped for the RBCT tokens.
   ========================================================================== */

/* 13.1 Header bar */
body.rbct.st-header-9 header.header {
	background-color: var(--rbct-black);
	border-bottom: 1px solid var(--rbct-border);
	min-height: 91px;
	padding: 0 40px;
}
body.rbct.st-header-9 header.header .header__left .logo img {
	height: 60px;
	width: auto;
	max-height: 60px;
}
/* Menu */
body.rbct.st-header-9 header.header #st-main-menu .main-menu > li > a {
	color: var(--rbct-text);
	font-size: 16px;
	font-weight: 700;
	padding: 35px 24px 35px 10px;
}
body.rbct.st-header-9 header.header #st-main-menu .main-menu > li:hover > a,
body.rbct.st-header-9 header.header #st-main-menu .main-menu > li.current-menu-item > a,
body.rbct.st-header-9 header.header #st-main-menu .main-menu > li.current-menu-ancestor > a {
	color: var(--rbct-red);
}
/* Dropdowns: Modtour's rounded panel, dark */
body.rbct.st-header-9 header.header #st-main-menu .main-menu .menu-dropdown {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 10px;
	padding: 10px 0;
	min-width: 230px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .45);
}
body.rbct.st-header-9 header.header #st-main-menu .main-menu .menu-dropdown li a {
	color: var(--rbct-text);
	font-weight: 500;
}
body.rbct.st-header-9 header.header #st-main-menu .main-menu .menu-dropdown li a:hover {
	color: var(--rbct-pink);
}
/* Right side: account circle, currency, "Become Partner" button */
body.rbct.st-header-9 header.header .header__right .dropdown-user-dashboard > a,
body.rbct.st-header-9 header.header .header__right .dropdown-user-dashboard .dropdown-toggle {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	color: var(--rbct-text);
	box-shadow: none;
}
body.rbct.st-header-9 header.header .header__right .dropdown-user-dashboard .stt-icon,
body.rbct.st-header-9 header.header .header__right .dropdown-user-dashboard .stt-icon::before {
	color: var(--rbct-text) !important;
}
body.rbct.st-header-9 header.header .header__right .dropdown-currency > a,
body.rbct.st-header-9 header.header .header__right .dropdown-currency .dropdown-toggle {
	color: var(--rbct-text);
}
body.rbct.st-header-9 header.header .header__right .st-header-link a {
	background: var(--rbct-red) !important;
	color: #fff !important;
	border-radius: 50px;
	padding: 11px 22px;
	font-weight: 700;
	line-height: 1;
}
body.rbct.st-header-9 header.header .header__right .st-header-link a:hover {
	background: var(--rbct-red-hover) !important;
}

/* 13.2 Header on phones/tablets: light hamburger icon, fully dark slide-out menu */
body.rbct.st-header-9 header.header .menu-toggle {
	filter: invert(1) brightness(1.6);
}
@media (max-width: 991px) {
	body.rbct.st-header-9 #st-main-menu,
	body.rbct.st-header-9 #st-main-menu .main-menu,
	body.rbct.st-header-9 #st-main-menu .menu-dropdown {
		background-color: var(--rbct-black) !important;
	}
	body.rbct.st-header-9 #st-main-menu .back-menu {
		background-color: var(--rbct-surface);
		color: var(--rbct-text);
	}
	body.rbct.st-header-9 #st-main-menu .main-menu li,
	body.rbct.st-header-9 #st-main-menu .main-menu li > a {
		border-color: var(--rbct-border) !important;
	}
	body.rbct.st-header-9 #st-main-menu .main-menu > li > a,
	body.rbct.st-header-9 #st-main-menu .menu-dropdown li a {
		color: var(--rbct-text);
	}
}

/* 13.3 Modtour homepage (Elementor page built by stage3/tools/build_home.py) */
body.rbct .rbct-mt-hero .rbct-mt-hero-title .elementor-heading-title {
	color: #fff;
	font-size: clamp(34px, 5vw, 56px);
	font-weight: 700;
	letter-spacing: -.01em;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .45);
}
body.rbct .rbct-mt-hero .rbct-mt-hero-sub,
body.rbct .rbct-mt-hero .rbct-mt-hero-sub p {
	color: #fff;
	font-size: 18px;
	margin-bottom: 10px;
}
/* Search pill: Modtour's rounded white pill → dark pill, red Search button; wide even without the date field */
body.rbct .st-banner-search-form .search-form {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border);
	border-radius: 50px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .45);
	width: min(640px, 92vw);
	padding: 8px 8px 8px 18px;
}
body.rbct .st-banner-search-form .search-form .form { width: 100%; }
body.rbct .st-banner-search-form .search-form .form > .form-group,
body.rbct .st-banner-search-form .search-form .destination-search { flex: 1 1 auto; }
body.rbct .st-banner-search-form .search-form label,
body.rbct .st-banner-search-form .search-form .render,
body.rbct .st-banner-search-form .search-form input {
	color: var(--rbct-text) !important;
	background: transparent !important;
}
body.rbct .st-banner-search-form .search-form input::placeholder { color: var(--rbct-muted) !important; }
body.rbct .st-banner-search-form .search-form .stt-icon { color: var(--rbct-pink); }
body.rbct .st-banner-search-form .btn-search {
	background: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
	border-radius: 50px;
	padding: 14px 28px;
	font-weight: 700;
}
body.rbct .st-banner-search-form .btn-search:hover { background: var(--rbct-red-hover) !important; }

/* Section titles: one style on the whole homepage (Modtour size, RBCT red underline) */
body.rbct .rbct-mt-title .elementor-heading-title,
body.rbct .elementor .rbct-section__title {
	color: var(--rbct-text);
	font-size: clamp(26px, 3vw, 32px);
	font-weight: 700;
}
body.rbct .rbct-mt-destinations .rbct-mt-title .elementor-heading-title { text-align: center; }

/* Destination circles: city name light, tour count muted */
body.rbct .st-list-destination .desc h3,
body.rbct .st-list-destination .desc .title,
body.rbct .st-list-destination a { color: var(--rbct-text); }
body.rbct .st-list-destination .desc p,
body.rbct .st-list-destination .desc span { color: var(--rbct-muted); }

/* Blog cards (Modtour "Stories, tips, and guides"): dark like the tour cards */
body.rbct .st-blog-list-el .item,
body.rbct .st-blog-list-el .service-border {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border);
}
body.rbct .st-blog-list-el .item h3,
body.rbct .st-blog-list-el .item h3 a,
body.rbct .st-blog-list-el .item .title a { color: var(--rbct-text); }
body.rbct .st-blog-list-el .item p,
body.rbct .st-blog-list-el .item .desc { color: var(--rbct-muted); }

/* Slider arrows (Modtour's white circles) */
body.rbct .st-button-prev span,
body.rbct .st-button-next span,
body.rbct .st-list-destination .st-button-prev,
body.rbct .st-list-destination .st-button-next {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border);
	color: var(--rbct-text);
}

/* Franchise banner: rounded dark panel (Modtour's "special offers" banner shape) */
body.rbct .rbct-mt-cta {
	background: linear-gradient(120deg, var(--rbct-surface), #1b1b20) !important;
	border: 1px solid var(--rbct-border);
	border-radius: 16px;
}
body.rbct .rbct-mt-cta .elementor-button {
	background: var(--rbct-red);
	border-radius: 50px;
	font-weight: 700;
}
/* Same red underline under every left-aligned section title (as "Featured Bar Crawls") */
body.rbct .rbct-mt-blog .rbct-mt-title .elementor-heading-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 10px;
	background: var(--rbct-red);
	border-radius: 2px;
}
/* Blog slider arrows: dark circles like the other sliders */
body.rbct .st-blog-list-el ~ .st-button-prev,
body.rbct .st-blog-list-el ~ .st-button-next,
body.rbct .st-blog-list-el .st-button-prev,
body.rbct .st-blog-list-el .st-button-next,
body.rbct .rbct-mt-blog .st-button-prev,
body.rbct .rbct-mt-blog .st-button-next {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 50%;
	filter: invert(0);
}
body.rbct .rbct-mt-blog .st-button-prev span,
body.rbct .rbct-mt-blog .st-button-next span { filter: invert(1); background-color: transparent !important; border: 0; }

/* 13.4 Modtour tour page (Traveler tour layout 9 + our override views/services/tour/single/single-2.php) */
/* Share + wishlist circles next to the title */
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .share-item,
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .service-add-wishlist {
	background-color: var(--rbct-surface) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text);
}
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .share-item i,
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .service-add-wishlist i { color: var(--rbct-text); }
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .service-add-wishlist.added i { color: var(--rbct-red); }
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .share-wrapper {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
}
/* Photo mosaic: rounded tiles, dark "All photos" pill */
body.rbct .st-style-elementor.st-single-tour .st-gallery.style-masonry .shares .btn {
	background-color: rgba(17, 17, 20, .75) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
/* Info row (Duration, Tour Type, Group Size, Languages): dark tiles, red icons */
body.rbct .st-style-elementor.st-single-tour .st-service-feature .item .icon {
	background-color: var(--rbct-surface) !important;
	border-color: var(--rbct-border) !important;
}
body.rbct .st-style-elementor.st-single-tour .st-service-feature .item .icon i { color: var(--rbct-red) !important; }
body.rbct .st-style-elementor.st-single-tour .st-service-feature .item .value { color: var(--rbct-muted); }
/* Section dividers */
body.rbct .st-style-elementor.st-single-tour .st-hr,
body.rbct .st-style-elementor.st-single-tour .st-hotel-content > .st-hr,
body.rbct .st-style-elementor.st-single-tour hr { border-color: var(--rbct-border) !important; background-color: var(--rbct-border) !important; }
/* Booking box: soft borders, dark +/- buttons */
body.rbct .st-style-elementor.st-single-tour .st-form-book-wrapper,
body.rbct .st-style-elementor.st-single-tour .st-form-book-wrapper .st-group-form,
body.rbct .st-style-elementor.st-single-tour .st-form-book-wrapper .form-group,
body.rbct .st-style-elementor.st-single-tour .st-form-book-wrapper .form-guest-search,
body.rbct .st-style-elementor.st-single-tour .st-form-book-wrapper .guest-wrapper,
body.rbct .st-style-elementor.st-single-tour .st-breadcrumb {
	border-color: var(--rbct-border) !important;
}
body.rbct .st-style-elementor.st-single-tour .st-number-wrapper span.prev,
body.rbct .st-style-elementor.st-single-tour .st-number-wrapper span.next {
	background-color: var(--rbct-black) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-text);
}
body.rbct .st-style-elementor.st-single-tour .st-number-wrapper span.prev svg path,
body.rbct .st-style-elementor.st-single-tour .st-number-wrapper span.next svg path { stroke: var(--rbct-text); }
body.rbct .st-style-elementor.st-single-tour .st-number-wrapper input { background: transparent !important; color: var(--rbct-text) !important; }
/* "Explore other options" + all Modtour tour cards: no white price bar, soft footer line */
body.rbct .services-item.item-elementor .section-footer { border-color: var(--rbct-border) !important; }
body.rbct .services-item.item-elementor .price-tour .item,
body.rbct .services-item.item-elementor .price-tour .price { background-color: transparent !important; color: var(--rbct-text); }
body.rbct .services-item.item-elementor .price-tour .price .item { color: var(--rbct-red) !important; font-weight: 700; }

/* 13.5 Modtour search results page (search page setting "Choose layout for page" = 7, top bar) */
/* Banner: the search page's featured image if it has one, otherwise our Nice pub crawl photo, darkened */
body.rbct .search-result-page.st-style-elementor > .banner {
	background-color: var(--rbct-black) !important;
	background-image: linear-gradient(rgba(17, 17, 20, .55), rgba(17, 17, 20, .55)), url(/wp-content/uploads/2024/07/pub-crawl-nice.jpg);
	background-size: cover;
	background-position: center;
	padding: 60px 0;
} /* a featured image on the search page wins: Traveler sets it with !important */
body.rbct .st-banner-search-form .st-search-form-el {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.rbct .search-result-page.st-style-elementor .st-banner-search-form .search-form { width: 100%; margin: 0 auto; }
body.rbct .st-banner-search-form .search-form input { border: 0 !important; box-shadow: none !important; }
/* Filter buttons row (Filter Price / Review Score / Categories) */
body.rbct .search-result-page.st-style-elementor .top-filter {
	background-color: var(--rbct-black) !important;
	border-color: var(--rbct-border) !important;
}
body.rbct .search-result-page.st-style-elementor .top-filter .form-extra-field > .btn {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 50px;
	color: var(--rbct-text) !important;
}
body.rbct .search-result-page.st-style-elementor .top-filter .form-extra-field > .btn:hover,
body.rbct .search-result-page.st-style-elementor .top-filter .form-extra-field > .btn.show { border-color: var(--rbct-red) !important; }
body.rbct .search-result-page.st-style-elementor .top-filter .btn-clear-filter { color: var(--rbct-pink); }
body.rbct .search-result-page.st-style-elementor .top-filter .dropdown-menu {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border);
	border-radius: 10px;
	color: var(--rbct-text);
}
body.rbct .search-result-page.st-style-elementor .top-filter .dropdown-title { color: var(--rbct-text); }
/* "6 tours found" + Sort + list/grid icons: no grey bar, as the demo */
body.rbct .search-result-page.st-style-elementor .toolbar { background-color: transparent !important; margin: 30px 0 10px; }
body.rbct .search-result-page.st-style-elementor .toolbar .search-string,
body.rbct .search-result-page.st-style-elementor .toolbar h3 { color: var(--rbct-muted); font-size: 16px; }
body.rbct .search-result-page.st-style-elementor .toolbar-action .btn { border-color: var(--rbct-border) !important; color: var(--rbct-text) !important; }
/* Result cards: the column itself has class item-service → no grey box around the Modtour card */
body.rbct .search-result-page.st-style-elementor .item-service[class*="col-"] { background-color: transparent !important; border: 0 !important; box-shadow: none !important; }
/* Phones: the search form stacks (location above the button) → softer corners instead of the 50px pill */
@media (max-width: 991px) {
	body.rbct .st-banner-search-form .search-form { border-radius: 20px; padding: 10px; }
	body.rbct .st-banner-search-form .btn-search { width: 100%; border-radius: 14px !important; }
}
/* Price filter: dark min/max boxes and divider */
body.rbct .search-result-page .range-slider .min-max-value .item-value {
	background-color: var(--rbct-black) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-muted);
}
body.rbct .search-result-page .range-slider .min-max-value .item-value span { color: var(--rbct-text); }
body.rbct .search-result-page .range-slider .price-action,
body.rbct .search-result-page .range-slider .min-max-value { border-color: var(--rbct-border) !important; }

/* 13.6 Modtour footer (Elementor footer page from stage3/tools/build_footer.py + our elementor/common/footer.php) */
body.rbct #main-footer {
	background-color: #18181c !important;
	border-top: 1px solid var(--rbct-border);
	border-bottom: 0 !important;
}
body.rbct #main-footer .rbct-footer-columns { padding-top: 64px !important; padding-bottom: 48px !important; }
/* Column titles: Modtour size, white, no small rule under them */
body.rbct #main-footer .rbct-footer-title .elementor-heading-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--rbct-text) !important;
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 6px;
}
body.rbct #main-footer .rbct-footer-rule { display: none; }
/* Need help: label small + muted, value white; no red side bar */
body.rbct #main-footer .rbct-footer-contact {
	border: 0 !important;
	padding: 0 !important;
}
body.rbct #main-footer .rbct-footer-contact .elementor-widget-container { border: 0 !important; padding: 0 !important; }
body.rbct #main-footer .rbct-footer-contact p { margin: 0 0 2px; font-size: 14px; color: var(--rbct-muted); }
body.rbct #main-footer .rbct-footer-contact h5 { margin: 0 0 10px; font-size: 16px; font-weight: 600; }
body.rbct #main-footer .rbct-footer-contact h5 a { color: var(--rbct-text); }
body.rbct #main-footer .rbct-footer-contact h5 a:hover { color: var(--rbct-red); }
/* Social: round icons like Modtour, RBCT red */
body.rbct #main-footer .rbct-footer-social .elementor-social-icon {
	width: 40px;
	height: 40px;
	border-radius: 4px !important; /* square (user, 16 Oct 2026); was 50% = circle */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--rbct-red) !important;
	transition: transform .2s var(--rbct-ease), background-color .2s;
}
body.rbct #main-footer .rbct-footer-social .elementor-social-icon:hover { background-color: var(--rbct-red-hover) !important; transform: translateY(-2px); }
body.rbct #main-footer .rbct-footer-social .elementor-social-icon i,
body.rbct #main-footer .rbct-footer-social .elementor-social-icon svg { color: #fff !important; fill: #fff !important; }
/* Menus: plain list, muted links, red on hover */
body.rbct #main-footer .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
body.rbct #main-footer .widget_nav_menu li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.rbct #main-footer .widget_nav_menu li a { display: block; margin: 0 !important; padding: 5px 0 !important; line-height: 1.5; color: var(--rbct-muted); font-size: 15px; }
body.rbct #main-footer .widget_nav_menu li a:hover { color: var(--rbct-red); }
/* Language / currency selector */
body.rbct .rbct-lang-currency .rbct-lc-label { display: block; margin: 0 0 6px; font-size: 14px; color: var(--rbct-muted); }
body.rbct .rbct-lang-currency .rbct-lc-select {
	width: 100%;
	max-width: 240px;
	margin-bottom: 18px;
	padding: 10px 14px;
	background-color: var(--rbct-surface);
	color: var(--rbct-text);
	border: 1px solid var(--rbct-border);
	border-radius: 10px;
	font-size: 15px;
}
/* Bottom bar: copyright + legal links */
body.rbct .rbct-footer-sub {
	background-color: #18181c;
	border-top: 1px solid var(--rbct-border);
	padding: 4px 0 24px;
	color: var(--rbct-muted);
	font-size: 14px;
}
body.rbct .rbct-footer-sub p { margin: 0; }
body.rbct .rbct-footer-sub .container { max-width: 1120px; padding-left: 0; padding-right: 0; } /* lines up with the footer columns */
@media (max-width: 1160px) { body.rbct .rbct-footer-sub .container { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 767px) {
	body.rbct .rbct-footer-sub .container { padding-left: 30px; padding-right: 30px; }
	body.rbct #main-footer .rbct-footer-columns { padding-top: 40px !important; padding-bottom: 32px !important; }
}
body.rbct .rbct-footer-sub a { color: var(--rbct-muted); }
body.rbct .rbct-footer-sub a:hover { color: var(--rbct-red); }

/* 13.7 Rollout fixes (staging check 9 Oct) */
/* Long translated menus (e.g. French: 7 items incl. the language switcher) must stay on one row on laptops */
@media (max-width: 1500px) and (min-width: 992px) {
	body.rbct.st-header-9 header.header #st-main-menu .main-menu > li > a { padding-left: 4px; padding-right: 10px; font-size: 15px; }
}
@media (max-width: 1280px) and (min-width: 992px) {
	body.rbct.st-header-9 header.header #st-main-menu .main-menu > li > a { padding-left: 3px; padding-right: 7px; font-size: 14px; }
	body.rbct.st-header-9 header.header { padding-left: 20px; padding-right: 20px; }
}
body.rbct.st-header-9 header.header #st-main-menu .main-menu > li > a { white-space: nowrap; }
/* Sub-menus of the right-most items open to the left, and nothing may widen the page sideways */
body.rbct.st-header-9 #st-main-menu .main-menu > li:nth-last-child(-n+3) .menu-dropdown .menu-dropdown { left: auto; right: 100%; }
html, body.rbct { overflow-x: clip; }
/* Footer links: the site's old Custom CSS paints them pure red */
body.rbct #main-footer .widget_nav_menu li a,
body.rbct .rbct-footer-sub a { color: var(--rbct-muted) !important; }
body.rbct #main-footer .widget_nav_menu li a:hover,
body.rbct .rbct-footer-sub a:hover { color: var(--rbct-red) !important; }
/* Tour page on phones: the sticky "From € … / Check" bar and the video button were white */
body.rbct .st-style-elementor.st-single-tour .hotel-target-book-mobile {
	background-color: var(--rbct-surface) !important;
	border-top: 1px solid var(--rbct-border);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .45);
	color: var(--rbct-text);
}
body.rbct .st-style-elementor.st-single-tour .hotel-target-book-mobile,
body.rbct .st-style-elementor.st-single-tour .hotel-target-book-mobile .price,
body.rbct .st-style-elementor.st-single-tour .hotel-target-book-mobile .price * { color: var(--rbct-text) !important; }
body.rbct .st-style-elementor.st-single-tour .hotel-target-book-mobile #mobile-price { color: var(--rbct-muted) !important; }
body.rbct .st-style-elementor.st-single-tour .st-service-header2 .st-video-popup {
	background-color: var(--rbct-surface) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
/* Search results page: Modtour hides its H1 with display:none → keep it invisible but readable (SEO, screen readers) */
body.rbct .search-result-page .banner .tag_h1.d-none {
	display: block !important;
	position: absolute !important;
	width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
/* Search pill: Traveler's light 1px divider after "Location" (white line before the Search button) */
body.rbct .st-banner-search-form .search-form .form-group::after { display: none !important; }
body.rbct .st-banner-search-form .dropdown-menu { border-color: var(--rbct-border) !important; }
/* Equal card heights: tour cards in a row (homepage, converted pages, search results) and the blog slider */
body.rbct .service-list-wrapper.service-tour .row > .item-service,
body.rbct .service-list-wrapper.service-tour .row > [class*="col-"],
body.rbct .st-style-elementor .st-results .item-service[class*="col-"] { display: flex; }
body.rbct .service-list-wrapper.service-tour .services-item,
body.rbct .st-style-elementor .st-results .item-service > .services-item,
body.rbct .st-blog-list-el .swiper-slide > .services-item { display: flex; width: 100%; }
body.rbct .service-list-wrapper.service-tour .services-item > .item,
body.rbct .st-style-elementor .st-results .services-item > .item,
body.rbct .st-blog-list-el .services-item > .item { display: flex; flex-direction: column; width: 100%; }
body.rbct .service-list-wrapper.service-tour .services-item .content-item,
body.rbct .st-style-elementor .st-results .services-item .content-item,
body.rbct .st-blog-list-el .services-item .content-item { display: flex; flex-direction: column; flex: 1 1 auto; }
body.rbct .service-list-wrapper.service-tour .services-item .section-footer,
body.rbct .st-style-elementor .st-results .services-item .section-footer { margin-top: auto; }
body.rbct .st-blog-list-el .swiper-slide { height: auto; display: flex; }

/* ==========================================================================
   14. Boss's corrections (document of 12 Oct 2026)
   ========================================================================== */
/* 14.1 Logo: bigger, always a true circle (it was squeezed to 48×60: oval on desktop, cropped on phones) */
body.rbct.st-header-9 header.header .logo img {
	width: 74px !important;
	height: 74px !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	aspect-ratio: 1 / 1;
}
@media (max-width: 991px) {
	body.rbct.st-header-9 header.header .logo img { width: 62px !important; height: 62px !important; }
}
/* 14.2 Tour page: enquiry (contact) form in the booking box, dark */
body.rbct .st-style-elementor.st-single-tour .rbct-booking .inquiry-v2,
body.rbct .st-style-elementor.st-single-tour .rbct-booking .inquiry-v2 form {
	background-color: transparent !important;
	color: var(--rbct-text);
}
body.rbct .st-style-elementor.st-single-tour .rbct-booking .inquiry-v2 { padding: 4px 20px 20px; }
body.rbct .st-style-elementor.st-single-tour .rbct-booking .inquiry-v2 input:not([type="submit"]),
body.rbct .st-style-elementor.st-single-tour .rbct-booking .inquiry-v2 textarea {
	background-color: var(--rbct-black) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 10px;
	color: var(--rbct-text) !important;
}
body.rbct .st-style-elementor.st-single-tour .rbct-booking .rbct-ticketinghub { padding: 4px 20px 22px; }
body.rbct .st-style-elementor.st-single-tour .rbct-booking .rbct-ticketinghub p { margin: 0; }
body.rbct .st-style-elementor.st-single-tour .rbct-booking { border-radius: 16px; overflow: hidden; }
/* 14.3 Highlights + Included/Excluded: solid green / red circle with a white tick / cross */
body.rbct .st-style-elementor.st-single-tour .st-highlight li i,
body.rbct .st-style-elementor.st-single-tour .st-inexclude .include li i {
	background-color: #1fa85a !important;
	color: #fff !important;
	border: 0 !important;
}
body.rbct .st-style-elementor.st-single-tour .st-inexclude .exclude li i {
	background-color: var(--rbct-red) !important;
	color: #fff !important;
	border: 0 !important;
}
body.rbct .st-style-elementor.st-single-tour .st-highlight li i::before,
body.rbct .st-style-elementor.st-single-tour .st-inexclude li i::before { color: #fff !important; font-weight: 700; }
body.rbct .st-style-elementor.st-single-tour .st-highlight li,
body.rbct .st-style-elementor.st-single-tour .st-inexclude li { color: var(--rbct-text); }
/* 14.4 FAQ: black background, white text */
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-item,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-header,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-button,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-collapse,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-body {
	background-color: #000 !important;
	color: #fff !important;
	box-shadow: none !important;
}
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion { border: 1px solid var(--rbct-border) !important; border-radius: 14px; overflow: hidden; }
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-item,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-button { border: 0 !important; outline: 0 !important; }
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-button { font-weight: 600; }
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-button i,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-body p,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-body li,
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-body span { color: #fff !important; }
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-body a { color: var(--rbct-pink) !important; }
body.rbct .st-style-elementor.st-single-tour .st-faq-list .accordion-button::after {
	background-color: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
	filter: none;
}
/* 14.5 reCAPTCHA stays invisible: no floating badge (Google's notice is in the footer bar instead) */
.grecaptcha-badge { visibility: hidden !important; }
body.rbct .rbct-recaptcha-note { margin-top: 6px; font-size: 12px; color: var(--rbct-muted); opacity: .8; }
/* 14.1b The mobile logo file has white corners around the red circle → clip every header logo to a circle */
body.rbct.st-header-9 header.header .logo img { border-radius: 50%; }
/* 14.6 Social buttons (mobile menu) + card icons (copyright bar) */
body.rbct .rbct-social { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
body.rbct .rbct-social li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.rbct .rbct-social a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0 !important;
	border-radius: 4px; /* square, like the footer (16 Oct 2026) */
	background-color: var(--rbct-red);
	color: #fff !important;
	transition: background-color .2s, transform .2s var(--rbct-ease);
}
body.rbct .rbct-social a:hover { background-color: var(--rbct-red-hover); transform: translateY(-2px); }
body.rbct .rbct-social a i { font-family: "Font Awesome 6 Brands" !important; font-weight: 400; font-style: normal; font-size: 17px; line-height: 1; color: #fff; }
body.rbct .rbct-mobile-social { padding: 22px 20px 28px; border-top: 1px solid var(--rbct-border); margin-top: 10px; }
body.rbct .rbct-mobile-social .rbct-social { gap: 8px; flex-wrap: nowrap; }
body.rbct .rbct-mobile-social .rbct-social a { width: 38px; height: 38px; }
body.rbct .rbct-mobile-social .rbct-social a i { font-size: 15px; }
body.rbct .rbct-cards { display: flex; gap: 8px; align-items: center; }
body.rbct .rbct-cards .rbct-card { display: block; width: 48px; height: 32px; }
/* 14.7 Destination page (st_templates/layouts/elementor/location/single.php), Modtour design */
body.rbct .rbct-location { padding-bottom: 80px; }
/* Photos: the tour-page grid (Traveler's .st-gallery.style-masonry, 1 big + 4) — 14 Oct 2026 */
body.rbct .rbct-loc-gallery .st-gallery.style-masonry { position: relative; margin-top: 28px; margin-bottom: 44px; }
body.rbct .rbct-loc-gallery .item-gallery img { border-radius: 16px; }
body.rbct .rbct-loc-gallery .shares.dropdown { position: absolute; right: 30px; }
body.rbct .rbct-loc-gallery .shares .btn {
	background-color: rgba(17, 17, 20, .75) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
body.rbct .rbct-loc-gallery .shares .btn:hover { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; }
/* Fewer than 5 photos: equal tiles in one row */
body.rbct .rbct-loc-gallery--1 .item-gallery,
body.rbct .rbct-loc-gallery--2 .item-gallery,
body.rbct .rbct-loc-gallery--3 .item-gallery,
body.rbct .rbct-loc-gallery--4 .item-gallery { height: 440px !important; padding: 0 5px !important; }
body.rbct .rbct-loc-gallery--1 .item-gallery { width: 100% !important; padding: 0 !important; }
body.rbct .rbct-loc-gallery--2 .item-gallery { width: 50% !important; }
body.rbct .rbct-loc-gallery--4 .item-gallery { width: 25% !important; }
body.rbct .rbct-loc-gallery--2 .item-gallery:first-child,
body.rbct .rbct-loc-gallery--3 .item-gallery:first-child,
body.rbct .rbct-loc-gallery--4 .item-gallery:first-child { padding-left: 0 !important; }
body.rbct .rbct-loc-gallery--2 .item-gallery:last-child,
body.rbct .rbct-loc-gallery--3 .item-gallery:last-child,
body.rbct .rbct-loc-gallery--4 .item-gallery:last-child { padding-right: 0 !important; }
@media (max-width: 767px) {
	body.rbct .rbct-loc-gallery .item-gallery { height: 280px !important; width: 100% !important; padding: 0 !important; }
	body.rbct .rbct-loc-gallery .shares.dropdown { right: 16px; bottom: 16px; }
}
body.rbct .rbct-location h1.rbct-loc-title { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.2; font-weight: 700; margin: 0 0 18px; color: var(--rbct-text); }
body.rbct .rbct-loc-description { color: var(--rbct-muted); line-height: 1.75; }
body.rbct .rbct-loc-description h2,
body.rbct .rbct-loc-description h3,
body.rbct .rbct-loc-description h4 { color: var(--rbct-text); font-size: 22px; font-weight: 700; margin: 26px 0 12px; }
body.rbct .rbct-loc-description > :first-child { margin-top: 0; }
body.rbct .rbct-loc-description a { color: var(--rbct-pink); }
body.rbct .rbct-loc-description img { border-radius: 12px; height: auto; }
body.rbct .rbct-loc-map { border-radius: 16px; overflow: hidden; border: 1px solid var(--rbct-border); height: 320px; }
body.rbct .rbct-loc-map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.2) contrast(1.05); }
body.rbct .rbct-loc-tours { margin-top: 72px; }
body.rbct .rbct-loc-tours__title { text-align: center; font-size: clamp(26px, 3vw, 34px); font-weight: 700; margin: 0 0 36px; color: var(--rbct-text); }
body.rbct .rbct-loc-tours__more { text-align: center; margin: 28px 0 0; }
body.rbct .rbct-loc-tours__more .btn { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; color: #fff !important; border-radius: 50px; padding: 12px 28px; font-weight: 700; }
@media (max-width: 991px) {
	body.rbct .rbct-loc-gallery--few .rbct-slider__track { justify-content: flex-start; }
	body.rbct .rbct-loc-map { margin-top: 28px; height: 260px; }
}

/* 14.8 Search results page, sidebar layout (page setting "Choose layout for page" = 6): filter boxes on the left */
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 14px;
	color: var(--rbct-text);
}
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item .item-title,
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item h4,
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item label { color: var(--rbct-text) !important; }
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item .item-content,
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item ul { background-color: transparent !important; }
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item a,
body.rbct .search-result-page.st-style-elementor .sidebar-filter .btn-more-item { color: var(--rbct-pink) !important; }
body.rbct .search-result-page.st-style-elementor .sidebar-filter .btn-apply-price-range {
	background-color: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
	border-radius: 50px;
}
/* 14.9 Homepage: newsletter banner (Modtour "Get special offers" block), [rbct_newsletter] */
body.rbct .rbct-newsletter {
	display: grid;
	grid-template-columns: 1fr;
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: 20px;
	overflow: hidden;
}
body.rbct .rbct-newsletter--image { grid-template-columns: 1fr 1fr; }
body.rbct .rbct-newsletter__image { min-height: 260px; }
body.rbct .rbct-newsletter__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.rbct .rbct-newsletter__body { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; text-align: center; min-width: 0; }
body.rbct .rbct-newsletter__title { font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; line-height: 1.25; margin: 0 0 10px; color: var(--rbct-text); text-wrap: balance; }
body.rbct .rbct-newsletter__text { color: var(--rbct-muted); margin: 0 0 22px; }
body.rbct .rbct-newsletter__form { display: flex; gap: 8px; max-width: 460px; width: 100%; margin: var(--rbct-form-margin, 0 auto); } /* Elementor block: alignment setting moves the form too */
body.rbct .rbct-newsletter__form input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px;
	padding: 0 18px;
	background-color: var(--rbct-black) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 50px;
	color: var(--rbct-text) !important;
}
body.rbct .rbct-newsletter__form input[type="email"]:focus { border-color: var(--rbct-red) !important; outline: 0; }
body.rbct .rbct-newsletter__form button {
	flex: 0 0 auto;
	height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 50px;
	background-color: var(--rbct-red);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}
body.rbct .rbct-newsletter__form button:hover { background-color: var(--rbct-red-hover); }
body.rbct .rbct-newsletter__form button:disabled { opacity: .6; cursor: default; }
body.rbct .rbct-newsletter__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
body.rbct .rbct-newsletter__consent { margin: 12px 0 0; font-size: 12px; color: var(--rbct-muted); }
body.rbct .rbct-newsletter__msg { margin: 10px 0 0; min-height: 1.4em; font-weight: 600; }
body.rbct .rbct-newsletter__msg.is-ok { color: #4ed08a; }
body.rbct .rbct-newsletter__msg.is-error { color: var(--rbct-pink); }
@media (max-width: 767px) {
	body.rbct .rbct-newsletter--image { grid-template-columns: 1fr; }
	body.rbct .rbct-newsletter__image { min-height: 180px; max-height: 220px; }
	body.rbct .rbct-newsletter__form { flex-direction: column; }
	body.rbct .rbct-newsletter__form button { width: 100%; }
}
/* Booking box: enquiry form wrapper was white; TicketingHub calendar (fixed 320px frame) centred */
body.rbct .st-style-elementor.st-single-tour .rbct-booking .owner-info,
body.rbct .st-style-elementor.st-single-tour .rbct-booking .st-sent-mail-customer { background-color: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
body.rbct .st-style-elementor.st-single-tour .rbct-booking .rbct-ticketinghub iframe { display: block; margin: 0 auto; max-width: 100%; }
/* Footer: six social icons (TikTok added) on one row; newsletter button rounded like the other buttons */
body.rbct #main-footer .rbct-footer-social .elementor-social-icon { width: 34px; height: 34px; font-size: 13px !important; }
body.rbct #main-footer .rbct-footer-social .elementor-social-icons-wrapper { display: flex; flex-wrap: nowrap; gap: 6px; }
body.rbct #main-footer .rbct-footer-social .elementor-grid-item { margin: 0 !important; }
body.rbct .rbct-newsletter__form button { border-radius: 50px !important; }
/* Tour page on phones: the booking pop-up ("Check" button) had a white background */
@media (max-width: 991px) {
	body.rbct .st-style-elementor.st-single-tour .fixed-on-mobile.st-fixed-form-booking { background-color: var(--rbct-black) !important; }
	body.rbct .st-style-elementor.st-single-tour .fixed-on-mobile.st-fixed-form-booking .rbct-booking { background-color: var(--rbct-surface); margin: 56px 12px 24px; border: 1px solid var(--rbct-border); }
	body.rbct .st-style-elementor.st-single-tour .fixed-on-mobile.st-fixed-form-booking .close-icon,
	body.rbct .st-style-elementor.st-single-tour .fixed-on-mobile.st-fixed-form-booking .close-icon svg,
	body.rbct .st-style-elementor.st-single-tour .fixed-on-mobile.st-fixed-form-booking .close-icon svg * { color: var(--rbct-text) !important; stroke: var(--rbct-text) !important; }
}
/* Search sidebar: "See more" links had a red outline box */
body.rbct .search-result-page.st-style-elementor .sidebar-filter .btn-more-item,
body.rbct .search-result-page.st-style-elementor .sidebar-filter .sidebar-item a { border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; padding-left: 0; }

/* ==========================================================================
   15. Boss's corrections, second round (13 Oct 2026)
   ========================================================================== */
/* 15.1 Top Destinations: boxes instead of circles */
body.rbct .st-list-destination.st-sliders .thumbnail {
	border-radius: 16px !important;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--rbct-border);
}
body.rbct .st-list-destination.st-sliders .thumbnail img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; display: block; }
/* 15.2 WPML flag row under the footer: no white box behind the flags */
body.rbct .wpml-ls-statics-footer,
body.rbct .wpml-ls-statics-footer ul,
body.rbct .wpml-ls-statics-footer li,
body.rbct .wpml-ls-statics-footer a,
body.rbct .wpml-ls-statics-footer a:hover,
body.rbct .wpml-ls-statics-footer .wpml-ls-current-language > a {
	background-color: transparent !important;
	border-color: transparent !important;
}
body.rbct .wpml-ls-statics-footer { margin: 0 !important; padding: 14px 16px 22px !important; background-color: #18181c !important; text-align: center; }
body.rbct .wpml-ls-statics-footer .wpml-ls-flag { border-radius: 2px; }
/* 15.3 White boxes with unreadable (light) text → dark, everywhere they were found (scan of 13 Oct) */
/* Tour page: Reviews summary */
body.rbct .st-style-elementor .review-box {
	background-color: var(--rbct-surface) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text);
}
body.rbct .st-style-elementor .review-box .review-score-text,
body.rbct .st-style-elementor .review-box .st-summany .label,
body.rbct .st-style-elementor .review-box .st-summany .number { color: var(--rbct-text) !important; }
body.rbct .st-style-elementor .review-box .review-score-base,
body.rbct .st-style-elementor .review-box .review-score-base span { color: var(--rbct-muted) !important; }
body.rbct .st-style-elementor .review-box .st-review-box-top { border-color: var(--rbct-border) !important; }
body.rbct .st-style-elementor .review-box .progress { background-color: var(--rbct-black) !important; }
/* Tour cards in sliders ("Explore other options" on tour pages) and wherever a Modtour card is used */
body.rbct .services-item.item-elementor > .item.service-border {
	background-color: var(--rbct-surface) !important;
	border-color: var(--rbct-border) !important;
	color: var(--rbct-text);
}
body.rbct .services-item.item-elementor > .item.service-border .title a,
body.rbct .services-item.item-elementor > .item.service-border .title { color: var(--rbct-text) !important; }
/* Blog post: title card, table of contents, comment form, related posts */
body.rbct .article--detail-solo .post-info,
body.rbct .st-blog .post-info,
body.rbct .post-info {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-muted) !important;
}
body.rbct .post-info .post-title,
body.rbct .post-info h1,
body.rbct .post-info h2 { color: var(--rbct-text) !important; }
body.rbct .post-info a { color: var(--rbct-pink) !important; }
body.rbct #ez-toc-container {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 12px;
	color: var(--rbct-text);
}
body.rbct #ez-toc-container .ez-toc-title,
body.rbct #ez-toc-container a { color: var(--rbct-text) !important; }
body.rbct #ez-toc-container a:hover { color: var(--rbct-red) !important; }
body.rbct #ez-toc-container .ez-toc-icon-toggle-span svg,
body.rbct #ez-toc-container .ez-toc-toggle { color: var(--rbct-text) !important; fill: var(--rbct-text) !important; border-color: var(--rbct-border) !important; background: transparent !important; }
body.rbct .comment-respond textarea.form-control,
body.rbct .comment-respond input.form-control,
body.rbct #commentform textarea,
body.rbct #commentform input:not([type="submit"]):not([type="checkbox"]) {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
body.rbct .comment-respond ::placeholder,
body.rbct #commentform ::placeholder { color: var(--rbct-muted) !important; opacity: 1; }
body.rbct .comment-respond .comment-reply-title,
body.rbct .comments-title,
body.rbct .comment-respond label { color: var(--rbct-text) !important; }
body.rbct .st-blog--bg .st-blog--item,
body.rbct .st-blog--item.item-content {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-muted);
}
body.rbct .st-blog--item .title,
body.rbct .st-blog--item .title a,
body.rbct .st-blog--item h3 a,
body.rbct .st-blog--item h4 a { color: var(--rbct-text) !important; }
body.rbct .st-blog--item .title a:hover { color: var(--rbct-red) !important; }
/* Blog list sidebar: widget titles had a white bar behind white text; search button */
body.rbct .sidebar-widget .wp-block-heading,
body.rbct .sidebar-widget h2,
body.rbct .sidebar-widget h3,
body.rbct .sidebar-widget h4 { background-color: transparent !important; color: var(--rbct-text) !important; }
body.rbct .sidebar-widget .wp-block-search__button {
	background-color: var(--rbct-red) !important;
	border-color: var(--rbct-red) !important;
	color: #fff !important;
}
body.rbct .sidebar-widget .wp-block-search__input {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
body.rbct #st-content-wrapper.search-result-page > .banner { background-color: var(--rbct-black); } /* blog/category banner: dark behind its picture */
body.rbct .sidebar-widget .wp-block-search__inside-wrapper { border-color: var(--rbct-border) !important; background: transparent !important; }
body.rbct .comment-respond input[type="submit"],
body.rbct #commentform .submit { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; color: #fff !important; box-shadow: none !important; }
/* 15.4 (second header bar with the tour types: added 13 Oct in 1.0.22, removed again the same day on the boss's
   request — "Tours & Experiences" is back in the main menu. Code kept in reference/boss-changes/removed-second-bar/.) */
/* 15.5 Equal card heights inside sliders too ("Explore other options" on tour pages = Owl carousel) */
body.rbct .owl-carousel.st-owl-slider .owl-stage { display: flex; }
body.rbct .owl-carousel.st-owl-slider .owl-item { display: flex; float: none; flex: 0 0 auto; }
body.rbct .owl-carousel.st-owl-slider .owl-item > .item-slide,
body.rbct .owl-carousel.st-owl-slider .owl-item > div { display: flex; width: 100%; }
body.rbct .owl-carousel.st-owl-slider .services-item { display: flex; width: 100%; }
body.rbct .owl-carousel.st-owl-slider .services-item > .item { display: flex; flex-direction: column; width: 100%; }
body.rbct .owl-carousel.st-owl-slider .services-item .content-item { display: flex; flex-direction: column; flex: 1 1 auto; }
body.rbct .owl-carousel.st-owl-slider .services-item .section-footer { margin-top: auto; }
/* 15.6 Card sliders with arrow buttons (inc/slider.php): tour card lists and category cards in one sliding row */
body.rbct .rbct-slider { position: relative; }
body.rbct .rbct-slider__track {
	display: flex;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 6px;
}
body.rbct .rbct-slider__track::-webkit-scrollbar { display: none; }
body.rbct .rbct-slider__slide { flex-shrink: 0; scroll-snap-align: start; }
body.rbct .rbct-slider__nav {
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--rbct-border);
	background-color: rgba(17, 17, 20, .92);
	color: var(--rbct-text);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 5;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .45);
	transition: background-color .2s, border-color .2s, opacity .2s;
}
body.rbct .rbct-slider__nav[hidden] { display: none; }
body.rbct .rbct-slider__nav:hover:not(:disabled) { background-color: var(--rbct-red); border-color: var(--rbct-red); }
body.rbct .rbct-slider__nav:disabled { opacity: .35; cursor: default; }
body.rbct .rbct-slider__nav--prev { left: -22px; }
body.rbct .rbct-slider__nav--next { right: -22px; }
@media (max-width: 1240px) {
	body.rbct .rbct-slider__nav--prev { left: 4px; }
	body.rbct .rbct-slider__nav--next { right: 4px; }
}
/* Tour cards keep their column widths (4 / 2 in view); on phones the next card peeks in */
@media (max-width: 767px) {
	body.rbct .rbct-modtour-cards .rbct-slider__slide { flex: 0 0 84%; max-width: 84%; }
}
/* 15.7 Homepage "Featured Day Experiences" / "Exclusive Night Experiences": category cards (inc/experiences.php) */
body.rbct .rbct-experiences .rbct-slider__track:has(.rbct-exp-card) { gap: 20px; } /* category-card variant only */
body.rbct .rbct-exp-card { flex: 0 0 calc((100% - 60px) / 4); min-width: 0; }
body.rbct .rbct-exp-card a { display: block; text-align: center; text-decoration: none; }
body.rbct .rbct-exp-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--rbct-border);
	background-color: var(--rbct-surface);
}
body.rbct .rbct-exp-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s var(--rbct-ease); }
body.rbct .rbct-exp-card a:hover .rbct-exp-card__image img { transform: scale(1.05); }
body.rbct .rbct-exp-card__name { display: block; margin-top: 14px; font-size: 17px; font-weight: 700; color: var(--rbct-text); }
body.rbct .rbct-exp-card a:hover .rbct-exp-card__name { color: var(--rbct-red); }
body.rbct .rbct-exp-card__count { display: block; margin-top: 2px; font-size: 14px; color: var(--rbct-muted); }
@media (max-width: 991px) { body.rbct .rbct-exp-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 575px) { body.rbct .rbct-exp-card { flex-basis: 72%; } }
/* 15.8 Share menu (tour page header): Traveler draws white circles, our icons are white too → invisible (boss, 14 Oct).
   Dark circles with a light border and white icons, red on hover; no box behind them. */
body.rbct .shares .share-wrapper {
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 8px 0 0 !important;
}
body.rbct .shares .share-wrapper li {
	background-color: var(--rbct-surface) !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .45);
	margin-bottom: 8px;
	transition: background-color .2s, border-color .2s, transform .2s var(--rbct-ease);
}
body.rbct .shares .share-wrapper li a { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.rbct .shares .share-wrapper li a i,
body.rbct .shares .share-wrapper li a i::before { color: #fff !important; font-size: 17px; }
body.rbct .shares .share-wrapper li:hover { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; transform: translateY(-1px); }
/* 15.9 Sign in / Sign up / Reset password windows (header person icon): Traveler draws them white, our light text
   then disappears; the close × sat in a pink square at the left (boss, 14 Oct). Dark window, readable text, round ×
   in the top-right corner. */
body.rbct .login-regiter-popup .modal-content,
body.rbct #st-forgot-form .modal-content {
	background-color: var(--rbct-surface) !important;
	border: 1px solid var(--rbct-border) !important;
	border-radius: 20px !important;
	color: var(--rbct-text) !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .6);
}
body.rbct .login-regiter-popup .modal-header,
body.rbct #st-forgot-form .modal-header {
	position: static !important; /* the × is placed against the window itself */
	border-bottom: 1px solid var(--rbct-border) !important;
	background: transparent !important;
	padding-bottom: 18px !important;
}
body.rbct #st-register-form .modal-header,
body.rbct #st-forgot-form .modal-header { padding-right: 76px !important; }
body.rbct .login-regiter-popup .modal-content,
body.rbct #st-forgot-form .modal-content { position: relative !important; }
body.rbct .login-regiter-popup .modal-title,
body.rbct #st-forgot-form .modal-title { color: var(--rbct-text) !important; font-weight: 700; }
/* Close: round button, top-right */
body.rbct .login-regiter-popup .modal-header .close,
body.rbct #st-forgot-form .modal-header .close {
	position: absolute !important;
	top: 20px !important;
	right: 20px !important;
	left: auto !important;
	transform: none !important;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1px solid var(--rbct-border) !important;
	background-color: rgba(255, 255, 255, .06) !important;
	color: var(--rbct-text) !important;
	opacity: 1 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	transition: background-color .2s, border-color .2s;
	z-index: 3;
}
body.rbct .login-regiter-popup .modal-header .close:hover,
body.rbct #st-forgot-form .modal-header .close:hover { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; }
body.rbct .login-regiter-popup .modal-header .close span,
body.rbct #st-forgot-form .modal-header .close span { color: var(--rbct-text) !important; font-size: 14px; line-height: 1; }
body.rbct .login-regiter-popup .modal-header .close i,
body.rbct #st-forgot-form .modal-header .close i { background: transparent !important; border: 0 !important; width: auto !important; height: auto !important; position: static !important; display: flex; }
body.rbct .login-regiter-popup .modal-header .close svg,
body.rbct #st-forgot-form .modal-header .close svg { width: 14px; height: 14px; }
body.rbct .login-regiter-popup .modal-header .close svg g,
body.rbct #st-forgot-form .modal-header .close svg g { stroke: var(--rbct-text) !important; }
/* Sign in | Sign up tabs */
body.rbct .login-regiter-popup .account-tabs li { color: var(--rbct-muted) !important; text-decoration: none !important; padding-bottom: 6px; border-bottom: 2px solid transparent; cursor: pointer; transition: color .2s; }
body.rbct .login-regiter-popup .account-tabs li:hover { color: var(--rbct-text) !important; }
body.rbct .login-regiter-popup .account-tabs li.active { color: var(--rbct-text) !important; font-weight: 700; border-bottom-color: var(--rbct-red); }
/* Body: heading, fields, small print */
body.rbct .login-regiter-popup .modal-body,
body.rbct #st-forgot-form .modal-body { background: transparent !important; color: var(--rbct-text); }
body.rbct .login-regiter-popup .heading { color: var(--rbct-text) !important; font-weight: 700; }
body.rbct .login-regiter-popup .form-control,
body.rbct #st-forgot-form .form-control {
	background-color: var(--rbct-black) !important;
	border: 1px solid var(--rbct-border) !important;
	color: var(--rbct-text) !important;
}
body.rbct .login-regiter-popup .form-control::placeholder,
body.rbct #st-forgot-form .form-control::placeholder { color: var(--rbct-muted) !important; opacity: 1; }
body.rbct .login-regiter-popup .form-control:focus,
body.rbct #st-forgot-form .form-control:focus { border-color: var(--rbct-red) !important; box-shadow: 0 0 0 3px rgba(215, 32, 39, .25) !important; }
body.rbct .login-regiter-popup .form-control:-webkit-autofill,
body.rbct #st-forgot-form .form-control:-webkit-autofill { -webkit-text-fill-color: var(--rbct-text); -webkit-box-shadow: 0 0 0 1000px var(--rbct-black) inset !important; }
body.rbct .login-regiter-popup .field-password .stt-icon { color: var(--rbct-muted) !important; }
body.rbct .login-regiter-popup .st-icheck label,
body.rbct .login-regiter-popup .c-grey,
body.rbct #st-forgot-form .c-grey { color: var(--rbct-muted) !important; }
body.rbct .login-regiter-popup .st-icheck .checkmark { background-color: var(--rbct-black) !important; border-color: var(--rbct-border) !important; }
body.rbct .login-regiter-popup .st-icheck input:checked ~ .checkmark { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; }
body.rbct .login-regiter-popup a,
body.rbct #st-forgot-form a { color: var(--rbct-pink) !important; }
body.rbct .login-regiter-popup a:hover,
body.rbct #st-forgot-form a:hover { color: #fff !important; }
body.rbct .login-regiter-popup .form-submit,
body.rbct #st-forgot-form .form-submit { background-color: var(--rbct-red) !important; border-color: var(--rbct-red) !important; color: #fff !important; }
body.rbct .login-regiter-popup .form-submit:hover,
body.rbct #st-forgot-form .form-submit:hover { background-color: var(--rbct-red-hover) !important; }
body.rbct .login-regiter-popup .loader-wrapper,
body.rbct #st-forgot-form .loader-wrapper { background-color: rgba(17, 17, 20, .7) !important; }
/* 15.10 Destination photo window ("All photos", inc/location-videos.php): round arrows left and right, round close (14 Oct) */
.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow {
	position: absolute;
	top: 50%;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 !important;
	padding: 0;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .35);
	background-color: rgba(17, 17, 20, .85);
	color: #fff;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .5);
	transition: background-color .2s, border-color .2s;
}
.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow::before,
.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow::after { display: none !important; }
.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow .stt-icon { font-size: 20px; line-height: 1; color: #fff; pointer-events: none; }
.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow:hover { background-color: var(--rbct-red); border-color: var(--rbct-red); }
.mfp-wrap.rbct-lightbox .mfp-arrow-left { left: 24px; right: auto; }
.mfp-wrap.rbct-lightbox .mfp-arrow-right { right: 24px; left: auto; }
.mfp-wrap.rbct-lightbox .mfp-counter { color: #fff; font-size: 14px; }
.mfp-wrap.rbct-lightbox .mfp-close { color: #fff !important; opacity: 1; }
@media (max-width: 767px) {
	.mfp-wrap.rbct-lightbox .mfp-arrow.rbct-mfp-arrow { width: 44px; height: 44px; margin-top: -22px !important; transform: none !important; } /* Magnific shrinks arrows to 75 % on small screens */
	.mfp-wrap.rbct-lightbox .mfp-arrow-left { left: 8px; }
	.mfp-wrap.rbct-lightbox .mfp-arrow-right { right: 8px; }
}
/* 15.11 Boss, 14 Oct: share icons RED (dark circle, red icon; hover = red circle, white icon) */
body.rbct .shares .share-wrapper li a i,
body.rbct .shares .share-wrapper li a i::before { color: var(--rbct-red) !important; }
body.rbct .shares .share-wrapper li:hover a i,
body.rbct .shares .share-wrapper li:hover a i::before { color: #fff !important; }
body.rbct .st-service-header2 .share-item i,
body.rbct .st-service-header2 .share-item i::before { color: var(--rbct-red) !important; }

/* 15.12 404 page: Traveler prints it on a white background (inline style) with a blue button → dark page, red button */
body.rbct #st-content-wrapper.st-404-page { background-color: var(--rbct-black) !important; padding: 40px 0 90px; }
body.rbct .st-404-page .img-404 { max-width: min(520px, 90%); height: auto; border-radius: 24px; background-color: #fff; padding: 18px; }
body.rbct .st-404-page h1 { color: var(--rbct-text) !important; font-weight: 700; margin-top: 34px; }
body.rbct .st-404-page h3 { color: var(--rbct-muted) !important; font-weight: 400; }
body.rbct .st-404-page p a {
	display: inline-block;
	background-color: var(--rbct-red) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: 50px;
	padding: 13px 30px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s;
}
body.rbct .st-404-page p a:hover { background-color: var(--rbct-red-hover) !important; color: #fff !important; }

/* 15.13 "Work with us" page (Elementor page from the live site): black headings on the dark page → white; grey text on
   the red boxes → white; the "Looking for a Private Tour?" box is white → dark text. Element IDs from the page itself
   (found with a contrast scan, 14 Oct); WPML copies keep the same IDs. */
body.rbct .elementor-element-3add82c5 .elementor-heading-title,
body.rbct .elementor-element-309a2704 .elementor-heading-title,
body.rbct .elementor-element-10e0ca5e .elementor-heading-title,
body.rbct .elementor-element-705ebd09 .elementor-heading-title,
body.rbct .elementor-element-2f8101f8 .elementor-heading-title,
body.rbct .elementor-element-54b700d7 .elementor-image-box-title,
body.rbct .elementor-element-75a1b856 .elementor-image-box-title,
body.rbct .elementor-element-54819e2b .elementor-image-box-title,
body.rbct .elementor-element-471adf6a .elementor-image-box-title,
body.rbct .elementor-element-67bca7b1 .elementor-image-box-title,
body.rbct .elementor-element-7b6d4bf7 .elementor-image-box-title { color: var(--rbct-text) !important; }
body.rbct .elementor-element-53e7999e,
body.rbct .elementor-element-53e7999e *,
body.rbct .elementor-element-3a5190e3,
body.rbct .elementor-element-3a5190e3 * { color: #fff !important; }
body.rbct .elementor-element-790ea9f7 .elementor-heading-title,
body.rbct .elementor-element-6bf0c750,
body.rbct .elementor-element-6bf0c750 *,
body.rbct .elementor-element-5ccc882b,
body.rbct .elementor-element-5ccc882b * { color: var(--rbct-black) !important; }
body.rbct .elementor-element-5ccc882b a { color: var(--rbct-red) !important; }
/* Elementor testimonial widgets (staff quotes on "Work with us"): dark text on the dark cards → light */
body.rbct .elementor-widget-testimonial .elementor-testimonial-content { color: var(--rbct-text) !important; font-style: italic; }
body.rbct .elementor-widget-testimonial .elementor-testimonial-name { color: var(--rbct-text) !important; font-weight: 700; }
body.rbct .elementor-widget-testimonial .elementor-testimonial-job { color: var(--rbct-muted) !important; }

/* 15.14 "Work with us": the HireVire job list (iframe, height="100%") was only 150px tall in a 1440px-high box →
   a big empty black area (live has the same, white). The frame gets a real height and its box fits around it.
   Matched by the frame's address, so every language version is covered. */
body.rbct iframe[src*="app.hirevire.com"] {
	display: block;
	width: 100%;
	height: 900px !important;
	max-height: 88vh;
	min-height: 560px;
	border: 0;
	border-radius: 16px;
	background-color: #fff;
}
body.rbct .e-con:has(iframe[src*="app.hirevire.com"]),
body.rbct .e-con:has(iframe[src*="app.hirevire.com"]) > .e-con-inner { --min-height: 0px !important; min-height: 0 !important; height: auto !important; }

/* 15.15 "Work with us": the white "Looking for a Private Tour? / CONTACT US" box at the bottom removed (user, 14 Oct;
   its e-mail also showed the staging address). Page content is Elementor from the live site, so hidden here. */
body.rbct .elementor-element-5ef77f3b { display: none !important; }

/* 15.16 "Work with us": the two white boxes ("Creating inspiring events…", "Flexibility and development
   opportunities") black, like the "Join one of the leaders" box (user, 14 Oct); headings white, text light. */
body.rbct .elementor-element-4a63c45,
body.rbct .elementor-element-61eec9c4 { background-color: #000 !important; background-image: none !important; }
body.rbct .elementor-element-4a63c45 .elementor-heading-title,
body.rbct .elementor-element-61eec9c4 .elementor-heading-title { color: #fff !important; }
body.rbct .elementor-element-4a63c45 .elementor-widget-text-editor,
body.rbct .elementor-element-4a63c45 .elementor-widget-text-editor *,
body.rbct .elementor-element-61eec9c4 .elementor-widget-text-editor,
body.rbct .elementor-element-61eec9c4 .elementor-widget-text-editor * { color: #c8c8d0 !important; }

/* 15.18 Main menu: a clear down-arrow after the items that open a list (user, 14 Oct). Traveler's icon-font arrow
   sat on top of the last letters, tiny and grey. Now a small chevron (SVG mask, so it takes the text colour and
   turns red with it on hover); a theme rule blocks transforms on these icons, so no rotation is used. */
@media (min-width: 992px) {
	body.rbct header.header .header__center #st-main-menu #main-menu > li.menu-item-has-children > a { display: inline-flex !important; align-items: center; gap: 8px; }
	body.rbct header.header .header__center #st-main-menu #main-menu > li.menu-item-has-children > a > i.fa {
		position: static !important;
		display: inline-block !important;
		flex: 0 0 auto;
		width: 11px !important;
		height: 7px !important;
		margin: 1px 0 0 0 !important;
		padding: 0 !important;
		font-size: 0 !important;
		line-height: 0 !important;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
		color: inherit !important;
	}
	body.rbct header.header .header__center #st-main-menu #main-menu > li.menu-item-has-children > a > i.fa::before { content: none !important; display: none !important; }
}

/* 15.19 Contact Us (8 languages): the office map removed (user, 14 Oct; it showed Google's "API not activated"
   error). Matched by the office position in the map address, so the Paris meeting-point map stays. */
body.rbct .e-con:has(.elementor-widget-google_maps iframe[src*="43.69780731201172"]) { display: none !important; }

/* 15.20 Homepage hero video (inc/hero-video.php): the still frame replaces the stock photo at once, the video fades
   in over it when it plays; the dark overlay and the title / search box stay above the video. */
body.rbct .rbct-mt-hero { position: relative; overflow: hidden; background-image: url("video/hero-poster.jpg") !important; background-size: cover !important; background-position: center !important; }
body.rbct .rbct-mt-hero > .rbct-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: 0; transition: opacity .8s ease; pointer-events: none; }
body.rbct .rbct-mt-hero > .rbct-hero-video.is-playing { opacity: 1; }
body.rbct .rbct-mt-hero::before { z-index: 1 !important; }
body.rbct .rbct-mt-hero > :not(.rbct-hero-video) { position: relative; z-index: 2; }

/* ==========================================================================
   16. Modtour content pages (boss, 14 Oct 2026): FAQ, About, Affiliate program, Franchise — built by
   stage3/tools/build_pages.py as Elementor pages; the markup inside the HTML widgets uses these classes.
   ========================================================================== */
/* Hero: photo with dark overlay, title, play button (inc/video-button.php) */
body.rbct .rbct-pg-hero { border-radius: 24px; overflow: hidden; }
body.rbct .rbct-pg-hero .elementor-heading-title { color: #fff !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .45); }
body.rbct .rbct-pg-hero__title .elementor-heading-title { font-size: clamp(30px, 4.2vw, 48px) !important; font-weight: 800; line-height: 1.15; }
body.rbct .rbct-pg-hero__sub .elementor-heading-title,
body.rbct .rbct-pg-hero__sub p { font-size: clamp(16px, 1.6vw, 20px) !important; font-weight: 500; color: rgba(255, 255, 255, .9) !important; }
body.rbct .rbct-play {
	position: relative;
	display: inline-flex;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
	transition: transform .2s var(--rbct-ease), background-color .2s;
}
body.rbct .rbct-play__icon {
	position: absolute;
	left: 31px;
	top: 25px;
	border-style: solid;
	border-width: 13px 0 13px 20px;
	border-color: transparent transparent transparent var(--rbct-red);
}
body.rbct .rbct-play:hover { transform: scale(1.08); background-color: var(--rbct-red); }
body.rbct .rbct-play:hover .rbct-play__icon { border-left-color: #fff; }
.rbct-video-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 56px 16px 24px;
	background-color: rgba(0, 0, 0, .9);
}
.rbct-video-modal__frame { position: relative; width: min(100%, 1100px, calc((100vh - 110px) * 16 / 9)); aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background-color: #000; }
.rbct-video-modal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rbct-video-modal__close {
	position: absolute;
	top: 10px;
	right: 14px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .35);
	background-color: rgba(17, 17, 20, .9);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.rbct-video-modal__close:hover { background-color: var(--rbct-red); border-color: var(--rbct-red); }
html.rbct-video-open { overflow: hidden; }
/* Section titles and lead text */
body.rbct .rbct-pg-title .elementor-heading-title { font-size: clamp(26px, 3vw, 36px) !important; font-weight: 800; color: var(--rbct-text) !important; }
body.rbct .rbct-pg-h1 .elementor-heading-title { font-size: clamp(32px, 4vw, 46px) !important; font-weight: 800; color: var(--rbct-text) !important; }
body.rbct .rbct-pg-lead,
body.rbct .rbct-pg-lead p { color: var(--rbct-muted); font-size: 17px; line-height: 1.75; max-width: 860px; margin-left: auto; margin-right: auto; }
body.rbct .rbct-pg-lead strong,
body.rbct .rbct-pg-lead b { color: var(--rbct-text); }
/* Buttons */
body.rbct .rbct-btn {
	display: inline-block;
	background-color: var(--rbct-red);
	color: #fff !important;
	border-radius: 50px;
	padding: 14px 34px;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none !important;
	transition: background-color .2s, transform .2s var(--rbct-ease);
}
body.rbct .rbct-btn:hover { background-color: var(--rbct-red-hover); transform: translateY(-1px); }
body.rbct .rbct-center { text-align: center; }
/* "How does it work?" — numbered steps */
body.rbct .rbct-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.rbct .rbct-step,
body.rbct .rbct-pcard,
body.rbct .rbct-value {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: 18px;
	padding: 28px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
body.rbct .rbct-step__head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
body.rbct .rbct-step__num,
body.rbct .rbct-value__num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 52px;
	padding: 0 10px;
	border-radius: 50%;
	background-color: rgba(215, 32, 39, .16);
	color: var(--rbct-red);
	font-size: 22px;
	font-weight: 800;
}
body.rbct .rbct-step h3,
body.rbct .rbct-pcard h3,
body.rbct .rbct-value h3 { color: var(--rbct-text); font-size: 19px; font-weight: 700; margin: 0; line-height: 1.35; }
body.rbct .rbct-step p,
body.rbct .rbct-pcard p,
body.rbct .rbct-pcard li,
body.rbct .rbct-value p { color: var(--rbct-muted); font-size: 15px; line-height: 1.7; margin: 0 0 8px; }
body.rbct .rbct-pcard strong,
body.rbct .rbct-pcard b,
body.rbct .rbct-value strong { color: var(--rbct-text); }
/* Card grids */
body.rbct .rbct-pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
body.rbct .rbct-pcards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.rbct .rbct-pcard h3 { margin-bottom: 14px; }
body.rbct .rbct-pcard ul { list-style: none; margin: 0; padding: 0; }
body.rbct .rbct-pcard li { position: relative; padding-left: 26px; margin-bottom: 10px; }
body.rbct .rbct-pcard li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--rbct-red);
	border-bottom: 2px solid var(--rbct-red);
	transform: rotate(-45deg);
}
body.rbct .rbct-pcard__icon { font-size: 30px; line-height: 1; margin-bottom: 14px; display: block; }
/* Values (About) */
body.rbct .rbct-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.rbct .rbct-value { display: flex; gap: 18px; align-items: flex-start; }
body.rbct .rbct-value h3 { margin-bottom: 8px; }
/* Two text columns (About: vision / missions) */
body.rbct .rbct-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
body.rbct .rbct-two-col h3 { color: var(--rbct-text); font-size: 20px; font-weight: 700; margin: 0 0 12px; }
body.rbct .rbct-two-col p,
body.rbct .rbct-two-col li { color: var(--rbct-muted); line-height: 1.75; }
body.rbct .rbct-two-col ul { padding-left: 20px; margin: 0; }
body.rbct .rbct-two-col li::marker { color: var(--rbct-red); }
/* Chips (About: services) */
body.rbct .rbct-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body.rbct .rbct-chip { padding: 10px 20px; border-radius: 50px; background-color: var(--rbct-surface); border: 1px solid var(--rbct-border); color: var(--rbct-text); font-weight: 600; font-size: 15px; }
/* Team photos and brand logos (About) */
body.rbct .rbct-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.rbct .rbct-team img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; display: block; }
body.rbct .rbct-brands { display: grid; grid-template-columns: repeat(2, minmax(0, 320px)); justify-content: center; gap: 24px; }
body.rbct .rbct-brand { display: block; text-align: center; text-decoration: none !important; }
body.rbct .rbct-brand__logo { display: flex; align-items: center; justify-content: center; height: 140px; border-radius: 18px; background-color: #fff; padding: 20px; transition: transform .2s var(--rbct-ease); }
body.rbct .rbct-brand__logo img { max-height: 100px; width: auto; }
body.rbct .rbct-brand:hover .rbct-brand__logo { transform: translateY(-3px); }
body.rbct .rbct-brand__name { display: block; margin-top: 12px; color: var(--rbct-text); font-weight: 700; }
body.rbct .rbct-brand__what { display: block; color: var(--rbct-muted); font-size: 14px; }
/* FAQ: two columns of cards that open with + (plain <details>, no script) */
body.rbct .rbct-faq-grid { text-align: left; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; align-items: start; }
body.rbct .rbct-faq {
	background-color: var(--rbct-surface);
	border: 1px solid var(--rbct-border);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
	transition: border-color .2s;
}
body.rbct .rbct-faq[open] { border-color: rgba(215, 32, 39, .6); }
body.rbct .rbct-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 24px;
	color: var(--rbct-text);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
}
body.rbct .rbct-faq summary::-webkit-details-marker { display: none; }
body.rbct .rbct-faq summary::after {
	content: "+";
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(255, 255, 255, .06);
	color: var(--rbct-red);
	font-size: 22px;
	font-weight: 400;
	transition: transform .2s var(--rbct-ease), background-color .2s;
}
body.rbct .rbct-faq[open] summary::after { transform: rotate(45deg); background-color: var(--rbct-red); color: #fff; }
body.rbct .rbct-faq summary:hover { color: #fff; }
body.rbct .rbct-faq__answer { padding: 0 24px 22px; color: var(--rbct-muted); font-size: 15px; line-height: 1.75; }
body.rbct .rbct-faq__answer p { margin: 0 0 10px; }
body.rbct .rbct-faq__answer a { color: var(--rbct-pink); }
body.rbct .rbct-faq-group { color: var(--rbct-text); font-size: 22px; font-weight: 700; margin: 0; }
/* Comparison table (Franchise) */
body.rbct .rbct-compare { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--rbct-border); border-radius: 18px; overflow: hidden; background-color: var(--rbct-surface); }
body.rbct .rbct-compare th,
body.rbct .rbct-compare td { padding: 14px 20px; border-bottom: 1px solid var(--rbct-border); text-align: left; vertical-align: top; color: var(--rbct-muted); font-size: 15px; line-height: 1.5; }
body.rbct .rbct-compare th { background-color: rgba(255, 255, 255, .04); color: var(--rbct-text); font-weight: 700; }
body.rbct .rbct-compare th:last-child { color: var(--rbct-red); }
body.rbct .rbct-compare td:first-child { color: var(--rbct-text); font-weight: 600; white-space: nowrap; }
body.rbct .rbct-compare td:last-child { color: var(--rbct-text); }
body.rbct .rbct-compare tr:last-child td { border-bottom: 0; }
body.rbct .rbct-compare-wrap { overflow-x: auto; }
/* Call-to-action band */
body.rbct .rbct-cta-band { border-radius: 24px; background: #000 !important; border: 1px solid var(--rbct-border); } /* black, not the red tint (user, 14 Oct) */
body.rbct .rbct-cta-band iframe { display: block; margin-left: auto !important; margin-right: auto !important; max-width: 100%; } /* TicketingHub reseller login, centred */
body.rbct .rbct-cta-band .elementor-heading-title { color: var(--rbct-text) !important; }
@media (max-width: 991px) {
	body.rbct .rbct-steps,
	body.rbct .rbct-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.rbct .rbct-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	body.rbct .rbct-steps,
	body.rbct .rbct-pcards,
	body.rbct .rbct-pcards--2,
	body.rbct .rbct-values,
	body.rbct .rbct-two-col,
	body.rbct .rbct-faq-grid { grid-template-columns: minmax(0, 1fr); }
	body.rbct .rbct-brands { grid-template-columns: minmax(0, 1fr); }
	body.rbct .rbct-step,
	body.rbct .rbct-pcard,
	body.rbct .rbct-value { padding: 22px; }
	body.rbct .rbct-faq summary { padding: 16px 18px; font-size: 16px; }
	body.rbct .rbct-faq__answer { padding: 0 18px 18px; }
}

/* 15.17 404 page = the RBCT "crawled off the map" illustration (st_templates/layouts/modern/page/404.php, 14 Oct) */
body.rbct .rbct-404 { padding: 34px 0 80px; background-color: var(--rbct-black) !important; }
body.rbct .rbct-404__link { display: block; max-width: 1100px; margin: 0 auto; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 50px rgba(0, 0, 0, .5); transition: transform .25s var(--rbct-ease); }
body.rbct .rbct-404__link:hover { transform: translateY(-3px); }
body.rbct .rbct-404__link img { display: block; width: 100%; height: auto; }
body.rbct .rbct-404__button { display: none; text-align: center; margin: 0; padding-top: 24px; }
@media (max-width: 767px) { body.rbct .rbct-404 { padding: 16px 0 50px; } body.rbct .rbct-404__link { border-radius: 14px; } body.rbct .rbct-404__button { display: block; } }
/* 15.21 Elementor blocks (inc/elementor-widgets.php): the red line under a section title follows its alignment */
body.rbct .elementor-widget-rbct-experiences .rbct-section__title::after,
body.rbct .elementor-widget-rbct-tours .rbct-section__title::after { inset-inline-start: var(--rbct-line-start, 0); transform: var(--rbct-line-shift, none); }

/* §15.22 Header fits on one line in every language (user, 16 Oct 2026: French menu wrapped onto 2 lines, the
   "Devenir un expert local" button broke into a red blob). Longer labels → slightly smaller menu text between
   992 and 1599 px in the OTHER languages only (English unchanged); current language = flag only; no wrapping. */
body.rbct header.header #st-main-menu .main-menu { flex-wrap: nowrap !important; }
body.rbct header.header #st-main-menu .main-menu > li > a { white-space: nowrap; }
body.rbct header.header .header__right .st-header-link a { white-space: nowrap; }
html:not([lang^="en"]) body.rbct header.header #st-main-menu .main-menu > li.wpml-ls-current-language > a .wpml-ls-native { display: none; }
@media (min-width: 992px) and (max-width: 1599px) {
	html:not([lang^="en"]) body.rbct header.header #st-main-menu .main-menu > li > a { font-size: clamp(12.5px, 1vw, 15px) !important; }
}

/* §15.23 Hebrew (right-to-left): phone numbers stay left-to-right ("+33 649 244 407" showed as "407 244 649 33+"). */
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href*="wa.me"],
html[dir="rtl"] a[href*="api.whatsapp"] { direction: ltr; unicode-bidi: isolate; display: inline-block; }

/* §15.24 No language switcher in the header menus (16 Oct 2026): taken out in inc/i18n.php; this hides it if WPML
   ever adds it another way. The footer "Languages" selector stays. */
body.rbct header.header #st-main-menu li.wpml-ls-menu-item,
body.rbct header.header #st-main-menu li.wpml-ls-item { display: none !important; }

/* §15.25 Header language switcher (flag) — inc/i18n.php rbct_header_language_switcher(). */
body.rbct header.header .header__right .rbct-lang-switch { position: relative; list-style: none; margin: 0 14px 0 0; }
body.rbct header.header .rbct-lang-switch summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 8px 6px; border-radius: 8px; }
body.rbct header.header .rbct-lang-switch summary::-webkit-details-marker { display: none; }
body.rbct header.header .rbct-lang-switch summary:hover,
body.rbct header.header .rbct-lang-switch details[open] summary { background: rgba(255, 255, 255, .08); }
body.rbct header.header .rbct-lang-switch summary img { display: block; width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .25); }
body.rbct header.header .rbct-lang-switch__chev { width: 10px; height: 10px; background: currentColor; color: var(--rbct-text, #f2f2f2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat; }
body.rbct header.header .rbct-lang-switch__list { position: absolute; top: calc(100% + 8px); right: 0; z-index: 1000; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px;
	min-width: 320px; margin: 0; padding: 10px; list-style: none; background: #1d1d22; border: 1px solid #3c3c46; border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
body.rbct header.header .rbct-lang-switch__list a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: #f2f2f2 !important; font-size: 14px; font-weight: 500; white-space: nowrap; text-decoration: none; }
body.rbct header.header .rbct-lang-switch__list a:hover { background: rgba(255, 255, 255, .08); }
body.rbct header.header .rbct-lang-switch__list a.is-current { background: var(--rbct-red, #d71f26); }
body.rbct header.header .rbct-lang-switch__list img { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; flex: none; }
@media (max-width: 991px) {
	body.rbct header.header .header__right .rbct-lang-switch { margin-right: 4px; }
	body.rbct header.header .rbct-lang-switch__list { min-width: 260px; grid-template-columns: 1fr; max-height: 70vh; overflow-y: auto; }
}
/* §15.26 Every pagination readable (user, 16 Oct 2026: "the button to jump to the next page is not visible"):
   tour reviews (.pagination ul), search results / blog (ul.page-numbers) — dark boxes, white numbers and arrows,
   red current page, faded when there is no previous / next page. */
body.rbct .pagination ul,
body.rbct ul.page-numbers { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; background: transparent !important; padding: 0; margin: 0; list-style: none; border: 0 !important; }
body.rbct .pagination ul li,
body.rbct ul.page-numbers li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; list-style: none; }
body.rbct .pagination ul li a,
body.rbct .pagination ul li span,
body.rbct ul.page-numbers li a,
body.rbct ul.page-numbers li span {
	display: inline-flex !important; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px !important;
	background: #26262b !important; border: 1px solid #3c3c46 !important; border-radius: 10px !important;
	color: #f2f2f2 !important; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; box-shadow: none !important;
	transition: background-color .2s, border-color .2s;
}
body.rbct .pagination ul li a i, body.rbct ul.page-numbers li a i,
body.rbct .pagination ul li a::before, body.rbct ul.page-numbers li a::before { color: #f2f2f2 !important; opacity: 1 !important; }
body.rbct .pagination ul li a svg, body.rbct ul.page-numbers li a svg { fill: #f2f2f2 !important; stroke: #f2f2f2; }
body.rbct .pagination ul li a:hover,
body.rbct ul.page-numbers li a:hover { background: #3a3a42 !important; border-color: var(--rbct-red, #d71f26) !important; }
body.rbct .pagination ul li.active a,
body.rbct .pagination ul li a.current-page,
body.rbct ul.page-numbers li .page-numbers.current { background: var(--rbct-red, #d71f26) !important; border-color: var(--rbct-red, #d71f26) !important; color: #fff !important; }
body.rbct .pagination ul li.disabled a { opacity: .35; cursor: default; pointer-events: none; }
body.rbct ul.page-numbers li .page-numbers.dots { background: transparent !important; border-color: transparent !important; min-width: 24px; padding: 0 !important; }
