[hidden] { display:none !important; }
/* Only imported layout wrappers are neutralized. Original content CSS is unchanged. */
.adem-layout, .adem-layout > .elementor-container, .adem-layout > .elementor-container > .elementor-column,
.adem-layout > .elementor-container > .elementor-column > .elementor-widget-wrap,
.adem-layout .elementor-widget[class*="elementor-widget-adem-"],
.adem-layout .elementor-widget[class*="elementor-widget-adem-"] > .elementor-widget-container {
 display:contents !important;
}
.adem-site .elementor:has(> .adem-layout) { display:contents; }
.adem-site .elementor-widget[class*="elementor-widget-adem-"] { margin:0; padding:0; }
.adem-site .elementor-widget[class*="elementor-widget-adem-"] img { border-radius:0; }
.adem-site .elementor-widget img.hero-image,
.adem-site .elementor-widget .about-image-wrap img,
.adem-site .elementor-widget .preview-item img { height:100%; }
.adem-site .elementor-widget img.service-image { height:226px; }
@media (width <= 640px) { .adem-site .elementor-widget img.service-image { height:230px; } }
/* Keep selectable widget boxes in the editor; Navigator also lists every block. */
.elementor-edit-mode .adem-layout .elementor-widget[class*="elementor-widget-adem-"] { display:block !important; width:100%; }
body.admin-bar .site-header { top:32px; }
@media (max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media (max-width:600px) { body.admin-bar .site-header { top:0; } }

.adem-site main img, .adem-site main .preview-item { cursor:zoom-in; }
.adem-site main .preview-item::after, .adem-site main .hero::after { pointer-events:none; }
.adem-site main img, .adem-site main .preview-item, .adem-photo-viewer button { touch-action:manipulation; }
.adem-site main img[role="button"]:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.adem-photo-viewer {
 display:none; position:fixed; z-index:2147483647; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none;
 margin:0; padding:16px; border:0; background:rgba(5,10,15,.97); color:#fff;
}
.adem-photo-viewer[open] { display:flex; flex-direction:column; }
.adem-photo-viewer::backdrop { background:rgba(0,0,0,.9); }
.adem-photo-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; flex:none; }
.adem-photo-original { color:#fff; font-size:14px; text-decoration:underline; }
.adem-photo-viewer button {
 display:flex; align-items:center; justify-content:center; flex:none;
 width:48px; height:48px; border:1px solid #ffffff55; border-radius:4px;
 background:#171e26; color:#fff; font:36px/1 Arial,sans-serif; cursor:pointer;
}
.adem-photo-viewer button:hover { background:#313d4a; }
.adem-photo-viewer :focus-visible { outline:3px solid #fff; outline-offset:3px; }
.adem-photo-stage { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:1; min-height:0; padding:16px 0; }
.adem-photo-viewer .adem-photo-full { display:block; width:calc(100% - 128px); height:100%; object-fit:contain; min-width:0; border-radius:0; }
.adem-photo-caption { flex:none; margin:0; text-align:center; font-size:14px; line-height:1.5; }
@media (max-width:640px) {
 .adem-photo-viewer { padding:12px; }
 .adem-photo-stage { gap:6px; }
 .adem-photo-viewer button { width:40px; height:44px; }
 .adem-photo-viewer .adem-photo-full { width:calc(100% - 92px); }
 .adem-photo-original,.adem-photo-caption { font-size:12px; }
}
