/* DentalLife99 — site-wide styles (all pages, incl. Elementor ones). */

/* Language switcher (Polylang menu item inside the Header Footer Elementor nav): flag + language name in an
   outlined pill so it reads as a language toggle, not as another page link. */
.hfe-nav-menu__layout-horizontal:not(.hfe-dropdown) .hfe-nav-menu > li.lang-item {
	display: flex;
	align-items: center;
}
.hfe-nav-menu li.lang-item > a.hfe-menu-item,
li.lang-item > a {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin-left: 10px;
	padding: 7px 14px 7px 10px !important;
	border: 1px solid #D5DEDC;
	border-radius: 30px;
	background: #fff;
	color: #222B29 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: border-color .2s, background-color .2s;
}
.hfe-nav-menu li.lang-item > a.hfe-menu-item:hover,
.hfe-nav-menu li.lang-item > a.hfe-menu-item:focus-visible,
li.lang-item > a:hover {
	border-color: #1D706E;
	background: #EAF4F3;
	color: #1D706E !important;
}
/* No underline/pointer animation from the HFE menu style on the pill. */
.hfe-nav-menu li.lang-item > a.hfe-menu-item::before,
.hfe-nav-menu li.lang-item > a.hfe-menu-item::after { display: none !important; }
li.lang-item .pll-switcher-flag {
	width: 22px !important;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);
}
li.lang-item .pll-switcher-flag img { display: block; width: 100%; height: 100%; }

/* Equipment photos use the full card; captions have been removed. */
.dl99-equipment .dl99-equipment-card { display: block; padding: 0; overflow: hidden; }
.dl99-equipment .dl99-equipment-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.dl99-equipment .dl99-equipment-photo img { object-fit: cover; }

