/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

ul li a {
    color: var(--nw-aktion,#AB0053)
}
ul li a:hover {
    color: #272727
}

p a {
    color: var(--nw-aktion,#AB0053) !important;
    font-weight: bold;
}

p a:hover {
    color: #272727 !important;
}



.but-menu-header.menu-item {
    background: var(--nw-aktion,#AB0053);
    text-decoration: none;
    border-radius: 50px;
    padding: 5px 14px 5px 0;
}
.but-menu-header.menu-item a {
	color: #FFF !important;
}
.but-menu-header.menu-item:hover {
	background: #FFEEF3 !important
}
.but-menu-header.menu-item:hover a,
.but-menu-header.menu-item a:hover {
	color: #272727 !important;
}



.text-01 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-transition: 0.3s;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: calc((100vw - 1770px) / 2);
}
.text-02 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background-transition: 0.3s;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: calc((100vw - 1770px) / 2);
}

.ico-rodape h3.elementor-icon-box-title {
    margin-top:-5px
}
.ico-rodape h3.elementor-icon-box-title div {
    font-size: 20px !important;
    margin-top: 5px
}

.list-foot div {
    font-weight: 400;
}
.list-foot li {
    margin-bottom: 30px !important;
    width: 40%;
}
.list-foot ul {
    display: flex !important;
    flex-wrap: wrap;
}
@media (max-width: 600px) {
.list-foot li {
    width: 100%;
}
} 


.list-fix-right {
  position: fixed;
  right: -172px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999; 
  background: white;
  padding: 10px;
  border-radius: 0 5px 5px 0;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  width: 230px;
    white-space: nowrap;
}
.list-fix-right {
    background: transparent !important;
    box-shadow: none !important
}
.list-fix-right .elementor-icon-list-item {
  background: white;
  border-radius: 50px;
  padding: 10px 15px;
  margin-bottom: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* sombra leve */
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background 0.3s, transform 0.2s;
}
.list-fix-right li:hover {
    transform: translatex(-120px);
    transition:all .2s ease-in;
	background: var(--nw-aktion,#AB0053);
}





/*Efeito botão*/
.but-animated .elementor-button-text,
.but-animated1 .elementor-button-text,
.but-animated2 .elementor-button-text {
    white-space: nowrap;
}
/* Estilo base do botão */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm {
    position: relative;
	padding: 16px 20px 16px 70px;
    display: inline-block;
    z-index: 2;
    color: #FFF !important;
    transition: color 0.3s ease;
    overflow: hidden;
}

.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm {
    position: relative;
	padding: 16px 20px 16px 70px;
    display: inline-block;
    z-index: 2;
    color: black !important;
    transition: color var(--nw-schnell,180ms) ease-out,
                background-color var(--nw-schnell,180ms) ease-out,
                transform var(--nw-schnell,180ms) ease-out;
    overflow: hidden;
}

.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm {
    position: relative;
	padding: 16px 20px 16px 70px;
    display: inline-block;
    z-index: 2;
    color: #696969 !important;
    transition: color 0.3s ease;
    overflow: hidden;
}


.popupmenu.but-animated .elementor-button-text,
.popupmenu.but-animated1 .elementor-button-text,
.popupmenu.but-animated2 .elementor-button-text {
    line-height: 49px;
    padding-left: 55px;
    padding-right: 20px
}


/* Fundo preto atrás do conteúdo */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3rem;
    height: 3rem;
    background-color: var(--nw-aktion,#AB0053);
    border-radius: 100px;
    transform: translateY(-50%);
    z-index: 1;
    transition: all 0.4s ease;
}

.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3rem;
    height: 3rem;
    background-color: var(--nw-aktion,#AB0053);
    border-radius: 100px;
    transform: translateY(-50%);
    z-index: 1;
    transition: all 0.4s ease;
}

.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3rem;
    height: 3rem;
    background-color: var(--nw-aktion,#AB0053);
    border-radius: 100px;
    transform: translateY(-50%);
    z-index: 1;
    transition: all 0.4s ease;
}

.but-animated .elementor-button.elementor-button-link.elementor-size-sm::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.2rem; /* posição antes da seta */
    width: 0;
    height: 2px;
    background-color: #FFF;
    transform: translateY(-50%);
    z-index: 3;
    transition: width 0.3s ease 0.05s;
}
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.2rem; /* posição antes da seta */
    width: 0;
    height: 2px;
    background-color: white;
    transform: translateY(-50%);
    z-index: 3;
    transition: width 0.3s ease 0.05s;
}
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.2rem; /* posição antes da seta */
    width: 0;
    height: 2px;
    background-color: white;
    transform: translateY(-50%);
    z-index: 3;
    transition: width 0.3s ease 0.05s;
}

