/* Brand color tokens — override via Live Edit Style Editor */
:root {
  --primary-color: #ffffff;
  --accent-color: #666666;
  --bg-color: #ffffff;
  --text-color: #1f2937;
}



@import url('../images/css2-ec26f1.bin');
:root{
  --navy:#002677; --navy-700:#001a54; --navy-900:#001138; --navy-soft:#0d3592;
  --orange:#ff6319; --orange-600:#ed5408; --orange-100:#fff1e9; --orange-200:#ffd9c4;
  --ink:#16203a; --body:#42506b; --muted:#6b768f; --line:#e6eaf1; --line-2:#d6dde9;
  --bg:#ffffff; --bg-soft:#f4f7fc; --bg-soft-2:#eef3fb;
  --shadow-sm:0 2px 8px rgba(0,38,119,.06); --shadow:0 16px 40px -18px rgba(0,38,119,.28); --shadow-lg:0 30px 70px -28px rgba(0,38,119,.42);
  --radius:14px; --radius-lg:22px; --radius-pill:999px; --container:1180px; --section-y:104px;
  --font-head:'Poppins',system-ui,sans-serif; --font-body:'DM Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--body);background:var(--bg);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--navy);margin:0;line-height:1.1;letter-spacing:-.02em;font-weight:700;}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 28px;}
.section{padding:var(--section-y) 0;}
.section--soft{background:var(--bg-soft);}
.section--navy{background:var(--navy);}
.section--tight{padding:72px 0;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;background:var(--orange);}
.eyebrow--center{justify-content:center;}
.section-head{max-width:680px;margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,46px);margin:16px 0 0;}
.section-head p{margin:18px 0 0;font-size:18px;color:var(--muted);}
.lead{font-size:19px;color:var(--body);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:16px;padding:15px 28px;border-radius:var(--radius-pill);border:2px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;}
.btn--primary{background:var(--orange);color:#fff;box-shadow:0 14px 26px -12px rgba(255,99,25,.7);}
.btn--primary:hover{background:var(--orange-600);transform:translateY(-2px);box-shadow:0 18px 30px -12px rgba(255,99,25,.8);}
.btn--navy{background:var(--navy);color:#fff;}
.btn--navy:hover{background:var(--navy-700);transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-2);}
.btn--ghost:hover{border-color:var(--navy);transform:translateY(-2px);}
.btn--white{background:#fff;color:var(--navy);}
.btn--white:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn--outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.btn--outline-white:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px);}
.btn--lg{padding:17px 34px;font-size:17px;}
.btn--block{width:100%;}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;gap:28px;height:84px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand img.crest{height:46px;width:auto;}
.nav-links{display:flex;align-items:center;margin-left:auto;}
.nav-links ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.nav-links a{font-family:var(--font-head);font-weight:600;font-size:15.5px;color:var(--navy);padding:10px 14px;border-radius:10px;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:6px;}
.nav-links a:hover{background:var(--bg-soft-2);color:var(--orange);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-phone{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:16px;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--orange-200);}
.hexicon{width:66px;height:74px;display:grid;place-items:center;flex:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--navy);color:#fff;}
.hexicon--orange{background:var(--orange);}
.hexicon--soft{background:var(--orange-100);color:var(--orange);}
.hexicon--softnavy{background:var(--bg-soft-2);color:var(--navy);}
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.card--accent{border-top:4px solid var(--orange);}
a.card.svc{color:inherit;}
.feature-svc{display:flex;gap:20px;align-items:flex-start;padding:24px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .25s,border-color .2s;color:inherit;}
.feature-svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--orange-200);}
.feature-svc .hexicon{width:58px;height:64px;}
.feature-svc .fs-body{display:flex;flex-direction:column;gap:6px;min-width:0;}
.feature-svc b{font:700 19px/1.2 var(--font-head);color:var(--navy);letter-spacing:-.01em;}
.feature-svc .fs-tag{color:var(--muted);font-size:15px;line-height:1.55;}
.feature-svc .more{margin-top:6px;font:600 14.5px var(--font-head);color:var(--orange);display:inline-flex;align-items:center;gap:7px;}
.svc{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.svc h3{font-size:21px;}
.svc p{margin:0;font-size:15.5px;color:var(--muted);line-height:1.6;}
.svc .more{margin-top:auto;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--orange);display:inline-flex;align-items:center;gap:7px;}
.site-footer{background:var(--navy-900);color:rgba(255,255,255,.72);padding:72px 0 32px;font-size:15px;}
.site-footer h4{color:#fff;font-size:16px;margin:0 0 18px;letter-spacing:.01em;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;}
.site-footer a{transition:color .2s;}
.site-footer a:hover{color:var(--orange);}
.footer-brand img{height:62px;margin-bottom:18px;}
.footer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer-contact{display:flex;flex-direction:column;gap:12px;}
.footer-contact .row{display:flex;gap:12px;align-items:flex-start;}
.footer-bottom{margin-top:48px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13.5px;color:rgba(255,255,255,.5);}
.pill-tag{display:inline-flex;align-items:center;gap:8px;background:var(--orange-100);color:var(--orange-600);font-family:var(--font-head);font-weight:600;font-size:13.5px;padding:7px 15px;border-radius:var(--radius-pill);}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.check-list li{display:flex;gap:13px;align-items:flex-start;font-size:16px;color:var(--body);}
.stat{display:flex;flex-direction:column;gap:4px;}
.stat b{font-family:var(--font-head);font-weight:800;font-size:42px;color:var(--navy);line-height:1;letter-spacing:-.03em;}
.stat span{font-size:14.5px;color:var(--muted);}
.topbar{background:var(--navy-900);color:rgba(255,255,255,.74);font-size:13.5px;}
.topbar .container{display:flex;align-items:center;justify-content:space-between;height:42px;gap:18px;}
.topbar a{display:inline-flex;align-items:center;gap:8px;transition:color .2s;}
.topbar a:hover{color:#fff;}
.topbar .tb-group{display:flex;align-items:center;gap:22px;}
.topbar .tb-fb{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;}
.topbar .tb-fb:hover{background:var(--orange);}
.nav-item{position:relative;}
.nav-item>a .chev{transition:transform .2s;color:var(--muted);}
.nav-item:hover>a .chev{transform:rotate(180deg);}
.nav-drop{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px;width:560px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:70;}
.nav-item:hover .nav-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-drop .dgroup-label{grid-column:1/-1;font:700 11.5px/1 var(--font-head);letter-spacing:.13em;text-transform:uppercase;color:var(--orange);padding:10px 12px 4px;}
.drop-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background .15s;}
.drop-link:hover{background:var(--bg-soft);}
.drop-link .dl-ic{width:38px;height:38px;border-radius:10px;background:var(--bg-soft-2);color:var(--navy);display:grid;place-items:center;flex:none;}
.drop-link:hover .dl-ic{background:var(--orange);color:#fff;}
.drop-link span{font:600 14.5px var(--font-head);color:var(--navy);}
.mobile-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--navy);align-items:center;justify-content:center;}
.mobile-menu{display:none;}
.mobile-menu.open{display:block;position:fixed;inset:0;top:0;z-index:200;background:rgba(0,17,56,.5);}
.mobile-panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,360px);background:#fff;padding:22px;overflow:auto;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-lg);}
.mobile-panel .mclose{align-self:flex-end;width:42px;height:42px;border:none;background:var(--bg-soft);border-radius:10px;font-size:22px;color:var(--navy);}
.mobile-panel a{padding:13px 12px;border-radius:10px;font:600 16px var(--font-head);color:var(--navy);}
.mobile-panel a.sub{padding-left:24px;font-size:15px;color:var(--body);font-weight:500;}
.mobile-panel a:hover{background:var(--bg-soft);}
.mobile-panel .mdiv{height:1px;background:var(--line);margin:8px 0;}
@media(max-width:980px){.mobile-toggle{display:flex;}.nav-cta .btn,.nav-phone{display:none;}}
.hero{position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.hero h1{font-size:clamp(36px,5vw,62px);line-height:1.04;letter-spacing:-.03em;}
.hero .sub{font-size:19px;margin:24px 0 32px;max-width:540px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.hero-trust{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap;}
.hl{color:var(--orange);}
.panel{border-radius:26px;padding:40px;position:relative;overflow:hidden;}
.panel--navy{background:var(--navy);color:#fff;}
.chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-pill);padding:11px 18px;font:600 15px var(--font-head);color:var(--navy);box-shadow:var(--shadow-sm);}
.chip .ci{width:30px;height:30px;border-radius:8px;background:var(--orange-100);color:var(--orange);display:grid;place-items:center;}
.area-chip{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow-sm);}
.area-chip .hexicon{width:50px;height:56px;}
.area-chip b{display:block;font:700 18px var(--font-head);color:var(--navy);}
.area-chip span{font-size:14px;color:var(--muted);}
.cta-band{background:var(--orange);color:#fff;border-radius:30px;padding:56px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-band h2{color:#fff;font-size:clamp(26px,3.4vw,40px);max-width:620px;}
.cta-band p{margin:12px 0 0;color:rgba(255,255,255,.92);font-size:18px;}
.page-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:62px 0 70px;}
.page-hero::after{content:"";position:absolute;right:-160px;top:-200px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(255,99,25,.22),transparent 62%);pointer-events:none;}
.page-hero h1{color:#fff;font-size:clamp(32px,4.4vw,52px);}
.page-hero .ph-sub{color:rgba(255,255,255,.82);font-size:18px;margin:16px 0 0;max-width:620px;}
.breadcrumb{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.6);margin-bottom:18px;font-family:var(--font-head);font-weight:500;}
.breadcrumb a{color:rgba(255,255,255,.75);transition:color .2s;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb .cur{color:var(--orange);}
.svc-emblem{width:158px;height:174px;display:grid;place-items:center;color:#fff;justify-self:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--orange);box-shadow:0 30px 60px -22px rgba(255,99,25,.7);}
.svc-callout{border-radius:22px;padding:32px;background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.svc-callout h3{color:#fff;font-size:22px;margin:16px 0 8px;}
.svc-callout p{color:rgba(255,255,255,.8);font-size:15px;margin:0 0 20px;}
.svc-callout .btn{margin-bottom:10px;}
.svc-callout .co-note{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:rgba(255,255,255,.72);margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);}
.svc-hero-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:40px;align-items:center;}
@media(max-width:760px){.svc-hero-grid{grid-template-columns:1fr;}.svc-emblem{display:none;}}
.field{margin-bottom:16px;}
.field label{display:block;font:600 13px var(--font-head);color:var(--navy);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line-2);border-radius:12px;font:500 15px var(--font-body);color:var(--ink);background:#fff;}
.field textarea{resize:vertical;min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px var(--orange-100);}
.formcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow);}
.formcard h3{font-size:23px;margin:0 0 6px;}
.formcard .fc-sub{font-size:14.5px;color:var(--muted);margin:0 0 22px;}
.info-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.info-card .hexicon{width:54px;height:60px;flex:none;}
.info-card .ic-label{font:600 13px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.info-card b{display:block;font:700 19px var(--font-head);color:var(--navy);margin-top:3px;letter-spacing:-.01em;}
.info-card span.note{font-size:14px;color:var(--muted);}
.form-success{display:none;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:18px 6px;}
.form-success .fs-ic{width:64px;height:64px;border-radius:50%;background:var(--orange-100);color:var(--orange);display:grid;place-items:center;}
.form-success b{font:700 20px var(--font-head);color:var(--navy);}
.form-success span{color:var(--muted);font-size:15px;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px;}.nav-drop{display:none;}}
.honeycomb-bg{background-image:url("data:image/svg+xml,%3Csvg width='56' height='100' viewBox='0 0 56 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64l28 16v32L28 128 0 112V80z' fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='2'/%3E%3C/svg%3E");}
@media(max-width:900px){:root{--section-y:72px;}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}.nav-links{display:none;}}
@media(max-width:600px){body{font-size:16px;}.grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr;}}

