/*
 * Lakrua Elementor widgets – small additions to css/theme.css for markup
 * that only exists in the widgets (the template relies on its own
 * .container for some shapes, overlays, Amelia "Book" links, ...).
 */

/* Shaped boxes (ct-06 / ct-07): the template draws them on .container:after */
.lakrua-el-content .poudre--shape {
	position: relative;
	z-index: 0;
}

.lakrua-el-content.ct-06 .poudre--shape:after,
.lakrua-el-content.ct-07 .poudre--shape:after {
	position: absolute;
	content: '';
	height: 100%;
	top: 0;
	width: 85%;
	border-radius: 6px;
	z-index: -1;
}

.lakrua-el-content.ct-06 .poudre--shape:after { left: 15%; }
.lakrua-el-content.ct-07 .poudre--shape:after { left: 0; }

/* Hero image overlay (Style tab) */
.lakrua-el-hero { position: relative; }

.lakrua-hero-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.lakrua-el-hero > .container,
.lakrua-el-hero > .container-fluid {
	position: relative;
	z-index: 1;
}

/* Moving text / logos */
.lakrua-el-loop-txt,
.lakrua-el-hero .loop_carousel_txt,
.lakrua-marquee { overflow: hidden; }

.lakrua-marquee:not(.js-marquee-ready) { white-space: nowrap; }

.lakrua-el-loop-txt .carousel_txt a { color: inherit; }

/* Brand logo grids: lines only between logos (template uses #brand-2-N / #brand-3-N) */
.lakrua-el-brands.brands-2 .brand-logo { border-right: 1px solid var(--silver); border-bottom: 1px solid var(--silver); }
.lakrua-el-brands.brands-3 .brand-logo { border-right: 1px solid var(--silver); border-bottom: 0; }

@media (min-width: 768px) {
	.lakrua-el-brands .brand-logo.last-col-md { border-right: 0; }
	.lakrua-el-brands.brands-2 .brand-logo.last-row-md { border-bottom: 0; }
}

@media (max-width: 767.98px) {
	.lakrua-el-brands .brand-logo.last-col-sm { border-right: 0; }
	.lakrua-el-brands.brands-2 .brand-logo.last-row-sm { border-bottom: 0; }
	.lakrua-el-brands.brands-3 .brand-logo:not(.last-row-sm) { border-bottom: 1px solid var(--silver); }
}

/* Service boxes with Amelia data */
.lakrua-el-services .sbox-img { margin-bottom: 25px; }
.lakrua-el-services .sbox-img img { border-radius: 6px; }
.lakrua-el-services .sbox-price { margin: 8px 0 0; }
.lakrua-el-services .sbox-book { margin: 12px 0 0; }

/* Price list groups / "Book" links */
.lakrua-el-pricing .price-group + .price-group { margin-top: 80px; }
.lakrua-el-pricing .price-book { margin-left: 8px; }

.lakrua-book-link {
	display: inline-block;
	font-weight: 500;
	color: var(--theme-color);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.lakrua-book-link:hover { color: var(--black); }

/* Amelia booking form inside the template box */
.lakrua-amelia .booking-form { overflow: visible; }

/*
 * Amelia forms (step booking, catalog, popups) in the template colours.
 * Amelia writes its colour variables inline on the form root, so the
 * theme values need !important. Remove this block to use the colours
 * from Amelia → Customize instead.
 */
[style*="--am-c-primary"] {
	--am-c-primary: #ec73a9 !important;
	--am-c-primary-op05: rgba(236, 115, 169, .05) !important;
	--am-c-primary-op10: rgba(236, 115, 169, .1) !important;
	--am-c-primary-op80: rgba(236, 115, 169, .8) !important;
	--am-c-sb-bgr: #262b35 !important;
	--am-c-sb-text: #ffffff !important;
	--am-c-btn-prim: #ec73a9 !important;
	--am-c-btn-prim-text: #ffffff !important;
	--am-c-main-heading-text: #171412 !important;
	--am-font-family: 'Inter', sans-serif !important;
}

[style*="--am-c-scroll-op30"] {
	--am-c-scroll-op30: rgba(236, 115, 169, .3) !important;
	--am-c-scroll-op10: rgba(236, 115, 169, .1) !important;
}

[style*="--am-c-advs-item-selected"] {
	--am-c-advs-item-price: #ec73a9 !important;
	--am-c-advs-item-price-op10: rgba(236, 115, 169, .1) !important;
	--am-c-advs-item-selected: #ec73a9 !important;
}

/* Primary (filled) buttons set their colours on the button itself. */
.am-button--primary[style*="--am-c-btn-first"] {
	--am-c-btn-first: #ec73a9 !important;
	--am-c-btn-first-op80: rgba(236, 115, 169, .8) !important;
	--am-c-btn-first-op30: rgba(236, 115, 169, .3) !important;
	--am-c-btn-first-op20: rgba(236, 115, 169, .2) !important;
}

/* Image + Text: side shape and half-width image are positioned on the widget */
.lakrua-el-content.poudre--shape {
	position: relative;
	z-index: 0;
}

/*
 * Half-width image (style "half"): like the template, the image is
 * positioned against the whole section – here the Elementor container –
 * so it runs edge to edge over the section padding. The widget wrappers
 * between the container and the image must not be positioned.
 */
.e-con-inner:has(> .elementor-widget > .elementor-widget-container > .lakrua-half),
.elementor-widget:has(> .elementor-widget-container > .lakrua-half),
.elementor-widget:has(> .elementor-widget-container > .lakrua-half) > .elementor-widget-container,
.lakrua-half { position: static; }

.e-con:has(> .e-con-inner > .elementor-widget > .elementor-widget-container > .lakrua-half),
.e-con:has(> .elementor-widget > .elementor-widget-container > .lakrua-half) { position: relative; overflow: hidden; }

.lakrua-half .half-img,
.lakrua-half .half-img-left { z-index: 1; }

@media (max-width: 991.98px) {
	.lakrua-half .half-img,
	.lakrua-half .half-img-left { position: relative; width: 100%; height: auto; }
}

/* Page hero / info bar / map / contact form inside Elementor */
.lakrua-el-page-hero.page-hero-section { background-size: cover; background-position: center; }
.lakrua-el-info-bar p { margin-bottom: 0; }
.lakrua-el-map .google-map iframe { display: block; width: 100%; }
.lakrua-el-contact .contact-form-wrapper > .form-title { display: block; margin-bottom: 25px; }
.lakrua-el-contact .wpcf7-form p { margin-bottom: 0; }
.lakrua-el-contact .wpcf7-form .form-control { margin-bottom: 20px; }
.lakrua-el-contact .wpcf7-form label { display: block; width: 100%; }

/* Promo popup: inline preview while editing */
.lakrua-promo-preview .modal-dialog { margin: 0 auto; max-width: 1140px; }
.lakrua-promo-preview .btn-close { display: none; }

/* Collage images stay inside the column on small screens */
@media (max-width: 767.98px) {
	.lakrua-el-collage #ct-5-1,
	.lakrua-el-collage #ct-5-2,
	.lakrua-el-collage #ct-5-3 { margin: 30px 0 0; }
}