/* Seta branca com pseudo-elemento adicional */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm span.elementor-button-text::after,
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm span.elementor-button-text::after,
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm span.elementor-button-text::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.1rem; /* posiciona a seta após a linha */
    width: 0.625rem;
    height: 0.625rem;
    border-top: 0.125rem solid white;
    border-right: 0.125rem solid white;
    transform: translateY(-50%) rotate(45deg);
    z-index: 3;
    transition: transform 0.4s ease, border-color 0.4s ease;
}

/* HOVER — fundo preto se estica */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm:hover::before,
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm:hover::before,
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm:hover::before {
    width: 100%;
    border-radius: 100px;
}

/* HOVER — linha branca aparece */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm:hover::after,
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm:hover::after,
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm:hover::after {
    width: 15px;
}

/* HOVER — seta desliza 20px para a direita */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm:hover span.elementor-button-text::after {
    transform: translateY(-50%) translateX(15px) rotate(45deg);
    border-color: #FFF;
}
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm:hover span.elementor-button-text::after {
    transform: translateY(-50%) translateX(15px) rotate(45deg);
    border-color: #FFF;
}
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm:hover span.elementor-button-text::after {
    transform: translateY(-50%) translateX(15px) rotate(45deg);
    border-color: #FFF;
}

/* HOVER — texto branco */
.but-animated .elementor-button.elementor-button-link.elementor-size-sm:hover,
.but-animated .elementor-button.elementor-button-link.elementor-size-sm:hover .elementor-button-text {
    color: #FFF;
    z-index: 2;
}

/* HOVER — texto branco */
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm:hover,
.but-animated1 .elementor-button.elementor-button-link.elementor-size-sm:hover .elementor-button-text {
    color: #FFF;
    z-index: 2;
}

.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm:hover,
.but-animated2 .elementor-button.elementor-button-link.elementor-size-sm:hover .elementor-button-text {
    color: #FFF;
    z-index: 2;
}






.jobsearch:hover h2 {
    color: #FFF !important
}


/* Link dentro de .tetzt-tv */
.tetzt-tv a {
    position: relative;
    padding-left: 22px;
    color: #fff !important;
    text-decoration: none;
    transition: color 0.3s ease, filter 0.3s ease;
}

/* Ícone antes do link (cor branca via SVG) */
.tetzt-tv a::before {
    content: '';
    position: absolute;
    top: 5px !important;
	left: 0;
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: filter 0.3s ease;

    /* SVG branco (#fff codificado como %23fff) */
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path d='M6.62 10.79a15.053 15.053 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 .96-.26 11.72 11.72 0 0 0 3.68.59 1 1 0 0 1 1 1V21a1 1 0 0 1-1 1C10.42 22 2 13.58 2 3a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.29.21 2.56.59 3.68a1 1 0 0 1-.26.96l-2.2 2.2z'/></svg>");
}

/* Hover: texto + ícone ficam #444 */
.tetzt-tv a:hover {
    color: #444 !important;
}