/* ---- home-specific ---- */
.b-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:92px 0 104px;}
.b-hero::after{content:"";position:absolute;right:-180px;top:-180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle, rgba(255,99,25,.28), transparent 62%);pointer-events:none;}
.b-hero h1{color:#fff;font-size:clamp(38px,5.2vw,62px);line-height:1.03;}
.b-hero .sub{color:rgba(255,255,255,.82);font-size:19px;margin:24px 0 34px;max-width:520px;}
.b-stats{display:flex;gap:38px;margin-top:42px;flex-wrap:wrap;}
.b-stat b{display:block;font:800 34px var(--font-head);color:#fff;line-height:1;letter-spacing:-.02em;}
.b-stat span{font-size:14px;color:rgba(255,255,255,.7);}
.leadcard{background:#fff;border-radius:24px;padding:34px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);}
.leadcard h3{font-size:23px;}
.leadcard .lc-sub{font-size:14.5px;color:var(--muted);margin:6px 0 22px;}
.leadcard .lc-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:14px;justify-content:center;}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;font:600 13.5px var(--font-head);padding:8px 14px;border-radius:999px;}
.credit-band{background:var(--navy-900);color:#fff;}
.credit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.credit{display:flex;flex-direction:column;gap:10px;}
.credit .ci{width:54px;height:60px;}
.credit h4{color:#fff;font-size:18px;}
.credit p{margin:0;font-size:14.5px;color:rgba(255,255,255,.66);line-height:1.55;}
.steps{display:grid;gap:18px;}
.step{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);}
.step .num{font:800 22px var(--font-head);color:#fff;background:var(--orange);width:48px;height:48px;border-radius:12px;display:grid;place-items:center;flex:none;}
.step h4{font-size:18px;margin:0 0 6px;}
.step p{margin:0;font-size:15px;color:var(--muted);}
@media(max-width:900px){.credit-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.credit-grid{grid-template-columns:1fr;}}

/* ---- impresszum ---- */
.imp-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:48px;align-items:start;}
.imp-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);overflow:hidden;}
.imp-row{display:flex;gap:18px;padding:20px 28px;border-bottom:1px solid var(--line);}
.imp-row:last-child{border-bottom:none;}
.imp-row .imp-label{flex:none;width:210px;font:600 14px var(--font-head);color:var(--muted);letter-spacing:.02em;}
.imp-row .imp-val{font-size:16px;color:var(--ink);font-weight:500;}
.imp-note{margin-top:22px;display:flex;gap:12px;align-items:flex-start;background:var(--orange-100);border-radius:16px;padding:18px 22px;font-size:14.5px;color:var(--orange-600);}
@media(max-width:760px){.imp-grid{grid-template-columns:1fr;}.imp-row{flex-direction:column;gap:4px;}.imp-row .imp-label{width:auto;}}

