/*
Theme Name: Marmi Milani V5
Theme URI: https://www.marmimilani.it/
Template: hello-elementor
Author: Marmi Milani
Description: Child theme for the Marmi Milani V5 Branded Marble website.
Version: 1.2.0
Text Domain: marmi-milani-child
*/

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

body.mm-variant-v5-branded-marble {
	font-family: var(--mm-sans);
	font-size: 16px;
	line-height: 1.65;
}

.mm-footer-grid > *,
.mm-footer-links,
.mm-footer-links > li {
	min-width: 0;
	max-width: 100%;
}

.mm-footer p,
.mm-footer li,
.mm-footer a {
	overflow-wrap: anywhere;
}

@media (min-width: 821px) {
	.mm-footer-bottom {
		padding-right: 220px;
	}
}

/* Elementor compatibility: keep V5 typography on editable standard widgets. */
.elementor-widget.mm-kicker > .elementor-widget-container,
.elementor-widget.mm-lead > .elementor-widget-container,
.elementor-widget.mm-copy > .elementor-widget-container,
.elementor-widget.mm-card-title > .elementor-widget-container,
.elementor-widget.mm-section-title > .elementor-widget-container,
.elementor-widget.mm-title > .elementor-widget-container,
.elementor-widget.mm-display > .elementor-widget-container {
	font: inherit;
	color: inherit;
}

.elementor-widget.mm-section-title .elementor-heading-title,
.elementor-widget.mm-title .elementor-heading-title,
.elementor-widget.mm-display .elementor-heading-title,
.elementor-widget.mm-card-title .elementor-heading-title {
	font: inherit;
	color: inherit;
	margin: 0;
}

.elementor-element.mm-container,
.elementor-element.mm-container--wide {
	--container-max-width: none;
}

.elementor-element.mm-container {
	width: min(calc(100% - (var(--mm-gutter) * 2)), var(--mm-container)) !important;
	margin-inline: auto;
}

.elementor-element.mm-container--wide {
	width: min(calc(100% - (var(--mm-gutter) * 2)), 1500px) !important;
	margin-inline: auto;
}

/* Elementor inserts one layout wrapper inside every container. Removing only
 * that wrapper's box lets the editable children participate in the original
 * V5 grid/flex layout. */
.elementor-element.mm-elementor-container > .e-con-inner {
	display: contents;
}

.elementor-element.mm-hero {
	display: grid !important;
	align-items: end !important;
}

.elementor-widget-text-editor p:first-child,
.elementor-widget-text-editor p:last-child,
.elementor-widget.mm-kicker p,
.elementor-widget.mm-lead p,
.elementor-widget.mm-copy p {
	margin-top: 0;
	margin-bottom: 0;
}

body.elementor-page main.mm-site-main {
	padding: 0;
}

/* Reset only Elementor's container variables; V5 classes retain layout ownership. */
.elementor-element.mm-elementor-container {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--margin-top: 0;
	--margin-right: 0;
	--margin-bottom: 0;
	--margin-left: 0;
	--gap: 0;
	--row-gap: 0;
	--column-gap: 0;
}

.elementor-element.mm-elementor-container:not(.mm-hero):not(.mm-grid):not(.mm-split):not(.mm-intro):not(.mm-pillar-grid):not(.mm-stat-grid):not(.mm-card-grid):not(.mm-material-grid):not(.mm-process):not(.mm-hero-meta):not(.mm-carousel-head):not(.mm-carousel-controls):not(.mm-carousel-track):not(.mm-contact-grid):not(.mm-form-grid):not(.mm-spec-grid):not(.mm-actions):not(.mm-feature-list):not(.mm-footer-grid):not(.mm-footer-bottom):not(.mm-kicker):not(.mm-scroll-cue):not(.mm-material-card-meta):not(.mm-filter-bar):not(.mm-tags) {
	display: block;
}

.elementor-element.mm-actions,
.elementor-element.mm-hero-meta,
.elementor-element.mm-scroll-cue,
.elementor-element.mm-material-card-meta,
.elementor-element.mm-carousel-controls,
.elementor-element.mm-carousel-head,
.elementor-element.mm-filter-bar,
.elementor-element.mm-tags {
	flex-direction: row;
}

.elementor-element.mm-actions,
.elementor-element.mm-hero-meta,
.elementor-element.mm-material-card-meta,
.elementor-element.mm-filter-bar,
.elementor-element.mm-tags {
	flex-wrap: wrap;
}

.elementor-element.mm-hero-meta {
	max-width: 780px !important;
}

.elementor-element.mm-actions > .e-con-inner > .elementor-widget.mm-button,
.elementor-element.mm-hero-meta > .e-con-inner > .mm-hero-meta-item,
.elementor-element.mm-material-card-meta > .e-con-inner > * {
	width: auto !important;
	flex: 0 0 auto;
}

/* HTML widgets add a wrapper around the real carousel buttons. */
.elementor-element.mm-carousel-controls > .elementor-widget-html,
.elementor-element.mm-carousel-controls > .elementor-widget-html > .elementor-widget-container {
	display: contents;
}

.elementor-element.mm-section,
.elementor-element.mm-hero {
	width: 100%;
}

.elementor-widget.mm-button .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	padding: 0;
}

.elementor-widget.mm-button > .elementor-widget-container {
	display: contents;
}

.elementor-widget-image img {
	display: block;
}

.elementor-element.mm-card-media .elementor-widget-image,
.elementor-element.mm-card-media .elementor-widget-container,
.elementor-element.mm-card-media img {
	width: 100%;
	height: 100%;
}

.elementor-element.mm-card-media img {
	object-fit: cover;
}

.elementor-element.mm-material-card-media {
	position: absolute;
	inset: 0;
}

.elementor-element.mm-material-card-content {
	position: absolute;
}

/* Elementor builds the editing canvas after page load. Keep presentation-only
 * effects from hiding editable content while that client-side render occurs. */
body.mm-elementor-editing .mm-loader {
	display: none !important;
}

body.mm-elementor-editing .mm-reveal,
body.mm-elementor-editing .mm-timeline-item {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
}

body.mm-elementor-editing .mm-hero-media,
body.mm-elementor-editing .mm-hero::before {
	animation: none !important;
}
