/* Follow-up to the Joomla 2026 skin. Load after design-2026.css. */

/* Let the layout reflow rather than hiding overflowing content at page level. */
body.hirondelle-design-2026 {
	overflow-x: visible;
}

body.hirondelle-design-2026 #page,
body.hirondelle-design-2026 .site-content,
body.hirondelle-design-2026 .elementor .e-con,
body.hirondelle-design-2026 .elementor .e-con-inner,
body.hirondelle-design-2026 .elementor .elementor-widget,
body.hirondelle-design-2026 .elementor .elementor-widget-container {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

body.hirondelle-design-2026 .hfd-mainbar > .hfd-container,
body.hirondelle-design-2026 .hfd-secondary > .hfd-container {
	min-width: 0;
}

body.hirondelle-design-2026 .entry-content :is(img, video, iframe) {
	max-width: 100%;
}

body.hirondelle-design-2026 .entry-content :is(p, li, dd) {
	overflow-wrap: break-word;
}

/* Keep a useful image on phones, but do not push its caption below a short
 * viewport. The last value accounts for the fixed menu and WP admin toolbar. */
body.hirondelle-design-2026 .fh-hero-slider {
	--hfd-hero-height: clamp(260px, 40vw, min(500px, calc(100svh - var(--hfd-menu-height) - var(--hfd-bar-top))));
	width: 100%;
	max-width: 100%;
	height: var(--hfd-hero-height) !important;
	max-height: var(--hfd-hero-height) !important;
	min-height: 0;
	padding: 0 !important;
	box-sizing: border-box;
}

body.hirondelle-design-2026.home .fh-hero-slider {
	--hfd-hero-height: clamp(280px, 40vw, min(600px, calc(100svh - var(--hfd-menu-height) - var(--hfd-bar-top))));
}

body.hirondelle-design-2026 .fh-hero-slider :is(
	.elementor-widget-image-carousel,
	.elementor-widget-container,
	.elementor-image-carousel-wrapper,
	.elementor-image-carousel,
	.swiper,
	.swiper-wrapper,
	.swiper-slide,
	.swiper-slide-inner,
	.swiper-slide figure,
	.swiper-slide img
) {
	height: var(--hfd-hero-height) !important;
	min-height: 0 !important;
	max-height: var(--hfd-hero-height) !important;
}

body.hirondelle-design-2026 .fh-hero-slider .swiper-slide,
body.hirondelle-design-2026 .fh-hero-slider .swiper-slide figure {
	position: relative;
	overflow: hidden;
	margin: 0;
}

body.hirondelle-design-2026 .fh-hero-slider .swiper-slide img {
	display: block;
	width: 100%;
	object-fit: cover;
	object-position: center;
	transform-origin: center;
	transform: scale(1.02);
	animation: none !important;
	backface-visibility: hidden;
}

body.hirondelle-design-2026 .fh-hero-slider .swiper-slide-active img {
	animation: hfd-kenburns 12s linear both !important;
	will-change: transform;
}

body.hirondelle-design-2026 .fh-hero-slider .swiper-slide:nth-child(even) img {
	transform-origin: 65% 45%;
}

@keyframes hfd-kenburns {
	from { transform: scale(1.02) translate3d(0, 0, 0); }
	to { transform: scale(1.14) translate3d(-1%, -.5%, 0); }
}

/* ResizeObserver supplies the actual caption height as its bottom gap.
 * Wrapping text therefore retains one caption-height of space below it. */
body.hirondelle-design-2026 .fh-hero-caption,
body.hirondelle-design-2026 .fh-slide-caption,
body.hirondelle-design-2026 .fh-hero-slider figcaption,
body.hirondelle-design-2026 .fh-hero-slider .elementor-image-carousel-caption {
	display: table !important;
	position: absolute;
	top: auto !important;
	bottom: var(--hfd-caption-gap, 52px) !important;
	left: max(15px, calc((100% - 1170px) / 2));
	width: fit-content;
	max-width: min(680px, calc(100% - 30px));
	height: auto !important;
	min-height: 0;
	max-height: none !important;
	margin: 0 !important;
	padding: 12px 35px 12px 65px;
	transform: none !important;
	animation: none !important;
	white-space: normal;
	overflow-wrap: anywhere;
	font-family: "Myriad Pro Regular", Arial, sans-serif !important;
	font-size: clamp(16px, 1.35vw, 20px) !important;
	font-weight: 400;
	line-height: 1.35;
	background-position: 10px center;
	background-size: 45px auto;
	box-sizing: border-box;
	z-index: 4;
}

body.hirondelle-design-2026 .fh-hero-slider figcaption:empty,
body.hirondelle-design-2026 .fh-hero-slider .hfd-caption-empty {
	display: none !important;
}

body.hirondelle-design-2026 .fh-hero-slider .elementor-swiper-button {
	top: 50% !important;
	transform: translateY(-50%);
}

@media (max-width: 1099px) {
	body.hirondelle-design-2026 .hfd-mainbar > .hfd-container {
		gap: 10px;
	}
	body.hirondelle-design-2026 .hfd-mobile-home {
		min-width: 0;
		white-space: normal;
		line-height: 1.15;
	}
	body.hirondelle-design-2026 .hfd-navigation {
		flex: 0 0 auto;
	}
	body.hirondelle-design-2026 .hfd-navigation > summary {
		white-space: nowrap;
	}
	body.hirondelle-design-2026 .hfd-menu .sub-menu a {
		overflow-wrap: anywhere;
	}
	body.hirondelle-design-2026 .hfd-menu {
		box-sizing: border-box;
	}
}

@media (max-width: 630px) {
	body.hirondelle-design-2026 .fh-hero-caption,
	body.hirondelle-design-2026 .fh-slide-caption,
	body.hirondelle-design-2026 .fh-hero-slider figcaption,
	body.hirondelle-design-2026 .fh-hero-slider .elementor-image-carousel-caption {
		left: 12px;
		max-width: calc(100% - 24px);
		padding: 10px 16px 10px 52px;
		background-position: 9px center;
		background-size: 33px auto;
		font-size: 16px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.hirondelle-design-2026 .fh-hero-slider .swiper-slide img,
	body.hirondelle-design-2026 .fh-hero-slider .swiper-slide-active img {
		animation: none !important;
		transform: none !important;
		will-change: auto;
	}
}
