/* === LAST UPDATE 2026-08-09 02:57:55 === */
/* === fonts.css === */
/* inter-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/inter/inter-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/inter/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/inter/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/inter/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/inter/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/playfair-display/playfair-display-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/playfair-display/playfair-display-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-500italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/playfair-display/playfair-display-v40-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/playfair-display/playfair-display-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/playfair-display/playfair-display-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* === style.css === */


/* === base.css === */
/* ===========================================================
   Heartlines – base.css  (geteilt von allen Seiten)
   =========================================================== */
:root{--teal:#1496a6;--teal-dark:#0f7d8b;
  --red:#d62b3e; --red-dark:#bf2336;
  --orange:#e8a13c; --orange-dark:#dc9128;
  --serif-red:#c0362f;
  --ink:#2c2c2c; --gray:#6f6f6f; --gray-soft:#8b8b8b;
  --line:#f1dede; --line-soft:#eee;
  --bg:#ffffff; --bg-soft:#fdf4f2;
  --green:#22a45d; --gold:#e9a93a;
  --shadow:0 4px 20px rgba(150,60,60,.07);
  --shadow-lg:0 10px 34px rgba(160,60,70,.12);
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Playfair Display',serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
section{position:relative}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot.on{background:var(--green)}.dot.busy{background:var(--red)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Inter';font-weight:600;
  font-size:15px;border:none;cursor:pointer;border-radius:10px;padding:13px 22px;transition:.18s;white-space:nowrap}
.btn img,.btn svg{width:18px;height:18px}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}
.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:var(--orange-dark)}
.btn-white{background:#fff;color:var(--serif-red);border:1px solid #f3d9d9}.btn-white:hover{border-color:var(--red);color:var(--red)}
.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-outline:hover{border-color:var(--red);color:var(--red)}
.btn-ghost-o{background:#fff;color:var(--orange-dark);border:1px solid #f0dcc4}.btn-ghost-o:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-ghost-r{background:transparent;color:var(--red);border:1px solid var(--red)}.btn-ghost-r:hover{background:var(--red);color:#fff}
.btn-block{width:100%}

/* ---------- section title ---------- */
.sec-title{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:42px}
.sec-title h2{font-size:34px;font-weight:700;color:var(--serif-red)}
.sec-title .deco{flex:0 0 90px;height:1px;background:linear-gradient(90deg,transparent,#e6c4c4);position:relative}
.sec-title .deco.r{background:linear-gradient(90deg,#e6c4c4,transparent)}
.sec-title .deco::after{content:"\2665";position:absolute;top:-11px;color:#eca9a9;font-size:14px}
.sec-title .deco.l::after{right:-4px}.sec-title .deco.r::after{left:-4px}

/* ---------- header ---------- */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.nav{display:flex;align-items:center;height:88px;gap:38px}
.logo img{height:46px;width:auto}
.burger{display:none;background:none;border:none;cursor:pointer;color:var(--ink)}
.burger svg{width:26px;height:26px}
.menu{display:flex;gap:32px}
.menu a{font-size:15px;font-weight:500;transition:.15s}
.menu a:hover{color:var(--red)}.menu a.active{color:var(--red);font-weight:600}
.nav-right{margin-left:auto;display:flex;gap:14px;align-items:center}
.nav-icon{display:none}

/* ---------- mobile drawer ---------- */
.drawer{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.25s;z-index:80}
.drawer.open{opacity:1;visibility:visible}
.drawer-panel{position:absolute;left:0;top:0;height:100%;width:78%;max-width:320px;background:#fff;
  padding:26px 24px;transform:translateX(-100%);transition:.25s;display:flex;flex-direction:column;gap:6px}
.drawer.open .drawer-panel{transform:none}
.drawer-panel .dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.drawer-panel .dh img{height:40px}
.drawer-panel a{padding:13px 4px;font-weight:500;border-bottom:1px solid var(--line-soft)}
.drawer-panel .db{display:flex;gap:12px;margin-top:18px}
.drawer-panel .db .btn{flex:1}
.x{background:none;border:none;cursor:pointer;font-size:26px;color:var(--gray);line-height:1}

/* ---------- footer ---------- */
footer{background:var(--bg-soft);border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:38px;padding-top:54px;padding-bottom:40px}
.foot .logo img{height:46px}
.foot-soc{display:flex;gap:12px;margin-top:20px}
.foot-soc a{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#999;transition:.15s}
.foot-soc a:hover{background:var(--red);color:#fff;border-color:var(--red)}.foot-soc a svg{width:18px;height:18px}
.fcol .acc-h{display:flex;justify-content:space-between;align-items:center}
.fcol .acc-h .ah-left{display:flex;align-items:center;gap:10px}
.fcol .acc-h .ah-ic{display:none;color:var(--red)}
.fcol h4{font-size:15.5px;font-weight:700;margin-bottom:16px}
.fcol .acc-h .chev{display:none}
.fcol a{display:block;font-size:14px;color:var(--gray);padding:6px 0;transition:.15s}
.fcol a:hover{color:var(--red)}
.pay{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;align-items:center}
.pay img{height:30px;width:auto;border:1px solid var(--line);border-radius:6px;background:#fff;padding:3px 7px}
.foot-mobile{display:none}
.copyright{text-align:center;padding:22px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--gray)}

/* ---------- shared responsive (header + footer) ---------- */
@media(max-width:920px){
  .menu,.nav-right .btn{display:none}
  .burger{display:block}
  .nav-icon{display:flex;color:var(--red)}
  .nav{height:70px;gap:16px}
  .logo{margin:0 auto}
  .nav-right{margin-left:0}
  .wrap{padding:0 18px}
  .sec-title h2{font-size:26px}.sec-title .deco{flex-basis:40px}

  /* footer mobile */
  .foot{grid-template-columns:1fr;gap:0;padding-top:36px;padding-bottom:8px}
  .foot .brand{margin-bottom:8px;text-align:center;display:flex;flex-direction:column;align-items:center}
  .foot .brand .logo{display:inline-flex;align-items:center;gap:12px}
  .foot .brand .logo::before,.foot .brand .logo::after{content:"\2665";color:#eca9a9;font-size:13px}
  .foot-soc{justify-content:center;margin:18px 0 8px}
  .fcol{border-bottom:1px solid var(--line)}
  .fcol h4{margin-bottom:0;font-weight:600;font-size:15px}
  .fcol .acc-h{padding:16px 2px;cursor:pointer}
  .fcol .acc-h .ah-ic{display:flex}.fcol .acc-h .ah-ic svg,.fcol .acc-h .ah-ic img{width:20px;height:20px}
  .fcol .acc-h .chev{display:block;transition:.2s;color:var(--gray)}
  .fcol.open .acc-h .chev{transform:rotate(180deg)}
  .fcol .acc-body{display:none;padding:0 2px 14px}
  .fcol.open .acc-body{display:block}
  .fcol.pay-col .acc-body{display:none!important}

  .foot-mobile{display:block;padding-top:8px;padding-bottom:4px}
  .foot-trust{display:flex;flex-direction:column;gap:18px;background:#fdeef0;border-radius:14px;padding:22px 20px;margin:14px 0 22px}
  .foot-trust .ft-item{display:flex;align-items:flex-start;gap:14px}
  .foot-trust .ft-ic{width:44px;height:44px;border-radius:50%;background:#fadce0;display:flex;align-items:center;justify-content:center;flex:none}
  .foot-trust .ft-ic img{width:22px;height:22px}.foot-trust .ft-ic svg{width:22px;height:22px;color:var(--red)}
  .foot-trust .ft-item b{display:block;font-size:14.5px}
  .foot-trust .ft-item span{font-size:12.5px;color:var(--gray)}
  .foot-pay{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:6px 0 18px}
  .foot-pay img{height:34px;width:auto;border:1px solid var(--line);border-radius:8px;background:#fff;padding:5px 12px}
  .copyright{position:relative;margin-top:8px}
  .copyright::before{content:"\2665";display:block;color:#eca9a9;font-size:14px;margin-bottom:14px}
}

/* ===========================================================
   Mobile Overlays: Navigation + Login ("Mein Konto")
   =========================================================== */
.hl-modal{display:none;position:fixed;inset:0;z-index:50;background:rgba(70,25,30,.14);
  align-items:flex-start;justify-content:center;padding:84px 16px 24px;overflow-y:auto}
.hl-modal.open{display:flex}
.hl-card{position:relative;width:100%;max-width:420px;background:#fff;border:1px solid #f6e2e2;
  border-radius:22px;box-shadow:0 24px 60px rgba(150,40,55,.22);padding:26px 22px;
  animation:hlpop .22s ease}
@keyframes hlpop{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
.hl-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--gray);font-size:20px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.hl-close:hover{border-color:var(--red);color:var(--red)}

/* --- Navigation modal --- */
.nav-list{margin:18px 0 20px}
.nav-row{display:flex;align-items:center;gap:16px;padding:15px 14px;border-radius:12px;
  position:relative;transition:.15s;color:var(--ink)}
.nav-row + .nav-row{border-top:1px solid var(--line-soft)}
.nav-row .nr-ic{width:26px;height:26px;color:var(--red);flex:none;display:flex;align-items:center;justify-content:center}
.nav-row .nr-ic svg{width:24px;height:24px}
.nav-row .nr-label{font-size:17px;font-weight:500;flex:1}
.nav-row .nr-chev{width:18px;height:18px;color:var(--red);flex:none}
.nav-row .nr-bar{display:none;width:3px;height:26px;border-radius:3px;background:var(--red);flex:none}
.nav-row:hover{background:#fdf3f2}
.nav-row.active{background:linear-gradient(90deg,#fde3e6,#fceef0)}
.nav-row.active .nr-label{color:var(--red);font-weight:700}
.nav-row.active .nr-chev{display:none}
.nav-row.active .nr-bar{display:block}
.nav-actions{display:flex;flex-direction:column;gap:12px}
.nav-actions .btn{width:100%;font-size:16px;padding:15px}
.btn-grad{background:linear-gradient(180deg,#e5384b,#bf1f30);color:#fff;border:none}
.btn-grad:hover{background:linear-gradient(180deg,#d92d40,#a81a2a)}

/* --- Login modal --- */
.lm-title{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:var(--serif-red);margin:6px 0 6px}
.lm-sub{display:flex;align-items:center;gap:8px;font-size:15.5px;color:#555;margin-bottom:24px}
.lm-sub svg{width:17px;height:17px;color:var(--red)}
.lm-label{display:block;font-size:14.5px;font-weight:600;margin:0 0 9px}
.lm-field{display:flex;align-items:center;gap:10px;border:1px solid #ecd9d9;border-radius:12px;
  padding:0 14px;margin-bottom:20px;transition:.15s;background:#fff}
.lm-field:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(214,43,62,.08)}
.lm-field .lf-ic{width:20px;height:20px;color:#c39b9b;flex:none}
.lm-field input{flex:1;border:none;outline:none;padding:15px 0;font-size:15px;font-family:'Inter';color:var(--ink);background:transparent}
.lm-field .lf-eye{background:none;border:none;cursor:pointer;color:#b89a9a;display:flex;padding:6px}
.lm-field .lf-eye svg{width:20px;height:20px}
.lm-submit{position:relative;width:100%;justify-content:center;font-size:16px;padding:16px;margin-top:4px}
.lm-submit .arr{position:absolute;right:18px;width:18px;height:18px}
.lm-forgot{display:block;text-align:center;color:var(--red);font-weight:600;font-size:14.5px;
  margin-top:18px;text-decoration:underline;text-underline-offset:3px;text-decoration-style:dotted}

@media(min-width:921px){
  .hl-modal{align-items:center;padding-top:24px}
}
@media(max-width:920px){
  /* header user icon as soft circle with notification dot */
  .nav-icon{position:relative;width:42px;height:42px;border-radius:50%;background:#fdeef0;
    display:flex;align-items:center;justify-content:center}
  .nav-icon::after{content:"";position:absolute;top:3px;right:4px;width:8px;height:8px;
    background:var(--red);border-radius:50%;border:2px solid #fff}
}

/* ===== 2-Ebenen-Navigation: Desktop-Dropdown ===== */
.menu-item-has-children{position:relative;display:flex;align-items:center}
.menu-item-has-children > a{display:inline-flex;align-items:center;gap:5px}
.menu-item-has-children > a .caret{width:13px;height:13px;transition:transform .2s}
.menu-item-has-children:hover > a{color:var(--red)}
.menu-item-has-children:hover > a .caret{transform:rotate(180deg)}
.sub-menu{position:absolute;top:100%;left:0;margin-top:12px;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;list-style:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;z-index:60}
.menu-item-has-children:hover > .sub-menu,.menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}   /* Hover-Brücke über die Lücke */
.sub-menu li{margin:0}
.sub-menu a{display:block;padding:10px 14px;border-radius:8px;font-size:14.5px;font-weight:500;color:#555;white-space:nowrap}
.sub-menu a:hover{background:#fdf3f2;color:var(--red)}
/* letztes Dropdown rechtsbündig, damit es nicht aus dem Header läuft */
.menu > .menu-item-has-children:last-child .sub-menu{left:auto;right:0}

/* ===== 2-Ebenen-Navigation: Mobile-Overlay (Ausklappen) ===== */
.nav-group{border-top:1px solid var(--line-soft)}
.nav-group:first-child{border-top:none}
.nav-group .nav-row.has-sub{width:100%;background:none;border:none;cursor:pointer;font:inherit;text-align:left}
.nav-group .nav-row.has-sub .nr-chev{transition:transform .2s}
.nav-group.open .nav-row.has-sub .nr-chev{transform:rotate(90deg)}
.nav-sub{overflow:hidden;max-height:0;transition:max-height .3s ease;padding-left:42px}
.nav-group.open .nav-sub{max-height:640px}
.nav-sub-row{display:block;padding:12px 14px;font-size:15px;color:#555;border-top:1px solid var(--line-soft)}
.nav-sub-row:first-child{border-top:none}
.nav-sub-row:hover{color:var(--red)}



.dot.on,.dot.online{background:var(--green)}   /* Online  – grün   */
.dot.offline{background:#b8bcc4}               /* Offline – grau   */
.dot.pause{background:var(--orange)}           /* Pause   – orange */
.dot.busy,.dot.spricht{background:var(--red)}  /* Spricht – rot    */

/* === home.css === */
/* ===========================================================
   Heartlines – home.css  (Startseite)
   =========================================================== */

/* ---------- HERO ---------- */
.hero{position:relative;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:right top}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(253,235,232,.92) 0%,rgba(253,233,230,.7) 38%,rgba(252,225,222,.25) 58%,rgba(255,220,210,0) 75%)}
.hero-inner{position:relative;z-index:2;padding-top:80px;padding-bottom:130px}
/* Desktop: Hero im 16:9-Format -> komplettes Banner sichtbar, Text vertikal zentriert */
@media(min-width:921px){
  .hero{aspect-ratio:1920/1080;display:flex;align-items:center}
  .hero-inner{width:100%;padding-top:40px;padding-bottom:70px}
}
.hero-content{max-width:560px}
.hero h1{font-size:58px;line-height:1.08;color:var(--serif-red);font-weight:700;letter-spacing:.5px}
.hero .lead{font-size:19px;color:#7a4a44;margin-top:22px;max-width:470px;font-weight:500}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-btns .btn{font-size:16px;padding:15px 24px}
.search{display:flex;margin-top:26px;max-width:560px;background:#fff;border-radius:11px;box-shadow:0 6px 22px rgba(150,60,60,.12);overflow:hidden}
.search input{flex:1;border:none;outline:none;padding:16px 20px;font-size:15px;font-family:'Inter';color:var(--ink)}
.search button{background:var(--red);border:none;color:#fff;width:60px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.search button:hover{background:var(--red-dark)}
.search button svg{width:22px;height:22px}
.trust{display:flex;flex-wrap:wrap;gap:28px;margin-top:26px}
.trust .ti{display:flex;align-items:center;gap:9px;color:var(--serif-red);font-size:14.5px;font-weight:600}
.trust .ti svg{width:19px;height:19px;flex:none}
.hero-curve{position:absolute;left:0;right:0;bottom:-1px;z-index:2;width:100%;height:70px}

/* ---------- KATEGORIEN ---------- */
.cats{padding:74px 0 10px}
.cat-row{display:grid;grid-template-columns:repeat(8,1fr);gap:18px}
.cat{display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer}
.cat .circle{width:118px;height:118px;border-radius:50%;border:1px solid #f1dada;background:#fff;
  display:flex;align-items:center;justify-content:center;transition:.2s;box-shadow:0 3px 12px rgba(170,80,80,.05)}
.cat:hover .circle{transform:translateY(-4px);box-shadow:0 10px 24px rgba(180,70,80,.13);border-color:#f0c0c0}
.cat .circle img{width:72px;height:72px;object-fit:contain}
.cat span{font-size:14px;font-weight:500;color:#444;text-align:center;line-height:1.3;max-width:120px}

/* ---------- TOP BERATER ---------- */
.advisors{padding:70px 0 20px}
.adv-carousel{position:relative}
.adv-track{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.adv-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:.2s}
.adv-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.adv-photo{aspect-ratio:1/.86;overflow:hidden}
.adv-photo img{width:100%;height:100%;object-fit:cover}
.adv-body{padding:16px 16px 18px;text-align:center;display:flex;flex-direction:column;gap:8px}
.adv-body h3{font-family:'Inter';font-size:18px;font-weight:700}
.adv-stars{display:flex;align-items:center;justify-content:center;gap:6px}
.adv-stars .s{display:flex;gap:1px;color:var(--gold)}
.adv-stars .s svg{width:15px;height:15px}
.adv-stars .c{font-size:13px;color:var(--gray)}
.adv-spec{font-size:13px;color:var(--gray);min-height:34px}
.adv-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:500;color:#444}
.adv-actions{display:flex;gap:8px;margin-top:6px}
.adv-actions .btn{flex:1;padding:10px;font-size:13.5px}
.arrow{position:absolute;top:42%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#fff;
  border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;
  justify-content:center;color:var(--red);z-index:5;transition:.15s}
.arrow:hover{background:var(--red);color:#fff}.arrow svg{width:20px;height:20px}
.arrow.l{left:-20px}.arrow.r{right:-20px}

.adv-list{display:none;flex-direction:column;gap:16px}
.adv-list .row{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow)}
.adv-list .row img{width:96px;height:96px;border-radius:10px;object-fit:cover;flex:none}
.adv-list .info{flex:1;min-width:0}
.adv-list .info h3{font-family:'Inter';font-size:16px;font-weight:700}
.adv-list .info .adv-stars{justify-content:flex-start;margin:3px 0}
.adv-list .info .adv-spec{text-align:left;min-height:0;font-size:12.5px;margin-bottom:6px}
.adv-list .info .adv-status{justify-content:flex-start;margin-bottom:8px}
.adv-list .info .adv-actions .btn{padding:8px 10px;font-size:12.5px}
.adv-mob-head{display:none}
.adv-list-sec{display:none}

/* ---------- CTA ---------- */
.cta{padding:30px 0 60px}
.cta-box{position:relative;border-radius:22px;overflow:hidden;padding:46px 50px;display:flex;align-items:center;gap:36px}
.cta-box .cbg{position:absolute;inset:0;z-index:0}
.cta-box .cbg img{width:100%;height:100%;object-fit:cover}
.cta-box .cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,228,230,.55),rgba(253,238,236,.85) 60%)}
.cta-heart{position:relative;z-index:2;flex:none;width:200px;height:200px;display:flex;align-items:center;justify-content:center}
.cta-heart svg{width:100%;height:100%;filter:drop-shadow(0 8px 26px rgba(220,80,120,.4))}
.cta-mid{position:relative;z-index:2;flex:1}
.cta-mid h2{font-size:32px;color:var(--serif-red);font-weight:700;line-height:1.15}
.cta-mid p{font-size:16px;color:#5e4548;margin:12px 0 22px;max-width:480px}
.cta-mid .cbtns{display:flex;flex-wrap:wrap;gap:14px}
.cta-pills{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;gap:14px}
.pill{background:#fff;border:1px solid #f3dada;border-radius:30px;padding:11px 20px;display:flex;align-items:center;gap:11px;
  font-size:14.5px;font-weight:600;box-shadow:0 3px 10px rgba(160,70,80,.08);white-space:nowrap}
.pill svg,.pill img{width:18px;height:18px}

/* ---------- FEATURES ---------- */
.feats{padding:34px 0 70px;border-top:1px solid var(--line-soft);margin-top:10px}
.feat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.feat{display:flex;gap:16px;align-items:flex-start}
.feat .ic{width:58px;height:58px;border-radius:50%;background:#fdeedf;display:flex;align-items:center;justify-content:center;flex:none}
.feat .ic img{width:34px;height:34px}.feat .ic svg{width:30px;height:30px;color:var(--orange)}
.feat h3{font-family:'Inter';font-size:17px;font-weight:700;margin-bottom:6px}
.feat p{font-size:13.5px;color:var(--gray)}

/* ---------- MAGAZIN ---------- */
.mag{padding:30px 0 80px}
.mag-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.mag-head .sec-title{margin-bottom:0}
.mag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.art{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:.2s;display:flex;flex-direction:column}
.art:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.art .imgwrap{position:relative;aspect-ratio:1.25/1;overflow:hidden}
.art .imgwrap img{width:100%;height:100%;object-fit:cover}
.art .cat-tag{position:absolute;left:14px;top:14px;background:var(--red);color:#fff;font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:6px}
.art .ab{padding:20px;flex:1;display:flex;flex-direction:column}
.art h3{font-size:20px;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:auto}
.art .more{display:inline-flex;align-items:center;gap:7px;color:var(--red);font-weight:600;font-size:14px;margin-top:18px}
.art .more svg{width:16px;height:16px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1080px){
  .cat-row{grid-template-columns:repeat(4,1fr);gap:24px}
  .feat-row{grid-template-columns:repeat(2,1fr);gap:26px}
  .mag-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .hero h1{font-size:38px}
  .hero-inner{padding-top:48px;padding-bottom:90px}
  .hero-bg::after{background:linear-gradient(160deg,rgba(253,235,232,.95) 0%,rgba(253,232,228,.85) 55%,rgba(252,225,222,.55) 100%)}
  .hero .lead{font-size:16px}
  .hero-btns .btn{flex:1}
  .hero-btns .btn-white{flex-basis:100%}
  .trust{gap:14px 22px}

  .cats{padding:48px 0 6px}
  .cat-row{display:flex;overflow-x:auto;gap:18px;padding:4px 2px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .cat-row::-webkit-scrollbar{display:none}
  .cat{flex:0 0 auto;scroll-snap-align:start}
  .cat .circle{width:96px;height:96px}.cat .circle img{width:58px;height:58px}
  .cat span{font-size:12.5px;max-width:96px}

  .advisors{padding:44px 0 14px}
  .arrow{display:none}
  .adv-track{display:flex;overflow-x:auto;gap:16px;padding:4px 2px 14px;scroll-snap-type:x mandatory}
  .adv-track::-webkit-scrollbar{display:none}
  .adv-card{flex:0 0 78%;max-width:300px;scroll-snap-align:center}
  .adv-mob-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
  .adv-mob-head h2{font-size:22px;color:var(--serif-red)}
  .advisors .sec-title{display:none}

  .adv-list-sec{display:block;padding:6px 0 40px}
  .adv-list{display:flex}

  .cta-box{flex-direction:column;text-align:center;padding:34px 22px;gap:18px}
  .cta-heart{width:140px;height:140px}
  .cta-mid p{margin-left:auto;margin-right:auto}
  .cta-mid .cbtns{justify-content:center}.cta-mid .cbtns .btn{flex:1}
  .cta-pills{flex-direction:column;width:100%}.pill{justify-content:center}

  .feats{padding:24px 0 50px}.feat-row{grid-template-columns:1fr;gap:20px}
  .mag-head{flex-direction:column;gap:18px;align-items:stretch}
  .mag-head .btn{align-self:center}
  .mag-grid{grid-template-columns:1fr;gap:18px}
}

/* ===== Owl Carousel – Integration "Top Berater" ===== */
.adv-track.owl-carousel{overflow:visible}
.adv-track.owl-carousel .adv-card{max-width:none;margin:0}
.adv-carousel .owl-stage-outer{padding:6px 0 14px}        /* Hover-Lift & Schatten nicht abschneiden */
.adv-carousel .arrow{z-index:5}

/* ===========================================================
   Berater-Liste "Unsere Berater" (unter der CTA)
   =========================================================== */
.berater-liste{padding:8px 0 10px}
.bl-head{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:26px}
.bl-head .sec-title{margin:0}
.bl-allbtn{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:9px;font-size:14px;padding:11px 18px}
.bl-allbtn svg{width:18px;height:18px}

.bl-list{display:flex;flex-direction:column;gap:18px}
.bl-card{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid #f4e2e4;border-radius:18px;box-shadow:var(--shadow);padding:20px 26px;transition:.2s}
.bl-card:hover{box-shadow:var(--shadow-lg)}

/* rechteckiges Foto (wie mobile Version) */
.bl-photo{flex:none;width:150px;height:150px;border-radius:14px;overflow:hidden}
.bl-photo img{width:100%;height:100%;object-fit:cover}

.bl-main{flex:1;min-width:0}
.bl-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:7px}
.bl-name-row h3{font-size:25px;font-weight:700;color:#2b2b2b}
.bl-name-row .bl-stars{display:inline-flex;color:var(--gold)}
.bl-name-row .bl-stars svg{width:16px;height:16px}
.bl-name-row .bl-rate{font-size:14.5px;font-weight:700;color:#444}
.bl-name-row .bl-count{font-size:14.5px;color:var(--gray)}
.bl-spec{color:#8a8a8a;font-size:15px;margin-bottom:9px}
.bl-desc{color:#777;font-size:14.5px;line-height:1.6;max-width:60ch;margin-bottom:11px}
.bl-status{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:#444}
.bl-status .dot{width:9px;height:9px;border-radius:50%;flex:none}
.bl-status .dot.on{background:var(--green)}
.bl-status .dot.busy{background:var(--red)}

.bl-side{flex:none;width:262px;display:flex;flex-direction:column;gap:11px}
.bl-price{text-align:right;font-size:18px;font-weight:600;color:#333;margin-bottom:2px}
.bl-btn{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:13px 14px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.15s}
.bl-btn svg{width:18px;height:18px}
.bl-chat{background:var(--red);color:#fff}
.bl-chat:hover{background:var(--red-dark)}
.bl-call{background:#fff;border-color:#f0d0a8;color:var(--orange)}
.bl-call:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

@media(max-width:920px){
  .bl-head{justify-content:space-between;gap:12px}
  .bl-head .sec-title{justify-content:flex-start}
  .bl-head .sec-title .deco{display:none}
  .bl-head .sec-title h2{font-size:22px}
  .bl-allbtn{position:static;transform:none;flex:none;font-size:12.5px;padding:9px 12px;white-space:nowrap}
  .bl-card{flex-wrap:wrap;gap:14px 16px;padding:18px}
  .bl-photo{width:96px;height:96px}
  .bl-main{flex:1 1 0;min-width:150px}
  .bl-desc{display:none}
  .bl-side{flex:1 1 100%;width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  .bl-price{flex:1 1 100%;text-align:left;font-size:16px;margin-bottom:0}
  .bl-btn{flex:1 1 0;min-width:130px}
}

/* ===== Owl Carousel – Integration "Kategorien" (einzeilig & wischbar) ===== */
.cat-row.owl-carousel{overflow:visible}
.cats .owl-stage-outer{padding:6px 0 12px}      /* Hover-Lift & Schatten nicht abschneiden */
.cat-row.owl-carousel .owl-item{display:flex;justify-content:center}
.cat-row.owl-carousel .cat{width:100%}
.cat-row.owl-carousel.owl-drag .cat{cursor:grab}

/* Ohne JS: Kategorien als Raster statt block-gestapelt */
.no-js .cat-row.owl-carousel{display:grid}

/* Kategorien-Slider: Pfeile (rechts = "da ist mehr") */
.cat-carousel{position:relative}
.cat-carousel .arrow{top:65px;z-index:5}          /* auf Höhe der Kreise */

/* ===========================================================
   Top-Herzleser – mobile Slider-Navigation
   =========================================================== */

@media (max-width: 559px) {

  /* Punkte unterhalb der Top-Herzleser-Karte */
  #advTrack .owl-dots {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    padding-bottom: 4px;
  }

  /* Einzelner Navigationspunkt */
  #advTrack .owl-dot {
    appearance: none;
    -webkit-appearance: none;
    width: 9px;
    height: 9px;
    min-width: 9px;
    padding: 0 !important;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: #efc8cc !important;
    box-shadow: none;
    cursor: pointer;
    transition:
      width .2s ease,
      background-color .2s ease,
      transform .2s ease;
  }

  /* Eventuell von Owl erzeugtes inneres span ausblenden */
  #advTrack .owl-dot span {
    display: none !important;
  }

  /* Aktuell sichtbarer Herzleser */
  #advTrack .owl-dot.active {
    width: 22px;
    background: var(--red) !important;
  }

  /* Tastatur-Fokus */
  #advTrack .owl-dot:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 3px;
  }
}

/* Ab Tablet keine Slider-Punkte notwendig */
@media (min-width: 560px) {
  #advTrack .owl-dots {
    display: none !important;
  }
}

/* ===========================================================
   Mobile Herzleser-Liste – kompakte Aktionsbuttons
   Verhindert zweizeilige / überhohe Chatbuttons auf schmalen Geräten.
   =========================================================== */
@media (max-width: 920px) {
  .bl-side{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:100%;
    gap:9px;
    align-items:stretch;
  }

  .bl-price{
    grid-column:1 / -1;
    width:100%;
    text-align:left;
    margin:0 0 2px;
  }

  .bl-btn{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:10px 8px;
    gap:6px;
    font-size:13.5px;
    line-height:1.15;
    white-space:nowrap;
  }

  .bl-btn svg{
    width:16px;
    height:16px;
    flex:none;
  }
}

@media (max-width: 360px) {
  .bl-btn{
    font-size:12.5px;
    padding-left:6px;
    padding-right:6px;
  }
}

/* ===========================================================
   Heartlines – aktiver Chatbutton pulsiert bei Verfügbarkeit
   =========================================================== */
@keyframes heartlines-chat-pulse {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 0 0 0 rgba(214,43,62,.30),
      0 5px 14px rgba(214,43,62,.12);
  }
  50% {
    transform: translateY(-1px) scale(1.025);
    box-shadow:
      0 0 0 9px rgba(214,43,62,0),
      0 8px 20px rgba(214,43,62,.18);
  }
}

/*
 * Beide Herzleser-Ausgaben verwenden bei aktivem Chat "isaktive":
 * - .bl-chat.isaktive                 = normale Listen-/Zeilenansicht
 * - .adv-actions .btn-red.isaktive    = Top-Herzleser-/Kartenansicht
 *
 * Damit greift dieselbe Animation auf Startseite, Herzleser finden
 * und den Gefühlsseiten. Offline-/Pause-Buttons bleiben ruhig.
 */
.bl-chat.isaktive,
.adv-actions .btn.btn-red.isaktive {
  animation: heartlines-chat-pulse 1.9s ease-in-out infinite;
  transform-origin: center;
  will-change: transform, box-shadow;
}

.bl-chat.isaktive:hover,
.bl-chat.isaktive:focus-visible,
.adv-actions .btn.btn-red.isaktive:hover,
.adv-actions .btn.btn-red.isaktive:focus-visible {
  animation-play-state: paused;
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .bl-chat.isaktive,
  .adv-actions .btn.btn-red.isaktive {
    animation: none;
    transform: none;
  }
}



/* === content.css === */
/* ===========================================================
   Heartlines – content.css
   Inhaltsseite: Hero-Band + Sidebar (sticky) + Content
   =========================================================== */
body{background:linear-gradient(180deg,#fdf1f1 0%,#fdf5f1 24%,#fff 58%)}

/* ---- Hero-Band ---- */
.page-hero{background:linear-gradient(120deg,#fdeef0,#fcf4ee);border-bottom:1px solid var(--line);padding:42px 0 46px;text-align:center}
.page-hero .crumb{display:flex;justify-content:center;align-items:center;gap:10px;font-size:14px;color:var(--gray);margin-bottom:16px}
.page-hero .crumb a{color:var(--gray)}
.page-hero .crumb a:hover{color:var(--red)}
.page-hero .crumb .sep{color:#d8b9b9}
.page-hero .crumb .cur{color:var(--ink);font-weight:500}
.page-hero h1{font-family:'Playfair Display',serif;font-size:46px;font-weight:700;color:var(--serif-red);line-height:1.1}
.page-hero .sub{font-size:16px;color:#7a5a55;margin-top:14px;max-width:620px;margin-left:auto;margin-right:auto;line-height:1.6}

/* ---- Layout ---- */
.content-wrap{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;padding-top:46px;padding-bottom:72px}

/* ---- Sidebar ---- */
.c-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:20px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px 24px}
.side-card h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--gray);margin-bottom:14px}
.toc{display:flex;flex-direction:column}
.toc a{font-size:14.5px;color:#555;padding:9px 0 9px 14px;border-left:2px solid #efe2e2;transition:.15s}
.toc a:hover,.toc a.active{color:var(--red);border-left-color:var(--red)}

/* CTA-Card */
.c-cta{background:radial-gradient(circle at 22% 18%,#fbdbe2,#fdeef0 55%,#fdf3ee);border:1px solid #f6dada;border-radius:16px;padding:24px;text-align:center}
.c-cta .heart{width:50px;height:50px;margin:0 auto 12px;color:var(--red)}
.c-cta h4{font-size:17px;color:var(--serif-red);font-weight:700;margin-bottom:8px;text-transform:none;letter-spacing:0}
.c-cta p{font-size:13.5px;color:#6a5550;line-height:1.55;margin-bottom:16px}
.c-cta .btn{width:100%;justify-content:center}

/* ---- Content ---- */
.c-content{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:44px 50px}
.c-content h2{font-family:'Playfair Display',serif;font-size:27px;font-weight:700;color:var(--serif-red);margin:38px 0 14px;scroll-margin-top:100px}
.c-content h2:first-child{margin-top:0}
.c-content h3{font-size:19px;font-weight:700;color:var(--ink);margin:24px 0 10px}
.c-content p{font-size:16px;color:#454545;line-height:1.75;margin-bottom:16px}
.c-content .lead{font-size:18px;color:#5a4a48;line-height:1.7}
.c-content ul{list-style:none;margin:0 0 18px;padding:0}
.c-content li{position:relative;padding-left:28px;margin-bottom:11px;font-size:15.5px;color:#454545;line-height:1.6}
.c-content li::before{content:"";position:absolute;left:2px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--red)}
.c-content a.inline{color:var(--red);text-decoration:underline;text-underline-offset:2px}

/* nummerierte Schritte */
.c-steps{display:flex;flex-direction:column;gap:20px;margin:6px 0 26px}
.c-step{display:flex;gap:18px;align-items:flex-start}
.c-step .num{flex:none;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.c-step .s-body h3{margin:7px 0 6px}
.c-step .s-body p{margin:0}

/* Callout / Hinweisbox */
.callout{display:flex;gap:14px;background:#fdeef0;border:1px solid #f6dada;border-left:4px solid var(--red);border-radius:0 12px 12px 0;padding:18px 22px;margin:26px 0}
.callout svg{width:24px;height:24px;color:var(--red);flex:none;margin-top:1px}
.callout p{margin:0;font-size:15px;color:#6a4a48;line-height:1.6}
.callout b{color:var(--serif-red)}

/* FAQ */
.faq{border-top:1px solid var(--line-soft)}
.faq .q{padding:18px 0;border-bottom:1px solid var(--line-soft)}
.faq .q h3{margin:0 0 6px;font-size:17px}
.faq .q p{margin:0;font-size:15px;color:#555;line-height:1.65}

/* ---- Mobile ---- */
@media(max-width:980px){
  .content-wrap{grid-template-columns:1fr;gap:22px;padding-top:26px;padding-bottom:46px}
  .c-side{position:static}
  .page-hero{padding:30px 0 32px}
  .page-hero h1{font-size:30px}
  .c-content{padding:26px 22px}
  .c-content h2{font-size:23px}
}

/* ===========================================================
   Sidebar-Widgets (WordPress-kompatibles Markup)
   .widget > .widget__head/.widgettitle + .widget__body
   Navigation: ul.menu > li.menu-item > a
   =========================================================== */
.c-side .widget{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}

/* Kopf / Titel (Gold-Header) */
.widget__head{background:linear-gradient(135deg,var(--gold),#cf8f2c);padding:15px 22px}
.widget__head .title{margin:0}
.widget__head .widgettitle{margin:0;color:#fff;font-family:'Playfair Display',serif;font-size:19px;font-weight:700;letter-spacing:.2px}
.widget__body{padding:0}

/* Navigationsmenüs: li.menu-item > a mit Punkt + Trennlinien
   (display:block überschreibt das globale .menu der Header-Navigation) */
.c-side .widget .menu{display:block;list-style:none;margin:0;padding:0}
.c-side .widget .menu-item{display:block;width:100%}
.widget .menu-item{border-bottom:1px solid var(--line-soft)}
.widget .menu-item:last-child{border-bottom:none}
.widget .menu-item > a{display:flex;align-items:center;gap:12px;padding:12px 22px;font-size:14.5px;color:#555;line-height:1.3;transition:.15s}
.widget .menu-item > a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none;transition:.15s}
.widget .menu-item > a:hover{background:#fdf3f2;color:var(--red);padding-left:27px}
.widget .menu-item > a:hover::before{background:var(--red)}
.widget .menu-item.current-menu-item > a{color:var(--red);font-weight:600}
.widget .menu-item.current-menu-item > a::before{background:var(--red)}

/* Text-Widget (z. B. black-studio-tinymce / .textwidget) */
.widget_black_studio_tinymce .widget__body,.widget .textwidget{padding:16px 22px}
.widget .textwidget p{font-size:14.5px;color:#555;line-height:1.6;margin:0 0 10px}
.widget .textwidget ul{list-style:none;margin:0;padding:0}
.widget .textwidget li{position:relative;padding-left:20px;margin-bottom:7px;font-size:14.5px;color:#555}
.widget .textwidget li::before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* CTA-Widget */
.widget_cta .widget__body{padding:24px;text-align:center;background:radial-gradient(circle at 22% 18%,#fbdbe2,#fdeef0 55%,#fdf3ee)}
.widget_cta .heart{width:48px;height:48px;margin:0 auto 12px;color:var(--red)}
.widget_cta h4{font-size:17px;color:var(--serif-red);font-weight:700;margin-bottom:8px}
.widget_cta p{font-size:13.5px;color:#6a5550;line-height:1.55;margin-bottom:16px}
.widget_cta .btn{width:100%;justify-content:center}

/* ===========================================================
   Sidebar-Position flexibel: links (Standard) oder rechts
   .content-wrap.sidebar-left  -> Sidebar links (= Standard)
   .content-wrap.sidebar-right -> Sidebar rechts
   =========================================================== */
.content-wrap.sidebar-right{grid-template-columns:1fr 300px}
.content-wrap.sidebar-right .c-side{order:2}   /* Sidebar nach rechts; mobil unter den Content */

/* Mobil: Rechts-Variante ebenfalls einspaltig (Content oben, Sidebar unten) */
@media(max-width:980px){
  .content-wrap.sidebar-right{grid-template-columns:1fr}
}


/* === blog.css === */
/* ===========================================================
   Heartlines – blog.css  (Magazin-Übersicht & Artikel)
   =========================================================== */
body{background:linear-gradient(180deg,#fdf1f1 0%, #fdf5f1 26%, #ffffff 60%)}

/* hero band */
.blog-hero{background:linear-gradient(120deg,#fdeef0,#fcf4ee);border-bottom:1px solid var(--line);padding:46px 0 50px;text-align:center}
.blog-hero .crumb{justify-content:center;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gray);margin-bottom:16px}
.blog-hero .crumb .sep{color:#d8b9b9}.blog-hero .crumb .cur{color:var(--ink);font-weight:500}
.blog-hero h1{font-size:48px;font-weight:700;color:var(--serif-red);line-height:1.08}
.blog-hero p{font-size:17px;color:#7a5a55;margin-top:14px;max-width:560px;margin-left:auto;margin-right:auto}

/* filter chips */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:34px 0 6px}
.chip{border:1px solid var(--line);background:#fff;border-radius:30px;padding:9px 20px;font-size:14px;font-weight:500;color:#555;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--red);color:var(--red)}
.chip.active{background:var(--red);color:#fff;border-color:var(--red)}

/* featured */
.featured{margin:38px 0 10px}
.feat-card{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}
.feat-card .imgwrap{position:relative;min-height:340px}
.feat-card .imgwrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-card .ftag{position:absolute;left:18px;top:18px;background:var(--red);color:#fff;font-size:12px;font-weight:600;padding:6px 14px;border-radius:7px}
.feat-card .fbody{padding:42px 44px;display:flex;flex-direction:column;justify-content:center}
.feat-card .pill-feat{display:inline-block;background:#fdeedf;color:var(--orange-dark);font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;margin-bottom:16px;width:fit-content;letter-spacing:.4px}
.feat-card h2{font-size:32px;font-weight:700;line-height:1.18;color:var(--ink)}
.feat-card p{font-size:15.5px;color:var(--gray);margin:16px 0 22px}
.feat-card .meta{display:flex;align-items:center;gap:14px;font-size:13.5px;color:var(--gray);margin-bottom:24px}
.feat-card .meta .av{width:34px;height:34px;border-radius:50%;object-fit:cover}
.feat-card .meta .sep{width:4px;height:4px;border-radius:50%;background:#d9c4c4}

/* grid */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:30px 0 80px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s}
.bcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.bcard .imgwrap{position:relative;aspect-ratio:1.5/1;overflow:hidden}
.bcard .imgwrap img{width:100%;height:100%;object-fit:cover;transition:.3s}
.bcard:hover .imgwrap img{transform:scale(1.05)}
.bcard .ctag{position:absolute;left:14px;top:14px;background:var(--red);color:#fff;font-size:11.5px;font-weight:600;padding:5px 12px;border-radius:6px}
.bcard .bbody{padding:22px;flex:1;display:flex;flex-direction:column}
.bcard h3{font-size:21px;font-weight:600;line-height:1.3;color:var(--ink);margin-bottom:10px}
.bcard .ex{font-size:14px;color:var(--gray);margin-bottom:auto}
.bcard .meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--gray-soft);margin-top:18px}
.bcard .meta .sep{width:3px;height:3px;border-radius:50%;background:#d9c4c4}

.load-more{display:flex;justify-content:center;padding:0 0 80px}

/* newsletter strip */
.news{background:radial-gradient(circle at 15% 50%,#fbdbe2,#fdeef0 50%,#fdf3ee);border-radius:20px;padding:46px 50px;display:flex;align-items:center;gap:34px;margin:0 0 72px;overflow:hidden}
.news .heart{width:120px;height:120px;flex:none;filter:drop-shadow(0 8px 24px rgba(220,80,110,.3))}
.news .nt{flex:1}
.news h2{font-size:28px;color:var(--serif-red);font-weight:700;margin-bottom:8px}
.news p{font-size:15.5px;color:#5a4548}
.news form{display:flex;gap:12px;flex:none}
.news input{border:1px solid #f0d4d4;border-radius:10px;padding:14px 18px;font-size:15px;font-family:'Inter';min-width:240px;outline:none}
.news input:focus{border-color:var(--red)}

/* ============ ARTICLE DETAIL ============ */
.article{max-width:780px;margin:0 auto;padding:0 0 30px}
.art-head{text-align:center;padding:38px 0 26px}
.art-head .crumb{justify-content:center;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--gray);margin-bottom:22px}
.art-head .crumb .sep{color:#d8b9b9}.art-head .crumb .cur{color:var(--ink);font-weight:500}
.art-head .ctag{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:600;padding:6px 16px;border-radius:7px;margin-bottom:18px}
.art-head h1{font-size:42px;font-weight:700;line-height:1.16;color:var(--ink)}
.art-head .meta{display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;color:var(--gray);margin-top:22px}
.art-head .meta .av{width:42px;height:42px;border-radius:50%;object-fit:cover}
.art-head .meta .sep{width:4px;height:4px;border-radius:50%;background:#d9c4c4}
.art-hero-img{width:100%;aspect-ratio:1.9/1;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-lg);margin-bottom:14px}

.art-body{font-size:17px;line-height:1.8;color:#3f3f3f}
.art-body p{margin:0 0 22px}
.art-body .lead{font-size:20px;color:#5a4a48;font-weight:500}
.art-body h2{font-family:'Playfair Display',serif;font-size:27px;font-weight:700;color:var(--serif-red);margin:38px 0 14px}
.art-body h3{font-size:20px;font-weight:700;margin:28px 0 10px}
.art-body ul{margin:0 0 22px 4px;padding:0;list-style:none}
.art-body li{padding-left:26px;position:relative;margin-bottom:12px}
.art-body li::before{content:"\2665";position:absolute;left:0;top:1px;color:var(--red);font-size:13px}
.art-body blockquote{border-left:4px solid var(--red);background:#fdeef0;border-radius:0 12px 12px 0;padding:20px 26px;margin:28px 0;font-family:'Playfair Display',serif;font-style:italic;font-size:20px;color:var(--serif-red)}
.art-body img{border-radius:14px;margin:10px 0 26px}
.art-body a{color:var(--red);text-decoration:underline;text-underline-offset:2px}

.art-tags{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0}
.art-tags span{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 14px;font-size:13px;color:#666}
.art-share{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:14px 0 34px}
.art-share b{font-size:14px}
.art-share .sx{display:flex;gap:10px;margin-left:auto}
.art-share .sx a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#888;transition:.15s}
.art-share .sx a:hover{background:var(--red);color:#fff;border-color:var(--red)}.art-share .sx a svg{width:18px;height:18px}

.author-box{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow);margin-bottom:50px}
.author-box img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.author-box h4{font-size:18px;font-weight:700;margin-bottom:4px}
.author-box .role{font-size:13.5px;color:var(--red);font-weight:600;margin-bottom:8px}
.author-box p{font-size:14px;color:var(--gray);line-height:1.6}

/* related */
.related{padding:10px 0 80px}
.related .sec-title{margin-bottom:34px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media(max-width:980px){
  .blog-grid,.related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .blog-hero{padding:30px 0 34px}.blog-hero h1{font-size:30px}.blog-hero p{font-size:15px}
  .filters{padding:22px 0 4px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
  .filters::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}
  .feat-card{grid-template-columns:1fr}.feat-card .imgwrap{min-height:220px}
  .feat-card .fbody{padding:26px 24px}.feat-card h2{font-size:24px}
  .blog-grid,.related-grid{grid-template-columns:1fr;gap:18px;padding:24px 0 50px}
  .news{flex-direction:column;text-align:center;padding:32px 22px;gap:18px}
  .news form{flex-direction:column;width:100%}.news input{min-width:0;width:100%}.news .btn{width:100%}
  .art-head{padding:24px 0 18px}.art-head h1{font-size:29px}
  .art-body{font-size:16px}.art-body .lead{font-size:18px}.art-body h2{font-size:23px}
  .author-box{flex-direction:column;text-align:center}
}


/* === berater.css === */
/* ===========================================================
   Heartlines – berater.css  (Berater-Übersicht)
   =========================================================== */
body{background:#fff}

/* ---------- HERO ---------- */
.bf-hero{position:relative;color:#fff;overflow:hidden}
.bf-hero .hero-bg{position:absolute;inset:0;z-index:0}
.bf-hero .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.bf-hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(253,235,232,.94) 0%,rgba(253,233,230,.74) 40%,rgba(252,225,222,.28) 60%,rgba(255,220,210,0) 76%)}
.bf-inner{position:relative;z-index:2;padding-top:38px;padding-bottom:96px}
.bf-crumb{display:flex;align-items:center;gap:12px;font-size:14.5px;color:#9a6a64;margin-bottom:18px}
.bf-crumb a{color:#9a6a64}.bf-crumb .sep{color:#d3a9a9}.bf-crumb .cur{color:var(--serif-red);font-weight:500}
.bf-hero h1{font-size:50px;line-height:1.08;color:var(--serif-red);font-weight:700;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bf-hero h1 svg{width:30px;height:30px;color:var(--red)}
.bf-hero .lead{font-size:17px;color:#7a4a44;margin-top:18px;max-width:520px;font-weight:500}

.bf-search{display:flex;gap:14px;margin-top:26px;max-width:820px;flex-wrap:wrap}
.bf-search .sbox{flex:1;display:flex;background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 6px 22px rgba(150,60,60,.12);min-width:300px}
.bf-search .sbox input{flex:1;border:none;outline:none;padding:16px 20px;font-size:15px;font-family:'Inter';color:var(--ink)}
.bf-search .sbox button{background:var(--red);border:none;color:#fff;width:62px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.bf-search .sbox button:hover{background:var(--red-dark)}.bf-search .sbox button svg{width:22px;height:22px}
.bf-loc{display:flex;align-items:center;gap:10px;background:#fff;border-radius:11px;padding:0 18px;min-width:240px;box-shadow:0 6px 22px rgba(150,60,60,.10);color:#7a7a7a;font-size:15px;cursor:pointer}
.bf-loc>svg{width:18px;height:18px;color:var(--red);flex:none}
.bf-loc .chev{margin-left:auto;width:16px;height:16px;color:#bba}
.bf-trust{display:flex;flex-wrap:wrap;gap:26px;margin-top:24px}
.bf-trust .ti{display:flex;align-items:center;gap:9px;color:var(--serif-red);font-size:14.5px;font-weight:600}
.bf-trust .ti svg{width:19px;height:19px;flex:none}
.bf-curve{position:absolute;left:0;right:0;bottom:-1px;z-index:2;width:100%;height:64px}

/* ---------- FILTER BAR ---------- */
.filterbar{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px 26px;margin:26px 0 0}
.filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.filt label{display:block;font-size:13px;color:var(--gray);margin-bottom:7px;font-weight:600}
.filt{position:relative}
.filt select{width:100%;appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:10px;
  padding:12px 36px 12px 14px;font-size:14px;font-family:'Inter';color:var(--ink);background:#fff;cursor:pointer;transition:.15s}
.filt select:focus{outline:none;border-color:var(--red)}
.filt::after{content:"";position:absolute;right:15px;bottom:16px;width:8px;height:8px;border-right:2px solid #c79a9a;border-bottom:2px solid #c79a9a;transform:rotate(45deg);pointer-events:none}
.themes{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:20px}
.themes .tl{font-size:14px;color:var(--gray);font-weight:600}
.theme-chip{border:1px solid #f1d6d6;background:#fff;border-radius:8px;padding:8px 16px;font-size:13.5px;color:var(--serif-red);cursor:pointer;transition:.15s}
.theme-chip:hover,.theme-chip.active{background:var(--red);color:#fff;border-color:var(--red)}
.theme-chip.more{color:var(--gray);display:inline-flex;align-items:center;gap:6px}
.theme-chip.more svg{width:13px;height:13px}

/* ---------- RESULTS ---------- */
.results-head{display:flex;align-items:center;justify-content:space-between;margin:34px 0 22px;gap:16px}
.results-head h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--ink)}
.view-toggle{display:flex;gap:8px}
.view-toggle button{width:44px;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--gray-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}
.view-toggle button svg{width:20px;height:20px}
.view-toggle button.active{background:#fdeef0;color:var(--red);border-color:#f0c4c4}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s}
.bcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.bphoto{position:relative;display:block;aspect-ratio:1/0.82;overflow:hidden}
.bphoto img{width:100%;height:100%;object-fit:cover;transition:.3s}
.bcard:hover .bphoto img{transform:scale(1.04)}
.status{position:absolute;left:12px;top:12px;background:#fff;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.status.online{color:var(--green)}.status.busy{color:var(--orange-dark)}
.bbody{padding:16px;text-align:center;display:flex;flex-direction:column;gap:9px;flex:1}
.bname{display:flex;align-items:center;justify-content:center;gap:8px;font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#3a2a2a}
.bname svg{width:16px;height:16px;color:var(--red)}
.bstars{display:flex;align-items:center;justify-content:center;gap:7px}
.bstars .s{display:flex;gap:1px;color:var(--gold)}.bstars .s svg{width:14px;height:14px}
.bstars .r{font-size:13px;font-weight:700}.bstars .c{font-size:13px;color:var(--gray)}
.bspec{font-size:13px;color:var(--gray);min-height:36px;line-height:1.45}
.bprice{font-size:14px;font-weight:700;color:var(--red)}
.bact{display:flex;gap:8px;margin-top:6px}
.bact .btn{flex:1;padding:11px;font-size:13.5px}
.btn-phone{width:48px;flex:none;border:1px solid #f0d3a8;color:var(--orange);background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}
.btn-phone:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.btn-phone svg{width:18px;height:18px}

/* list view */
.cards.list{grid-template-columns:1fr;gap:16px}
.cards.list .bcard{flex-direction:row;align-items:stretch}
.cards.list .bphoto{width:210px;flex:none;aspect-ratio:auto}
.cards.list .bbody{text-align:left;justify-content:center}
.cards.list .bname,.cards.list .bstars{justify-content:flex-start}
.cards.list .bspec{min-height:0}
.cards.list .bact{max-width:320px}

/* ---------- TRUST BAND ---------- */
.trust-band{background:linear-gradient(90deg,#fdeef0,#fdf3ef);border:1px solid #f6dada;border-radius:18px;padding:32px 34px;margin:42px 0 50px}
.tb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.tb-item{display:flex;gap:15px;align-items:flex-start}
.tb-ic{width:54px;height:54px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;color:var(--red);box-shadow:0 3px 10px rgba(170,70,80,.08)}
.tb-ic svg{width:26px;height:26px}.tb-ic img{width:26px;height:26px}
.tb-item b{display:block;font-size:15.5px;margin-bottom:4px}
.tb-item span{font-size:12.5px;color:var(--gray);line-height:1.5}

/* ---------- PAGINATION ---------- */
.pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 76px;flex-wrap:wrap}
.pager a,.pager span{min-width:42px;height:42px;padding:0 8px;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;color:#555;cursor:pointer;transition:.15s}
.pager a:hover{border-color:var(--red);color:var(--red)}
.pager .active{background:var(--red);color:#fff;border-color:var(--red)}
.pager .dots{border:none;background:none;cursor:default}
.pager .nav svg{width:18px;height:18px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1080px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .filter-grid{grid-template-columns:repeat(2,1fr)}
  .tb-grid{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media(max-width:920px){
  .bf-hero h1{font-size:34px}
  .bf-inner{padding-top:26px;padding-bottom:70px}
  .bf-hero .hero-bg::after{background:linear-gradient(160deg,rgba(253,235,232,.96) 0%,rgba(253,232,228,.86) 55%,rgba(252,225,222,.55) 100%)}
  .bf-search .sbox{min-width:0}
  .bf-loc{min-width:0;width:100%;padding:14px 18px}
  .bf-trust{gap:12px 20px}
  .filterbar{padding:18px 16px}
  .filter-grid{grid-template-columns:1fr;gap:14px}
  .results-head h2{font-size:20px}
  .cards{grid-template-columns:1fr}
  .cards.list .bcard{flex-direction:column}
  .cards.list .bphoto{width:100%;aspect-ratio:1/0.82}
  .cards.list .bbody{text-align:center}
  .cards.list .bname,.cards.list .bstars{justify-content:center}
  .tb-grid{grid-template-columns:1fr;gap:20px}
  .view-toggle{display:none}
}

.status.busy .dot{background:var(--orange)}


/* === detail.css === */
/* ===========================================================
   Heartlines – detail.css  (Berater-Detailseite)
   =========================================================== */

/* breadcrumb */
.crumb{display:flex;align-items:center;gap:14px;padding:26px 0;font-size:15px;color:var(--gray)}
.crumb .sep{color:#d8b9b9}
.crumb .cur{color:var(--ink);font-weight:500}

/* layout: 2 columns desktop / single flow mobile */
.layout{display:grid;grid-template-columns:1fr 372px;gap:34px;align-items:start;padding-bottom:60px}
.col-main{display:flex;flex-direction:column}
.col-side{display:flex;flex-direction:column;gap:24px;position:sticky;top:110px}

/* hero profile */
.d-hero{display:grid;grid-template-columns:372px 1fr;gap:38px;margin-bottom:40px}
.photo{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1.02;box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover}
.badge-online{position:absolute;left:16px;bottom:16px;background:#fff;border-radius:30px;padding:7px 14px;
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.hero-name{display:flex;align-items:center;gap:14px}
.hero-name h1{font-size:46px;color:var(--red);font-weight:700;line-height:1}
.hero-name .hicon{width:26px;height:26px;color:var(--red)}
.subtitle{font-size:19px;color:var(--gray);margin-top:8px}
.rating-row{display:flex;align-items:center;gap:12px;margin-top:14px}
.stars{display:flex;gap:2px;color:var(--gold)}
.stars svg{width:20px;height:20px}
.rating-row .num{font-weight:700;font-size:16px}
.rating-row .count{color:var(--gray);font-size:15px}
.stats{display:flex;gap:46px;margin-top:24px}
.stat{display:flex;align-items:center;gap:12px}
.stat .ic{width:34px;height:34px;color:var(--red);flex:none}
.stat .ic img{width:30px;height:30px;object-fit:contain}
.stat b{display:block;font-size:17px;font-weight:700}
.stat span{font-size:13.5px;color:var(--gray)}
.hero-desc{margin-top:24px;color:#4a4a4a;font-size:16px;max-width:620px}
.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tag{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 18px;font-size:14px;color:#555;font-weight:500}
.hero-cta{display:flex;gap:16px;margin-top:28px}
.cta-col{display:flex;flex-direction:column;gap:7px;flex:1}
.cta-col .btn{font-size:16px;padding:16px}
.cta-col .price{text-align:center;font-size:13.5px;color:var(--gray)}
.hero-sub-cta{display:flex;gap:16px;margin-top:18px}
.hero-sub-cta .btn{flex:1}

/* tabs */
.tabs{display:flex;gap:34px;border-bottom:1px solid var(--line);margin-bottom:34px;overflow-x:auto}
.tab{display:flex;align-items:center;gap:9px;padding:14px 2px;font-size:15px;font-weight:500;color:var(--gray);
  background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:.15s}
.tab svg{width:18px;height:18px}
.tab.active{color:var(--red);border-bottom-color:var(--red);font-weight:600}
.tab:hover{color:var(--red)}
.tab-dots{display:none;justify-content:center;gap:7px;padding:12px 0 2px}
.tab-dots i{width:7px;height:7px;border-radius:50%;background:#eccccc}
.tab-dots i.active{background:var(--red)}

/* sections */
.sec{margin-bottom:48px}
.sec>h2{font-size:30px;font-weight:700;margin-bottom:22px}
.about p{color:#4a4a4a;font-size:16px;margin-bottom:18px;max-width:760px}
.quote{display:flex;gap:18px;align-items:center;background:#fdeef0;border:1px solid #f6dada;
  border-radius:14px;padding:22px 24px;max-width:760px;margin-top:8px}
.quote .qheart{width:46px;height:46px;flex:none}
.quote .qtext{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:var(--serif-red)}
.quote .qby{font-size:14px;color:var(--gray);margin-top:4px}

/* schwerpunkte */
.focus-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.focus{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 10px;text-align:center;transition:.18s}
.focus:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(180,60,70,.1)}
.focus .fic{width:48px;height:48px;margin:0 auto 14px;object-fit:contain}
.focus span{font-size:13px;font-weight:600;color:#444;line-height:1.35;display:block}

/* rückrufservice */
.recall{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:20px 24px;box-shadow:var(--shadow);margin-bottom:48px}
.recall .ic{width:26px;height:26px;color:var(--red);flex:none}
.recall p{font-size:15px;color:#444}
.recall p b{font-weight:600;color:var(--ink)}
.recall .btn{margin-left:auto}

/* leistungen */
.serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.serv{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.serv .sic{width:44px;height:44px;margin-bottom:16px;object-fit:contain;color:var(--red)}
.serv-info{display:flex;flex-direction:column;flex:1}
.serv h3{font-size:21px;font-weight:600;margin-bottom:12px}
.serv p{font-size:14.5px;color:var(--gray);margin-bottom:18px;flex:1}
.serv .pr{font-size:18px;font-weight:700;color:var(--red);margin-bottom:18px}
.serv .btn{width:100%}

/* reviews */
.rev-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.rev-head h2{font-size:30px;font-weight:700}
.carousel{position:relative}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.review .top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.review .top .stars svg{width:18px;height:18px}
.review .top .rn{font-weight:700;font-size:15px}
.review .body{font-size:14.5px;color:#555;margin-bottom:20px}
.review .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line-soft);padding-top:16px}
.review .who img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.review .who b{font-size:14.5px;display:block}
.review .who span{font-size:12.5px;color:var(--gray)}
.rev-arrow{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.08);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--red);transition:.15s;z-index:3}
.rev-arrow:hover{background:var(--red);color:#fff}
.rev-arrow svg{width:20px;height:20px}
.rev-arrow.l{left:-22px}.rev-arrow.r{right:-22px}
/* mobile satisfaction block (merged into reviews) */
.rev-satisf{display:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}

/* sidebar cards */
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.scard h3{font-size:22px;font-weight:700;margin-bottom:4px}
.scard .lbl{font-size:14px;color:var(--gray)}
.balance .amount{font-size:32px;font-weight:700;color:var(--red);margin:6px 0 18px;font-family:'Inter'}
.avail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.avail-head .stat-on{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--green)}
.avail-box{background:linear-gradient(180deg,#fdeef0,#fbf3f1);border:1px solid #f6dada;border-radius:12px;padding:18px;text-align:center;margin-bottom:22px}
.avail-box .t1{color:var(--red);font-weight:700;font-size:15px}
.avail-box .t2{font-size:22px;font-weight:700;margin:4px 0}
.avail-box .t3{font-size:13px;color:var(--gray)}
.srv-line{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.srv-line:last-child{border-bottom:none}
.srv-line .ic{width:24px;height:24px;color:var(--red);flex:none}
.srv-line .ic img{width:22px;height:22px;object-fit:contain}
.srv-line .nm b{font-size:14.5px;font-weight:600;display:block}
.srv-line .nm span{font-size:12.5px;color:var(--gray)}
.srv-line .price{margin-left:auto;font-size:14px;color:var(--gray);text-align:right}
.srv-line .price b{color:var(--red);font-weight:700}
.satisf .big{display:flex;align-items:center;gap:18px;margin:8px 0 18px}
.satisf .big .score{font-size:54px;font-weight:700;line-height:1}
.satisf .big .stars svg{width:21px;height:21px}
.satisf .big .meta{font-size:13.5px;color:var(--gray);margin-top:4px}
.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:13.5px;color:#555}
.bar-row .rl{width:62px;flex:none}
.bar{flex:1;height:8px;background:#f3e6e6;border-radius:6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--orange);border-radius:6px}
.bar-row .pc{width:34px;text-align:right;flex:none;color:var(--gray)}
.cert ul{list-style:none;margin:14px 0 0}
.cert li{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:15px;font-weight:500}
.cert li svg{width:20px;height:20px;color:var(--green);flex:none}
.cert .seal{display:flex;align-items:center;gap:14px;background:#fdf2e4;border-radius:12px;padding:16px;margin-top:18px}
.cert .seal img{width:38px;height:38px;flex:none}
.cert .seal svg{width:36px;height:36px;color:var(--gold);flex:none}
.cert .seal span{font-size:14px;font-weight:600;color:#7a5a1e}
.share .lbl{margin-bottom:16px}
.share-row{display:flex;gap:12px}
.share-row a{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#777;transition:.15s}
.share-row a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.share-row a svg{width:20px;height:20px}

/* bottom cta */
.cta-banner{position:relative;border-radius:20px;overflow:hidden;padding:48px 56px;display:flex;align-items:center;gap:40px;margin-bottom:70px}
.cta-banner .cbg{position:absolute;inset:0;z-index:0}
.cta-banner .cbg img{width:100%;height:100%;object-fit:cover}
.cta-banner .cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,224,228,.35),rgba(253,238,236,.8) 55%)}
.cta-banner .heart-art{position:relative;z-index:2;width:170px;height:170px;flex:none;filter:drop-shadow(0 8px 30px rgba(220,80,110,.35))}
.cta-banner .ct{position:relative;z-index:2;flex:1}
.cta-banner h2{font-size:34px;color:var(--red);font-weight:700;margin-bottom:8px}
.cta-banner p{font-size:17px;color:#5a4548}
.cta-banner .btns{position:relative;z-index:2;display:flex;gap:16px;flex:none}
.cta-banner .btns .btn{font-size:16px;padding:16px 28px}

/* ====================== RESPONSIVE ====================== */
@media(max-width:1080px){
  .layout{grid-template-columns:1fr}
  .col-side{position:static;flex-direction:row;flex-wrap:wrap}
  .col-side .scard{flex:1 1 300px}
  .d-hero{grid-template-columns:300px 1fr}
}
@media(max-width:920px){
  /* single linear flow with custom order */
  .layout{display:flex;flex-direction:column;gap:22px;padding-bottom:30px}
  .col-main,.col-side{display:contents}

  .d-hero{order:1}
  .avail-card{order:2}
  .tabs-wrap{order:3}
  .about{order:4}
  .cert{order:5}
  .leistungen{order:6}
  .share{order:7}
  .reviews{order:8}
  /* hidden on mobile */
  .balance,.schwerpunkte,.recall,.satisf{display:none}

  /* sections become white cards */
  .d-hero{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 14px 18px;box-shadow:var(--shadow);margin-bottom:0}
  .photo{aspect-ratio:1/0.74;max-width:none;margin:0 0 16px}
  .hero-name{margin-top:2px}.hero-name h1{font-size:34px}
  .subtitle{font-size:16px}
  .stats{gap:0;margin-top:20px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:16px 0}
  .stat{flex:1;flex-direction:column;text-align:center;gap:6px;padding:0 6px}
  .stat:not(:last-child){border-right:1px solid var(--line-soft)}
  .stat .ic{margin:0 auto}
  .hero-cta{flex-direction:column;gap:14px}
  .hero-sub-cta .btn{font-size:13.5px;padding:13px 8px}

  .avail-card{padding:20px}
  .avail-head{display:none}

  .tabs-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 14px 12px;box-shadow:var(--shadow)}
  .tabs{margin-bottom:0;border-bottom:none}
  .tab-dots{display:flex}

  .sec{margin-bottom:0}
  .about{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow)}
  .about>h2{font-size:24px}
  .quote{margin-top:14px}.quote .qtext{font-size:16px}

  .serv-grid{grid-template-columns:1fr;gap:16px}
  .serv{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start;padding:20px}
  .serv .sic{width:46px;height:46px;margin:0;grid-column:1;grid-row:1}
  .serv-info{grid-column:2}
  .serv h3{margin-bottom:6px;font-size:19px}
  .serv p{margin-bottom:10px}
  .serv .pr{margin-bottom:0}
  .serv .btn{grid-column:1/-1;margin-top:16px}
  .leistungen>h2{font-size:24px;margin-bottom:18px}

  .reviews>h2,.rev-head h2{font-size:24px}
  .rev-head{flex-direction:column;align-items:stretch;gap:14px}
  .rev-satisf{display:block}
  .rev-grid{grid-template-columns:1fr}
  .rev-arrow{display:none}

  .cta-banner{flex-direction:column;text-align:center;padding:34px 24px;gap:18px}
  .cta-banner .btns{flex-direction:column;width:100%}.cta-banner .btns .btn{width:100%}
}

/* statische Bewertungen als horizontaler Slider (Pfeile scrollen) */
.rev-grid{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.rev-grid::-webkit-scrollbar{display:none}
.rev-grid{scrollbar-width:none}
.rev-grid .review{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}
@media(max-width:920px){ .rev-grid .review{flex:0 0 86%} }

/* ===========================================================
   Hauptthema / Schwerpunkt (favorisierte Berater-Kategorie)
   =========================================================== */

/* Schwerpunkt direkt unter dem Beraternamen */
.subtitle-topic.is-primary{
  color:var(--red);
  font-weight:700
}
.topic-star{
  color:var(--gold);
  font-weight:700;
  margin-right:3px
}

/* Schwerpunkt in der vollständigen Themenliste */
.tag.is-primary{
  border-color:#efb9bf;
  background:#fff3f4;
  color:var(--red);
  font-weight:700;
  box-shadow:0 3px 10px rgba(180,60,70,.06)
}
.tag-primary-label{
  display:inline-block;
  margin-left:7px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(214,43,62,.09);
  color:var(--red);
  font-size:10.5px;
  line-height:1.35;
  font-weight:700;
  vertical-align:1px
}

/* Schwerpunkt unter "Meine Herzenskraft" */
.focus.is-primary{
  border-color:#efb9bf;
  background:linear-gradient(180deg,#fff7f8 0%,#fff 100%);
  box-shadow:0 6px 18px rgba(180,60,70,.08)
}
.focus.is-primary:hover{
  box-shadow:0 10px 24px rgba(180,60,70,.14)
}
.focus .focus-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:auto;
  margin:8px auto 0;
  padding:4px 8px;
  border-radius:999px;
  background:#fff0f2;
  color:var(--red);
  font-size:10.5px;
  line-height:1.2;
  font-weight:700
}

@media(max-width:920px){
  .tag-primary-label{font-size:10px}
}

/* ===========================================================
   E-Mail-Angebote – öffentliche Berater-Detailseite
   =========================================================== */

.email-offers{
  margin-bottom:48px
}
.email-offers-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  margin-bottom:22px
}
.email-offers-heading{
  min-width:0
}
.email-offers-kicker{
  display:inline-block;
  margin-bottom:6px;
  color:var(--red);
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.email-offers-head h2{
  margin:0 0 8px;
  font-size:30px;
  font-weight:700
}
.email-offers-head p{
  max-width:650px;
  margin:0;
  color:var(--gray);
  font-size:15px;
  line-height:1.65
}
.email-offers-count{
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #f0d4d7;
  border-radius:999px;
  background:#fff7f8;
  color:var(--red);
  font-size:12.5px;
  font-weight:700
}
.email-offers-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.email-offer-card{
  min-width:0;
  min-height:250px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.email-offer-card:hover{
  transform:translateY(-2px);
  border-color:#edc8cc;
  box-shadow:0 10px 28px rgba(180,60,70,.10)
}
.email-offer-card.is-request{
  background:linear-gradient(145deg,#fff8f8 0%,#fff 72%);
  border-color:#f0d7da
}
.email-offer-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px
}
.email-offer-icon{
  flex:none;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #f1d5d8;
  border-radius:12px;
  background:#fff2f4;
  color:var(--red)
}
.email-offer-card.is-request .email-offer-icon{
  background:#fff8ec;
  border-color:#f3dfbd;
  color:var(--gold)
}
.email-offer-icon svg{
  width:22px;
  height:22px
}
.email-offer-label{
  color:var(--red);
  font-size:12.5px;
  line-height:1.4;
  font-weight:700
}
.email-offer-card.is-request .email-offer-label{
  color:#8f6a2e
}
.email-offer-body{
  flex:1
}
.email-offer-body h3{
  margin:0 0 10px;
  color:var(--ink);
  font-size:21px;
  line-height:1.3;
  font-weight:700;
  overflow-wrap:anywhere
}
.email-offer-body p{
  margin:0;
  color:var(--gray);
  font-size:14.5px;
  line-height:1.6
}
.email-offer-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line-soft)
}
.email-offer-price{
  min-width:105px;
  display:flex;
  flex-direction:column;
  gap:2px
}
.email-offer-price span{
  color:var(--gray);
  font-size:11.5px;
  line-height:1.3;
  font-weight:600
}
.email-offer-price strong{
  color:var(--red);
  font-size:21px;
  line-height:1.25;
  font-weight:700
}
.email-offer-price.is-note strong{
  color:#705b3c;
  font-size:15px
}
.email-offer-btn{
  flex:none;
  min-width:170px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 17px;
  font-size:14px;
  line-height:1.2
}
.email-offer-btn svg{
  width:17px;
  height:17px;
  flex:none
}
.email-offer-card.is-request .email-offer-btn{
  background:#fff
}

@media(max-width:1080px){
  .email-offers-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:920px){
  .email-offers-head{
    flex-direction:column;
    gap:12px;
    margin-bottom:18px
  }
  .email-offers-head h2{
    font-size:24px
  }
  .email-offers-count{
    align-self:flex-start
  }
  .email-offers-grid{
    grid-template-columns:1fr;
    gap:16px
  }
  .email-offer-card{
    min-height:0;
    padding:20px
  }
  .email-offer-footer{
    align-items:stretch;
    flex-direction:column;
    gap:14px
  }
  .email-offer-btn{
    width:100%;
    min-width:0
  }
}

/* ===========================================================
   Schritt 05b – Mobile Berater-Detailseite + E-Mail-Angebote
   =========================================================== */

/* Einzelnes festes Angebot nutzt die verfügbare Inhaltsbreite. */
.email-offers-grid.is-single{
  grid-template-columns:minmax(0,1fr)
}

@media(max-width:920px){
  /*
   * Die Detailseite besteht aus zwei Desktop-Spalten. Auf Mobilgeräten
   * werden beide Spalten in einen eindeutigen linearen Ablauf überführt.
   * Jede relevante Sektion erhält deshalb explizit eine Reihenfolge.
   */
  .advisor-detail-template{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    overflow:visible
  }
  .advisor-detail-template .crumb{
    flex-wrap:wrap;
    gap:7px;
    padding:16px 0 18px;
    font-size:13px
  }
  .advisor-detail-template .layout{
    display:flex!important;
    flex-direction:column;
    width:100%;
    min-width:0;
    gap:20px;
    padding-bottom:32px
  }
  .advisor-detail-template .col-main,
  .advisor-detail-template .col-side{
    display:contents!important
  }

  /* Vollständiger mobiler Inhaltsablauf: Profil zuerst, alles Weitere darunter. */
  .advisor-detail-template .d-hero{order:1!important}
  .advisor-detail-template .avail-card{order:2!important}
  .advisor-detail-template .tabs-wrap{order:3!important}
  .advisor-detail-template .about{order:4!important}
  .advisor-detail-template .schwerpunkte{order:5!important;display:block!important}
  .advisor-detail-template .recall{order:6!important;display:flex!important}
  .advisor-detail-template .leistungen{order:7!important}
  .advisor-detail-template #exp{order:8!important;display:block!important}
  .advisor-detail-template .email-offers{order:9!important;display:block!important}
  .advisor-detail-template .reviews{order:10!important}
  .advisor-detail-template .cert{order:11!important}
  .advisor-detail-template .share{order:12!important}

  /* Die Zufriedenheitsauswertung steckt mobil bereits im Bewertungsblock. */
  .advisor-detail-template .satisf,
  .advisor-detail-template .balance{
    display:none!important
  }

  /* Profilkarte */
  .advisor-detail-template .d-hero{
    width:100%;
    min-width:0;
    margin:0;
    padding:14px 14px 18px;
    border-radius:18px
  }
  .advisor-detail-template .photo{
    width:100%;
    max-width:none;
    aspect-ratio:1/1;
    margin:0 0 18px;
    border-radius:14px
  }
  .advisor-detail-template .photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top
  }
  .advisor-detail-template .hero-info{
    width:100%;
    min-width:0
  }
  .advisor-detail-template .hero-name{
    align-items:flex-start;
    gap:9px
  }
  .advisor-detail-template .hero-name h1{
    min-width:0;
    font-size:31px;
    line-height:1.08;
    overflow-wrap:anywhere
  }
  .advisor-detail-template .hero-name .hicon{
    width:22px;
    height:22px;
    margin-top:4px
  }
  .advisor-detail-template .subtitle{
    font-size:15px;
    line-height:1.5
  }
  .advisor-detail-template .rating-row{
    flex-wrap:wrap;
    gap:7px 10px
  }
  .advisor-detail-template .stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    width:100%;
    padding:14px 0
  }
  .advisor-detail-template .stat{
    min-width:0;
    padding:0 7px
  }
  .advisor-detail-template .stat b{
    font-size:15px
  }
  .advisor-detail-template .stat span{
    font-size:11.5px
  }
  .advisor-detail-template .hero-desc{
    max-width:none;
    font-size:14.5px;
    line-height:1.65
  }
  .advisor-detail-template .tags{
    gap:8px;
    margin-top:18px
  }
  .advisor-detail-template .tag{
    padding:8px 11px;
    font-size:12.5px
  }
  .advisor-detail-template .quote{
    width:100%;
    max-width:none;
    padding:18px;
    gap:12px
  }
  .advisor-detail-template .quote .qheart{
    width:38px;
    height:38px
  }
  .advisor-detail-template .quote .qtext{
    font-size:15px
  }

  /* Primäre Aktionen wieder kompakt nebeneinander. */
  .advisor-detail-template .hero-cta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:20px
  }
  .advisor-detail-template .cta-col{
    min-width:0
  }
  .advisor-detail-template .cta-col .btn{
    min-width:0;
    padding:13px 8px;
    font-size:13.5px
  }
  .advisor-detail-template .cta-col .price{
    font-size:11.5px;
    line-height:1.4
  }
  .advisor-detail-template .hero-sub-cta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px
  }
  .advisor-detail-template .hero-sub-cta .btn{
    min-width:0;
    padding:12px 7px;
    font-size:12.5px
  }

  /* Allgemeine Kartenbreite und Tabs */
  .advisor-detail-template .tabs-wrap,
  .advisor-detail-template .scard,
  .advisor-detail-template .sec,
  .advisor-detail-template .recall{
    width:100%;
    min-width:0;
    box-sizing:border-box
  }
  .advisor-detail-template .tabs{
    gap:20px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch
  }

  /* Herzenskraft wird mobil nicht mehr ausgeblendet. */
  .advisor-detail-template .schwerpunkte>h2,
  .advisor-detail-template #exp>h2,
  .advisor-detail-template .email-offers h2,
  .advisor-detail-template .leistungen>h2,
  .advisor-detail-template .reviews h2{
    font-size:24px;
    line-height:1.2
  }
  .advisor-detail-template .focus-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .advisor-detail-template .focus{
    min-width:0;
    padding:16px 8px
  }
  .advisor-detail-template .focus .fic{
    width:40px;
    height:40px;
    margin-bottom:10px
  }
  .advisor-detail-template .focus span{
    font-size:12px;
    overflow-wrap:anywhere
  }

  /* Rückrufservice als klare mobile Karte. */
  .advisor-detail-template .recall{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:18px;
    margin:0
  }
  .advisor-detail-template .recall .btn{
    width:100%;
    margin-left:0
  }

  /* Gesprächskarten */
  .advisor-detail-template .serv-grid{
    grid-template-columns:1fr;
    gap:14px
  }
  .advisor-detail-template .serv{
    width:100%;
    min-width:0;
    padding:18px
  }

  /* E-Mail-Angebote: explizit sichtbar und vollständig innerhalb des Viewports. */
  .advisor-detail-template .email-offers{
    width:100%!important;
    min-width:0;
    margin:0!important;
    padding:0!important;
    visibility:visible!important;
    opacity:1!important;
    overflow:visible!important
  }
  .advisor-detail-template .email-offers-head{
    width:100%;
    min-width:0;
    flex-direction:column;
    gap:10px;
    margin-bottom:15px
  }
  .advisor-detail-template .email-offers-heading{
    width:100%;
    min-width:0
  }
  .advisor-detail-template .email-offers-kicker{
    font-size:10.5px
  }
  .advisor-detail-template .email-offers-head p{
    width:100%;
    max-width:none;
    font-size:14px;
    line-height:1.6
  }
  .advisor-detail-template .email-offers-count{
    align-self:flex-start;
    min-height:30px;
    padding:6px 10px;
    font-size:11.5px
  }
  .advisor-detail-template .email-offers-grid,
  .advisor-detail-template .email-offers-grid.is-single{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:14px
  }
  .advisor-detail-template .email-offer-card{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:0;
    padding:18px;
    border-radius:16px;
    visibility:visible!important;
    opacity:1!important
  }
  .advisor-detail-template .email-offer-top{
    gap:10px;
    margin-bottom:14px
  }
  .advisor-detail-template .email-offer-icon{
    width:40px;
    height:40px;
    border-radius:11px
  }
  .advisor-detail-template .email-offer-icon svg{
    width:20px;
    height:20px
  }
  .advisor-detail-template .email-offer-body h3{
    font-size:19px;
    line-height:1.3
  }
  .advisor-detail-template .email-offer-body p{
    font-size:13.5px;
    line-height:1.55
  }
  .advisor-detail-template .email-offer-footer{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin-top:18px;
    padding-top:15px
  }
  .advisor-detail-template .email-offer-price{
    min-width:0
  }
  .advisor-detail-template .email-offer-price strong{
    font-size:20px
  }
  .advisor-detail-template .email-offer-btn{
    width:100%;
    min-width:0;
    padding:13px 15px
  }

  /* Bewertungen / Sidebar-Karten */
  .advisor-detail-template .rev-grid .review{
    flex:0 0 92%;
    min-width:0
  }
  .advisor-detail-template .cert,
  .advisor-detail-template .share,
  .advisor-detail-template .avail-card{
    width:100%;
    min-width:0;
    padding:20px
  }
  .advisor-detail-template .srv-line{
    min-width:0;
    gap:10px
  }
  .advisor-detail-template .srv-line .nm{
    min-width:0
  }
  .advisor-detail-template .srv-line .price{
    flex:none;
    max-width:42%;
    font-size:12px
  }
}

@media(max-width:520px){
  .advisor-detail-template .hero-cta,
  .advisor-detail-template .hero-sub-cta{
    grid-template-columns:1fr 1fr
  }
  .advisor-detail-template .focus-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .advisor-detail-template .email-offer-card{
    padding:16px
  }
}

/* ===========================================================
   Heartlines – aktiver Chatbutton pulsiert bei Online-Status
   =========================================================== */
@keyframes heartlines-detail-chat-pulse {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 0 0 0 rgba(214,43,62,.30),
      0 5px 14px rgba(214,43,62,.12);
  }
  50% {
    transform: translateY(-1px) scale(1.025);
    box-shadow:
      0 0 0 9px rgba(214,43,62,0),
      0 8px 20px rgba(214,43,62,.18);
  }
}

/*
 * Das Detailtemplate vergibt "green" nur dann, wenn Chat aktiviert
 * UND der Berater online ist. Dadurch pulsiert ausschließlich der
 * tatsächlich verfügbare rote Chat-CTA.
 */
.advisor-detail-template a.btn.btn-red.green {
  animation: heartlines-detail-chat-pulse 1.9s ease-in-out infinite;
  transform-origin: center;
  will-change: transform, box-shadow;
}

.advisor-detail-template a.btn.btn-red.green:hover,
.advisor-detail-template a.btn.btn-red.green:focus-visible {
  animation-play-state: paused;
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .advisor-detail-template a.btn.btn-red.green {
    animation: none;
    transform: none;
  }
}



/* === searchbox.css === */
#searchbox {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0px 0 25px 0;
    padding: 0;
    padding-left: 25px;
    padding-right: 25px;
}

#searchbox ul.filter-list {
    list-style: none;
    margin: 0;
    padding: 0;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    column-gap: 14px;
    row-gap: 14px;
}

/* einzelne Pill */
#searchbox ul.filter-list li {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin: 0;
    padding: 10px 16px;

    border-radius: 999px;
    border: 1px solid #d83849;
    background: #fdf4f2;

    color: #d83849;
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;

    transition: all 0.2s ease;
    box-sizing: border-box;
}

/* Hover */
#searchbox ul.filter-list li:hover {
    background: #fdf4f2;
    border-color: #d83849;
    color: #d83849;
}

/* aktiv */
#searchbox ul.filter-list li.active {
    background: #e6d0a3;
    border-color: #c8a45c;
    color: #5a4318;
}

/* Text */
#searchbox ul.filter-list li span {
    display: inline-block;
    white-space: nowrap;
    line-height: 1.2;
}

/* Zahl rechts */
#searchbox ul.filter-list li b {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 24px;
    height: 24px;
    padding: 0 8px;

    border-radius: 999px;
    background: #fbe2f1;
    color: #d83849;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

/* Badge bei Hover/Aktiv */
#searchbox ul.filter-list li:hover b {
    background: #fdf4f2;
    color: #d83849;
}

#searchbox ul.filter-list li.active b {
    background: #fdf4f2;
    color: #d83849;
}
.filter-list li {
    position: relative;
}

/* X oben rechts */
.filter-list li .remove {
    position: absolute;
    top: -6px;
    right: -6px;

    width: 20px;
    height: 20px;

    border-radius: 50%;
    border: 1px solid #d83849;

    background: #fbe2f1;
    color: #d83849;

    font-size: 13px;
    line-height: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    padding: 0;

    transition: all 0.2s ease;
}

/* Hover */
.filter-list li .remove:hover {
    background: #d83849;
    color: #fff;
    border-color: #d83849;
}

.filter-list li .remove {
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

.filter-list li {
    padding-right: 20px !important;
}


#searchboxnotfound.hidden {
    display: none;
}

#searchboxnotfound {
    margin: 24px 30px;
}

#searchboxnotfound .notfound-box {
    background: #fdf4f2;
    border: 1px solid #d83849;
    border-radius: 16px;
    padding: 24px;
    text-align: center;
}

#searchboxnotfound .notfound-box strong {
    display: block;
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 8px;
    color: #282828;
}

#searchboxnotfound .notfound-box p {
    margin: 0 0 16px;
    font-size: 16px;
    color: #5f5f5f;
}

#resetfilters {
    border: 1px solid #d83849;
    background: #ffccc1;
    color: #d83849;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

#resetfilters:hover {
    background: #fdf4f2;
}



#searchbox .filter-list .master-reset-pill {
    background: #c93c3c;
    border: 1px solid #b42d2d;
    color: #ffffff;
    cursor: pointer;
}

#searchbox .filter-list .master-reset-pill span {
    color: #ffffff;
    font-weight: 600;
}

#searchbox .filter-list .master-reset-pill:hover {
    background: #b42d2d;
}
#searchbox .filter-list .master-reset-pill {
    padding-right: 18px;
}

#searchbox .hidden{
    display: none !important;
}
#searchboxnotfound .hidden{
    display: none !important;
}

/* === helper.css === */
/* Heartlines Berater-Suche: Bootstrap-Ersatz + Formular-Styling
   Einbinden z.B. in style.css oder als eigene Datei nach dem Theme-CSS laden.
*/

/* Bootstrap Utility Ersatz */
.d-flex {
    display: flex;
}

.d-inline {
    display: inline;
}

.d-none {
    display: none;
}

.position-relative {
    position: relative;
}

.align-items-center {
    align-items: center;
}

.justify-content-between {
    justify-content: space-between;
}

@media (min-width: 768px) {
    .d-md-flex {
        display: flex;
    }

    .d-md-block {
        display: block;
    }
}

.hidden {
    display: none !important;
}

/* Berater-Suche Layout */
.advisors-title {
    margin-bottom: 28px;
}

.advisors-title h4 {
    margin: 0 0 18px;
    color: #3b2630;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
}

.select-search-div {
    gap: 18px;
    width: 100%;
}

.select-flex-div {
    flex-wrap: wrap;
    gap: 12px;
}

/* Selects normal + nice-select */
.common-select,
.consultants-select,
.select-search-div .nice-select {
    min-width: 190px;
    height: 48px;
    border: 1px solid rgba(150, 77, 105, 0.22);
    border-radius: 999px;
    background: #fff;
    color: #49313d;
    font-size: 15px;
    font-weight: 500;
    line-height: 48px;
    padding: 0 42px 0 18px;
    box-shadow: 0 8px 24px rgba(120, 45, 78, 0.07);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.common-select {
    appearance: none;
    -webkit-appearance: none;
}

.select-search-div .nice-select {
    float: none;
}

.common-select:focus,
.select-search-div .nice-select:focus,
.select-search-div .nice-select.open {
    outline: none;
    border-color: rgba(188, 61, 115, 0.55);
    box-shadow: 0 10px 28px rgba(188, 61, 115, 0.14);
}

.select-search-div .nice-select .current {
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select-search-div .nice-select .list {
    width: 100%;
    min-width: 220px;
    border: 1px solid rgba(150, 77, 105, 0.18);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(62, 33, 46, 0.16);
    overflow: hidden;
}

.select-search-div .nice-select .option {
    min-height: 42px;
    line-height: 42px;
    color: #49313d;
}

.select-search-div .nice-select .option:hover,
.select-search-div .nice-select .option.focus,
.select-search-div .nice-select .option.selected.focus {
    background: rgba(216, 56, 73, 0.14);
}

.select-search-div .nice-select .option.disabled {
    color: rgba(73, 49, 61, 0.35);
    pointer-events: none;
}

/* Suche */
.search-form {
    flex: 0 0 280px;
    max-width: 280px;
    width: 100%;
}

.search-form label {
    position: absolute;
    left: 18px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    margin: 0;
    line-height: 1;
    pointer-events: none;
}

.search-form label img {
    display: block;
    width: 18px;
    height: 18px;
    opacity: 0.65;
}

.search-form input[type="search"] {
    width: 100%;
    height: 48px;
    border: 1px solid rgba(150, 77, 105, 0.22);
    border-radius: 999px;
    background: #fff;
    color: #49313d;
    font-size: 15px;
    font-weight: 500;
    padding: 0 18px 0 48px;
    box-shadow: 0 8px 24px rgba(120, 45, 78, 0.07);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.search-form input[type="search"]::placeholder {
    color: rgba(73, 49, 61, 0.55);
}

.search-form input[type="search"]:focus {
    outline: none;
    border-color: rgba(188, 61, 115, 0.55);
    box-shadow: 0 10px 28px rgba(188, 61, 115, 0.14);
}

/* Aktive Filter */
#searchbox {
    margin: 18px 0 24px;
}

.filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.filter-list li {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 36px;
    border: 1px solid rgba(188, 61, 115, 0.20);
    border-radius: 999px;
    background: #fff4f8;
    color: #714055;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    padding: 9px 12px 9px 15px;
}

.filter-list li .remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: rgba(188, 61, 115, 0.12);
    color: #9b315f;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.filter-list li .remove:hover {
    background: #b83269;
    color: #fff;
}

.filter-list li.master-reset-pill {
    border-color: rgba(97, 58, 76, 0.18);
    background: #3f2733;
    color: #fff;
    cursor: pointer;
}

/* Keine Treffer */
#searchboxnotfound {
    margin: 22px 0 30px;
}

.notfound-box {
    border: 1px solid rgba(188, 61, 115, 0.18);
    border-radius: 24px;
    background: #fff7fa;
    color: #49313d;
    padding: 24px;
    text-align: center;
}

.notfound-box strong {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    color: #3b2630;
}

.notfound-box p {
    margin: 0 0 16px;
    color: rgba(73, 49, 61, 0.72);
}

.notfound-box button {
    border: 0;
    border-radius: 999px;
    background: #b83269;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 20px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.notfound-box button:hover {
    background: #9f2859;
    box-shadow: 0 10px 24px rgba(184, 50, 105, 0.24);
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 767px) {
    .advisors-title h4 {
        font-size: 21px;
    }

    .select-search-div {
        display: block;
    }

    .select-flex-div {
        display: flex;
        width: 100%;
    }

    .select-flex-div > div {
        width: 100%;
    }

    .common-select,
    .consultants-select,
    .select-search-div .nice-select,
    .search-form {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .search-form {
        margin-top: 12px;
    }

    .filter-list {
        gap: 8px;
    }

    .filter-list li {
        max-width: 100%;
        font-size: 13px;
    }
}


/* === owl.carousel.min.css === */
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

/* === nice-select.css === */
.nice-select {
  -webkit-tap-highlight-color: transparent;
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #E9E9E9;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: var(--font-inter);
  font-size: 14px;
  outline: none;
  padding-left: 15px;
  padding-right: 36px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  width: auto; 
  padding-top: 9px;
  padding-bottom: 9px;
  line-height: 20px;
  font-weight: 400;
  color: #282828;
}
  .nice-select:hover {
    border-color: #dbdbdb; }
  .nice-select:active, .nice-select.open, .nice-select:focus {
    border-color: #999; }
  .nice-select:after {
    content: '\f107';
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 51%;
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: translateY(-50%);
    transition: all 0.15s ease-in-out;
    height: 20px;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Font Awesome 6 Pro';
    font-size: 16px;
}
  .nice-select.open:after {
    -webkit-transform: rotate(-180deg) translateY(-50%);
        -ms-transform: rotate(-180deg) translateY(-50%);
            transform: rotate(-180deg) translateY(-40%); 
    top: 0;
}
  .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
        -ms-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0); }
  .nice-select.disabled {
    border-color: #ededed;
    color: #999;
    pointer-events: none; }
    .nice-select.disabled:after {
      border-color: #cccccc; }
  .nice-select.wide {
    width: 100%; }
    .nice-select.wide .list {
      left: 0 !important;
      right: 0 !important; }
  .nice-select.right {
    float: right; }
    .nice-select.right .list {
      left: auto;
      right: 0; }
  .nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px; }
    .nice-select.small:after {
      height: 4px;
      width: 4px; }
    .nice-select.small .option {
      line-height: 34px;
      min-height: 34px; }
  .nice-select .list {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: auto;
    -webkit-transform-origin: 50% 0;
        -ms-transform-origin: 50% 0;
            transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
        -ms-transform: scale(0.75) translateY(-21px);
            transform: scale(0.75) translateY(-21px);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 9; 
    right: 0;
    padding: 4px;
    width: 192px;
    max-height: 260px;
    overflow-y: auto;
}
  .nice-select .option {
    cursor: pointer;
    list-style: none;
    outline: none;
    text-align: left;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; 
    color: var(--black-color);
    font-size: 14px;
    font-weight: 400;
    line-height: 140%;
    padding: 8px 12px;
    border-radius: 5px;
}
    .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
      background-color: var(--gold-color); 
      color: var(--white-color);
}
    .nice-select .option.selected {
      font-weight: 500; }
    .nice-select .option.disabled {
      background-color: transparent;
      color: #999;
      cursor: default; }

.no-csspointerevents .nice-select .list {
  display: none; }

.no-csspointerevents .nice-select.open .list {
  display: block; }


.nice-select.select-big {
	padding-top: 14px;
	padding-bottom: 14px;
}
.nice-select.select-big.open::after {
	top: 3px;
}

/* === niceselect.css === */


.nice-select.open::after {


}

.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus,
.nice-select .option.focus, .nice-select .option.selected.focus {
    color:#0A1A40 !important;
}

.nice-select .option.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.nice-select{

    line-height: 20px !important;
}


/* Select Text vertikal mittig */
.select-search-div .nice-select {
    display: flex;
    align-items: center;
    height: 48px;
    line-height: normal;
    padding-top: 0;
    padding-bottom: 0;
}

.select-search-div .nice-select .current {
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 1;
}

/* Pfeil wieder sauber mittig */
.select-search-div .nice-select:after {
    top: 50%;
    margin-top: -5px;
}

/* Falls native selects kurz sichtbar sind */
.common-select,
.consultants-select {
    height: 48px;
    line-height: 48px;
    padding-top: 0;
    padding-bottom: 0;
}

/* Nice Select Dropdown darf nicht abgeschnitten werden */
.advisors-title,
.select-search-div,
.select-flex-div,
.select-flex-div > div {
    overflow: visible;
}

/* Dropdown-Liste vollständig nutzbar machen */
.select-search-div .nice-select {
    position: relative;
    z-index: 20;
}

.select-search-div .nice-select.open {
    z-index: 999;
}

.select-search-div .nice-select .list {
    top: calc(100% + 6px);
    max-height: 320px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    z-index: 9999;
}

/* Einzelne Einträge sauber anzeigen */
.select-search-div .nice-select .option {
    display: flex;
    align-items: center;
    min-height: 56px;
    height: auto;
    line-height: 1.25;
    padding: 12px 18px;
    white-space: normal;
}

/* Placeholder/erste Zeile im Dropdown */
.select-search-div .nice-select .option:first-child {
    font-weight: 700;
    color: #081e42;
}

/* Scrollbar dezent */
.select-search-div .nice-select .list::-webkit-scrollbar {
    width: 6px;
}

.select-search-div .nice-select .list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(184, 50, 105, 0.35);
}

/* === custom.css === */
:root {
    --bkui_dark-blue: #fbedea !important;
    --bkui_blue: #d73547 !important;
    --bkui_blue-2: #d73547 !important;
    --bkui_light-blue2:#fbedea !important;
    --bkui_light-blue: #ffffff !important;
    --green-color: #4CAF50 !important;
    --red-color: #F44336 !important;
    --yellow-color: #FFEB3B !important;
    --orange-color: #FF9800 !important;
    --gray-color: #ececec !important;
    --dark-gray-color: #858585 !important;
    --gold: #d73547 !important;
}


.hero-content {
    max-width: 730px !important;
}


.adv-pin{
    position:absolute;
    top: 8px;
    right: 15px;
    padding:5px 10px;
    background-color:#fff;
    border-radius:5px;
    font-size:12px;
    font-weight:600;
    color:#000;
    z-index:10;
}




.bkui_payment__icon img.payment.aktive {
    border: 3px solid orange;
}

.section-beraterportal .bkui_section {
    background-color: #fff !important;
}

.bkui_wrapper {
    background: #fff !important;

}

.bkui_shell h1 {
    background-color: #fbedea !important;
    color: #d73547 !important;
}

.bkui_btn:hover {
    color: #757575;
}



.widget__head{background:var(--gold); padding:15px 22px}


.section-beraterportal .info-msg{
    color: #d73547 !important;
    border: 1px solid #d73547;
    background-color: #faf5f4 !important;
}


.blog-grid .bcard .bbody h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.blog-grid .bcard .bbody h3 {
    min-height: 2.6em;
    line-height: 1.3;
}


.cat .circle img {
    width: unset !important;
    height: unset !important;
    object-fit: unset !important;
}


body{
    background: #fefafb !important;
}


.hidden{
    display:none;
}

.nav-list {
    margin: 48px 0 20px;
}

.feat .ic img {
    width: 60px;
    height: 60px;
}

.pay img {
    height: 60px;
}



.berater-liste{
    margin-top:20px !important;
}
.bl-head .sec-title {

    flex-shrink: 0;

    width: max-content;

}

.bl-head .sec-title h2 {

    white-space: nowrap;

}
.foot {
    grid-template-columns: minmax(180px, 1.5fr) repeat(var(--footer-column-count, 4), minmax(130px, 1fr));
}

@media (max-width: 980px) and (min-width: 701px) {
    .foot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .foot .brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .foot {
        grid-template-columns: 1fr;
    }
}