/* Filtro para transformar o SVG branco (#fff) em #444 */
.tetzt-tv a:hover::before {
    filter: brightness(0) saturate(100%) invert(22%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(45%) contrast(90%);
}


ul {
	margin: 20px 0 20px 0;
	padding: 0 20px;
}



.checklist li i {
color: var(--nw-aktion,#AB0053) !important;
font-size: 14px;
margin-top: 6px;
}





.all-faq .e-n-accordion-item {
    background: #FFEEF3;
    margin-bottom: 16px !important;
    padding: 12px;
    border-radius: 16px;
}


/* ==========================================================================
   Designsystem – ergänzt 04.09.2026 (Finke Praxismarketing)
   Grundlage: gemessener Designbefund vom 03.09.2026.
   Der Block steht bewusst am Ende der Datei: das Stylesheet des Kindthemes
   wird nach Elementors post-9.css geladen, deshalb gewinnen die
   Neudefinitionen der Token ohne !important.
   Zurücknehmen = diesen Block entfernen. Nichts darüber wurde geändert.
   ========================================================================== */

/* --- 1. Farbtoken --------------------------------------------------------
   Magenta war #E01B5B und erreichte auf der Rosé-Fläche nur 4,19:1.
   #AB0053 kommt auf 6,55:1 (Rosé) und 6,97:1 (Weiß) – AA erfüllt.        */
.elementor-kit-9{
  --e-global-color-text:#3C3C3C;        /* CD-Charcoal statt #444444      */
  --e-global-color-accent:#AB0053;      /* war Elementor-Standardgrün     */
  --e-global-color-ac15486:#AB0053;     /* Handlungsfarbe, war #E01B5B       */
  --e-global-color-67ef8d2:#3C3C3C;

  --nw-marke:#E20074;                   /* CD-Magenta, nur Flächen/Signet */
  --nw-flaeche:#FDEEF4;
  --nw-linie:#CFCFCF;
  --nw-text-leise:#6B6B6B;
  --nw-aktion:#AB0053;
  --nw-aktion-hover:#8C0044;

  --nw-kurve:cubic-bezier(.16,1,.3,1);
  --nw-schnell:180ms;
  --nw-ruhig:400ms;
  --nw-bild:500ms;
}

/* --- 2. Links -------------------------------------------------------------
   Das Elementor-Kit setzt global a{color:#996fa0;font-weight:bold} – ein
   Violett, das im Corporate Design nicht vorkommt.
   Schaltflächen werden ausdrücklich ausgenommen.                          */
.elementor-widget-container a:not(.elementor-button):not([class*="elementor-button"]),
.elementor-widget-text-editor a{
  color:var(--nw-aktion);
  font-weight:inherit;
  text-underline-offset:.18em;
  transition:color var(--nw-schnell) ease-out;
}
.elementor-widget-container a:not(.elementor-button):not([class*="elementor-button"]):hover,
.elementor-widget-text-editor a:hover{ color:var(--nw-aktion-hover); }

/* --- 3. Schrift -----------------------------------------------------------
   Outfit ist die Hausschrift der Website (Entscheidung vom 04.09.2026).
   -0,02 em Laufweite steht so im Corporate-Design-Guide (VA -20).
   Das !important ist nötig, weil ein Teil der post-*.css nach diesem
   Stylesheet geladen wird und die Schriftfamilie je Widget festschreibt. */
h1,h2,h3,h4,
.elementor-widget-heading .elementor-heading-title{
  font-family:"Outfit","Avenir Next",system-ui,sans-serif !important;
  letter-spacing:-.02em;
  text-wrap:balance;
}

/* Zeilenhöhe 1,0 war an mehreren Stellen gesetzt – Zeilen klebten aneinander */
.elementor-widget-heading .elementor-heading-title{ line-height:1.15; }
h1,.elementor-widget-heading h1.elementor-heading-title{ line-height:1.1; }

/* Fließtext: am Desktop stand 1,4, mobil 1,8 – dieselbe Seite, zwei Lesegefühle */
.elementor-widget-text-editor,
.elementor-widget-text-editor p{ line-height:1.6; }

/* --- 4. Radien ------------------------------------------------------------
   Es gab genau zwei Werte (3px und 50%). 3px wirkt an großen Flächen
   wie ein Versehen; 8px liest sich als Absicht.                          */
.elementor-button{ border-radius:8px; }

/* --- 5. Bewegung ----------------------------------------------------------
   Elementors fadeInUp startet bei translate3d(0,100%,0) – also der vollen
   Elementhöhe – und läuft 1,25 s. Ein 400 px hoher Block fuhr aus 400 px
   Tiefe herein. Die Keyframes werden hier neu definiert: gleiche Namen,
   späteres Stylesheet, 10 px statt 100 %.                                */
@keyframes fadeInUp{ from{opacity:0;transform:translate3d(0,10px,0)} to{opacity:1;transform:none} }
@keyframes fadeInDown{ from{opacity:0;transform:translate3d(0,-10px,0)} to{opacity:1;transform:none} }
@keyframes fadeInLeft{ from{opacity:0;transform:translate3d(-12px,0,0)} to{opacity:1;transform:none} }
@keyframes fadeInRight{ from{opacity:0;transform:translate3d(12px,0,0)} to{opacity:1;transform:none} }

.animated{
  animation-duration:var(--nw-ruhig) !important;
  animation-timing-function:var(--nw-kurve) !important;
  animation-fill-mode:both;
}

/* Hover: einheitlich 180 ms statt 0,2 / 0,3 / 0,4 s nebeneinander */
.elementor-button{
  transition:background-color var(--nw-schnell) ease-out,
             color var(--nw-schnell) ease-out,
             transform var(--nw-schnell) ease-out,
             box-shadow var(--nw-schnell) ease-out;
}
.elementor-button:hover{ transform:translateY(-1px); }

/* Bildzoom im festen Rahmen statt harter Deckkraftsprung */
.elementor-widget-image figure,
.elementor-widget-image .elementor-image{ overflow:hidden; }
.elementor-widget-image img{ transition:transform var(--nw-bild) ease-out; }
.elementor-widget-image a:hover img{ transform:scale(1.03); }

/* --- 6. Tastaturbedienung -------------------------------------------------
   Sichtbarer Fokus – vorher war nur der Browserstandard da, den die
   Kaskade an einigen Stellen verschluckt hat.                            */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.elementor-button:focus-visible{
  outline:2px solid var(--nw-aktion);
  outline-offset:3px;
  border-radius:4px;
}

/* --- 7. Reduzierte Bewegung ----------------------------------------------
   scroll-behavior:smooth steht global am <html> und ist für Ankersprünge
   auch richtig – es fehlte nur die Ausnahme.                             */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .animated{ animation:none !important; }
  .elementor-widget-image img{ transition:none; }
  .elementor-button{ transition:none; }
  .elementor-button:hover{ transform:none; }
}

/* --- 8. Lange deutsche Komposita ------------------------------------------
   „Berufshaftpflichtversicherung" braucht 397 px und schiebt sonst die
   ganze Seite über den Rand.                                             */
body{ overflow-wrap:break-word; }

/* --- 9. Termin-Schaltfläche im Menü --------------------------------------
   Gemessen am 04.09.2026: der Innenabstand stand auf 5px 14px 5px 0 – links
   also null, der Text klebte an der linken Kante der Pille. Klickhöhe 25 px.
   Jetzt symmetrisch und über 44 px hoch. Hover geht ins dunklere Magenta
   statt auf Rosé mit fast schwarzem Text.                                 */
.but-menu-header.menu-item{
  padding:0 !important;
  border-radius:999px;
  display:flex;
  align-items:center;
  transition:background-color var(--nw-schnell,180ms) ease-out;
}
.but-menu-header.menu-item > a{
  padding:11px 22px !important;
  line-height:1.25;
  display:block;
  white-space:nowrap;
}
.but-menu-header.menu-item:hover{ background:var(--nw-aktion-hover,#8C0044) !important; }
.but-menu-header.menu-item:hover > a,
.but-menu-header.menu-item > a:hover{ color:#FFFFFF !important; }

/* --- 10. Aufklappmenü ------------------------------------------------------
   Gemessen am 04.09.2026: das Untermenü hat zwar eine weiße Fläche, aber
   weder Rahmen noch Schatten (box-shadow: none). Über einem farbigen
   Abschnitt – etwa den Sprechzeiten – schwebt es dadurch ohne erkennbare
   Kante, und während der 0,2-s-Einblendung scheint der Text dahinter durch.
   Fläche, Kante, Schatten und eine höhere Ebene beheben beides.          */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item ul.mega-sub-menu{
  background-color:#FFFFFF !important;
  border:1px solid var(--nw-linie,#CFCFCF);
  border-radius:12px;
  box-shadow:0 14px 34px -14px rgba(60,60,60,.30);
  z-index:1000;
  overflow:hidden;
  padding-block:8px;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item ul.mega-sub-menu a.mega-menu-link{
  transition:background-color var(--nw-schnell,180ms) ease-out,
             color var(--nw-schnell,180ms) ease-out;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover{
  background-color:var(--nw-flaeche,#FDEEF4);
  color:var(--nw-aktion,#AB0053);
}

/* --- 11. Fußbereich: Linkgewicht ------------------------------------------
   Gemessen am 04.09.2026: Adresse, Telefon, Fax und E-Mail standen auf 700,
   die Rechtstexte auf 600 – der ganze Fußbereich las sich fett.
   Schaltflächen bleiben ausgenommen.                                      */
.elementor-location-footer a:not(.elementor-button):not(.elementor-icon),
.elementor-location-footer a:not(.elementor-button):not(.elementor-icon) span{
  font-weight:400 !important;
}

/* --- 12. Eine Hausschrift, auch im Fließtext ------------------------------
   Hausschrift der Website ist Outfit – für Überschriften wie für Fließtext.
   Entscheidung vom 04.09.2026: MADE Tommy Soft aus dem Corporate-Design-
   Guide wird nicht verwendet (nur Personal-Use-Lizenz). Der Guide ist an
   dieser Stelle veraltet.

   Vorher lief der Fließtext auf Open Sans – das widersprach der Vorgabe
   „eine Schrift" und ist damit erledigt.

   Bewusst ohne Universalselektor: Symbolschriften (Font Awesome, eicon,
   Dashicons) sitzen auf eigenen Elementen und dürfen nicht überschrieben
   werden, sonst verschwinden die Symbole.                                */
body,
p, li, dd, dt, td, th, blockquote, figcaption, label, cite,
input, textarea, select,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-heading-title,
.elementor-icon-list-text,
.elementor-button-text,
.elementor-tab-title, .elementor-tab-content,
.e-n-accordion-item-title-text,
.mega-menu-link, .elementor-item, .elementor-sub-item{
  font-family:"Outfit","Avenir Next",system-ui,sans-serif !important;
}

/* --- 13. Typo-Skala für die Leistungsseiten -------------------------------
   Gemessen am 04.09.2026 auf /leistungen/aesthetische-medizin/ und
   /leistungen/hausaerztliche-versorgung/: H1 und H2 standen beide auf
   30 px, eine H2 sogar auf 18 px – also so groß wie der Fließtext. Es gab
   auf diesen Seiten schlicht keine Hierarchie.

   Die Überschriften hängen an drei Elementor-Globaltypografien; hier werden
   deren Variablen neu belegt, damit alle 14 Seiten an einer Stelle
   mitkommen. Die Medienabfragen müssen mitgeliefert werden: Elementor setzt
   H2 und H3 bei max-width 1366px auf 31px – dadurch war die H2 auf dem
   Laptop größer als die H1.                                              */
.elementor-kit-9{
  --e-global-typography-d3c157f-font-size:48px;      /* H1 */
  --e-global-typography-d3c157f-font-weight:600;
  --e-global-typography-d3c157f-line-height:1.1em;

  --e-global-typography-8b10108-font-size:34px;      /* H2 */
  --e-global-typography-8b10108-font-weight:500;
  --e-global-typography-8b10108-line-height:1.15em;

  --e-global-typography-396dbe2-font-size:24px;      /* H3 */
  --e-global-typography-396dbe2-font-weight:500;
  --e-global-typography-396dbe2-line-height:1.25em;
}
@media (max-width:1366px){
  .elementor-kit-9{
    --e-global-typography-d3c157f-font-size:40px;
    --e-global-typography-8b10108-font-size:30px;
    --e-global-typography-396dbe2-font-size:22px;
  }
}
@media (max-width:767px){
  .elementor-kit-9{
    --e-global-typography-d3c157f-font-size:34px;
    --e-global-typography-8b10108-font-size:26px;
    --e-global-typography-396dbe2-font-size:20px;
  }
}

/* --- 14. Kachelband auf /leistungen/ --------------------------------------
   Vorher lagen die acht Leistungsblöcke in vier festen Zeilen zu je zwei
   Karten. Weil die Listen unterschiedlich lang sind, endete die kürzere
   Spalte jeweils früher und darunter klaffte eine Lücke.

   Jetzt laufen alle acht Karten in einem mehrspaltigen Fluss durch —
   Masonry-Optik ohne JavaScript. Der Container muss dafür block sein,
   Elementor setzt Container sonst auf flex.

   Die Fläche ist das CD-Rosé auf etwa ein Drittel zurückgenommen: ein
   erkennbarer, aber ruhiger Wechsel gegen das Weiß darüber und darunter.
   Kein Radius, kein Rahmen, kein Schatten – die Farbe trennt allein.

   Angesprochen über die Element-ID, nicht über eine eigene Klasse: der
   Konnektor schreibt _css_classes an Containern nicht ins Markup.
   Ändert sich die ID (neuer Container), muss sie hier nachgezogen werden. */
.elementor-element-8f81a5c{ display:block !important; }

.elementor-element-8f81a5c > .e-con{
  width:100% !important;
  max-width:100% !important;
  /* Abstand als Innenabstand, nicht als Außenabstand: ein Außenabstand
     kollabiert am Spaltenrand und wird oben in die nächste Spalte
     mitgenommen – dann steht die rechte Überschrift tiefer als die linke.
     Gemessen an Christians Screenshot vom 04.09.2026: 58 px Versatz.     */
  margin:0 !important;
  padding:0 0 44px !important;
  display:flow-root;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
}
.elementor-element-8f81a5c > .e-con:last-child{ padding-bottom:0 !important; }

/* Erstes Element jeder Karte bündig oben */
.elementor-element-8f81a5c > .e-con > *:first-child{ margin-top:0 !important; }

/* Der Innenabstand der Listen erzeugte zusätzlich 48 px Loch */
.elementor-element-8f81a5c .elementor-widget-text-editor{ margin-bottom:0 !important; }

@media (min-width:768px){
  .elementor-element-8f81a5c{ column-count:2; column-gap:72px; }
}
@media (min-width:1200px){
  .elementor-element-8f81a5c{ column-gap:80px; }
}

/* --------------------------------------------------------------------------
   15  Sprunglink sichtbar machen
   Gemessen 04.09.2026: Der Sprunglink des Themes blieb auch im Fokus 1 × 1 px
   mit `clip: rect(0,0,0,0)` und der Farbe #996FA0 auf durchsichtigem Grund —
   also unsichtbar. Damit ist er für Tastaturnutzer wertlos.
   Weiß auf #AB0053 misst 7,35 : 1.
   -------------------------------------------------------------------------- */
.skip-link.screen-reader-text:focus,
a.skip-link:focus{
  position:fixed !important;
  top:12px; left:12px; right:auto; bottom:auto;
  width:auto !important; height:auto !important;
  clip:auto !important; clip-path:none !important;
  overflow:visible !important;
  display:block;
  z-index:100000;
  padding:14px 22px;
  background:var(--nw-aktion,#AB0053);
  color:#fff !important;
  font-size:1rem; font-weight:600; line-height:1.2;
  text-decoration:none;
  border-radius:8px;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}

/* --------------------------------------------------------------------------
   16  Untermenüs per Tastatur erreichbar
   Gemessen 04.09.2026: SmartMenus setzt aria-haspopup und aria-expanded
   korrekt, öffnet die Klappe aber nur bei Zeigergeräten. Beim Tabben blieb
   `display: none` stehen — die fünf Untermenüs (u. a. der komplette
   Leistungsbereich) waren mit der Tastatur nicht erreichbar.
   -------------------------------------------------------------------------- */
.elementor-nav-menu--main .menu-item-has-children:focus-within > ul.sub-menu{
  display:block !important;
}

/* --------------------------------------------------------------------------
   17  Klickflächen im Kopfbereich auf 44 px
   Gemessen 04.09.2026: Adresse (d8a967c) und Telefonnummer (31c6cfa) in der
   oberen Leiste waren 25 px hoch. Die Fläche wächst über ein Pseudoelement,
   damit die Leiste ihre Höhe behält.
   -------------------------------------------------------------------------- */
.elementor-element-d8a967c .elementor-icon-list-item > a,
.elementor-element-31c6cfa .elementor-icon-list-item > a{
  position:relative;
}
.elementor-element-d8a967c .elementor-icon-list-item > a::after,
.elementor-element-31c6cfa .elementor-icon-list-item > a::after{
  content:"";
  position:absolute;
  inset:-10px -8px;   /* 25 + 2 × 10 = 45 px */
}

/* --------------------------------------------------------------------------
   18  Radien auf drei Werte
   Gemessen 04.09.2026 waren fünf im Einsatz: 3px, 8px, 50px, 999px, 50%.
   Bleiben: 8px (Flächen), 999px (Pillen), 50% (Kreise).
   -------------------------------------------------------------------------- */
.elementor-menu-toggle{ border-radius:8px; }                         /* war 3px  */
.elementor-element-c79f5cc .elementor-icon-list-item{ border-radius:999px; } /* war 50px */

/* --------------------------------------------------------------------------
   19  Nur für Screenreader
   Die Seite „Dr. med. Nicole Wielander" (2181) besteht ausschließlich aus
   einer Vorlage (4951), die zugleich auf der Startseite eingebunden ist.
   Deren Überschrift dort auf H1 zu heben, gäbe der Startseite eine zweite H1.
   Deshalb trägt die Seite eine eigene H1, die nur vorgelesen wird.
   Zwischenlösung, bis die Personenseite eigenen Inhalt bekommt.
   -------------------------------------------------------------------------- */
.nw-nur-vorlesen,
.elementor-element-592e8de{
  position:absolute !important;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%);
  white-space:nowrap; border:0;
}

/* --------------------------------------------------------------------------
   20  Klickflächen im Inhalt und im Fußbereich auf 44 px
   Fortsetzung von Abschnitt 17. Gemessen 04.09.2026 waren nach dem Kopf noch
   neun Ziele unter 44 px: die Kontaktzeilen und die Rechtslinks im Fuß sowie
   das seitliche Fähnchen.

   Bewusst NICHT erweitert: die Telefonnummer im Fließtext der Startseite
   (d2b09c9). Sie steht mitten im Satz; eine über die Zeile hinausragende
   Trefferfläche würde Klicks der Nachbarzeilen abfangen.

   Abstände geprüft: Fußkontakte 75 px untereinander, Rechtslinks 43–44 px
   nebeneinander — bleibt nach der Vergrößerung deutlich über den geforderten
   8 px.
   -------------------------------------------------------------------------- */
.elementor-element-e1a4f8b .elementor-icon-list-item > a,
.elementor-element-eaa1b1f .elementor-icon-list-item > a,
.elementor-element-9e0f360 a,
.elementor-element-144eb8e a,
.elementor-element-70a27bc a,
.elementor-element-c79f5cc .elementor-icon-list-item > a{
  position:relative;
}
.elementor-element-e1a4f8b .elementor-icon-list-item > a::after,
.elementor-element-eaa1b1f .elementor-icon-list-item > a::after,
.elementor-element-9e0f360 a::after,
.elementor-element-144eb8e a::after,
.elementor-element-70a27bc a::after{
  content:"";
  position:absolute;
  inset:-10px -8px;   /* 25 + 2 × 10 = 45 px */
}
.elementor-element-c79f5cc .elementor-icon-list-item > a::after{
  content:"";
  position:absolute;
  inset:-11px -8px;   /* 23 + 2 × 11 = 45 px */
}
