/*
 Theme Name:   Divi Child
 Theme URI:    http://www.elegantthemes.com
 Description:  Divi Child Theme
 Author:       Sabrina Schulz
 Author URI:   https://leadnerds.de/
 Template:     Divi
 Version:      1.0
*/



/* Global */
:root {
    --blue: #0090D7; 
    --black: #0F172A;
	--rot: #e30518;
	--orange:#ff6600;
	--green:#16a34a;
    --headerfont:'Nunito';
	--bodyfont: 'Open Sans';
  }

  /* Fonts */
body {font-size: calc(16px + (18 - 16) * ((100vw - 320px) / (1600 - 320)));   hyphens: auto;-webkit-hyphens: auto;-ms-hyphens: auto;word-wrap: break-word;}
#et-main-area h1 {font-size: calc(30px + (52 - 30) * ((100vw - 320px) / (1600 - 320)))}
#et-main-area h2 {font-size: calc(24px + (30 - 24) * ((100vw - 320px) / (1600 - 320)))} 
#et-main-area h3 {font-size: calc(18px + (20 - 18) * ((100vw - 320px) / (1600 - 320)))}
#et-main-area h4 {font-size: calc(16px + (18 - 16) * ((100vw - 320px) / (1600 - 320)))}
#et-main-area h5 {font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1600 - 320)))}
#et-main-area h1, #et-main-area h2, #et-main-area h3, #et-main-area h4, #et-main-area h5 {font-family: var(--headerfont);font-weight:800}