/* Video widgets added to the existing Elementor video column form a carousel. */
.dl99-works .dl99-works-arrows button {
	font-size: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dl99-works .dl99-works-arrows button::before {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	box-sizing: border-box;
}
.dl99-works .dl99-prev::before { transform: translateX(2px) rotate(-135deg); }
.dl99-works .dl99-next::before { transform: translateX(-2px) rotate(45deg); }
.dl99-video-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.dl99-video-controls button { border: 1px solid #d5dedc; background: #fff; color: #1d706e; border-radius: 50%; width: 42px; height: 42px; padding: 0; font-size: 25px; line-height: 1; cursor: pointer; }
.dl99-video-controls button:hover { background: #eaf4f3; }
.dl99-video-count { min-width: 4em; text-align: center; color: #626d6b; }
.dl99-video-slide[hidden] { display: none !important; }

/* Shared type scale for the custom HTML sections alongside Elementor's headings. */
main .dl99-implants h2,
main .dl99-digital h2,
main .dl99-removable h2,
main .dl99-equipment .dl99-equipment-title {
	font-size: clamp(30px, 3.4vw, 40px) !important;
	font-weight: 700;
	line-height: 1.2;
}
main .dl99-digital .digital-intro,
main .dl99-removable > p,
main .dl99-equipment .dl99-equipment-intro {
	font-size: clamp(16px, 1.25vw, 18px) !important;
	line-height: 1.6;
}
main .dl99-digital .digital-intro a { color: #1D706E; }
.dl99-page .dl p:not(.dl-form-status):not(.dl99-err):not(.dl99-hint) { font-size: 18px !important; line-height: 1.6; }
.dl99-page .dl h1 { font-size: 56px !important; }
.dl99-page .dl h2:not(.dl-prose h2) { font-size: 40px !important; }
.dl99-page .dl h3:not(.dl-prose h3) { font-size: 23px !important; }
.dl99-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.dl99-material { padding: 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: #1C2E2B; }
main .dl99-material h3 { margin: 0; color: #fff; font-size: 23px; font-weight: 600; line-height: 1.3; }
@media (max-width: 767px) {
	.dl99-material-grid { grid-template-columns: 1fr; }
	main .dl99-material h3 { font-size: 21px; }
	.dl99-page .dl p:not(.dl-form-status):not(.dl99-err):not(.dl99-hint) { font-size: 16px !important; }
	.dl99-page .dl h1 { font-size: 36px !important; }
	.dl99-page .dl h2:not(.dl-prose h2) { font-size: 30px !important; }
	.dl99-page .dl h3:not(.dl-prose h3) { font-size: 21px !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.dl99-page .dl p:not(.dl-form-status):not(.dl99-err):not(.dl99-hint) { font-size: 17px !important; }
	.dl99-page .dl h1 { font-size: 44px !important; }
	.dl99-page .dl h2:not(.dl-prose h2) { font-size: 34px !important; }
	.dl99-page .dl h3:not(.dl-prose h3) { font-size: 22px !important; }
}

/* Cookie notice (Cookie Law Info). The floating ΕΣΠΑ badges (Advanced Floating Content, z-index 999999) used to sit
   on top of it and hide its buttons; it now stacks above them and is styled as a compact brand card. */
#cookie-law-info-bar {
	z-index: 1000001 !important;
	width: 360px !important;
	max-height: calc(100vh - 32px) !important;
	right: 16px !important;
	bottom: 16px !important;
	left: auto !important;
	padding: 20px 20px 16px !important;
	border-radius: 18px;
	border: 1px solid #E3EAE9;
	box-shadow: 0 18px 50px rgba(18, 33, 31, .22);
	text-align: left !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: #4A5553 !important;
}
/* Markup is <span>message text <a>…buttons</a></span>: the long text node becomes a full-width flex line,
   the buttons wrap below it. */
#cookie-law-info-bar > span {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
#cookie-law-info-bar > span > a { order: 2; }
#cookie-law-info-bar > span > a.wt-cli-accept-all-btn { order: 1; margin-top: 8px !important; }
#cookie-law-info-bar > span > a.cli-plugin-main-link { order: 3; }
#cookie-law-info-bar .cli-plugin-button,
#cookie-law-info-bar a.cli-plugin-button {
	margin: 0 !important;
	padding: 9px 16px !important;
	border-radius: 30px !important;
	border: 1px solid #D5DEDC !important;
	background: #fff !important;
	color: #222B29 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
#cookie-law-info-bar .cli-plugin-button:hover { border-color: #1D706E !important; color: #1D706E !important; }
#cookie-law-info-bar > span > a.wt-cli-accept-all-btn {
	flex: 1 1 100%;
	background: #1D706E !important;
	border-color: #1D706E !important;
	color: #fff !important;
	text-align: center;
}
#cookie-law-info-bar > span > a.wt-cli-accept-all-btn:hover { background: #165B59 !important; color: #fff !important; }
#cookie-law-info-bar .cli-plugin-main-link {
	border: 0 !important;
	padding-left: 4px !important;
	padding-right: 4px !important;
	color: #1D706E !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
#cookie-law-info-bar .cli-plugin-button,
#cookie-law-info-bar .cli-bar-message { text-transform: none !important; }
.cli-modal.cli-show,
.cli-modal-backdrop.cli-show { z-index: 1000002 !important; }
.cli-modal .cli-modal-dialog { max-height: calc(100vh - 32px); }
.cli-modal .cli-modal-content { border-radius: 18px; overflow: auto; max-height: calc(100vh - 32px); }
.cli-modal .wt-cli-privacy-accept-btn,
.cli-modal .cli-btn { background: #1D706E !important; border-radius: 30px !important; text-transform: none !important; }

@media (max-width: 600px) {
	#cookie-law-info-bar {
		width: auto !important;
		left: 12px !important;
		right: 12px !important;
		bottom: 12px !important;
		max-height: 70vh !important;
		padding: 16px !important;
	}
	#cookie-law-info-bar .cli-plugin-button { flex: 1 1 auto; text-align: center; }
}

/* Footer bottom bar (HFE footer 4945 / EN 5131 share these element ids): the legal links and the ΕΣΠΑ badge
   used to be grey text that did not read as links. */
.elementor-element-97180a6 a {
	color: #D7E2E0 !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(215, 226, 224, .35) !important;
	text-underline-offset: 4px;
	transition: color .2s, text-decoration-color .2s;
}
.elementor-element-97180a6 a:hover,
.elementor-element-97180a6 a:focus-visible {
	color: #D8AE5D !important;
	text-decoration-color: #D8AE5D !important;
}
.elementor-element-089d82c .elementor-button {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	padding: 8px 16px 8px 10px !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #17312E !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: transform .2s, box-shadow .2s;
}
.elementor-element-089d82c .elementor-button::before {
	content: "";
	flex: none;
	width: 33px;
	height: 22px;
	border-radius: 2px;
	background: #003399 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cg fill='%23FFCC00'%3E%3Ccircle cx='15' cy='4' r='1'/%3E%3Ccircle cx='18' cy='4.8' r='1'/%3E%3Ccircle cx='20.2' cy='7' r='1'/%3E%3Ccircle cx='21' cy='10' r='1'/%3E%3Ccircle cx='20.2' cy='13' r='1'/%3E%3Ccircle cx='18' cy='15.2' r='1'/%3E%3Ccircle cx='15' cy='16' r='1'/%3E%3Ccircle cx='12' cy='15.2' r='1'/%3E%3Ccircle cx='9.8' cy='13' r='1'/%3E%3Ccircle cx='9' cy='10' r='1'/%3E%3Ccircle cx='9.8' cy='7' r='1'/%3E%3Ccircle cx='12' cy='4.8' r='1'/%3E%3C/g%3E%3C/svg%3E") center/100% no-repeat;
}
.elementor-element-089d82c .elementor-button:hover,
.elementor-element-089d82c .elementor-button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
	color: #003399 !important;
}

/* Mobile / tablet dropdown menu: keep the pill compact and indented like the other items. */
.hfe-nav-menu__layout-horizontal .hfe-dropdown li.lang-item > a.hfe-menu-item,
.hfe-dropdown li.lang-item > a.hfe-menu-item {
	width: auto !important;
	margin: 12px 20px;
	border-bottom: 1px solid #D5DEDC !important;
}

/* =====================================================================
 * Motion layer (dl99-global.js). Hidden initial states only exist when the head snippet set html.dl99-js,
 * the script booted (no .dl99-fail) and the visitor does not ask for reduced motion.
 * Tweak: --dl99-ease, durations below. Hero stagger step = --i * 80ms, group stagger = --i * 60ms.
 * ================================================================== */
:root { --dl99-ease: cubic-bezier(.2, .7, .2, 1); --dl99-teal: #1D706E; }

/* Anchors (#scanner ...) land below the sticky header. */
html { scroll-padding-top: 100px; }

/* ---- Hero entrance + section reveals ---- */
@media (prefers-reduced-motion: no-preference) {
	html.dl99-js:not(.dl99-fail) .dl-hero h1:not(.dl99-in),
	html.dl99-js:not(.dl99-fail) .dl-hero .dl-crumbs:not(.dl99-in),
	html.dl99-js:not(.dl99-fail) .dl-hero .dl-lead:not(.dl99-in),
	html.dl99-js:not(.dl99-fail) .dl-hero .dl-actions:not(.dl99-in),
	html.dl99-js:not(.dl99-fail) [data-elementor-type="wp-page"] > .elementor-top-section:first-child .elementor-widget:not(.dl99-in),
	html.dl99-js:not(.dl99-fail) [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget:not(.dl99-in) {
		opacity: 0;
		transform: translateY(18px);
	}

	.dl99-in:not(.dl99-hero-bg):not(.dl99-r) {
		opacity: 1;
		transform: none;
		transition: opacity .6s var(--dl99-ease) calc(var(--i, 0) * 80ms), transform .65s var(--dl99-ease) calc(var(--i, 0) * 80ms);
	}

	/* Homepage hero: the dental-model photo is the section background. JS moves it onto its own layer
	   (.dl99-hero-bg) so it can settle once; the original background is hidden meanwhile. */
	html.dl99-js:not(.dl99-fail) body.home [data-elementor-type="wp-page"] > .elementor-top-section:first-child {
		background-image: none !important;
	}
	.dl99-has-bg { position: relative; overflow: clip; }
	.dl99-hero-bg {
		position: absolute;
		inset: 0;
		z-index: 0;
		border-radius: inherit;
		background-repeat: no-repeat;
		opacity: 0;
		transform: scale(1.04);
		pointer-events: none;
	}
	.dl99-hero-bg.dl99-in {
		opacity: 1;
		transform: none;
		transition: opacity .9s var(--dl99-ease), transform 1.1s var(--dl99-ease);
	}

	/* Below-the-fold blocks (class added by JS only to blocks that start outside the first screen). */
	.dl99-r:not(.dl99-in) { opacity: 0; transform: translateY(18px); }
	.dl99-r.dl99-in {
		opacity: 1;
		transform: none;
		transition: opacity .6s var(--dl99-ease), transform .7s var(--dl99-ease);
	}
	.dl99-c { opacity: 0; transform: translateY(14px); }
	.dl99-in .dl99-c {
		opacity: 1;
		transform: none;
		transition: opacity .5s var(--dl99-ease) calc(120ms + var(--i, 0) * 60ms), transform .6s var(--dl99-ease) calc(120ms + var(--i, 0) * 60ms);
	}
}

/* ---- Sticky header with compact state ---- */
body.ehf-header #masthead,
#masthead {
	position: sticky;
	top: 0;
	z-index: 990; /* above content, below the ESPA badges / cookie bar (999999 / 1000001) */
	background: #fff;
	margin-bottom: 0;
	transition: box-shadow .25s ease, margin-bottom .25s ease;
}
#masthead [data-id="b23ca2a"] { transition: padding .25s ease; }
#masthead [data-id="b23ca2a"] > .elementor-container { transition: min-height .25s ease; }
html.dl99-scrolled #masthead { box-shadow: 0 6px 24px rgba(18, 33, 31, .10); }
html.dl99-scrolled #masthead [data-id="b23ca2a"] { padding-top: 6px !important; padding-bottom: 6px !important; }
html.dl99-scrolled #masthead [data-id="b23ca2a"] > .elementor-container { min-height: 68px !important; }
/* The compact header is 24px shorter: hand that space back below it so the page does not jump
   (content simply scrolls under the header through that band). */
html.dl99-scrolled #masthead { margin-bottom: 24px; }
@media (prefers-reduced-motion: reduce) {
	#masthead, #masthead [data-id="b23ca2a"], #masthead [data-id="b23ca2a"] > .elementor-container { transition: none !important; }
}

/* ---- Mobile header: one row = logo, compact CTA, hamburger (same element ids in header 4806 / 5130) ---- */
@media (max-width: 767px) {
	html { scroll-padding-top: 84px; }
	/* Keep the carousel's small visual markers easy to tap. */
	#dl99-works .dl99-works-dots, .dl99-page .dl-dots { gap: 0 !important; }
	#dl99-works .dl99-works-dots button, .dl99-page .dl-dots button {
		width: 44px !important; height: 44px !important; padding: 0 !important;
		background: transparent !important; border: 0 !important;
		display: inline-flex; align-items: center; justify-content: center;
	}
	#dl99-works .dl99-works-dots button::after, .dl99-page .dl-dots button::after {
		content: ''; display: block; width: 8px; height: 8px;
		border-radius: 8px; background: #dce2df;
	}
	#dl99-works .dl99-works-dots button.active::after,
	.dl99-page .dl-dots button.is-active::after { width: 28px; background: #dfbd78; }
	#dl99-works .dl99-works-arrows button, .dl99-page .dl-erga-arrow { min-width: 44px; min-height: 44px; }
	.dl99-page .dl-filter { min-height: 44px; }
	.dl-expand, .dl-ba__handle { min-width: 44px; min-height: 44px; }
	#masthead [data-id="b23ca2a"] { padding-left: 16px !important; padding-right: 16px !important; }
	#masthead [data-id="b23ca2a"] > .elementor-container {
		flex-wrap: nowrap !important;
		align-items: center;
		min-height: 64px !important;
	}
	html.dl99-scrolled #masthead [data-id="b23ca2a"] > .elementor-container { min-height: 56px !important; }
	html.dl99-scrolled #masthead { margin-bottom: 16px; }
	#masthead [data-id="505a5c5"] { order: 1; flex: 1 1 auto; width: auto !important; min-width: 0; }
	#masthead [data-id="a808a80"] { order: 2; flex: 0 0 auto; width: auto !important; }
	#masthead [data-id="c54509d"] { order: 3; flex: 0 0 auto; width: auto !important; }
	#masthead [data-id="505a5c5"] .elementor-widget-wrap,
	#masthead [data-id="a808a80"] .elementor-widget-wrap,
	#masthead [data-id="c54509d"] .elementor-widget-wrap { padding: 0 !important; }
	/* Closed dropdown must not widen the nav column (HFE sets inline width/left itself when it opens). */
	#masthead nav.hfe-dropdown:not(.menu-is-active) { position: absolute; width: 0; overflow: hidden; }
	/* The dropdown is positioned from the toggle, which is above the bottom of the header. */
	#masthead nav.hfe-dropdown.menu-is-active { margin-top: 24px; }
	html.dl99-scrolled #masthead nav.hfe-dropdown.menu-is-active { margin-top: 14px; }
	#masthead .hfe-nav-menu__toggle { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
	#masthead [data-id="505a5c5"] .elementor-widget-container,
	#masthead [data-id="505a5c5"] .hfe-site-logo,
	#masthead [data-id="505a5c5"] .hfe-site-logo-container { text-align: left !important; justify-content: flex-start !important; }
	#masthead [data-id="505a5c5"] img { width: auto; max-width: 100%; height: auto; max-height: 48px; }
	/* CTA collapses to a teal circle with the arrow; the text stays available to screen readers. */
	#masthead .dental-submit-btn .elementor-button {
		width: 44px; height: 44px !important; min-width: 44px;
		padding: 0 !important;
		border-radius: 50% !important;
		justify-content: center;
	}
	#masthead .dental-submit-btn .elementor-button-content-wrapper { gap: 0 !important; }
	#masthead .dental-submit-btn .elementor-button-text {
		position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
	}
	#masthead .dental-submit-btn .elementor-button-icon {
		width: 44px !important; height: 44px !important; min-width: 44px !important;
		background: transparent !important;
	}
	#masthead .dental-submit-btn .elementor-button-icon i { color: #fff !important; font-size: 16px; }
	#masthead .dental-submit-btn .elementor-button-icon svg { fill: #fff; }
	#masthead .dental-submit-btn { margin: 0 !important; }
}

/* ---- Button / link micro-interactions ---- */
@media (prefers-reduced-motion: no-preference) {
	.dl-btn::after { transition: transform .25s var(--dl99-ease); }
	.dl-btn:hover::after,
	.dl-btn:focus-visible::after { transform: translateX(3px); }
	.elementor-button .elementor-button-icon { transition: transform .25s var(--dl99-ease); }
	.elementor-button:hover .elementor-button-icon,
	.elementor-button:focus-visible .elementor-button-icon { transform: translateX(3px); }
	.dl-link::after { display: inline-block; transition: transform .22s var(--dl99-ease); }
	.dl-link:hover::after,
	.dl-link:focus-visible::after { transform: translateX(2px); }
	.dl99-arr { display: inline-block; transition: transform .22s var(--dl99-ease); }
	a:hover > .dl99-arr,
	a:focus-visible > .dl99-arr { transform: translateX(2px); }
}

/* ---- Focus rings ---- */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 2px solid var(--dl99-teal) !important;
	outline-offset: 3px;
}
.dl-cta :focus-visible,
.dl-panel--dark :focus-visible,
footer :focus-visible,
.elementor-location-footer :focus-visible {
	outline-color: #88CFCA !important;
}

