/* Doggy Den layout fixes (2026-09-26, updated 2026-09-27). */
html,
body {
	overflow-x: clip;
}

/* Image carousels: one even photo height, cropped to fill. */
.elementor-widget-image-carousel .swiper-slide-image {
	width: 100%;
	height: 260px;
	object-fit: cover;
}

/* Photo gallery: square crops so the grid has no holes. */
.elementor-image-gallery .gallery-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* Blog cards: same image shape on every card. */
.eael-post-list-thumbnail img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Blog card titles: at most three lines so cards line up. */
.elementor-element-8c6f9c3 .elementor-heading-title,
.elementor-element-8584434 .elementor-heading-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Pricing cards: equal height, buttons lined up at the bottom. */
.e-con > .elementor-widget-wpr-pricing-table {
	flex-grow: 1;
}
.elementor-widget-wpr-pricing-table > .elementor-widget-container,
.elementor-widget-wpr-pricing-table .wpr-pricing-table {
	height: 100%;
}
.elementor-widget-wpr-pricing-table .wpr-pricing-table {
	display: flex;
	flex-direction: column;
}
.elementor-widget-wpr-pricing-table .wpr-pricing-table > :last-child {
	margin-top: auto;
}

/* FAQ accordions: question titles scale with the screen. */
body .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title {
	font-size: 22px !important;
	line-height: 1.3;
}

@media (min-width: 768px) {
	/* Keep short button labels like phone numbers on one line. */
	.elementor-button .elementor-button-text {
		white-space: nowrap;
	}
}

@media (max-width: 1024px) {
	.elementor-location-header .e-n-menu-toggle {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.elementor-location-header a.e-svg-base {
		min-width: 44px;
		min-height: 44px;
	}

	body .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title {
		font-size: 20px !important;
	}
}

@media (max-width: 767px) {
	.elementor-widget-image-carousel .swiper-slide-image {
		height: 200px;
	}

	body .eael-adv-accordion .eael-accordion-list .eael-accordion-header .eael-accordion-tab-title {
		font-size: 18px !important;
	}

	.eael-adv-accordion .eael-accordion-header {
		padding-left: 14px;
		padding-right: 14px;
	}

	/* Blog filter tabs in one row on phones. */
	body .eael-post-list-container .eael-post-list-header .post-categories.eael-categories-layout-horizontal,
	body .eael-post-list-header .post-categories.eael-categories-layout-horizontal {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		gap: 6px;
	}
}