/* ---- MDI font-icon sizing (Microweber Live-Edit compatible) ---- */
.mdi{line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;}
.btn .mdi{font-size:19px;flex:none;}
.btn--lg .mdi{font-size:20px;}
.nav-phone .mdi{font-size:18px;color:var(--orange);}
.hexicon .mdi{font-size:34px;}
.feature-svc .hexicon .mdi{font-size:30px;}
.feature-svc .more .mdi{font-size:16px;transition:transform .2s;}
.feature-svc:hover .more .mdi{transform:translateX(4px);}
.svc .more .mdi{font-size:16px;transition:transform .2s;}
.card:hover .svc .more .mdi{transform:translateX(4px);}
.footer-contact .mdi{font-size:18px;color:var(--orange);flex:none;margin-top:2px;}
.topbar .mdi{font-size:15px;color:var(--orange);}
.topbar .tb-fb .mdi{font-size:14px;color:#fff;}
.nav-item>a .chev{font-size:16px;}
.mobile-toggle .mdi{font-size:24px;}
.check-list .mdi{font-size:22px;color:var(--orange);flex:none;margin-top:2px;}
.chip .ci .mdi{font-size:18px;}
.area-chip .hexicon .mdi{font-size:25px;}
.svc-emblem .mdi{font-size:84px;}
.svc-callout .co-note .mdi{font-size:18px;color:var(--orange);flex:none;margin-top:1px;}
.info-card .hexicon .mdi{font-size:27px;}
.form-success .fs-ic .mdi{font-size:34px;}
.breadcrumb .mdi{font-size:15px;opacity:.6;}
.drop-link .dl-ic .mdi{font-size:21px;}
.badge .mdi{font-size:16px;color:var(--orange);}
.leadcard .lc-note .mdi{font-size:15px;color:var(--orange);}
.credit .ci .mdi{font-size:28px;}
.imp-row .mdi{font-size:20px;color:var(--orange);}



/* === MW Live Edit overrides (auto-generated) === */

.mw-admin-live-edit-page [data-layout-container] { min-height: 0 !important; }

.brand img, .nav-logo img, .logo img { max-width: 48px; max-height: 48px; width: auto; height: auto; object-fit: contain; }
.f-brand .logo img, footer .logo img { max-width: 40px; max-height: 40px; }

.image-slot-canonicalized { width: 100%; height: auto; display: block; }
.image-slot-shape-circle { border-radius: 50%; }

/* === Nav <ul><li> bullet suppression (auto-generated) === */
nav.nav ul, .nav ul, header nav ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; gap: 2px; align-items: center;
}
nav.nav ul li, .nav ul li, header nav ul li {
  list-style: none; margin: 0; padding: 0;
}
nav.nav ul li::marker, header nav ul li::marker { content: none; }

