/*
 * CatCondo — Elementor compatibility.
 * Scoped to Elementor pages in the CatCondo theme. Keep the page canvas full
 * width while leaving content width to the theme's own .container classes.
 */

/* Elementor is the page-level canvas for CatCondo. Keep its outer sections
   full width; the theme's own .container classes still control readable
   content width inside each widget. This also works with boxed sections and
   Elementor's newer container mode. */
.elementor-page .elementor-top-section,
.elementor-page .elementor > .e-con,
.elementor-page .elementor-section-wrap > .elementor-section {
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-page .elementor-top-section > .elementor-container,
.elementor-page .elementor > .e-con {
	width: 100%;
	max-width: 100%;
	gap: 0 !important;
}

/* Elementor's default 10px column padding is visible as a frame around
   CatCondo hero sections. The widgets provide their own internal spacing. */
.elementor-page .elementor-top-section > .elementor-container > .elementor-column > .elementor-element-populated {
	padding: 0 !important;
}

/* Flexbox containers add a default gap and padding unless explicitly reset. */
.elementor-page .elementor > .e-con {
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	padding: 0 !important;
	gap: 0 !important;
}

.elementor-page .elementor-widget {
	max-width: 100%;
}

/* Page Hero is a full-width band by default. Its inner .container remains
   responsible for keeping the text readable and aligned with the theme. */
.elementor-widget-catcondo-page-hero {
	align-self: stretch;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.elementor-widget-catcondo-page-hero > .elementor-widget-container,
.elementor-widget-catcondo-page-hero .page-hero {
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
}

/* Break out of a centered/fixed Elementor flex container when Full Width is
   selected, so the hero background reaches both viewport edges. */
.elementor-widget-catcondo-page-hero .page-hero.is-full-width {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* Gallery stays transparent so Elementor/the page background remains visible. */
.elementor-widget-catcondo-gallery .section,
.elementor-widget-catcondo-gallery .gallery {
	background: transparent !important;
}

/* CatCondo widgets sit inside Elementor containers that already provide padding,
   so the wrapper drops the container width when Elementor controls the box. */
.elementor-widget-catcondo-hero .hero,
.elementor-widget-catcondo-trust-strip .trust-strip,
.elementor-widget-catcondo-cta .cta-band {
	margin: 0;
}

.elementor-widget-catcondo-hero .hero-copy-inner {
	padding-left: max(20px, calc((100vw - var(--catcondo-container)) / 2));
	padding-right: 60px;
}

/* Inside Elementor's boxed containers the viewport-based hero padding is wrong,
   so fall back to a symmetric padding. */
.elementor-widget-catcondo-hero.is-boxed .hero-copy-inner {
	padding: 80px 40px;
}

/* Editor placeholders */
.elementor-editor-active .catcondo-empty-notice {
	border: 1px dashed var(--catcondo-line, #e4dcd5);
	border-radius: 14px;
	padding: 28px;
	text-align: center;
	color: var(--catcondo-muted, #756d66);
	font-size: .92rem;
}
.catcondo-empty-notice { display: none }
.elementor-editor-active .catcondo-empty-notice { display: block }

/* Widget sections rendered by CatCondo already ship their own vertical rhythm;
   remove Elementor's default paragraph margin collision. */
.elementor-widget-container > .section:first-child { margin-top: 0 }

/* Keep the Custom Builder image filling its visual panel in Elementor. */
.elementor-widget-catcondo-custom-builder .builder-visual {
	overflow: hidden;
}

.elementor-widget-catcondo-custom-builder .builder-visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* Category cards must use the complete card box, even when an image has a
   shorter natural aspect ratio or Elementor adds image sizing rules. */
.elementor-widget-catcondo-category-grid .category-card {
	position: relative;
	overflow: hidden;
}

.elementor-widget-catcondo-category-grid .category-card img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	position: absolute !important;
	inset: 0 !important;
}
