/* Modvaro v2 — bridge between the original design and native Elementor widgets.
   All content lives in native Elementor heading/image/button/text/container widgets;
   this CSS supplies the original design's default appearance. Elementor's own
   Layout, Style and Advanced controls remain available on every element. */

/* The old plugin added 90px to the BODY even if no header was displayed.
   NEVER restore that hack: a global Theme Builder header occupies normal flow. */
body.modvaro-imported { padding-top:0 !important; }
body.modvaro-imported .site-header { top:auto; }
body.admin-bar .elementor-location-header { top:32px; }
body .elementor-location-header {position:sticky; top:0;z-index:1000;}
@media(max-width:782px){ body.admin-bar .elementor-location-header {top:46px;} }

/* Elementor e-con gets its own default padding/direction; original source was
   ordinary HTML divs. Preserve the source's visual geometry without replacing
   editable content with an HTML blob. */
:where(.elementor) :where(.e-con.site-header),:where(.elementor) :where(.e-con.site-footer) {width:100%;max-width:100%;}
:where(.elementor) :where(.e-con.site-header) {min-height:90px;height:auto;position:relative;top:auto;z-index:1;padding:0;--padding-default:0;}
:where(.elementor) :where(.e-con.header-inner) {width:100%;max-width:1230px;flex-direction:row;align-items:center;justify-content:space-between;min-height:90px;padding-left:28px;padding-right:28px;gap:24px;}
:where(.elementor) :where(.e-con.container) {width:100%;max-width:1230px;min-width:0;margin-left:auto;margin-right:auto;}
:where(.elementor) :where(.e-con.trust-inner) { flex-direction:row; flex-wrap:wrap;}
:where(.elementor) :where(.e-con.mv-trust-item) { display:flex;flex-direction:row;align-items:center;gap:48px;width:auto;flex:0 0 auto; }
:where(.elementor) :where(.e-con.trust-divider) {display:block;width:1px;min-width:1px;max-width:1px;min-height:34px;padding:0;flex:0 0 1px;}
:where(.elementor) :where(.e-con.screen) {padding:0;overflow:hidden;}
.elementor .e-con .elementor-widget {min-width:0;}
.elementor .elementor-widget-text-editor p {margin:0;}
.elementor .elementor-widget-text-editor .elementor-widget-container {font:inherit;color:inherit;}
.elementor .elementor-widget-text-editor {font:inherit;}
.elementor .elementor-widget-heading h1,
.elementor .elementor-widget-heading h2,
.elementor .elementor-widget-heading h3,
.elementor .elementor-widget-heading h4 {font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;}
.elementor .elementor-widget-heading h1 {font-size:clamp(50px,6.5vw,94px);line-height:.99;letter-spacing:-.066em;font-weight:750;}
.elementor .elementor-widget-heading h2 {font-size:clamp(39px,4.6vw,64px);line-height:1.03;letter-spacing:-.057em;font-weight:730;}
.elementor .elementor-widget-heading h3 {font-size:26px;line-height:1.1;letter-spacing:-.04em;font-weight:700;}
.elementor .elementor-widget-heading h4 {font-size:20px;font-weight:700;}
.elementor .e-con .elementor-widget-heading {width:auto;max-width:100%;}
/* A heading's parent gets the original `.hero-copy h1` sizing from the source. */
.elementor .hero-copy .elementor-widget-heading h1 {margin:24px 0 27px;}
.elementor .section-head .elementor-widget-heading h2 {margin:20px 0 0;}
.elementor .lead .elementor-widget-container {font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:#65717c;}
.elementor .eyebrow .elementor-widget-container {font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.17em;text-transform:uppercase;}
.elementor .eyebrow::before {position:absolute;left:-13px;top:6px;}
.elementor .accent {color:#f06a36;}
.elementor .trust-name .elementor-widget-container {font-size:22px;font-weight:800;letter-spacing:-.04em;color:#53616c;white-space:nowrap;}

/* One graphical logo; the image has its native Elementor media, size, link and
   responsive controls. Header never contains a by-wwwdesign caption. */
.elementor .elementor-widget-image.brand {width:188px;max-width:188px;flex:0 0 auto;}
.elementor .elementor-widget-image.brand img {width:188px;height:auto;display:block;}
.elementor .elementor-widget-image.footer-combined-logo img {width:178px;height:auto;filter:brightness(0) invert(1);}
.elementor .site-footer .elementor-widget-image.footer-combined-logo {max-width:178px;}

/* Every link is a standard Elementor Button widget (so label/link/style editable).
   Its outer widget is not styled as the button, only the real <a> is. */
:where(.elementor) :where(.elementor-widget-button.mv-native-link) {width:auto;max-width:100%;min-height:0;border:0;background:transparent;box-shadow:none;padding:0;border-radius:0;}
:where(.elementor) :where(.elementor-widget-button.mv-native-link) .elementor-button {background:transparent;color:inherit;font:inherit;letter-spacing:inherit;border:0;box-shadow:none;border-radius:0;padding:0;line-height:inherit;text-align:inherit;}
:where(.elementor) :where(.elementor-widget-button.mv-native-link) .elementor-button-content-wrapper {align-items:center;}
:where(.elementor) :where(.elementor-widget-button.mv-native-link) .elementor-button-text {flex-grow:0;}
:where(.elementor) :where(.elementor-widget-button.btn) .elementor-button {display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-height:52px;padding:0 23px;border-radius:10px;font-size:14px;font-weight:760;transition:transform .2s,background .2s;white-space:normal;}
:where(.elementor) :where(.elementor-widget-button.btn-primary) .elementor-button {background:#f06a36;color:white;box-shadow:0 8px 20px rgba(240,106,54,.16);}
:where(.elementor) :where(.elementor-widget-button.btn-secondary) .elementor-button {background:white;color:#1b2430;border-color:#dadee0;}
:where(.elementor) :where(.elementor-widget-button.btn-dark) .elementor-button {background:#1b2430;color:white;}
:where(.elementor) :where(.elementor-widget-button.btn-white) .elementor-button {background:white;color:#1b2430;}
:where(.elementor) :where(.elementor-widget-button.btn-primary) .elementor-button:hover {background:#ce4f21;}
:where(.elementor) :where(.elementor-widget-button.btn) .elementor-button:hover {transform:translateY(-2px);}
:where(.elementor) :where(.elementor-widget-button.link-arrow) .elementor-button {display:inline-flex;gap:11px;font-size:14px;font-weight:750;color:#1b2430;}
.elementor .elementor-widget-button.mv-native-link:focus-within {outline:2px solid #f06a36;outline-offset:3px;}

/* Global native navigation: no second sticky header or 90px phantom margin. */
:where(.elementor) :where(.e-con.nav) {display:flex;flex-direction:row;align-items:center;width:auto;gap:34px;}
:where(.elementor) :where(.e-con.nav-right) {display:flex;flex-direction:row;align-items:center;width:auto;gap:14px;}
:where(.elementor) :where(.e-con.nav-dropdown) {position:relative;display:flex;flex-direction:column;width:auto;}
:where(.elementor) :where(.e-con.dropdown-panel) {display:none;position:absolute;top:30px;left:-14px;width:292px;max-height:calc(100vh - 105px);overflow-y:auto;flex-direction:column;border:1px solid #e8ebea;padding:10px;background:#fff;box-shadow:0 22px 62px rgba(24,37,48,.08);border-radius:14px;z-index:99;}
.elementor .nav-dropdown:hover>.dropdown-panel,
.elementor .nav-dropdown:focus-within>.dropdown-panel {display:flex;}
.elementor .dropdown-panel .elementor-widget-button {width:100%;}
.elementor .dropdown-panel .elementor-widget-button .elementor-button {display:flex;text-align:left;width:100%;padding:12px;border-radius:8px;font-size:13px;line-height:1.45;}
.elementor .dropdown-panel .elementor-widget-button .elementor-button:hover {background:#f7f7f3;color:#f06a36;}
.elementor .elementor-widget-button.menu-toggle {display:none;width:auto;}
:where(.elementor) :where(.elementor-widget-button.menu-toggle) .elementor-button {display:block;border:0;background:transparent;color:#1b2430;font-size:27px;padding:4px 8px;}
:where(.elementor) :where(.e-con.mobile-menu) {display:none;}
:where(.elementor) :where(.e-con.mobile-menu).open {display:flex;}
.elementor .mobile-menu .elementor-widget-button {width:100%;}
.elementor .mobile-menu .elementor-widget-button .elementor-button {display:block;padding:17px 0;border-bottom:1px solid #e5e9e6;text-align:left;width:100%;font-size:19px;font-weight:700;color:#1b2430;}
.elementor .mobile-menu .elementor-widget-button.btn-primary .elementor-button {text-align:center;padding:14px;color:#fff;}

/* Inline SVG icons became individual native Image widgets, replaceable in Media.
   Keep their width small and let the Elementor Style > Width control override. */
.elementor .elementor-widget-image.mv-native-icon {width:20px;max-width:20px;min-width:0;flex:0 0 auto;}
.elementor .elementor-widget-image.mv-native-icon img {max-width:100%;width:20px;height:auto;display:block;}
.elementor .e-con .elementor-widget-image:not(.brand) img {max-width:100%;}

/* Keep original grid breakpoints. */
@media (max-width:1100px) {
 :where(.elementor) :where(.e-con.nav){gap:18px;}
 :where(.elementor) :where(.e-con.mv-trust-item){gap:23px;}
}
@media (max-width:900px) {
 :where(.elementor) :where(.e-con.site-header) {min-height:74px;}
 :where(.elementor) :where(.e-con.header-inner) {min-height:74px;}
 :where(.elementor) :where(.e-con.nav),:where(.elementor) :where(.e-con.nav-right) {display:none;}
 .elementor .elementor-widget-button.menu-toggle {display:block;}
 :where(.elementor) :where(.e-con.mobile-menu) {position:fixed;inset:74px 0 0;background:#f7f7f3;z-index:1001;padding:25px 28px;overflow:auto;}
 :where(.elementor) :where(.e-con.hero-grid),:where(.elementor) :where(.e-con.page-hero-grid) {grid-template-columns:1fr;}
 :where(.elementor) :where(.e-con.trust-inner) {flex-wrap:wrap;}
}
@media(max-width:650px){
 :where(.elementor) :where(.e-con.products-grid),:where(.elementor) :where(.e-con.cases-grid),:where(.elementor) :where(.e-con.feature-grid),
 :where(.elementor) :where(.e-con.modvaro-offer-grid),:where(.elementor) :where(.e-con.modvaro-price-extra-grid) {grid-template-columns:1fr;}
 :where(.elementor) :where(.e-con.header-inner) {padding-left:20px;padding-right:20px;}
 :where(.elementor) :where(.e-con.trust-inner) {gap:18px;}
 :where(.elementor) :where(.e-con.mv-trust-item) {gap:12px;}
 .elementor .trust-name .elementor-widget-container {font-size:18px;}
 .elementor .elementor-widget-heading h1 {font-size:clamp(44px,12vw,64px);}
 .elementor .elementor-widget-heading h2 {font-size:clamp(34px,9vw,46px);}
}
/* Theme content wrapper: no Hello Elementor title/gutters/phantom offset. */
body.modvaro-imported .site-main,
body.modvaro-imported #content,
body.modvaro-imported .site-main .page-content {max-width:none;width:100%;margin:0;padding:0;}
body.modvaro-imported .page-header,
body.modvaro-imported .entry-title {display:none;}
.elementor .mini-trust .dots .e-con {width:7px;height:7px;background:#f06a36;border-radius:50%;padding:0;min-height:7px;}
:where(.elementor) :where(.elementor-widget-button.link-arrow) .elementor-button:after {content:'→';font-size:20px;line-height:1;margin-left:5px;color:#f06a36;}
.elementor .nav-right .elementor-widget-button.btn .elementor-button {min-height:44px;padding:0 19px;}
:where(.elementor) :where(.e-con.site-footer) {margin-top:110px;}
@media(max-width:620px){:where(.elementor) :where(.e-con.site-footer){margin-top:70px;}}
