*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px;scrollbar-gutter:stable}body{margin:0;font-family:var(--font);background:var(--background);color:#172033;line-height:1.65}.skip-link{position:absolute;left:-999px;top:0;background:#111827;color:#fff;padding:.8rem 1rem;z-index:999999}.skip-link:focus{left:1rem;top:1rem}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:9990;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,24,39,.08);box-shadow:0 10px 30px rgba(17,24,39,.06)}.nav{min-height:78px;display:flex;align-items:center;gap:1rem;position:relative}.logo{display:inline-flex;align-items:center;text-decoration:none;color:#111827;font-weight:900;letter-spacing:-.04em}.site-logo-img{width:auto;height:54px;display:block}.main-nav{margin-left:auto;display:flex;align-items:center;gap:.35rem}.nav-item{position:relative}.main-nav a{display:inline-flex;align-items:center;text-decoration:none;color:#111827;font-weight:800;padding:.65rem .85rem;border-radius:999px}.main-nav a:hover,.main-nav a:focus{background:rgba(247,181,0,.18);outline:none}.submenu{display:none;position:absolute;top:100%;left:0;min-width:230px;list-style:none;margin:.35rem 0 0;padding:.5rem;border-radius:18px;background:#fff;border:1px solid rgba(17,24,39,.1);box-shadow:0 24px 60px rgba(17,24,39,.14)}.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu{display:block}.header-cta{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:999px;background:var(--secondary);color:#fff;text-decoration:none;font-weight:900}.hamburger{display:none;width:48px;height:48px;min-width:48px;border:0;border-radius:14px;background:var(--secondary);align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.hamburger span{display:block;width:25px;height:3px;border-radius:999px;background:#fff;transition:.2s}.hamburger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}body.desktop-hamburger-enabled .hamburger{display:inline-flex}@media(min-width:769px){body.desktop-hamburger-enabled .main-nav{display:none;position:absolute;right:0;top:calc(100% + .7rem);min-width:290px;padding:1rem;border-radius:20px;background:#fff;border:1px solid rgba(17,24,39,.1);box-shadow:0 24px 60px rgba(17,24,39,.16);flex-direction:column;align-items:stretch}body.desktop-hamburger-enabled .main-nav.open{display:flex}body.desktop-hamburger-enabled .main-nav a{width:100%}body.desktop-hamburger-enabled .submenu{position:static;display:block;box-shadow:none;border:0;margin:.25rem 0 .25rem 1rem;padding:0}}.hero{padding:clamp(4rem,8vw,7rem) 0;background:radial-gradient(circle at 85% 15%,rgba(247,181,0,.24),transparent 28%),linear-gradient(135deg,#0b1220,#111827 62%,#263142);color:#fff;overflow:hidden}.hero-grid,.section-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center}.eyebrow,.hero-kicker{display:inline-flex;margin:0 0 1rem;padding:.45rem .78rem;border-radius:999px;background:rgba(247,181,0,.15);border:1px solid rgba(247,181,0,.35);color:#fde68a;font-size:.88rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(2.45rem,6vw,5.25rem);line-height:.95;letter-spacing:-.075em;margin:.4rem 0 1.2rem}.lead{font-size:clamp(1.08rem,2vw,1.28rem);color:#e5e7eb;max-width:780px}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}.btn,button{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.92rem 1.18rem;text-decoration:none;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,#f7b500,#ffd45a);color:#111827;box-shadow:0 18px 42px rgba(247,181,0,.28)}.btn.secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.24)}.trust-list{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;padding:0;margin:1.4rem 0 0}.trust-list li{padding:.6rem .82rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:800}.section{padding:clamp(3.8rem,8vw,6.8rem) 0}.section h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 1rem;color:#111827}.content-body{font-size:1.07rem;color:#374151}.section-dark{background:#111827;color:#fff}.section-dark h2{color:#fff}.section-dark .content-body{color:#d1d5db}.legal-section{background:#f8fafc}.service-grid,.benefit-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.service-grid article,.benefit-grid div,.project-grid article,.faq-list details,.contact-highlight{border-radius:24px;padding:1.35rem;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 50px rgba(17,24,39,.07)}.service-grid article{position:relative;overflow:hidden}.service-grid article:before{content:'⚡';position:absolute;right:1rem;top:.75rem;font-size:1.6rem;opacity:.22}.service-grid h3,.project-grid h3{margin:.1rem 0 .55rem;color:#111827;font-size:1.22rem}.benefit-grid div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}.benefit-grid strong{display:block;color:#fde68a;font-size:1.15rem}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:step;list-style:none;padding:0;margin:2rem 0 0}.steps li{counter-increment:step;border-radius:24px;padding:1.25rem;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 50px rgba(17,24,39,.07)}.steps li:before{content:counter(step);display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:12px;background:#f7b500;color:#111827;font-weight:900;margin-bottom:1rem}.steps span{display:block;color:#6b7280;margin-top:.35rem}.check-list{display:grid;gap:.7rem;list-style:none;padding:0;margin:1.4rem 0 0}.check-list li{padding-left:2rem;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:#f7b500;font-weight:900}.faq-list{display:grid;gap:1rem;margin-top:1.5rem}.faq-list summary{cursor:pointer;font-weight:900;color:#111827}.contact-highlight{margin-top:1.3rem;background:linear-gradient(135deg,#111827,#1f2937);color:#fff}.contact-highlight a{color:#fde68a;font-weight:900}.contact-form{margin-top:1.4rem;display:grid;gap:1rem;border-radius:28px;padding:1.25rem;background:#f9fafb;border:1px solid rgba(17,24,39,.08);box-shadow:0 24px 70px rgba(17,24,39,.08)}.contact-form label{display:grid;gap:.35rem;font-weight:800}.contact-form input,.contact-form textarea{width:100%;padding:.9rem 1rem;border-radius:16px;border:1px solid #d1d5db;font:inherit}.contact-form textarea{min-height:150px;resize:vertical}.form-hidden{position:absolute!important;left:-9999px!important}.form-notice,.form-error{padding:1rem;border-radius:16px;font-weight:800}.form-notice{background:#ecfdf3;color:#14532d;border:1px solid #bbf7d0}.form-error{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca}.section-media{margin:0}.section-image{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 24px 70px rgba(17,24,39,.16);border:1px solid rgba(255,255,255,.12)}figcaption{margin-top:.65rem;color:#6b7280;font-size:.94rem}.site-footer{padding:2rem 0;background:#0b1220;color:#e5e7eb}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.site-footer a{color:#fde68a;text-decoration:none;font-weight:800}.utility-bar{position:fixed;right:1rem;bottom:1rem;z-index:9999;display:flex;gap:.5rem}.utility-btn{border:0;border-radius:999px;padding:.75rem .9rem;background:#111827;color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(17,24,39,.18);cursor:pointer}.accessibility-panel{display:none;position:fixed;right:1rem;bottom:4.5rem;z-index:9999;width:min(300px,calc(100% - 2rem));padding:1rem;border-radius:20px;background:#fff;border:1px solid rgba(17,24,39,.12);box-shadow:0 24px 70px rgba(17,24,39,.18)}.accessibility-panel.open{display:grid;gap:.55rem}.accessibility-panel button{padding:.65rem .8rem;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb;cursor:pointer}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9998;display:none;grid-template-columns:1fr auto;gap:1rem;align-items:center;max-width:980px;margin:auto;padding:1rem;border-radius:22px;background:#fff;border:1px solid rgba(17,24,39,.12);box-shadow:0 24px 70px rgba(17,24,39,.18)}.cookie-banner.visible{display:grid}.cookie-banner p{margin:.25rem 0 0}.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}.cookie-btn{border:0;border-radius:999px;padding:.8rem 1rem;font-weight:900;cursor:pointer}.primary-cookie{background:#111827;color:#fff}.secondary-cookie{background:#f3f4f6;color:#111827}.access-contrast{filter:contrast(1.18)}.access-font{font-size:112%}.access-spacing{line-height:1.95}.access-links a{text-decoration:underline!important;text-underline-offset:.22em}@media(max-width:980px){.header-cta{display:none}.hero-grid,.section-grid{grid-template-columns:1fr}.section-media{order:-1}.hero .section-media{order:0}.service-grid,.benefit-grid,.project-grid,.steps{grid-template-columns:1fr 1fr}}@media(max-width:768px){.nav{min-height:70px}.hamburger{display:inline-flex;margin-left:auto}body.desktop-hamburger-disabled .hamburger{display:inline-flex}.main-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + .75rem);padding:1rem;border-radius:20px;background:#fff;border:1px solid rgba(17,24,39,.1);box-shadow:0 24px 60px rgba(17,24,39,.16);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{width:100%}.submenu{position:static;display:block;box-shadow:none;border:0;margin:.25rem 0 .25rem 1rem;padding:0}.site-logo-img{height:46px}.cookie-banner{grid-template-columns:1fr;bottom:.75rem}}@media(max-width:640px){.container{width:min(100% - 28px,1160px)}.service-grid,.benefit-grid,.project-grid,.steps{grid-template-columns:1fr}.btn{width:100%;margin:.2rem 0}.trust-list{display:grid}.section{padding:3.25rem 0}.hero{padding:3.6rem 0}.hero h1{letter-spacing:-.055em}.footer-grid{align-items:flex-start;flex-direction:column}}


/* === Elektriker Premium Produktkorrektur: Toolbar unter Header + hochwertigere CMS-Optik === */
.utility-bar{
  position:sticky!important;
  top:78px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:9988!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:.55rem!important;
  width:100%!important;
  padding:.55rem max(20px,calc((100% - 1160px)/2))!important;
  background:linear-gradient(90deg,#0b1220,#111827)!important;
  border-bottom:1px solid rgba(247,181,0,.28)!important;
  box-shadow:0 10px 24px rgba(17,24,39,.12)!important;
}
.utility-bar::before{
  content:'Website-Tools';
  margin-right:auto;
  color:#f9fafb;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.78;
}
.utility-btn,.accessibility-icon-btn{
  border:1px solid rgba(247,181,0,.45)!important;
  border-radius:999px!important;
  padding:.55rem .8rem!important;
  min-height:38px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.utility-btn:hover,.utility-btn:focus,.accessibility-icon-btn:hover,.accessibility-icon-btn:focus{
  background:#f7b500!important;
  color:#111827!important;
  outline:none!important;
}
.accessibility-panel{
  top:132px!important;
  right:max(1rem,calc((100% - 1160px)/2))!important;
  bottom:auto!important;
  z-index:9990!important;
  border:1px solid rgba(247,181,0,.35)!important;
}
@media(max-width:768px){
  .utility-bar{top:70px!important;padding:.5rem 14px!important;}
  .utility-bar::before{content:'Tools';}
  .accessibility-panel{top:122px!important;right:1rem!important;}
}

/* Adminbereich: Elektriker-Premium-Optik */
body.admin-page{
  background:radial-gradient(circle at 12% 0%,rgba(247,181,0,.20),transparent 30%),linear-gradient(135deg,#0b1220 0%,#111827 34%,#f3f4f6 34%,#f8fafc 100%)!important;
  color:#172033!important;
  min-height:100vh;
}
.admin-box{
  width:min(1240px,calc(100% - 32px));
  margin:2rem auto!important;
  padding:clamp(1rem,2.5vw,2rem)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(247,181,0,.24)!important;
  box-shadow:0 30px 90px rgba(17,24,39,.20)!important;
}
.admin-box>h1{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin:0 0 .35rem!important;
  color:#111827!important;
  letter-spacing:-.045em!important;
}
.admin-subtitle{
  margin:0 0 1rem!important;
  color:#4b5563!important;
  font-weight:700;
}
.admin-topbar{
  display:flex!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  flex-wrap:wrap!important;
  margin:1rem 0 1.25rem!important;
}
.admin-topbar a,.admin-actions button,.quick-actions a,.backup-card a{
  border-radius:999px!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.dashboard-card,.cms-panel,.feature-options,.template-card,.section-admin{
  border-radius:22px!important;
  border:1px solid rgba(17,24,39,.08)!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(17,24,39,.07)!important;
}
.dashboard-card{
  position:relative;
  overflow:hidden;
}
.dashboard-card strong{color:#111827!important;}
.dashboard-card span{color:#4b5563!important;}
.admin-toc{
  top:.75rem!important;
  background:linear-gradient(135deg,#111827,#1f2937)!important;
  border-color:rgba(247,181,0,.32)!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(17,24,39,.12)!important;
}
.admin-toc a{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.14)!important;
}
.admin-toc a:hover,.admin-toc a:focus{
  background:#f7b500!important;
  color:#111827!important;
  border-color:#f7b500!important;
}
input,textarea,select{
  border-radius:14px!important;
}
input:focus,textarea:focus,select:focus{
  outline:3px solid rgba(247,181,0,.25)!important;
  border-color:#f7b500!important;
}
.admin-login-card{
  max-width:520px!important;
}
@media(max-width:760px){
  .admin-box{width:min(100% - 20px,1240px);margin:1rem auto!important;border-radius:22px!important;}
}



/* === CMS V2 Produkt-Admin: modernes Menü, Eingabefelder, Buttons, Designauswahl === */
body.admin-page{--admin-bg:#f3f6fb;--admin-card:#ffffff;--admin-text:#111827;--admin-muted:#64748b;--admin-line:#e5e7eb;--admin-primary:#f7b500;--admin-dark:#0f172a;background:linear-gradient(135deg,#0f172a 0%,#111827 285px,#f3f6fb 285px,#f8fafc 100%)!important;color:var(--admin-text)!important;}
body.admin-page .container{width:min(1360px,calc(100% - 32px));}
.admin-box{width:100%!important;max-width:1360px!important;margin:1.5rem auto 2rem!important;padding:0!important;overflow:hidden!important;border-radius:30px!important;background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 30px 100px rgba(15,23,42,.18)!important;}
.admin-box>h1,.admin-box>.admin-subtitle,.admin-box>p:not(.notice),.admin-box>.notice,.admin-box>.admin-save-toast,.admin-dashboard{margin-left:clamp(1rem,2vw,1.8rem)!important;margin-right:clamp(1rem,2vw,1.8rem)!important;}
.admin-box>h1{padding-top:1.5rem!important;font-size:clamp(1.8rem,3vw,2.6rem)!important;}
.admin-box>p:not(.notice) a{display:inline-flex;align-items:center;gap:.35rem;margin:.15rem .35rem .15rem 0;padding:.7rem 1rem;border-radius:999px;background:#111827;color:#fff!important;text-decoration:none!important;font-weight:900;box-shadow:0 12px 26px rgba(15,23,42,.13);}
.admin-box>p:not(.notice) a:hover{background:#f7b500;color:#111827!important;}
.cms-form{display:grid;grid-template-columns:285px minmax(0,1fr);gap:0;align-items:start;border-top:1px solid #e5e7eb;margin-top:1.5rem;}
.admin-toc{position:sticky!important;top:0!important;align-self:start;height:calc(100vh - 1px);overflow:auto;margin:0!important;border-radius:0!important;padding:1.2rem!important;background:linear-gradient(180deg,#0f172a,#111827)!important;border:0!important;color:#fff!important;box-shadow:none!important;}
.admin-toc-header strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;color:#fde68a;}
.admin-toc-toggle{display:none!important;}
.admin-toc-links{display:grid!important;gap:.45rem!important;margin-top:.9rem;}
.admin-toc a{display:flex!important;align-items:center;gap:.55rem;width:100%;padding:.78rem .9rem!important;border-radius:14px!important;background:rgba(255,255,255,.06)!important;color:#e5e7eb!important;border:1px solid rgba(255,255,255,.08)!important;font-weight:850;text-decoration:none!important;}
.admin-toc a::before{content:'›';font-weight:1000;color:#f7b500;}
.admin-toc a:hover,.admin-toc a:focus,.admin-toc a.is-active{background:#f7b500!important;color:#111827!important;border-color:#f7b500!important;outline:none!important;}
.admin-toc a:hover::before,.admin-toc a:focus::before,.admin-toc a.is-active::before{color:#111827;}
.cms-form h2,.cms-form .section-admin,.cms-form .cms-panel,.cms-form .feature-options,.cms-form .admin-grid,.cms-form .field,.cms-form .checkbox-field,.cms-form .seo-fields,.cms-form .nav-settings-grid,.cms-form .gallery-grid,.cms-form .backup-card,.cms-form>p,.cms-form>hr,.cms-form>button,.cms-form>.notice{grid-column:2;margin-left:clamp(1rem,2.5vw,2rem)!important;margin-right:clamp(1rem,2.5vw,2rem)!important;}
.cms-admin-page{grid-column:2;display:none;padding:clamp(1rem,2.5vw,2rem);}
.cms-admin-page.is-active{display:block;}
.cms-admin-page>h2{margin:0 0 1.2rem!important;font-size:clamp(1.55rem,2.6vw,2.25rem);letter-spacing:-.04em;color:#0f172a;}
.cms-admin-page>h2::after{content:'';display:block;width:70px;height:5px;margin-top:.65rem;border-radius:999px;background:linear-gradient(90deg,#f7b500,#ffe08a);}
.cms-admin-page .section-admin,.cms-admin-page .cms-panel,.cms-admin-page .feature-options,.cms-admin-page .admin-grid,.cms-admin-page .field,.cms-admin-page .checkbox-field,.cms-admin-page .seo-fields,.cms-admin-page .nav-settings-grid,.cms-admin-page .gallery-grid,.cms-admin-page .backup-card{margin-left:0!important;margin-right:0!important;}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.field{display:grid;gap:.42rem;font-weight:850;color:#172033;}
.field small{font-weight:600;color:#64748b;}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),body.admin-page textarea,body.admin-page select,.admin-search{width:100%!important;min-height:48px!important;padding:.86rem 1rem!important;border-radius:16px!important;border:1px solid #dbe3ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;color:#111827!important;font:inherit!important;box-shadow:0 6px 18px rgba(15,23,42,.035)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;}
body.admin-page textarea{min-height:140px!important;resize:vertical;}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,body.admin-page textarea:focus,body.admin-page select:focus,.admin-search:focus{outline:none!important;border-color:#f7b500!important;box-shadow:0 0 0 4px rgba(247,181,0,.22),0 12px 30px rgba(15,23,42,.08)!important;}
body.admin-page input[type="color"]{width:100%;height:52px;border:1px solid #dbe3ef;border-radius:16px;padding:.25rem;background:#fff;}
.checkbox-field{padding:1rem!important;border-radius:18px;background:#f8fafc;border:1px solid #e5e7eb;}
.checkbox-field input[type="checkbox"]{accent-color:#f7b500;width:22px!important;height:22px!important;}
button,.quick-actions a,.backup-card a,.admin-box>p a{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;}
body.admin-page button:not(.admin-toc-toggle),.quick-actions a,.backup-card a{min-height:44px;border:0;border-radius:999px!important;padding:.78rem 1.05rem!important;background:#111827!important;color:#fff!important;font-weight:900!important;cursor:pointer;box-shadow:0 12px 26px rgba(15,23,42,.13)!important;text-decoration:none!important;}
body.admin-page button:not(.admin-toc-toggle):hover,.quick-actions a:hover,.backup-card a:hover{transform:translateY(-1px);background:#f7b500!important;color:#111827!important;}
body.admin-page button.danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important;box-shadow:none!important;}
body.admin-page button.danger:hover{background:#ef4444!important;color:#fff!important;}
.editor-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.7rem;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb;margin-bottom:.6rem;}
.editor{min-height:180px;padding:1rem;border-radius:18px;border:1px solid #dbe3ef;background:#fff;box-shadow:inset 0 1px 0 rgba(15,23,42,.03);}
.editor:focus{outline:none;border-color:#f7b500;box-shadow:0 0 0 4px rgba(247,181,0,.22);}
.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.template-card{position:relative;padding:1.1rem!important;border-radius:22px!important;overflow:hidden;}
.template-card::before{content:'';display:block;height:90px;margin:-1.1rem -1.1rem 1rem;border-radius:22px 22px 0 0;background:linear-gradient(135deg,#111827,#f7b500);}
.template-card:nth-child(2)::before{background:linear-gradient(135deg,#0f172a,#38bdf8,#facc15);}
.template-card:nth-child(3)::before{background:linear-gradient(135deg,#05070d,#d4af37);}
.template-card:nth-child(4)::before{background:linear-gradient(135deg,#111827,#f7b500);}
.template-card.active{border-color:#f7b500!important;box-shadow:0 0 0 4px rgba(247,181,0,.22),0 18px 50px rgba(15,23,42,.10)!important;}
.template-card.active::after{content:'Aktiv';position:absolute;top:.85rem;right:.85rem;padding:.35rem .65rem;border-radius:999px;background:#f7b500;color:#111827;font-weight:1000;font-size:.78rem;}
.notice,.admin-save-toast{border-radius:16px!important;background:#ecfdf5!important;color:#14532d!important;border:1px solid #bbf7d0!important;padding:1rem!important;font-weight:850!important;}
@media(max-width:980px){.cms-form{grid-template-columns:1fr}.admin-toc{position:relative!important;height:auto!important;grid-column:1!important;border-radius:0!important}.cms-admin-page{grid-column:1}.template-grid,.admin-grid{grid-template-columns:1fr!important}.admin-toc-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.admin-toc-links{grid-template-columns:1fr!important}.admin-box{border-radius:22px!important}.cms-admin-page{padding:1rem}.dashboard-grid{grid-template-columns:1fr!important}}




/* =========================================================
   Modern Login Design - Elektriker Premium CMS
   ========================================================= */
.admin-login-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at top left,rgba(245,158,11,.24),transparent 34rem),
    linear-gradient(135deg,#111827 0%,#172033 52%,#0f172a 100%);
  color:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem,3vw,2rem);
  box-sizing:border-box;
}
.admin-login-page *{box-sizing:border-box}
.login-shell{
  width:min(1080px,100%);
  min-height:620px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  backdrop-filter:blur(18px);
}
.login-brand-panel{
  position:relative;
  padding:clamp(2rem,5vw,4.25rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(135deg,rgba(245,158,11,.18),rgba(255,255,255,.03)),
    linear-gradient(135deg,#172033,#111827);
  overflow:hidden;
}
.login-brand-panel:after{
  content:"";
  position:absolute;
  right:-6rem;
  bottom:-6rem;
  width:19rem;
  height:19rem;
  border-radius:999px;
  background:rgba(245,158,11,.18);
}
.login-brand-badge{
  width:fit-content;
  margin-bottom:1.6rem;
  padding:.7rem 1.05rem;
  border-radius:999px;
  background:rgba(245,158,11,.14);
  border:1px solid rgba(245,158,11,.42);
  color:#fbbf24;
  font-weight:900;
  letter-spacing:.01em;
}
.login-brand-panel h1{
  max-width:12ch;
  margin:0;
  font-size:clamp(2.35rem,6vw,4.6rem);
  line-height:.96;
  letter-spacing:-.06em;
  color:#fff;
}
.login-card{
  padding:clamp(2rem,5vw,4.25rem);
  background:#fff;
  color:#172033;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-card h2{
  margin:0 0 1.3rem;
  color:#111827;
  font-size:clamp(2rem,4vw,3rem);
  letter-spacing:-.045em;
}
.login-card form{
  display:grid;
  gap:1rem;
}
.login-card label{
  display:grid;
  gap:.55rem;
  font-weight:850;
  color:#1f2937;
}
.login-card input[type="password"],
.login-card input[type="text"]{
  width:100%;
  min-height:56px;
  padding:.95rem 1rem;
  border-radius:16px;
  border:1px solid #dbe3ef;
  background:#f8fafc;
  color:#111827;
  font:inherit;
  font-weight:650;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.login-card input:focus{
  border-color:#f59e0b;
  background:#fff;
  box-shadow:0 0 0 4px rgba(245,158,11,.18);
}
.login-card button[type="submit"],
.login-submit{
  min-height:56px;
  margin-top:.35rem;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#f59e0b,#fbbf24);
  color:#111827;
  font:inherit;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 16px 30px rgba(245,158,11,.28);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.login-card button[type="submit"]:hover,
.login-card button[type="submit"]:focus-visible,
.login-submit:hover,
.login-submit:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 22px 42px rgba(245,158,11,.36);
  filter:saturate(1.05);
  outline:none;
}
.password-wrap,
.login-password-wrap{
  position:relative;
  display:block;
}
.password-wrap input,
.login-password-wrap input{
  padding-right:3.4rem !important;
}
.password-toggle,
.login-password-toggle{
  position:absolute;
  top:50%;
  right:.55rem;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#fff7ed;
  color:#92400e;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.password-toggle:hover,
.password-toggle:focus-visible,
.login-password-toggle:hover,
.login-password-toggle:focus-visible{
  background:#fef3c7;
  outline:none;
}
.login-error,
.admin-login-page .error-notice{
  margin:0 0 1rem;
  padding:.9rem 1rem;
  border-radius:14px;
  background:#fef2f2;
  color:#991b1b;
  border:1px solid #fecaca;
  font-weight:800;
}
.password-help,
.login-footer{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.25rem;
  flex-wrap:wrap;
}
.password-help a,
.login-footer a,
.admin-login-page a{
  color:#92400e;
  font-weight:850;
  text-decoration:none;
}
.password-help a:hover,
.password-help a:focus-visible,
.login-footer a:hover,
.login-footer a:focus-visible,
.admin-login-page a:hover,
.admin-login-page a:focus-visible{
  color:#f59e0b;
  text-decoration:underline;
  outline:none;
}
@media(max-width:820px){
  .admin-login-page{
    align-items:stretch;
    padding:0;
  }
  .login-shell{
    min-height:100vh;
    grid-template-columns:1fr;
    border-radius:0;
  }
  .login-brand-panel{
    min-height:230px;
  }
  .login-brand-panel h1{
    max-width:14ch;
    font-size:clamp(2rem,10vw,3.1rem);
  }
  .login-card{
    border-radius:28px 28px 0 0;
    margin-top:-1.5rem;
    position:relative;
    z-index:2;
  }
}


/* Element-Positionen aus dem CMS */
.nav .logo{order:1;}
.nav .main-nav{order:2;}
.nav .header-cta{order:3;}
.nav .hamburger{order:4;}
body.hamburger-pos-right .nav .hamburger{order:4;margin-left:.25rem;}
body.hamburger-pos-left .nav .hamburger{order:0;margin-left:0;margin-right:.25rem;}
body.hamburger-pos-left .nav .main-nav{margin-left:auto;}
body.hamburger-pos-right.desktop-hamburger-enabled .nav .main-nav{margin-left:auto;}
@media(max-width:768px){
  body.hamburger-pos-right .nav .hamburger{margin-left:auto;margin-right:0;}
  body.hamburger-pos-left .nav .hamburger{order:0;margin-left:0;margin-right:.5rem;}
  body.hamburger-pos-left .nav .logo{order:1;}
}
.utility-bar{position:sticky!important;top:78px!important;right:auto!important;bottom:auto!important;z-index:9985;display:flex;gap:.5rem;width:100%;padding:.55rem clamp(14px,4vw,40px);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,24,39,.08);box-shadow:0 10px 24px rgba(17,24,39,.05);}
body.utility-pos-below-header-right .utility-bar{justify-content:flex-end;}
body.utility-pos-below-header-left .utility-bar{justify-content:flex-start;}
body.utility-pos-below-header-center .utility-bar{justify-content:center;}
.utility-bar .utility-btn{position:static;box-shadow:none;}
.accessibility-panel{top:132px!important;bottom:auto!important;right:1rem;}
body.utility-pos-below-header-left .accessibility-panel{left:1rem;right:auto;}
body.utility-pos-below-header-center .accessibility-panel{left:50%;right:auto;transform:translateX(-50%);}
@media(max-width:768px){.utility-bar{top:70px!important}.accessibility-panel{top:124px!important;}}


/* Login Passwort-Umschalter + Template-Auswahl Fix */
.login-field{display:grid;gap:.55rem;font-weight:800;color:#1f2937;margin-bottom:1rem;}
.login-password-wrap{position:relative;display:block;width:100%;}
.login-password-wrap input{width:100%;min-height:56px;padding:.95rem 3.4rem .95rem 1rem;border-radius:16px;border:1px solid #dbe3ef;background:#f8fafc;color:#111827;font:inherit;font-weight:650;outline:none;box-sizing:border-box;}
.login-password-wrap input:focus{border-color:#f59e0b;background:#fff;box-shadow:0 0 0 4px rgba(245,158,11,.18);}
.login-password-toggle{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:12px;background:#fff7ed;color:#92400e;cursor:pointer;display:grid;place-items:center;}
.login-password-toggle:hover,.login-password-toggle:focus-visible{background:#fef3c7;outline:none;}
.template-choice-card:has(input:checked){border-color:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.16),0 18px 40px rgba(15,23,42,.10);}
.template-choice-card input:focus-visible + .template-preview{outline:3px solid #f59e0b;outline-offset:4px;}


/* Feine Abstandsteuerung aus dem CMS */
body.hamburger-pos-right .nav .hamburger{margin-right:var(--hamburger-offset-right,0px);transform:translateY(var(--hamburger-offset-top,0px));}
body.hamburger-pos-left .nav .hamburger{margin-left:var(--hamburger-offset-left,0px);transform:translateY(var(--hamburger-offset-top,0px));}
.utility-bar{padding-top:calc(.55rem + var(--utility-offset-top,0px))!important;}
body.utility-pos-below-header-right .utility-bar{padding-right:calc(clamp(14px,4vw,40px) + var(--utility-offset-right,0px))!important;}
body.utility-pos-below-header-left .utility-bar{padding-left:calc(clamp(14px,4vw,40px) + var(--utility-offset-left,0px))!important;}
body.utility-pos-below-header-center .utility-bar{padding-left:calc(clamp(14px,4vw,40px) + var(--utility-offset-left,0px))!important;padding-right:calc(clamp(14px,4vw,40px) + var(--utility-offset-right,0px))!important;}
body.utility-pos-below-header-right .accessibility-panel{right:calc(1rem + var(--utility-offset-right,0px))!important;}
body.utility-pos-below-header-left .accessibility-panel{left:calc(1rem + var(--utility-offset-left,0px))!important;}

/* =========================================================
   FIX: Element-Abstände wirklich auf Hamburger/Toolbar anwenden
   ========================================================= */
.nav .hamburger{
  position:relative!important;
  top:var(--hamburger-offset-top,0px)!important;
  transform:none!important;
}
body.hamburger-pos-right .nav .hamburger{
  left:auto!important;
  right:var(--hamburger-offset-right,0px)!important;
  margin-right:0!important;
}
body.hamburger-pos-left .nav .hamburger{
  right:auto!important;
  left:var(--hamburger-offset-left,0px)!important;
  margin-left:0!important;
}
.utility-bar{
  position:sticky!important;
  top:calc(78px + var(--utility-offset-top,0px))!important;
}
body.utility-pos-below-header-right .utility-bar{
  justify-content:flex-end!important;
  padding-right:calc(clamp(14px,4vw,40px) + var(--utility-offset-right,0px))!important;
  padding-left:clamp(14px,4vw,40px)!important;
}
body.utility-pos-below-header-left .utility-bar{
  justify-content:flex-start!important;
  padding-left:calc(clamp(14px,4vw,40px) + var(--utility-offset-left,0px))!important;
  padding-right:clamp(14px,4vw,40px)!important;
}
body.utility-pos-below-header-center .utility-bar{
  justify-content:center!important;
  padding-left:calc(clamp(14px,4vw,40px) + var(--utility-offset-left,0px))!important;
  padding-right:calc(clamp(14px,4vw,40px) + var(--utility-offset-right,0px))!important;
}
@media(max-width:768px){
  .utility-bar{top:calc(70px + var(--utility-offset-top,0px))!important;}
  body.hamburger-pos-right .nav .hamburger{right:var(--hamburger-offset-right,0px)!important;}
  body.hamburger-pos-left .nav .hamburger{left:var(--hamburger-offset-left,0px)!important;}
}


.site-header .logo{
  order:1!important;
  flex:0 0 auto!important;
}
.site-header .main-nav{
  order:2!important;
  margin-left:auto!important;
}
.site-header .header-cta{
  order:3!important;
  flex:0 0 auto!important;
}
.site-header .hamburger{
  order:99!important;
  flex:0 0 auto!important;
  margin-left:.75rem!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
}
body.hamburger-pos-right .site-header .hamburger,
body.hamburger-pos-left .site-header .hamburger{
  order:99!important;
  margin-left:.75rem!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
}
@media(max-width:768px){
  .site-header .main-nav{
    order:20!important;
    margin-left:0!important;
  }
  .site-header .hamburger{
    order:99!important;
    margin-left:auto!important;
  }
}

/* Fallback: echte Hamburger-Position; Hauptregel steht inline nach Template-CSS in index.php */


/* =========================================================
   Admin Lesbarkeits-Fix: Inhalte & Navigation
   ========================================================= */
.admin-page .admin-sidebar,
.admin-page .admin-nav,
.admin-page .sidebar,
.admin-page .cms-sidebar,
.admin-page .admin-menu {
  background: #111827 !important;
  color: #f8fafc !important;
}

.admin-page .admin-sidebar a,
.admin-page .admin-nav a,
.admin-page .sidebar a,
.admin-page .cms-sidebar a,
.admin-page .admin-menu a,
.admin-page .admin-sidebar button,
.admin-page .admin-nav button,
.admin-page .sidebar button,
.admin-page .cms-sidebar button,
.admin-page .admin-menu button {
  color: #f8fafc !important;
  background: transparent !important;
}

.admin-page .admin-sidebar a:hover,
.admin-page .admin-nav a:hover,
.admin-page .sidebar a:hover,
.admin-page .cms-sidebar a:hover,
.admin-page .admin-menu a:hover,
.admin-page .admin-sidebar button:hover,
.admin-page .admin-nav button:hover,
.admin-page .sidebar button:hover,
.admin-page .cms-sidebar button:hover,
.admin-page .admin-menu button:hover,
.admin-page .admin-sidebar .active,
.admin-page .admin-nav .active,
.admin-page .sidebar .active,
.admin-page .cms-sidebar .active,
.admin-page .admin-menu .active {
  background: #1f2937 !important;
  color: #fbbf24 !important;
}

.admin-page .admin-main,
.admin-page .admin-content,
.admin-page .cms-content,
.admin-page main,
.admin-page .admin-panel,
.admin-page .admin-section,
.admin-page .card,
.admin-page .settings-card {
  background-color: #f8fafc !important;
  color: #111827 !important;
}

.admin-page h1,
.admin-page h2,
.admin-page h3,
.admin-page h4,
.admin-page label,
.admin-page p,
.admin-page span,
.admin-page strong,
.admin-page legend {
  color: inherit;
}

.admin-page input,
.admin-page textarea,
.admin-page select {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #cbd5e1 !important;
}

.admin-page input:focus,
.admin-page textarea:focus,
.admin-page select:focus {
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18) !important;
  outline: none !important;
}

.admin-page .notice,
.admin-page .help-text,
.admin-page small {
  color: #475569 !important;
}

.admin-page .btn,
.admin-page button[type="submit"],
.admin-page .save-button,
.admin-page .admin-save-button {
  color: #111827 !important;
  background: linear-gradient(135deg, #f59e0b, #fbbf24) !important;
  border: 0 !important;
}

.admin-page .btn:hover,
.admin-page button[type="submit"]:hover,
.admin-page .save-button:hover,
.admin-page .admin-save-button:hover {
  filter: brightness(1.03) !important;
}


/* =========================================================
   CMS UX-Feinschliff Final
   - bessere Lesbarkeit
   - klarere Admin-Optik
   - verständlichere Inhaltsbereiche
   ========================================================= */

:root {
  --cms-admin-bg: #f6f8fb;
  --cms-admin-card: #ffffff;
  --cms-admin-text: #111827;
  --cms-admin-muted: #64748b;
  --cms-admin-sidebar: #111827;
  --cms-admin-sidebar-soft: #1f2937;
  --cms-admin-accent: #f59e0b;
  --cms-admin-accent-2: #fbbf24;
  --cms-admin-border: #dbe3ef;
}

.admin-page {
  background: var(--cms-admin-bg) !important;
  color: var(--cms-admin-text) !important;
}

.admin-page .admin-header,
.admin-page header.admin-header,
.admin-page .topbar,
.admin-page .cms-topbar {
  background: #ffffff !important;
  color: #111827 !important;
  border-bottom: 1px solid var(--cms-admin-border) !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
}

.admin-page .admin-sidebar,
.admin-page .admin-nav,
.admin-page .sidebar,
.admin-page .cms-sidebar,
.admin-page .admin-menu {
  background: var(--cms-admin-sidebar) !important;
  color: #f8fafc !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}

.admin-page .admin-sidebar a,
.admin-page .admin-nav a,
.admin-page .sidebar a,
.admin-page .cms-sidebar a,
.admin-page .admin-menu a,
.admin-page .admin-sidebar button,
.admin-page .admin-nav button,
.admin-page .sidebar button,
.admin-page .cms-sidebar button,
.admin-page .admin-menu button {
  color: #f8fafc !important;
  background: transparent !important;
  border-radius: 12px !important;
  font-weight: 750 !important;
}

.admin-page .admin-sidebar a:hover,
.admin-page .admin-nav a:hover,
.admin-page .sidebar a:hover,
.admin-page .cms-sidebar a:hover,
.admin-page .admin-menu a:hover,
.admin-page .admin-sidebar .active,
.admin-page .admin-nav .active,
.admin-page .sidebar .active,
.admin-page .cms-sidebar .active,
.admin-page .admin-menu .active {
  background: var(--cms-admin-sidebar-soft) !important;
  color: var(--cms-admin-accent-2) !important;
}

.admin-page .admin-main,
.admin-page .admin-content,
.admin-page .cms-content,
.admin-page .admin-panel,
.admin-page .admin-section,
.admin-page .card,
.admin-page .settings-card,
.admin-page fieldset {
  background: var(--cms-admin-card) !important;
  color: var(--cms-admin-text) !important;
  border: 1px solid var(--cms-admin-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
}

.admin-page input,
.admin-page textarea,
.admin-page select {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 14px !important;
  min-height: 44px;
}

.admin-page textarea {
  min-height: 140px;
}

.admin-page input:focus,
.admin-page textarea:focus,
.admin-page select:focus {
  border-color: var(--cms-admin-accent) !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18) !important;
  outline: none !important;
}

.admin-page label {
  color: #1f2937 !important;
  font-weight: 800 !important;
}

.admin-page small,
.admin-page .help-text,
.admin-page .admin-help,
.admin-page .description,
.admin-page .muted {
  color: var(--cms-admin-muted) !important;
}

.admin-page .btn,
.admin-page button,
.admin-page input[type="submit"],
.admin-page button[type="submit"],
.admin-page .save-button,
.admin-page .admin-save-button {
  border-radius: 14px !important;
  font-weight: 900 !important;
}

.admin-page button[type="submit"],
.admin-page .save-button,
.admin-page .admin-save-button,
.admin-page .primary,
.admin-page .btn-primary {
  background: linear-gradient(135deg, var(--cms-admin-accent), var(--cms-admin-accent-2)) !important;
  color: #111827 !important;
  border: 0 !important;
  box-shadow: 0 12px 24px rgba(245, 158, 11, 0.22) !important;
}

.admin-page button[type="submit"]:hover,
.admin-page .save-button:hover,
.admin-page .admin-save-button:hover,
.admin-page .primary:hover,
.admin-page .btn-primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.admin-page .ux-page-empty,
.admin-page .empty-state {
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 20px !important;
  padding: 1.25rem !important;
  color: #334155 !important;
}

.admin-page .ux-add-page-button,
.admin-page a[href*="new"],
.admin-page button[name*="add"],
.admin-page button[value*="add"] {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.admin-page .ux-add-page-button::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  background: #111827;
  color: #fbbf24;
  font-weight: 950;
}

/* Visuelle Klarstellung für Abschnitt/Seite in Admin-Hilfetexten */
.admin-page .cms-ux-note {
  display: grid;
  gap: .4rem;
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 16px;
  background: #fff7ed;
  color: #7c2d12;
  border: 1px solid #fed7aa;
}

.admin-page .cms-ux-note strong {
  color: #7c2d12 !important;
}

/* Starter-Hinweise optisch */
.cms-start-flag {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  background: #111827;
  color: #fbbf24;
  font-size: 1.5rem;
  box-shadow: 0 12px 28px rgba(15,23,42,.18);
}


/* Eigene Seiten Button Fix */
.admin-page .own-pages-action .ux-add-page-button,
.admin-page a.ux-add-page-button[href="neue-seite.php"] {
  background: linear-gradient(135deg, #f59e0b, #fbbf24) !important;
  color: #111827 !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: .85rem 1.1rem !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 24px rgba(245, 158, 11, .22) !important;
}
.admin-page .own-pages-action .ux-add-page-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}


/* =========================================================
   VERSION 1.0 UX-FEINSCHLIFF
   Einheitliche Benutzerführung, Buttons, Karten und Hinweise
   ========================================================= */
:root{--ux-bg:#f6f8fb;--ux-card:#ffffff;--ux-text:#111827;--ux-muted:#64748b;--ux-border:#dbe3ef;--ux-dark:#111827;--ux-accent:#f59e0b;--ux-accent2:#fbbf24;}
.admin-page{background:var(--ux-bg)!important;color:var(--ux-text)!important;}
.admin-page .admin-topbar,.admin-page .admin-header,.admin-page header.admin-header{background:#fff!important;border-bottom:1px solid var(--ux-border)!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important;}
.admin-page .admin-menu,.admin-page .admin-sidebar,.admin-page .admin-nav,.admin-page .sidebar,.admin-page .cms-sidebar{background:var(--ux-dark)!important;color:#f8fafc!important;}
.admin-page .admin-menu a,.admin-page .admin-sidebar a,.admin-page .admin-nav a,.admin-page .sidebar a,.admin-page .cms-sidebar a{color:#f8fafc!important;border-radius:12px!important;font-weight:800!important;}
.admin-page .admin-menu a:hover,.admin-page .admin-sidebar a:hover,.admin-page .admin-nav a:hover,.admin-page .sidebar a:hover,.admin-page .cms-sidebar a:hover,.admin-page .is-active,.admin-page .active{background:#1f2937!important;color:var(--ux-accent2)!important;}
.admin-page .cms-panel,.admin-page .admin-panel,.admin-page .section-admin,.admin-page .admin-box,.admin-page fieldset,.admin-page .dashboard-card,.admin-page .template-choice-card{background:var(--ux-card)!important;color:var(--ux-text)!important;border:1px solid var(--ux-border)!important;border-radius:20px!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important;}
.admin-page input,.admin-page textarea,.admin-page select{background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important;border-radius:14px!important;min-height:44px!important;}
.admin-page textarea{min-height:140px!important;}
.admin-page input:focus,.admin-page textarea:focus,.admin-page select:focus{border-color:var(--ux-accent)!important;box-shadow:0 0 0 4px rgba(245,158,11,.18)!important;outline:none!important;}
.admin-page label{color:#1f2937!important;font-weight:800!important;}
.admin-page small,.admin-page .muted,.admin-page .help-text,.admin-page .description{color:var(--ux-muted)!important;}
.admin-page button,.admin-page .btn,.admin-page .quick-actions a{border-radius:14px!important;font-weight:900!important;}
.admin-page button[type=submit],.admin-page .btn-primary,.admin-page .save-button,.admin-page .admin-header-save{background:linear-gradient(135deg,var(--ux-accent),var(--ux-accent2))!important;color:#111827!important;border:0!important;box-shadow:0 12px 24px rgba(245,158,11,.22)!important;}
.admin-page button[type=submit]:hover,.admin-page .btn-primary:hover,.admin-page .save-button:hover,.admin-page .admin-header-save:hover{transform:translateY(-1px);filter:brightness(1.03);}
.cms-ux-note{display:grid;gap:.4rem;padding:1rem;margin:1rem 0;border-radius:16px;background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;}
.cms-ux-note strong{color:#7c2d12!important;}
.cms-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;}
.cms-task-card{display:grid;gap:.5rem;padding:1rem;border-radius:18px;background:#fff;border:1px solid var(--ux-border);text-decoration:none;color:#111827!important;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.cms-task-card:hover{transform:translateY(-2px);border-color:var(--ux-accent);}
.cms-task-card span{font-size:1.6rem;}.cms-task-card strong{font-size:1rem;}.cms-task-card small{color:var(--ux-muted)!important;}
@media(max-width:900px){.cms-task-grid{grid-template-columns:1fr;}}

.preview-elektriker-clean-white{background:linear-gradient(135deg,#ffffff,#e5e7eb)!important}.preview-elektriker-clean-white .template-preview-hero{background:linear-gradient(135deg,#f59e0b,#fbbf24)!important}.preview-elektriker-clean-white .template-preview-top,.preview-elektriker-clean-white .template-preview-lines i{background:#94a3b8!important}
.preview-elektriker-notdienst-red{background:linear-gradient(135deg,#111827,#450a0a)!important}.preview-elektriker-notdienst-red .template-preview-hero{background:linear-gradient(135deg,#ef4444,#f97316)!important}
.preview-elektriker-solar-green{background:linear-gradient(135deg,#052e16,#0f172a)!important}.preview-elektriker-solar-green .template-preview-hero{background:linear-gradient(135deg,#22c55e,#84cc16)!important}


/* =========================================================
   Pflichtfix Admin Header: Website ansehen + Logout sichtbar
   ========================================================= */
.admin-page .permanent-admin-actions,
.permanent-admin-actions {
  position: fixed !important;
  top: 12px !important;
  right: 18px !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.admin-page .admin-top-action,
.admin-top-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0.68rem 0.95rem !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  font-size: 0.92rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.admin-page .view-site-action,
.view-site-action {
  background: #ffffff !important;
  color: #111827 !important;
}

.admin-page .logout-action,
.logout-action {
  background: linear-gradient(135deg, #111827, #1f2937) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.12) !important;
}

.admin-page .admin-top-action:hover,
.admin-top-action:hover,
.admin-page .admin-top-action:focus-visible,
.admin-top-action:focus-visible {
  transform: translateY(-1px) !important;
  filter: brightness(1.03) !important;
  text-decoration: none !important;
  outline: 3px solid rgba(245, 158, 11, .25) !important;
}

@media (max-width: 720px) {
  .admin-page .permanent-admin-actions,
  .permanent-admin-actions {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    width: 100% !important;
    justify-content: flex-end !important;
    padding: .65rem .75rem !important;
    background: rgba(248, 250, 252, .96) !important;
    backdrop-filter: blur(8px) !important;
  }
}


/* =========================================================
   Login Branding - schlesiger.website
   ========================================================= */
.admin-login-page{position:relative;padding-top:5.25rem!important;padding-bottom:5rem!important;}
.login-branding-bar{position:fixed;top:0;left:0;right:0;min-height:72px;padding:.85rem clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:10000;background:rgba(15,23,42,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}
.login-brand-logo{display:inline-flex;align-items:center;text-decoration:none}.login-brand-logo img{display:block;width:auto;height:34px;max-width:min(240px,50vw);object-fit:contain;border-radius:6px}.login-made-in{color:#fbbf24;font-weight:900;font-size:clamp(.78rem,2vw,.98rem);letter-spacing:.02em;text-align:right;white-space:nowrap}.login-ai-footer{position:fixed;left:0;right:0;bottom:0;z-index:10000;padding:.75rem clamp(1rem,3vw,2rem);background:rgba(15,23,42,.9);color:rgba(248,250,252,.88);border-top:1px solid rgba(255,255,255,.12);font-size:clamp(.72rem,1.8vw,.9rem);line-height:1.45;text-align:center;backdrop-filter:blur(14px)}
@media(max-width:640px){.admin-login-page{padding-top:6.25rem!important;padding-bottom:6.75rem!important}.login-branding-bar{min-height:88px;align-items:flex-start;flex-direction:column;justify-content:center}.login-brand-logo img{height:30px;max-width:220px}.login-made-in{text-align:left;white-space:normal}}

/* Aktive Menü-Markierung – zeigt den aktuellen Bereich (rein additiv) */
.main-nav a.is-active,
.main-nav a[aria-current="true"]{background:var(--primary)!important;color:var(--secondary)!important;}
.main-nav a.is-active-parent{background:color-mix(in srgb, var(--primary) 16%, transparent)!important;}
