/* jactio.com – statische Version im Erscheinungsbild der bisherigen WordPress-Seite (Theme "Consulting") */
/* Schriften Montserrat und Open Sans (SIL Open Font License, siehe /assets/fonts/) werden vom eigenen Server geladen. */
@font-face{font-family:"Montserrat";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/montserrat-500.woff) format("woff")}
@font-face{font-family:"Montserrat";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/montserrat-600.woff) format("woff")}
@font-face{font-family:"Open Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/open-sans-400.woff) format("woff")}
@font-face{font-family:"Open Sans";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/open-sans-400-italic.woff) format("woff")}
@font-face{font-family:"Open Sans";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/open-sans-600.woff) format("woff")}
@font-face{font-family:"Open Sans";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/open-sans-700.woff) format("woff")}

:root{
  --gelb:#ffbc12;
  --text:#222;
  --grau:#777;
  --link:#6c98e1;
  --dunkel:#1a1a1a;
  --linie:#e5e5e5;
  --heading:"Montserrat","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --body:"Open Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:var(--body);font-size:16px;line-height:1.625}
img{max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1140px;margin:0 auto;padding:0 15px}

/* Topbar */
.top_bar{background:var(--gelb);font-size:13px;color:#fff}
.top_bar .container{display:flex;justify-content:flex-end;align-items:center;gap:22px;min-height:50px}
.top_bar a{color:#fff;font-weight:600}
.top_bar a:hover{text-decoration:none;opacity:.85}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--linie)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:24px}
.logo img{display:block;width:240px;height:auto}
.main-nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.main-nav li{position:relative}
.main-nav a,.main-nav .nav-parent{display:block;padding:12px 14px;font-family:var(--heading);font-weight:600;font-size:16px;color:var(--dunkel);cursor:pointer}
.main-nav a:hover,.main-nav li:focus-within>.nav-parent,.main-nav li:hover>.nav-parent{color:#c68f00;text-decoration:none}
.main-nav .sub{list-style:none;margin:0;padding:8px 0;position:absolute;left:0;top:100%;min-width:260px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.12);border-top:3px solid var(--gelb);display:none;z-index:20}
.main-nav li:hover>.sub,.main-nav li:focus-within>.sub{display:block}
.main-nav .sub a{font-family:var(--body);font-weight:400;font-size:14px;padding:8px 20px}
.mobile-nav{display:none}

