/* Marvelens Digital: Elementor compatibility layer.
   Goal: Elementor's extra wrapper elements must not change the original layout. */

/* 1. Neutralise Elementor's default spacing variables */
html body .elementor{--kit-widget-spacing:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;font-family:var(--body,inherit);color:var(--ink,inherit)}

/* 2. Containers generated from the original markup start as plain, unstyled boxes (zero specificity: the design rules win) */
:where(html body .elementor) .mv{display:block;--display:block;--width:auto;--min-height:0px;--flex-wrap:nowrap;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--padding-block-start:0px;--padding-block-end:0px;--padding-inline-start:0px;--padding-inline-end:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;
  --gap:0px;--row-gap:0px;--column-gap:0px;
  width:auto;max-width:none;min-width:0;min-height:0;margin:0;padding:0;gap:0;border:0}
/* browser defaults of tags Elementor containers cannot use (li, ul, ol, figure, figcaption) */
html body .elementor .mv-t-ul,html body .elementor .mv-t-ol{margin-block:1em;padding-inline-start:40px}
html body .elementor .mv-t-figure{margin-block:1em;margin-inline:40px}
html body .elementor .mv-t-li{display:list-item}

/* 3. Frontend: Elementor's widget wrappers add no boxes, so grid/flex/inline layouts behave exactly like the original markup */
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget,
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget>.elementor-widget-container,
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget .elementor-text-editor,
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget .elementor-button-wrapper,
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget .elementor-button-content-wrapper,
body:not(.elementor-editor-active) .elementor .mv>.elementor-widget .elementor-image{display:contents}
html body .elementor .elementor-clearfix::after{display:none}
:where(.elementor .mv)>.elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}

/* header / footer locations must not wrap the sticky header in a short parent */
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) .elementor-location-footer{display:contents}

/* 4. Widgets inherit the design instead of Elementor kit defaults */
html body .elementor .elementor-widget-text-editor,
html body .elementor .elementor-widget-toggle,
html body .elementor .elementor-widget-html{font-family:inherit;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit}
html body .elementor .elementor-widget-heading .elementor-heading-title{font-family:inherit;color:inherit;font-weight:bold;line-height:inherit;padding:0}
html body .elementor .elementor-widget-container{max-width:100%}
html body .elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
.lh {line-height:52px;}

/* 5. Buttons: site.css .btn rules are mapped onto Elementor's button automatically (see site-elementor.css) */
html body .elementor .mvb .elementor-button{font-size:inherit;line-height:inherit;text-align:inherit;letter-spacing:inherit;text-transform:none;fill:currentColor;border:0;box-shadow:none;border-radius:0;padding:0;background:transparent;color:inherit;text-decoration:none}

/* 6. Headings that carry a class on the widget wrapper */
html body .elementor .hero-kw .elementor-heading-title{display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0}
html body .elementor .svc-h1 .elementor-heading-title{font-size:clamp(34px,4.6vw,56px);font-weight:800;letter-spacing:-.02em;margin-top:12px}
html body .elementor .svc-hero.has-bg .svc-h1 .elementor-heading-title{color:#fff}

/* 7. Photo placeholders and logo tiles: the image fills the frame */
html body .elementor .ph:has(img),html body .elementor .logo-tile:has(img){--has-img:1}
html body .elementor .ph .elementor-widget-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
body.elementor-editor-active .elementor .ph .elementor-widget-image{position:absolute;inset:0}
body.elementor-editor-active .elementor .logo-tile .elementor-widget-image{position:absolute;inset:0}

/* 8. FAQ: Elementor Toggle widget styled like the original <details> list */
html body .elementor .mv-toggle .elementor-toggle-item{border:0;border-bottom:1px solid var(--line);padding-block:18px}
html body .elementor .mv-toggle .elementor-tab-title{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0;margin:0;border:0;background:transparent;cursor:pointer;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.65;color:var(--ink)}
html body .elementor .mv-toggle .elementor-tab-title a{color:var(--ink);font-family:var(--display);font-weight:700;font-size:19px;line-height:1.65;text-decoration:none;order:1;flex:1;padding:0}
html body .elementor .mv-toggle .elementor-toggle-icon{display:none}
html body .elementor .mv-toggle .elementor-tab-title::after{content:"+";order:2;font-family:var(--mono);color:var(--brand);font-size:20px;line-height:1}
html body .elementor .mv-toggle .elementor-tab-title.elementor-active::after{content:"\2212"}
html body .elementor .mv-toggle .elementor-tab-content{padding:10px 0 0;border:0;color:var(--muted);font-size:inherit;line-height:inherit;max-width:68ch}
html body .elementor .mv-toggle .elementor-tab-content p{margin:0;color:var(--muted)}