/* === Multilanguage MW module — link-list clean skin (auto-generated) === */
.lang-mw, .mw-lang-switch { display: inline-block; position: relative; font-size: 12.5px; letter-spacing: .08em; }
.mw-lang-current {
  display: inline-flex; align-items: center; gap: 4px;
  background: transparent; border: 1px solid rgba(255,255,255,0.25);
  color: var(--light, #fff); border-radius: 6px;
  padding: 6px 10px 6px 12px; font: inherit; cursor: pointer;
  text-transform: uppercase; line-height: 1;
}
.mw-lang-current:hover { border-color: rgba(255,255,255,0.55); background: rgba(255,255,255,0.06); }
.mw-lang-current .mdi { font-size: 16px; opacity: 0.75; }
.mw-lang-menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 80px;
  list-style: none; margin: 0; padding: 6px 0;
  background: rgba(8, 32, 62, 0.96);
  border: 1px solid var(--line-dark, rgba(255,255,255,0.15));
  border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  display: none; z-index: 50;
}
.mw-lang-menu.is-open { display: block; }
.mw-lang-menu li { list-style: none; padding: 0; margin: 0; }
.mw-lang-link {
  display: block; padding: 8px 14px;
  color: var(--light, #fff); text-decoration: none;
  text-transform: uppercase; white-space: nowrap;
}
.mw-lang-link:hover { background: rgba(255,255,255,0.08); }
.mw-lang-fullname { display: none; }


/* add-generator-hardening: hero full-viewport rules (override of upstream defaults) */
.hero { min-height: 100vh; padding: 0; display: flex; }
.hero .mw-layout-container { flex: 1; padding: 40px 0; }


/* add-generator-hardening: Posts module wrapper transparency.
   The `<div class="module module-posts">` wrapper MW injects between the
   section container and the skin output breaks `parent > child` selectors
   from the source design. Two-part fix: (a) `display:contents` so the box
   model is transparent, and (b) class-level selectors so flex/grid layout
   matches regardless of wrapper depth. */
.module-posts { display: contents; }

/* Class-level flex/grid layouts — match regardless of `.module-posts` depth. */
.carousel-track { display: flex; }
.carousel-track > article.carousel-slide,
.carousel-track > .carousel-slide { flex: 0 0 100%; width: 100%; }


/* ===== MDI-SVG-INFLATE-FIX ===== */
/* MW Live Edit inflates `<i class="mdi …">` to inline <svg viewBox="0 0 24 24">
   without width/height — without these rules the SVG fills its parent. */
.mdi svg { width: 1em; height: 1em; fill: currentColor; display: inline-block; vertical-align: -0.125em; }
i.mdi svg, .mdi > svg { width: 1em; height: 1em; }


/* ===== STATIC-PAGE-CLEARANCE-BLOCK ===== */
/* Static pages (subtype=static) bypass inner.php and inject content
   directly into the body. Without padding the fixed header overlaps. */
body.page-impresszum > .main-content { padding-top: 80px; }
body.page-adatvedelmi > .main-content { padding-top: 80px; }


/* ===== FONT-COLOR-RUNTIME-OVERRIDE ===== */
/* Live Edit inserts inline <font color="…">; override to brand color
   non-destructively. !important is required (inline attribute beats rules). */
font[color] { color: var(--brand) !important; }

/* bullet-icon-normalizer: suppress CSS-pseudo bullets */
.check-list li::before, .check-list li::after { content: none !important; }
.check-list li { padding-left: 0; }
.check-list li > i.mdi { margin-right: 8px; vertical-align: middle; }


/* DSP compliance footer-block — kartevo */
:root { --dsp-logo-height: 141px; }
.kartevo-dsp { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 24px 10px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.kartevo-dsp .dsp-logos { display: flex; align-items: center; gap: 50px; }
.kartevo-dsp .dsp-logo { height: var(--dsp-logo-height); width: auto; padding: 10px; display: block; }
.kartevo-dsp .dsp-logo-link { display: inline-block; line-height: 0; }
.kartevo-dsp .dsp-statement { max-width: 720px; text-align: center; font-size: 0.875rem; line-height: 1.5; margin: 0; }
@media (max-width: 1024px) {
  .kartevo-dsp .dsp-logos { gap: 32px; }
}
@media (max-width: 768px) {
  .kartevo-dsp .dsp-logos { gap: 20px; flex-wrap: wrap; justify-content: center; }
}


/* ===== LEGAL-PAGES-DEFAULT-STYLES ===== */
/* Impresszum + Adatvédelmi page styling (add-default-legal-pages-v2 — rk-teto pattern). */
.impresszum-wrap, .adatvedelmi-wrap { max-width: 980px; margin: 0 auto; padding: 32px 20px 80px; line-height: 1.65; color: #4a4a4a; }

/* Intro box — left brand-border, soft gray bg. */
.impresszum-intro-box, .adatvedelmi-intro-box {
  background: #f5f5f5;
  border-left: 4px solid var(--primary, currentColor);
  padding: 24px 28px;
  border-radius: 8px;
  margin: 0 0 48px;
  line-height: 1.75;
}
.impresszum-intro-box p, .adatvedelmi-intro-box p { margin: 0; }

/* Section heading — UPPERCASE + MDI-icon + thin divider. */
.impresszum-section, .adatvedelmi-section { margin: 48px 0; }
.impresszum-h2, .adatvedelmi-h2 {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eaeaea;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #1a1a1a;
}
.impresszum-h2 > i, .adatvedelmi-h2 > i { color: var(--primary, currentColor); font-size: 1.4em; line-height: 1; }

/* Card grid for identity data (Üzemeltető / Adatkezelő). */
.impresszum-grid, .adatvedelmi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.impresszum-card, .adatvedelmi-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 18px 20px;
}
.impresszum-label, .adatvedelmi-label {
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: #888;
  font-weight: 600;
  margin-bottom: 8px;
}
.impresszum-value, .adatvedelmi-value { color: #1a1a1a; font-weight: 500; }
.adatvedelmi-value a { color: inherit; text-decoration: none; }
.adatvedelmi-value a:hover { text-decoration: underline; }

/* TODO placeholders — italic + brand color. */
.impresszum-todo, .adatvedelmi-todo {
  color: var(--primary, currentColor) !important;
  font-style: italic;
  font-weight: 500;
}

/* Pill-style contact links. */
.impresszum-contact-row, .adatvedelmi-contact-row { display: flex; flex-wrap: wrap; gap: 12px; }
.impresszum-pill, .adatvedelmi-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 14px 22px;
  color: #1a1a1a;
  text-decoration: none;
  font-weight: 500;
}
.impresszum-pill > i, .adatvedelmi-pill > i { color: var(--primary, currentColor); font-size: 1.15em; }
.impresszum-pill:hover, .adatvedelmi-pill:hover { background: #fafafa; }

/* Lists (Adatvédelmi célok + Érintetti jogok). */
.adatvedelmi-list { padding-left: 22px; margin: 0; }
.adatvedelmi-list li { margin: 6px 0; }

/* Body paragraphs in legal sections. */
.impresszum-section > p, .adatvedelmi-section > p { margin: 0; }

/* Footer legal-link visibility (B4) — visible on dark footers. */
.footer .footer-bottom-links, .footer-bottom-links {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11.5px; letter-spacing: .06em;
  color: var(--light, #ffffff);
}
.footer .footer-bottom-links a, .footer-bottom-links a,
.footer .footer-bottom-links .footer-legal-link, .footer-bottom-links .footer-legal-link {
  color: inherit; text-decoration: none;
}
.footer .footer-bottom-links .footer-legal-link:hover,
.footer-bottom-links .footer-legal-link:hover { text-decoration: underline; }
.footer-legal-sep { opacity: 0.5; margin: 0 4px; user-select: none; }

@media (max-width: 640px) {
  .impresszum-wrap, .adatvedelmi-wrap { padding: 24px 16px 60px; }
  .impresszum-grid, .adatvedelmi-grid { grid-template-columns: 1fr; }
  .impresszum-section, .adatvedelmi-section { margin: 36px 0; }
}