/* Inhalt */
main{padding:40px 0 60px}
h1,h2,h3,h4,h5{font-family:var(--heading);color:var(--text);font-weight:500;line-height:1.25}
h1{font-size:26px;margin:0 0 22px;padding-top:10px}
h2{font-size:26px;margin:40px 0 16px;padding-top:10px}
h3{font-size:20px;margin:28px 0 12px}
h4{font-size:17px;margin:22px 0 10px}
p{margin:0 0 18px}
strong,b{font-family:var(--heading);font-weight:600}
.content ul,.entry ul{list-style:none;padding-left:0;margin:0 0 20px}
.content ul li,.entry ul li{position:relative;padding-left:22px;margin-bottom:8px}
.content ul li::before,.entry ul li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--gelb)}
.content li:has(> div)::before,.content li:has(> img)::before{display:none}
.content li:has(> div){padding-left:0}
.content ol,.entry ol{padding-left:22px}
.content table,.entry table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:15px}
.content th,.content td,.entry th,.entry td{border:1px solid #ddd;padding:8px 12px;text-align:left;vertical-align:top}
.content th,.entry th{background:#f7f7f7;font-family:var(--heading);font-weight:600}
.content img{height:auto}
.content figure,.entry figure{margin:24px 0}
.content iframe{display:none}
.content a,.entry a{word-break:break-word}
.content blockquote{border-left:4px solid var(--gelb);margin:20px 0;padding:6px 18px;background:#fafafa}
.intro{color:var(--grau);font-size:15px}
.meta{font-size:14px;color:var(--grau);margin-bottom:18px}

/* Inhaltsverzeichnis wie bisher (Table of Contents Plus) */
.toc{border:1px solid #aaa;padding:10px 18px;margin:10px 0 28px;font-size:15.2px;width:100%}
.toc .toc_title{font-weight:700;text-align:center;margin:0 0 6px;font-family:var(--body)}
.toc ul{list-style:none;margin:0;padding:0}
.toc ul ul{padding-left:18px}
.toc li{padding-left:16px !important;margin-bottom:2px !important;line-height:1.45}
.toc li::before{content:"";position:absolute;left:2px !important;top:.55em !important;width:6px !important;height:6px !important;border-radius:50%;background:var(--gelb)}

/* Bilder, Bildunterschriften */
figure img{display:block}
figcaption,.caption{font-size:14px;color:var(--grau);margin-top:8px;line-height:1.5}

/* Preisband */
.preisband{border:1px solid var(--linie);border-left:4px solid var(--gelb);background:#fffaf0;padding:18px 22px;margin:8px 0 24px}
.preisband .wert{font-family:var(--heading);font-size:28px;font-weight:600;color:var(--text);line-height:1.2;margin:2px 0 6px}
.preisband .unter{font-size:14px;color:#555;margin:0}
.preisband-grafik svg{width:100%;height:auto;display:block}
details.monatswerte{margin:10px 0 24px;font-size:15px}
details.monatswerte summary{cursor:pointer;color:var(--link)}
details.monatswerte table{max-width:520px;margin-top:10px}
.quelle{font-size:14px;color:var(--grau)}

/* Werbeflächen (Platzhalter) */
.werbeflaeche{border:2px dashed #d9c27a;background:#fffdf6;padding:20px 24px;margin:34px 0;text-align:center}
.werbeflaeche .wf-label{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9a7b16;font-weight:700;margin-bottom:6px}
.werbeflaeche .wf-titel{font-family:var(--heading);font-weight:600;font-size:18px;margin:0 0 6px}
.werbeflaeche p{margin:0 0 8px;font-size:15px;color:#555}
.werbeflaeche a{font-weight:600}

/* Kacheln aus dem bisherigen Entwurf */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-bottom:24px}
.card{display:block;padding:20px;border:1px solid var(--linie);color:var(--text);background:#fff}
.card:hover{border-color:var(--gelb);text-decoration:none}
.card strong{display:block;font-size:16px;line-height:1.35}
.card small{display:block;color:var(--grau);margin-top:8px}
.callout{border-left:4px solid var(--gelb);background:#fafafa;padding:18px 22px;margin:20px 0 28px}
.languages{text-align:right;font-size:13px;margin:-20px 0 16px;color:var(--grau)}
.languages a{padding:2px 4px}
.languages a[aria-current="page"]{font-weight:700;color:var(--text)}
.autor{font-size:14px;color:var(--grau);margin-top:30px}

/* Footer */
.site-footer{background:var(--dunkel);color:#fff;padding:34px 0;font-size:14px}
.site-footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.site-footer a{color:#fff}
.site-footer .copy{color:#aaa}

@media (max-width:900px){
  .main-nav{display:none}
  .mobile-nav{display:block}
  .mobile-nav summary{list-style:none;cursor:pointer;font-family:var(--heading);font-weight:600;padding:10px 4px;font-size:16px}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav[open]{position:static}
  .mobile-nav ul{list-style:none;margin:0;padding:0}
  .mobile-nav a{display:block;padding:8px 0;color:var(--dunkel);font-family:var(--heading);font-weight:600}
  .mobile-nav .sub a{font-family:var(--body);font-weight:400;padding-left:14px}
  .site-header .container{flex-wrap:wrap;min-height:76px}
  .mobile-nav[open]{width:100%;order:3;padding-bottom:10px}
  .logo img{width:190px}
  h1,h2{font-size:22px}
  .languages{text-align:left;margin-top:0}
  .preisband .wert{font-size:24px}
}

/* WPBakery-Raster aus den Originalseiten */
.vc_row{display:flex;flex-wrap:wrap;margin:0 -15px}
.vc_row>.wpb_column{padding:0 15px;flex:1 1 100%;min-width:0}
.vc_row>.vc_col-sm-1{flex:0 0 8.333%}.vc_row>.vc_col-sm-2{flex:0 0 16.666%}.vc_row>.vc_col-sm-3{flex:0 0 25%}.vc_row>.vc_col-sm-4{flex:0 0 33.333%}
.vc_row>.vc_col-sm-5{flex:0 0 41.666%}.vc_row>.vc_col-sm-6{flex:0 0 50%}.vc_row>.vc_col-sm-7{flex:0 0 58.333%}.vc_row>.vc_col-sm-8{flex:0 0 66.666%}
.vc_row>.vc_col-sm-9{flex:0 0 75%}.vc_row>.vc_col-sm-10{flex:0 0 83.333%}.vc_row>.vc_col-sm-11{flex:0 0 91.666%}.vc_row>.vc_col-sm-12{flex:0 0 100%}
.vc_row>.wpb_column[class*="vc_col-sm"]{max-width:none}
.vc_row>.wpb_column:not([class*="vc_col-sm"]){flex:1 1 0}
.wpb_single_image{margin-bottom:20px}
.vc_align_center{text-align:center}
.vc_separator{border-top:1px solid #e5e5e5;margin:20px 0}
.icon_box{padding:10px 0 16px}
.icon_box h5{font-size:17px;margin:6px 0 8px;font-weight:600}
.content h5{font-size:16px;font-weight:600}
.content h6{font-size:18px;font-weight:600;margin:14px 0 8px;font-family:var(--heading)}
.content .wpb_column img{display:block;margin:0 auto 12px}
.post_details_wr,.stm_post_info{color:var(--grau);font-size:14px}
/* Inhaltsverzeichnis aus dem Plugin */
.toc .toc_list,.toc ul{list-style:none;margin:0;padding:0}
.toc .toc_list li{position:relative}
.hinweis-box{border-left:4px solid var(--gelb);background:#fafafa;padding:12px 18px;font-size:15px;color:#444;margin:0 0 26px}
.sprachwahl{margin-right:auto;display:flex;flex-wrap:wrap;gap:2px 10px}
.sprachwahl a,.sprachwahl strong{color:#fff;font-weight:600}
.sprachwahl strong{text-decoration:underline}
@media (max-width:767px){
  .vc_row{margin:0}
  .vc_row>.wpb_column,.vc_row>.wpb_column[class*="vc_col-sm"],.vc_row>.wpb_column:not([class*="vc_col-sm"]){flex:1 1 100%;padding:0}
  .top_bar .container{flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:6px 18px}
}
.artikelliste{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin:22px 0 32px}
.artikel{border:1px solid var(--linie);border-top:3px solid var(--gelb);padding:18px 20px;background:#fff;display:flex;flex-direction:column}
.artikel h2{font-size:18px;line-height:1.35;margin:0 0 10px}
.artikel h2 a{color:var(--dunkel)}
.artikel p{font-size:14px;color:#555;margin:0 0 12px;flex:1}
.artikel .weiter{font-size:14px;font-weight:600}
