/* Custom styling for Custom website */

html,body {
	overflow-x: hidden !important;
	scroll-behavior: smooth;
}
body {
	overflow-y:hidden;
}
.elementor-location-header {
	position:relative;
}

/* ==========================================================
   Home – AB Digital Consulting (Figma)
   Colors/Fonts always via Elementor Global variables
   ========================================================== */

/* Highlight text inside headings */
body .hm-hl{color:var(--e-global-color-accent)}

/* Badge / Eyebrow (span) */
body .hm-badge{width:fit-content!important;max-width:100%}
body .hm-badge .elementor-heading-title{display:block}
/* Figma text-box trim (same vertical rhythm as design; ignored by old browsers) */
body .elementor-widget-text-editor p,body .hm-badge .elementor-heading-title{text-box:trim-both cap alphabetic}

/* Dark sections – Figma glow (blurred primary shapes) */
body .hm-dark{background-color:var(--e-global-color-secondary);position:relative;overflow:hidden}
body .hm-dark::before{content:"";position:absolute;inset:-400px;pointer-events:none;z-index:0;filter:blur(135px);background:var(--hm-rects,none)}
body .hm-dark::after{content:"";position:absolute;pointer-events:none;z-index:0;width:var(--hm-rw,0);height:var(--hm-rh,0);left:calc(50% + var(--hm-rx,0px) - var(--hm-rw,0px) / 2);top:calc(var(--hm-ry,0px) - var(--hm-rh,0px) / 2);transform:rotate(var(--hm-rr,0deg));background:color-mix(in srgb,var(--e-global-color-primary) var(--hm-ra,0%),transparent);filter:blur(var(--hm-rb,150px))}
body .hm-dark>.e-con-inner{position:relative;z-index:1}
body .hm-bg-hero{--hm-rects:linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 25%,transparent),color-mix(in srgb,var(--e-global-color-primary) 25%,transparent)) calc(50% + 0px) calc(100% - 187px) / 1690px 493px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -403.5px) 439px / 779px 435px no-repeat;--hm-rw:970px;--hm-rh:828px;--hm-rx:419px;--hm-ry:332px;--hm-rr:55deg;--hm-ra:16%;--hm-rb:150px}
body .hm-bg-leist{--hm-rects:linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -9px) calc(100% - 128px) / 1690px 283px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -377px) 367px / 832px 507px no-repeat;--hm-rw:970px;--hm-rh:828px;--hm-rx:419px;--hm-ry:332px;--hm-rr:55deg;--hm-ra:16%;--hm-rb:150px}
body .hm-bg-bereit{--hm-rects:linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -54px) calc(100% - 317px) / 1690px 205px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -457.5px) 241px / 779px 435px no-repeat;--hm-rw:970px;--hm-rh:828px;--hm-rx:426px;--hm-ry:208px;--hm-rr:55deg;--hm-ra:16%;--hm-rb:150px}
body .hm-bg-ablauf{--hm-rects:linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 30%,transparent),color-mix(in srgb,var(--e-global-color-primary) 30%,transparent)) calc(50% + -9px) calc(100% - 194px) / 1690px 283px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 24%,transparent),color-mix(in srgb,var(--e-global-color-primary) 24%,transparent)) calc(50% + -377px) 367px / 832px 507px no-repeat;--hm-rw:938px;--hm-rh:801px;--hm-rx:453px;--hm-ry:242px;--hm-rr:55deg;--hm-ra:25%;--hm-rb:150px}
body .hm-bg-footer{--hm-rects:linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -54px) 744px / 1690px 250px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -444px) 259px / 846px 435px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -54px) calc(100% - 54px) / 1690px 205px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 20%,transparent),color-mix(in srgb,var(--e-global-color-primary) 20%,transparent)) calc(50% + -399.5px) calc(100% - 282px) / 841px 505px no-repeat,linear-gradient(color-mix(in srgb,var(--e-global-color-primary) 16%,transparent),color-mix(in srgb,var(--e-global-color-primary) 16%,transparent)) calc(50% + 455px) calc(100% - -213px) / 983px 933px no-repeat;--hm-rw:702px;--hm-rh:760px;--hm-rx:358px;--hm-ry:86px;--hm-rr:60deg;--hm-ra:16%;--hm-rb:135px}

/* Text editor spacing */
.elementor-widget-text-editor p:last-child{margin-bottom:0}
h1.elementor-heading-title,h2.elementor-heading-title{overflow-wrap:break-word}

/* Header */
body .hm-header{position:absolute!important;top:0;left:0;right:0;z-index:50;border-bottom:1px solid color-mix(in srgb,var(--e-global-color-cn300) 12%,transparent);backdrop-filter:blur(2px)}
body .hm-logo{flex-wrap:nowrap!important;width:auto!important}
body .hm-logo .elementor-heading-title{white-space:nowrap}

