/*
Theme Name: MingaSoft · Hello Child
Template: hello-elementor
Version: 1.0.0
Description: Schmale Ergänzung für die Formen aus den MingaSoft-PSDs. Inhalte und Layout bleiben in Elementor.
Author: SOULSURF GmbH
Author URI: https://www.soul-surf.com/
*/
/* Nur besondere Formgeometrie und zuverlässige responsive Ergänzungen. */
html{scroll-padding-top:48px}
body{margin:0;overflow-x:clip}
.elementor-location-header,.elementor-location-footer,.minga-page{max-width:1920px;margin-inline:auto;background:#f8f6f9}
.minga-page,.minga-header,.minga-footer{position:relative;overflow:clip}
.minga-header{overflow:visible;z-index:20}
.minga-header .elementor-nav-menu--dropdown{box-shadow:0 15px 35px #580b3620;border-radius:0 0 18px 18px}
.minga-header .elementor-menu-toggle{margin-left:auto;margin-right:0}
.minga-page p:last-child,.minga-footer p:last-child{margin-bottom:0}
.minga-page p+p{margin-top:1.1em}
.minga-page a,.minga-footer a{color:inherit;text-underline-offset:.18em}
.minga-footer a:hover{color:white;text-decoration:underline}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #f0084e;outline-offset:5px}
.minga-hero{max-height:1133px}
.minga-hero-copy{z-index:2}
.minga-hero-art{position:absolute!important;right:0;top:0}
.minga-hero-shape{position:absolute!important;width:100%!important;height:100%!important;inset:0;z-index:0;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M1000%200%20L185%20487%20Q40%20570%2040%20715%20L40%201000%20H1000Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-hero-photo{position:relative;z-index:1}
.minga-hero-rays{position:absolute!important;top:15%;right:12%;width:9%!important;z-index:2}
.minga-intro{z-index:3;isolation:isolate}
.minga-intro-shape{position:absolute!important;width:100%!important;height:100%!important;inset:0;z-index:-1;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%20600%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22%23f5dce8%22%20d%3D%22M0%200%20L720.487%2092.37%20Q780%20100%20796.483%20157.691%20L883.517%20462.309%20Q900%20520%20840.236%20525.312%20L0%20600Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-conversation{position:relative}
.minga-conversation img{display:block}
.minga-bubble-left,.minga-bubble-right{position:absolute!important;width:16%!important}
.minga-bubble-left{left:35%;top:24%}.minga-bubble-right{left:47%;top:41%}
/* Abstand zur überlappenden Schräge und zwischen den bewegten Sprechblasen. */
@media(min-width:768px){.minga-bubble-right{top:50%}}
@media(min-width:768px) and (max-width:1024px){.minga-bubble-left{top:30%}}
.minga-avatar-image img{width:100%;height:auto;aspect-ratio:520 / 810;object-fit:contain;object-position:center bottom;scale:var(--avatar-scale,1);translate:0 var(--avatar-y,0%);transform-origin:50% 100%}
/* Gesichtsgröße und Augenhöhe statt Frisurhöhe. Werte je Bild in Elementor. */
.minga-avatar-image{--minga-avatar-origin:100%}
.minga-avatars .e-n-carousel{overflow:hidden}
.minga-publication-section{position:relative;isolation:isolate}
.minga-publication-shape{position:absolute!important;inset:0 -2% -7%;width:auto!important;z-index:-1;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%20600%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%20180%20C18%2060%2080%205.6%20160%2011.2%20L1000%2070%20V600%20H0Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-publication-card{position:relative;container-type:inline-size;border-radius:16px;overflow:hidden}
.minga-publication-card img{display:block;aspect-ratio:16/9;object-fit:cover}
.minga-publication-title{position:absolute!important;top:6%;right:4%;width:43%!important}
.minga-page .elementor-swiper-button{display:flex;align-items:center;justify-content:center;z-index:5}

.minga-page .swiper-button-disabled{opacity:.3}
.minga-patent-stage{position:relative;isolation:isolate;background:#dedede}
.minga-patent-image img{width:100%;display:block}
.minga-patent-title{position:absolute!important;top:12%;right:6%;width:34%!important;align-items:center!important;z-index:2;text-align:center}
.minga-patent-label{background:#ff0782;padding:.2em .4em;margin-top:14px}
.minga-patent-rays{position:absolute!important;width:35%!important;right:11%;top:30%;pointer-events:none}
.minga-patent-copy{margin-top:-7%;z-index:3;position:relative}
/* Die Schräge überlappt die Textfläche um 2px gegen helle Subpixel-Nähte. */
.minga-patent-copy:before{content:"";position:absolute;inset:auto 0 calc(100% - 2px);height:calc(min(5.2vw,100px) + 2px);background:#8b0e46;clip-path:polygon(0 0,100% calc(100% - 2px),100% 100%,0 100%)}
.minga-legal{max-width:1920px;margin-inline:auto;background:#f8f6f9}
@media(min-width:1920px){
 .minga-hero-title .elementor-heading-title{font-size:163.2px}
}
@media(max-width:1024px){
 .minga-header .elementor-nav-menu--dropdown a{padding:16px 24px}
 .minga-header .elementor-nav-menu--dropdown{margin-top:16px}
}
@media(max-width:767px){
 .minga-hero{max-height:none}
 body .elementor .minga-page .minga-hero-title .elementor-heading-title{font-size:clamp(39px,11.6vw,86px)}
 .minga-hero-copy br:not(.elementor-heading-title br){display:none}
 .minga-hero-art{position:relative!important;width:100%!important;right:-8%;margin-top:-2%;padding-left:0}
 /* Die Farbfläche reicht mobil bis unter die rosa Kante.
  * Eine zweite, gegenläufige Unterkante würde rechts einen weißen Keil erzeugen. */
 .minga-hero-shape{inset:0;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201000%201000%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M1000%200%20L185%20487%20Q40%20570%2040%20715%20L40%201000%20H1000Z%22/%3E%3C/svg%3E")}
 .minga-hero-rays{display:none}
 .minga-intro-shape{inset:0;mask:none;clip-path:polygon(0 0,100% 5%,100% 95%,0 100%)}
 
 body .elementor .minga-page .minga-intro .elementor-heading-title{font-size:clamp(28px,7.8vw,54px);overflow-wrap:normal}
 .minga-conversation{background:#dedede}
 .minga-training-copy{position:relative;margin-top:-1px;isolation:isolate}
 .minga-training-shape{position:absolute!important;width:100%!important;height:calc(100% + 26px)!important;inset:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),0 100%);z-index:-1}
 body .elementor .minga-page .minga-training-copy .elementor-heading-title{font-size:clamp(26px,6.7vw,44px)}
 
 
 .minga-publication-shape{border-radius:0;inset:0;transform:none;mask:none;clip-path:polygon(0 0,100% 4%,100% 100%,0 96%)}
 .minga-publication-title{right:3%;width:43%!important}
 .minga-publication-card{border-radius:10px}
 .minga-patent-stage{padding-top:20px;background:#f8f6f9}
 .minga-patent-title{position:relative!important;top:auto;right:auto;width:100%!important;order:-1;margin:12px 0 30px;padding:0 24px}
 body .elementor .minga-page .minga-patent-title .elementor-heading-title{color:#740635}
 body .elementor .minga-page .minga-patent-label .elementor-heading-title{color:white;font-size:clamp(21px,5.8vw,35px)}
 .minga-patent-image-mobile img{display:block;width:100%;height:auto}
 .minga-patent-rays{display:none}
 .minga-patent-copy{margin-top:0}
 .minga-footer .elementor-widget-text-editor{max-width:38rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.minga-page *{transition:none!important}}

.minga-page .elementor-swiper-button.swiper-button-lock{display:none}

.minga-publication-title .elementor-heading-title{overflow-wrap:normal;hyphens:manual}

/* Eingebrannte Vorschau-Ecken liegen außerhalb der nativen Kartenrundung. */
.minga-publication-card .elementor-widget-image{overflow:hidden}
.minga-publication-card img{transform:scale(1.04)}

.minga-patent-image{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201980%201246%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%20195%20L488%20142%20C543%2067%20628%2017%20709%2016%20C792%2013%20875%2051%20930%2096%20L1752%2011%20Q1872%20-4%201913%20132%20L1980%20341%20V1246%20H0Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}

/* Saubere Außenkontur des mobilen PSD-Ausschnitts. */
.minga-patent-image-mobile{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201019%201246%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%20163%20L188%20142%20C243%2067%20328%2017%20409%2016%20C492%2013%20575%2051%20630%2096%20L1019%2054%20V1246%20H0Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}

/* Bildflächen vor dem Lazy Loading reservieren, auch innerhalb einer Maske. */
.minga-patent-image{aspect-ratio:1980 / 1246;height:calc(min(100vw, 1920px) * 1246 / 1980);flex-shrink:0}
.minga-patent-image-mobile{aspect-ratio:1019 / 1246;height:calc(100vw * 1246 / 1019);flex-shrink:0}

/* Der gesamte Entwurf bleibt auch auf Ultrawide-Monitoren im 1920er-Raster. */
body .elementor .e-con.minga-page{width:100%;max-width:1920px;margin-left:auto;margin-right:auto}
@media(min-width:1920px){.minga-page .minga-hero{min-height:1133px;max-height:1133px}}


/* Rosa Fläche und Foto überlappen sich an derselben Kante wie im PSD. */
body .elementor .minga-page .e-con.minga-training{margin-top:calc(-1 * var(--minga-seam-overlap, min(4.5vw, 86.4px)))}

/* Glatte Kontur der geschärften Gesprächsfotos; Inhalt bleibt natives Bild. */
.minga-conversation-desktop img{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201092%20656%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H1092L994%20570Q991%20616%20944%20616L0%20551Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-conversation-mobile img{clip-path:polygon(0 0,100% 0,100% 96.5%,0 88.5%)}

/* Avatare: getrennte native Kartenfläche und freigestellte Person. */
.minga-avatar-stage{position:relative!important;display:block!important;width:100%;aspect-ratio:520/640;mask:var(--minga-avatar-mask);--minga-avatar-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20520%20640%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H520V400%20Q520%20435%20458.41%20435%20L437%20603%20Q435%20622%20415%20619%20L80%20565%20Q61%20563%2064%20543%20L71.84%20435%20Q0%20435%200%20400Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat;isolation:isolate}
.minga-avatar-backplate{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20520%20640%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M112%20169%20L467%20220%20Q486%20222%20483%20242%20L437%20603%20Q435%20622%20415%20619%20L80%20565%20Q61%20563%2064%20543%20L90%20185%20Q92%20166%20112%20169Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:0}
.minga-avatar-stage .minga-avatar-cutout{position:absolute!important;top:var(--portrait-top)!important;left:var(--portrait-left)!important;width:var(--portrait-width)!important;margin:0!important;z-index:1}
.minga-avatar-stage .minga-avatar-cutout img{display:block;width:100%;height:auto;aspect-ratio:auto;scale:1;translate:0;object-fit:contain;transform-origin:50% 65%}

/* Die nächste Fläche verdeckt die offene Unterkante des freigestellten Hero-Bildes.
 * Die schräge weiße Ebene folgt dem rosa Einstieg; auf Desktop bleibt kein
 * frei schwebender Ärmelabschluss sichtbar, auch bei nativen Bewegungen. */
@media(min-width:768px){
 .minga-intro:before{content:"";position:absolute;inset:0;z-index:-2;background:#f8f6f9;pointer-events:none;clip-path:var(--minga-hero-cover-clip,polygon(0 0,100% min(9.5vw,182.4px),100% 55%,0 55%));mask:var(--minga-hero-cover-mask,none) center/100% 100% no-repeat}
}
/* Elementors eigene Unterstreichung bleibt erhalten. Nur ihre Richtung
 * folgt dem vorherigen Menüpunkt; Farben und Stärke bleiben im Editor. */
.minga-header .elementor-nav-menu__container.e--pointer-underline.e--animation-slide .elementor-item:after{inset-inline-start:0!important;width:100%!important;transform:scaleX(0);transform-origin:var(--minga-line-origin,left);transition:transform .28s ease,opacity .2s}
.minga-header .elementor-nav-menu__container.e--pointer-underline.e--animation-slide .elementor-item:hover:after,
.minga-header .elementor-nav-menu__container.e--pointer-underline.e--animation-slide .elementor-item:focus-visible:after,
.minga-header .elementor-nav-menu__container.e--pointer-underline.e--animation-slide .elementor-item.elementor-item-active:after{transform:scaleX(1)}
.minga-header .elementor-item[data-minga-direction="left"]{--minga-line-origin:right}
@media(prefers-reduced-motion:reduce){.minga-header .elementor-nav-menu--main .elementor-item:after{transition:none!important}}

/* Kopf bleibt frei; der Körper folgt exakt der kleineren pinken Karte.
 * Beide Konturen bewegen sich im gemeinsamen nativen Elementor-Container. */
.minga-avatar-stage{mask:none;--minga-avatar-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20520%20640%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%200H520V400H455.375L430%20603Q428%20622%20408%20619L90%20565Q75%20563%2078%20543L89%20400H0Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-avatar-carrier{position:absolute!important;inset:0;width:100%;height:100%;min-height:0!important;padding:0!important;display:block!important}
.minga-avatar-backplate{mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20520%20640%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M126%20214L454%20261Q473%20263%20470%20283L430%20603Q428%20622%20408%20619L90%20565Q75%20563%2078%20543L102%20231Q104%20211%20126%20214Z%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.minga-avatar-photo-window{position:absolute!important;inset:0;width:100%;height:100%;padding:0;z-index:1;mask:var(--minga-avatar-mask)}

/* Native Sprachwahl und Mobilnavigation: Inhalte bleiben in Elementor/WordPress. */
.minga-header .minga-header-logo{flex-shrink:0}
.minga-header .minga-header-navigation{flex-grow:1;min-width:0}
.minga-header .minga-language{flex-shrink:0}
.minga-language-switcher .cpel-switcher__list{gap:0;margin:0;padding:0}
.minga-language-switcher .cpel-switcher__lang a{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;padding:8px!important;border-radius:12px;transition:color .3s ease,background-color .3s ease}
.minga-language-switcher .cpel-switcher__lang a[aria-current="page"]{color:#f0084e;background:#f5dce880}
.minga-language-switcher .cpel-switcher__lang a:hover{background:#f5dce8}
.minga-language-globe .elementor-icon{display:flex}
.minga-header .elementor-nav-menu--main .elementor-item{white-space:nowrap}
@media(min-width:1025px){.minga-header .minga-menu-utility{display:none!important}}
@media(max-width:1024px){
 .minga-header .minga-header-logo{width:clamp(104px,30vw,240px)!important}
 .minga-header .minga-header-navigation{order:3;flex-grow:0;width:44px!important}
 .minga-header .minga-language{order:2;width:108px!important;margin-left:auto}
 .minga-header .elementor-menu-toggle{min-height:44px;min-width:44px;padding:6px;border-radius:12px;transition:background-color .35s ease}
 .minga-header .elementor-menu-toggle:hover,.minga-header .elementor-menu-toggle.elementor-active{background:#f5dce8}
 .minga-header .elementor-nav-menu--dropdown{background:#f5dce8;max-height:calc(100svh - 105px);overflow-y:auto;overscroll-behavior:contain;padding:18px 16px max(22px,env(safe-area-inset-bottom));border-radius:0 0 24px 24px}
 .minga-header .elementor-nav-menu--dropdown .elementor-item{min-height:48px;justify-content:flex-start;text-align:left;border-radius:12px;line-height:1.25;transition:color .35s ease,background-color .35s ease}
 .minga-header .minga-menu-contact{margin-top:18px;padding-top:15px;border-top:1px solid #8b12502b}
 .minga-header .minga-menu-legal .elementor-item{font-family:Roboto,sans-serif!important;font-weight:400!important;font-size:17px!important;min-height:44px}
 .minga-header .elementor-menu-toggle.elementor-active+.elementor-nav-menu--dropdown{animation:minga-menu-entrance .38s ease both}
}
@keyframes minga-menu-entrance{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.minga-header *{animation:none!important;transition:none!important}}

/* Mobil dieselbe native Unterstreichung wie am Desktop, ohne Hover-Kästen. */
@media(max-width:1024px){
 .minga-header .elementor-nav-menu--dropdown .elementor-item{width:fit-content;margin-inline:auto;padding-inline:0!important;border-radius:0;background:transparent!important}
 .minga-header .elementor-nav-menu--dropdown .elementor-item:after{content:"";display:block;position:absolute;bottom:7px;height:2px;background:#f0084e}
 .minga-header .elementor-menu-toggle:hover,.minga-header .elementor-menu-toggle.elementor-active{background:transparent}
 .minga-language-switcher .cpel-switcher__lang a{background:transparent!important;border-radius:0;position:relative}
 .minga-language-switcher .cpel-switcher__lang a:after{content:"";position:absolute;bottom:5px;left:8px;right:8px;height:2px;background:#f0084e;transform:scaleX(0);transition:transform .28s ease}
 .minga-language-switcher .cpel-switcher__lang a:hover:after,.minga-language-switcher .cpel-switcher__lang a:focus-visible:after,.minga-language-switcher .cpel-switcher__lang a[aria-current="page"]:after{transform:scaleX(1)}
}
/* Ausreichende Touchflächen; die Adminleiste darf kurze Menüs nicht abschneiden. */
.minga-language-switcher .cpel-switcher__lang a{min-width:44px}
@media(max-width:782px){body.admin-bar .minga-header .elementor-nav-menu--dropdown{max-height:calc(100svh - 135px)}}
/* Elementor setzt beim Öffnen --menu-height auf 1000vmax. Nur das offene
   Menü begrenzen, damit seine native Schließanimation unverändert arbeitet. */
@media(max-width:1024px){.minga-header .elementor-menu-toggle.elementor-active+.elementor-nav-menu--dropdown{max-height:calc(100svh - 105px)!important}}
@media(max-width:782px){body.admin-bar .minga-header .elementor-menu-toggle.elementor-active+.elementor-nav-menu--dropdown{max-height:calc(100svh - 135px)!important}}

/* Mobile Menüfläche: ruhiger Schatten, leichte Transparenz und Blur.
   Ohne Backdrop-Filter bleibt die gut lesbare, deckende Grundfarbe erhalten. */
@media(max-width:1024px){
 .minga-header .elementor-nav-menu--dropdown{background:#f5dce8;box-shadow:0 12px 30px -8px rgb(88 11 54 / 16%);border-bottom:1px solid rgb(255 255 255 / 45%)}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .minga-header .elementor-nav-menu--dropdown{background:rgb(245 220 232 / 92%)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
 }
}
