/**
* Theme Name: Havezic Child
* Description: This is a child theme of Havezic, generated by Merlin WP.
* Author: <a href="https://wpopal.com/">Opalthemes</a>
* Template: havezic
* Version: 1.2.0
*/

/* Elementor Nested Tabs — keep desktop layout on mobile.
   Elementor's per-widget CSS (custom-widget-nested-tabs.min.css) loads
   AFTER this stylesheet and uses `.elementor.elementor` for specificity,
   so even matching that selector loses on source order. !important on the
   CSS custom properties forces our values to win at cascade time, then
   the heading is rendered as a flex row at the top and only the active
   content shows below — same as desktop. Heading scrolls horizontally if
   titles overflow the viewport.

   Covers both mobile breakpoints (the widget can be flagged with either
   `e-n-tabs-mobile` at <=767px or `e-n-tabs-mobile_extra` at <=880px on
   this site). */
@media (max-width: 880px) {
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile,
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile_extra {
		--n-tabs-heading-display: flex !important;
		--n-tabs-content-display: flex !important;
		--n-tabs-heading-overflow-x: auto !important;
		--n-tabs-heading-wrap: nowrap !important;
	}
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title,
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile_extra .e-n-tab-title {
		order: 0 !important;
		flex-shrink: 0;
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
		width: auto;
	}
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tabs-content > .e-con,
	.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile_extra .e-n-tabs-content > .e-con {
		order: 0 !important;
	}
}

/* Editor "horizontal line" inside program post body. */
.single-to_book hr {
	border: 0;
	border-top: 1px dashed #dee0ea;
	height: 0;
	margin: 1.5em 0;
	background: none;
}

/* Combined "Included" widget — single-list with status-driven icon variants.
   Elementor's icon_size / icon_color controls still target .item_icon (and
   its child <svg>), so users can override per-widget. Defaults below match
   the included.png reference. */
.pt-included-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pt-included-list .list-item {
	display: flex;
	align-items: center;
	gap: 0.6em;
}
.pt-included-list .item_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	line-height: 0;
}
.pt-included-list .item_icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.pt-included-list .pt-included .item_icon { color: #22c55e !important; }
.pt-included-list .pt-excluded .item_icon { color: #ef4444 !important; }

/* Multiple Map iframes stacked vertically. */
.pt-map-iframes { display: flex; flex-direction: column; gap: 1.5rem; }
.pt-map-iframe { margin: 0; }
.pt-map-iframe__title {
    font-weight: 600;
    font-size: 1rem;
    margin: 0 0 0.5rem;
    color: inherit;
}

/* Single program template (#3706): on narrow viewports the content row
   stacks its main column above its sidebar column, so the booking widget
   ends up at the bottom of the page — far below the swipeable hero gallery
   and the bulk of the tour content. That kills mobile conversion. Below
   880px (the row's flex-direction:column breakpoint on this theme) we flip
   the order so the column containing the booking widget is rendered first
   and lands right under the gallery row. We also strip the sidebar
   column's desktop-tuned margin-top (60px on mobile, 125px on desktop —
   designed to vertically align the sidebar with main-column body text)
   and pull the whole content row up close to the gallery. The gallery
   row's 220px margin-bottom is offset by the content row's -160px
   margin-top, netting 60px on desktop; on mobile we cut both so the
   booking card sits directly under the gallery. The card's own inner
   padding (`ed48cbe` padding 30px) is preserved so the widget content
   keeps its breathing room. Desktop layout is unaffected. */
@media (max-width: 880px) {
    .single-to_book .elementor .e-con-inner > .e-con:has(.wdp_booking_booking_widget_wrapper) {
        order: -1;
        margin-top: 0 !important;
    }
    .single-to_book .elementor .e-con.e-parent:has(.elementor-widget-babe-item-slideshow) {
        margin-bottom: 0 !important;
    }
    .single-to_book .elementor .e-con.e-parent:has(.elementor-widget-babe-booking-form) {
        margin-top: 16px !important;
    }
}
.pt-map-iframes iframe { width: 100%; display: block; border: 0; }