/* Hero */
body .hm-hero{min-height:754px}
body .hm-phone-card{position:relative;height:625px;background:var(--e-global-color-glass);border-radius:64px 64px 0 0;--border-radius:64px 64px 0 0;overflow:visible;--overflow:visible;align-self:flex-end}
body .hm-phone-card .hm-phone-img{position:absolute;top:58px;left:50%;transform:translateX(-50%);width:420px;max-width:none;height:567px;overflow:hidden}
body .hm-phone-card .hm-phone-img img{width:100%}
body .hm-stat{position:absolute!important;z-index:3;background:#fff;border-radius:8px;box-shadow:0 4px 50px rgba(0,0,0,.25);padding:10px 16px!important;width:auto!important}
body .hm-stat .elementor-heading-title{white-space:nowrap}
body .hm-stat-1{left:-68px;top:171px;min-width:228px}
body .hm-stat-2{left:-8px;top:471px;min-width:202px}
body .hm-stat-3{right:-35px;top:321px;min-width:162px}

/* Industries */
body .hm-inds{align-items:center}
body .hm-inds>.hm-ind{flex:0 0 auto;width:auto!important}
body .hm-inds>.hm-ind-sep{flex:1 1 0;width:auto!important;min-width:24px;align-self:stretch;position:relative}
body .hm-inds>.hm-ind-sep::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:51px;transform:translate(-50%,-50%);background:var(--e-global-color-cn300)}

/* Cards */
body .hm-grid3>.hm-card{flex:1 1 0}
body .hm-grid2>.hm-card{flex:1 1 calc(50% - 12px);min-height:179px}

/* Standort features timeline */
body .hm-feat{position:relative;flex-wrap:nowrap!important}
body .hm-feat>.e-con{width:auto!important;flex:1 1 0}
body .hm-feat .elementor-widget-image{position:relative;z-index:1;background:#fff;flex:0 0 30px}
body .hm-feat:not(:last-child)::after{content:"";position:absolute;left:14px;top:40px;height:calc(100% + 2px);width:1px;background:var(--e-global-color-cn300)}

/* Process steps */
body .hm-steps{position:relative}
body .hm-steps>.hm-step{flex:1 1 0}
body .hm-steps::before{content:"";position:absolute;top:30px;left:31px;right:0;height:2px;background:linear-gradient(90deg,var(--e-global-color-accent) 0 78%,var(--e-global-color-cn500) 78%);opacity:.7}
body .hm-step-ico{width:62px!important;max-width:62px;height:62px;flex:0 0 auto;align-self:flex-start}

/* Team */
body .hm-team-main{position:relative;border-radius:16px;overflow:hidden}
body .hm-team-main::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,0) 47%);pointer-events:none}
body .hm-team-main .elementor-widget-image img{object-position:50% 12%!important}
body .hm-member .elementor-widget-image img[src*="mara-weber"]{object-position:50% 19%!important}
body .hm-team-overlay{position:absolute!important;left:24px;right:24px;bottom:24px;z-index:2}
body .hm-member{overflow:hidden}
body .hm-member-img{flex:0 0 254px}
body .hm-member>.e-con:last-child{flex:1 1 0;width:auto}
body .hm-cover img{display:block}

/* Footer */
body .hm-footer a{color:inherit}
body .hm-footer a:hover{color:var(--e-global-color-accent)}
body .hm-soc{width:calc(50% - 6px)!important;flex:0 0 auto}
body .hm-footer .elementor-widget-image{flex:0 0 auto}

/* Buttons – hover (theme colors) */
body .hm-btn .elementor-button{transform:translateY(0px);position:relative;overflow:hidden;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
body .hm-btn .elementor-button-text{position:relative;z-index:1}
body .hm-btn,body .hm-btn .elementor-button-wrapper{line-height:0}
body .hm-btn .elementor-button{vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;height:48px;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box}
body .hm-header .elementor-widget-button{align-self:center}
body .hm-btn-primary .elementor-button:hover,body .hm-btn-primary .elementor-button:focus-visible{background-color:var(--e-global-color-primary)!important;border-color:var(--e-global-color-primary)!important;color:var(--e-global-color-white)!important;transform:translateY(-2px);box-shadow:0 12px 24px color-mix(in srgb,var(--e-global-color-primary) 40%,transparent)}
body .hm-btn-outline .elementor-button:hover,body .hm-btn-outline .elementor-button:focus-visible{background-color:color-mix(in srgb,var(--e-global-color-accent) 12%,transparent)!important;border-color:var(--e-global-color-accent)!important;color:var(--e-global-color-accent)!important;transform:translateY(-2px)}
body .hm-btn .elementor-button:active{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){body .hm-btn .elementor-button{transition:none}body .hm-btn .elementor-button:hover{transform:none}}