/* ---- Reading progress bar (long privacy pages only) ---- */
.dl99-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 100000;
	background: var(--dl99-teal);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

/* Pill buttons with a white arrow circle (custom CSS class .dental-submit-btn): the arrow was #D8DEDE on white. */
.dental-submit-btn .elementor-button-icon i,
.elementor-button .elementor-button-icon i { color: #1D706E !important; }
.dental-submit-btn .elementor-button-icon svg,
.elementor-button .elementor-button-icon svg { fill: #1D706E !important; }

/* Page-specific artwork, matched to the homepage hero. */
body:is(.page-id-4970,.page-id-5118) { --dl-hero-art: url('hero-services-20261104.png'); }
body:is(.page-id-5037,.page-id-5120) { --dl-hero-art: url('hero-projects-20261104.png'); }
body:is(.page-id-5044,.page-id-5119) { --dl-hero-art: url('hero-equipment-20261104.png'); }
body:is(.page-id-128,.page-id-5123) { --dl-hero-art: url('hero-contact-20261104.png'); }
body:is(.page-id-5101,.page-id-5121) { --dl-hero-art: url('hero-send-case-20261104.png'); }

/* Give the final panel room to breathe before the shared footer. */
body #colophon {
	margin-top: clamp(36px, 4vw, 64px);
}

/* A consistent, restrained scale for page titles and introductory copy. */
main h1, .dl99-page .dl h1 { font-size: clamp(36px, 4vw, 52px) !important; line-height: 1.15; }
main .dl99-digital .digital-intro,
main .dl99-removable > p,
main .dl99-equipment .dl99-equipment-intro { font-size: 18px !important; }
@media (max-width: 1024px) {
	main .dl99-digital .digital-intro,
	main .dl99-removable > p,
	main .dl99-equipment .dl99-equipment-intro { font-size: 17px !important; }
}
@media (max-width: 767px) {
	main .dl99-digital .digital-intro,
	main .dl99-removable > p,
	main .dl99-equipment .dl99-equipment-intro { font-size: 16px !important; }
}
[data-dl-slider][hidden], .dl-erga-card[hidden] { display: none !important; }

/* Keep the equipment hero copy clear of the image on larger screens. */
@media (min-width: 768px) {
	body:is(.page-id-5044,.page-id-5119) .elementor-element-423f327 .elementor-element-0b65302 {
		max-width: 57%;
	}
}

/* Five photographs, centred on the last row without empty placeholders. */
.dl99-equipment .dl99-equipment-gallery {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}
.dl99-equipment .dl99-equipment-gallery .dl99-equipment-card {
	grid-column: span 2;
	padding: 0;
	margin: 0;
	min-height: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 16px;
	background: #eaf4f3;
}
.dl99-equipment .dl99-equipment-gallery .dl99-equipment-card:nth-child(4) { grid-column: 2 / span 2; }
.dl99-equipment .dl99-equipment-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media (max-width: 767px) {
	.dl99-equipment .dl99-equipment-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.dl99-equipment .dl99-equipment-gallery .dl99-equipment-card,
	.dl99-equipment .dl99-equipment-gallery .dl99-equipment-card:nth-child(4) { grid-column: auto; }
	.dl99-equipment .dl99-equipment-gallery .dl99-equipment-card:last-child { grid-column: 1 / -1; max-width: 50%; justify-self: center; width: 100%; }
}

/* Show only the left-hand restoration in the shared project image. */
.dl-erga-plain img[src*="kinhth_odontostoixeia"],
.dl-lightbox__fig > img[src*="kinhth_odontostoixeia"] {
	width: auto !important;
	height: 100% !important;
	aspect-ratio: 512 / 430;
	object-fit: cover !important;
	object-position: left center !important;
	max-width: 100%;
}
body:is(.page-id-4970,.page-id-5118) .elementor-element-3064732,
body:is(.page-id-5044,.page-id-5119) .elementor-element-423f327,
body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero {
	background-image: var(--dl-hero-art) !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	border-radius: 30px !important;
	overflow: hidden;
}
body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero {
	min-height: 500px;
	display: flex;
	align-items: center;
}
body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero .dl-wrap { width: 100%; }
body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero .dl-lead { max-width: 48%; }
@media (max-width: 767px) {
	body:is(.page-id-4970,.page-id-5118) .elementor-element-3064732,
	body:is(.page-id-5044,.page-id-5119) .elementor-element-423f327,
	body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero {
		background-image: linear-gradient(90deg, rgba(255,255,255,.88), rgba(255,255,255,.48)), var(--dl-hero-art) !important;
		background-position: 65% center !important;
	}
	body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero { min-height: 350px; }
	body:is(.page-id-5037,.page-id-5120,.page-id-128,.page-id-5123,.page-id-5101,.page-id-5121) .dl-hero .dl-lead { max-width: 100%; }
}