.blue {color:var(--blue); font-weight:800}
.et_pb_menu {flex: 1!important}
 .current-menu-item a{background-color:var(--blue); border-radius:15px; color:#fff; padding: 10px!important}

.mtherapie.current-menu-item a {background-color:var(--green);}
.meltern.current-menu-item a {background-color:var(--orange);}


.et_pb_menu__menu>nav>ul>li {align-items: center!important}

#mobile_menu1{text-align: center}

.uber .et_pb_blurb_container{padding:0}
.cm-btn:after{right:0}

#powerTip{background-color: var(--rot)}
.redtext {font-weight:600; color: var(--rot)}
/* =========================
   GRID
========================= */
.standorte-grid { display:grid; gap:10px; }
.standorte-grid.variant-full    { grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.standorte-grid.variant-reduced { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:20px; align-items:stretch; }

/* =========================
   CARD BASE
========================= */
.standort-card {
    border-radius:12px;
    transition:transform .3s ease, box-shadow .2s ease;
    box-shadow:0 6px 20px rgba(0,0,0,.06);
    background:#fff;
    display:flex;
    flex-direction:column;  /* gleiche Höhe: Inhalt streckt sich */
}
.standort-card:hover { transform:scale(1.03); box-shadow:0 6px 18px rgba(0,0,0,.08); }

/* =========================
   FULL CARD
========================= */
.standort-card.full { padding:12px; text-align:left; }

/* Image */
.standort-card.full .standort-image { width:100%; overflow:hidden; border-radius:6px; position:relative; height:190px; flex-shrink:0; }
.standort-card.full .standort-image img { width:100%; height:100%; object-fit:cover; display:block; }

/* Ticker */
.standort-card.full .container-ticker { height:30px; display:flex; flex-direction:column; justify-content:center; margin-top:-30px; }
.container-ticker .ditty { color:#000; background:rgba(255,255,255,.6); padding:10px; }

/* Title */
.standort-titel { font-weight:500; font-size:16px; padding:10px 0 0 0; text-align:center; margin:0; }

/* Adresszusatz */
.standort-adresszusatz, .adresszusatz { font-size:12px; text-align:center; opacity:.75; line-height:1.2; margin:4px 0 8px; }

/* =========================
   CONTENT GRID: 2 SPALTEN
   links Kontakt+Zeiten | rechts AP
========================= */
.standort-card.full .standort-content {display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px 0 12px;flex:1}

.standort-left  { grid-column:1; display:flex; flex-direction:column; gap:8px; }
.standort-right { grid-column:2; }

/* Adresse */
.standort-adresse { display:flex; flex-direction:column; gap:2px; font-size:14px; }
.standort-adresse i { margin-bottom:4px; color:#0090D7; }

/* Contact */
.standort-contact { color:var(--blue); font-weight:600; }
.standort-left .standort-contact { display:flex; flex-direction:column; gap:5px; }
.standort-left .standort-contact span { display:flex; align-items:center; gap:6px; font-size:13px; }
.standort-left .standort-contact a { text-decoration:none; color:inherit; }

/* Bürozeiten + Telefonisch in der linken Spalte */
.standort-zeiten { display:flex; flex-direction:column; gap:6px; margin-top:4px; }
.reach-block { font-size:12px; line-height:1.4; }
.reach-block strong { display:block; font-size:12px; margin-bottom:2px; }

/* =========================
   ANSPRECHPARTNER (RECHTS)
========================= */
.standort-card.full .standort-right { text-align:center; }
.standort-card.full .apbild { display:flex; justify-content:center; }
.standort-card.full .apbild img { width:100%; max-width:120px; aspect-ratio:1/1; object-fit:cover; border-radius:8px; }
.standort-card.full .apname {font-weight:600; font-size:12px}

/* =========================
   HINWEIS: vollflächig, togglebar
========================= */
.standort-hinweis-wrap {
    margin:10px 0 0;
    border-top:1px solid #eee;
}

.hinweis-toggle {
    width:100%;
    background:none;
    border:0;
    cursor:pointer;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:8px;
    text-align:left;
    font-size:14px;
    font-weight:600;
    color:var(--blue,#0090D7);
    touch-action:manipulation;
}

.hinweis-chevron {
    margin-left:auto;
    transition:transform .3s ease;
    font-size:12px;
}

.hinweis-toggle.is-open .hinweis-chevron {
    transform:rotate(180deg);
}

.hinweis-body {
    height:0;
    overflow:hidden;
    transition:height .3s ease;
}

.hinweis-body-inner {
    padding:0 12px 12px;
}

.reach-wysiwyg {
    font-size:12px;
    line-height:1.5;
}

.reach-wysiwyg a {
    color:#1d4ed8;
    text-decoration:underline;
}

/* =========================
   BUTTONS
========================= */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; border-radius:12px; font-weight:500; transition:transform .15s ease, box-shadow .15s ease; }

.btn-route { background:var(--rot); color:#fff; font-size:14px; padding:6px 12px; width:100%; justify-content:center; margin-top:auto; }

.btn-row { padding:10px 12px 12px; margin-top:auto; }

.standort-card.reduced .btn-row-reduced { display:flex; justify-content:center; gap:8px;margin-top:20px }
.standort-card.reduced .btn-phone { background:var(--rot); color:#fff; border:none; padding:6px 12px; display:flex; align-items:center; justify-content:center; gap:6px; }

.standort-card.reduced .btn-phone:hover,
.btn-route:hover { transform:translateY(-1px); box-shadow:0 3px 6px rgba(0,0,0,.1); background:var(--blue); }

/* =========================
   REDUCED CARD
========================= */
.standort-card.reduced { padding:10px; border:1px solid #d9d9d9; text-align:center}
.standort-card.reduced .standort-pin { font-size:28px; margin-bottom:10px; color:#0090D7}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:1100px) {.standorte-grid.variant-full {grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px) {
    .standorte-grid.variant-full,
    .standorte-grid.variant-reduced {grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
    .standort-card.full .standort-content {grid-template-columns:1fr}
    .standort-card.full .btn-route {width:100%}}
@media (max-width:700px) {.standorte-grid.variant-full { grid-template-columns:1fr}}

/* =========================
   DETAILSEITE
========================= */
.standort-detail { max-width:1200px; margin:auto; }
.standort-header-image img { width:100%; height:350px; object-fit:cover; border-radius:25px; }
.standort-header { margin:40px 0; }
.standort-header h1 { margin-bottom:5px; }
.standort-grid-detail { display:grid; grid-template-columns:2fr 1fr; gap:30px; align-items:start; }
.info-card { background:#fff; border-radius:25px; padding:35px; box-shadow:0 10px 35px rgba(0,0,0,.08); margin-bottom:30px; }
.info-card h3 { margin-top:0; margin-bottom:25px; }
.info-card div { margin-bottom:12px; }
.standort-sidebar { position:sticky; top:120px; text-align:center; }
.apbild img { width:180px; height:180px; object-fit:cover; border-radius:50%; margin-bottom:20px; }
.apname { font-size:24px; font-weight:700; }
.apposition { color:#888; margin-top:8px; }
.standort-buttons { display:flex; gap:15px; flex-wrap:wrap; }
.standort-buttons a { padding:16px 30px; border-radius:50px; color:#fff; text-decoration:none; font-weight:600; }
.btn-route { background:#d81e34; }
.btn-phone { background:#1d4ed8; }
.btn-whatsapp { background:#22c55e; }

@media(max-width:900px) {
    .standort-grid-detail { grid-template-columns:1fr; }
    .standort-sidebar { position:static; }
    .standort-buttons { flex-direction:column; }
}

/* =========================
   WRAPPER FIXED AM RAND
========================= */
@media (min-width:768px) { .phone-float, .whatsapp-float { display:none; } }

.whatsapp-float { position:fixed; right:0; top:20%; transform:translateY(-50%); z-index:9999; }
.whatsapp-float a { width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:#25D366; color:#fff; text-decoration:none; border-radius:8px 0 0 8px; box-shadow:0 2px 18px rgba(0,0,0,.3); font-size:22px; }
.whatsapp-float a:hover { background:#1da851; }

.phone-float { position:fixed; right:0; top:55%; transform:translateY(-50%); z-index:9998; pointer-events:none;}
.phone-float__panel { display:flex; align-items:stretch; transform:translateX(calc(100% - 44px)); transition:.35s ease; }
.phone-float__tab,
.phone-float.open .phone-float__content {
    pointer-events:auto;
}
.phone-float.open .phone-float__panel { transform:translateX(0); }
.phone-float__tab { width:44px; height:44px; background:#0090D7; color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; border-radius:8px 0 0 8px; flex-shrink:0; box-shadow:0 2px 18px rgba(0,0,0,.3); }
.phone-float__content { width:260px; background:#f7f8fa; box-shadow:-4px 0 15px rgba(0,0,0,.15); overflow:hidden; border-radius:10px 0 0 10px; padding:10px; }
.phone-float__content ul { margin:0; padding:0; list-style:none; }
.phone-float__content { width:260px; background:#f7f8fa; box-shadow:-4px 0 15px rgba(0,0,0,.15); overflow:hidden; border-radius:10px 0 0 10px; padding:10px; pointer-events:none; }
.phone-float.open .phone-float__content { pointer-events:auto; }
.phone-card { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; margin-bottom:10px; background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.06); }
.phone-card__info { display:flex; flex-direction:column; gap:2px; }
.phone-card__title { font-size:14px; font-weight:500; color:#333; }
.phone-card__hours { font-size:11px; opacity:.6; line-height:1.3; }
.phone-card__action { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#0090D7; color:#fff; text-decoration:none; flex-shrink:0; }
.phone-card__action i { font-size:15px; }
.phone-card__action:hover { background:#007bb3; }


.et_pb_scroll_top.et-pb-icon {bottom: 32px!important}

/* Wasserzeichen Overlay */
.wp-watermark-wrapper {position: relative;display: inline-block; width: 100%;}
.wp-watermark-wrapper img {display: block}
.wp-watermark-wrapper::after {content: "";position: absolute;inset: 0;background-image: url(http://s1089257403.online.de/wp-content/uploads/2026/03/cropped-Lernfuechse_Logo_Bildmarke_RGB-Favicon512.png);background-repeat: no-repeat;background-position: bottom left;background-size: 20%;opacity: .4;pointer-events: none}
.wm-overlay {position: relative}
.wm-overlay::after {content: ""; position: absolute; inset: 0;background: url("http://s1089257403.online.de/wp-content/uploads/2026/03/cropped-Lernfuechse_Logo_Bildmarke_RGB-Favicon512.png") bottom left / 20% no-repeat; opacity: 0.2; pointer-events: none}



.standort-card {position: relative}

.standort-edit-corner {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    background: var(--blue);
    padding: 6px 10px;
    border-radius: 6px;
    color: #fff;
    text-decoration: none;
    display: flex;
    gap: 6px;
    align-items: center;
    z-index: 10;
    opacity: 0;
    transition: 0.2s ease;
}

.standort-card:hover .standort-edit-corner {opacity: 1}