*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#202124}
header{background:#fff;border-bottom:1px solid #e4e7eb;padding:18px 5%;display:flex;justify-content:space-between;align-items:center}
header a{color:#1769e0;text-decoration:none}
.top-actions{display:flex;align-items:center;gap:12px}
.top-actions form{margin:0}
main{max-width:1250px;width:92%;margin:32px auto}
.panel{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 8px 30px rgba(0,0,0,.05)}
h1{margin-top:0;font-size:32px}h2{margin-top:0;font-size:24px}
.muted{color:#667085;line-height:1.5}
.notice,.error{padding:13px;border-radius:9px;margin-bottom:16px}
.notice{background:#e8f5e9;color:#176b2d}.error{background:#ffebee;color:#a51c30}
.stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.stat{background:#fff;border:1px solid #e1e5ea;padding:15px 20px;border-radius:12px;min-width:130px}
.stat strong{display:block;font-size:28px;margin-bottom:2px}
.form{display:grid;gap:11px;max-width:720px}
.form input,.form textarea,.form select,.login-form input{padding:13px;border:1px solid #ccd3dc;border-radius:9px;font-size:15px;background:#fff;width:100%}
.btn{padding:12px 17px;border:0;border-radius:9px;background:#1769e0;color:#fff;font-weight:700;cursor:pointer}
.btn.secondary{background:#e9edf2;color:#222}.btn.danger{background:#d62828}.btn.small{padding:8px 11px;font-size:13px}
.password-row{display:flex;gap:8px}.password-row input{flex:1}.eye{width:54px;border:1px solid #ccd3dc;border-radius:9px;background:#f4f6f8;cursor:pointer}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#fff;min-width:850px}
th,td{padding:11px 10px;text-align:left;border-bottom:1px solid #edf0f3;vertical-align:middle}
th{font-size:14px;color:#475467}
.actions{display:flex;gap:7px;flex-wrap:wrap}.actions form{margin:0}
code{background:#eef1f4;padding:5px 7px;border-radius:6px;word-break:break-word}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-wrap{width:min(520px,92%);margin:0}
.login-panel{padding:30px}
.login-form{display:grid;gap:12px}
.login-panel h1{font-size:30px}
@media(max-width:700px){header{padding:15px 4%}.top-actions a{display:none}main{width:94%;margin:20px auto}.panel{padding:18px}.stats{gap:8px}.stat{flex:1;min-width:100px}.stat strong{font-size:24px}}

.duplicate-list{display:grid;gap:10px;margin:15px 0}
.duplicate-group{border:1px solid #e1e5ea;border-radius:10px;padding:12px;background:#fafbfc}
.duplicate-group ul{margin:8px 0 0;padding-left:20px}
.duplicate-group li{margin:4px 0}

.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:10px;align-items:center}
.filter-grid input,.filter-grid select{padding:13px;border:1px solid #ccd3dc;border-radius:9px;font-size:15px;background:#fff}
.filter-reset{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.edit-details{position:relative}
.edit-details summary{display:inline-flex;list-style:none;cursor:pointer}
.edit-details summary::-webkit-details-marker{display:none}
.edit-form{margin-top:8px;padding:12px;border:1px solid #e1e5ea;border-radius:10px;background:#fafbfc;display:grid;gap:8px;min-width:280px}
.edit-form input,.edit-form textarea,.edit-form select{padding:9px;border:1px solid #ccd3dc;border-radius:7px;font:inherit;background:#fff}
.edit-form textarea{min-height:80px}
@media(max-width:1050px){.filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.filter-grid{grid-template-columns:1fr}.edit-form{min-width:240px}}

/* FirmenFinder navigation + homepage polish */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(16,24,40,.06)}
.site-brand{display:flex;align-items:center;gap:9px;color:#202124;text-decoration:none;font-size:17px;font-weight:800}
.site-brand-mark{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#1769e0;color:#fff;font-size:18px;box-shadow:0 5px 14px rgba(23,105,224,.22)}
.site-nav{display:flex;align-items:center;gap:9px}
.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:9px;color:#344054!important;text-decoration:none;font-weight:700;border:1px solid transparent}
.nav-link:hover{background:#f2f6fc;border-color:#dce5f1}
.nav-link.home{background:#1769e0;color:#fff!important;box-shadow:0 4px 12px rgba(23,105,224,.18)}
.nav-link.home:hover{background:#0f56bd}
.public-page{padding-top:38px}
.public-hero{position:relative;overflow:hidden;border:1px solid #e7edf5!important;background:linear-gradient(135deg,#fff 0%,#f7fbff 58%,#eef5ff 100%)!important;box-shadow:0 18px 45px rgba(20,45,80,.08)!important;border-radius:22px!important;padding:54px 34px 34px!important}
.public-hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(23,105,224,.08);right:-100px;top:-115px}
.public-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(23,105,224,.05);left:-90px;bottom:-110px}
.public-hero>*{position:relative;z-index:1}
.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#edf4ff;color:#1769e0;font-size:13px;font-weight:800;margin-bottom:15px}
.public-hero h1{letter-spacing:-1.4px;line-height:1.08}
.public-hero p{font-size:17px}
.public-search{background:rgba(255,255,255,.8);border:1px solid #e1e8f0;border-radius:15px;padding:10px;box-shadow:0 8px 24px rgba(20,45,80,.07)}
.public-search input,.public-search select,.public-search .location-btn{border-color:#d3dce8!important;background:#fff!important;min-height:50px}
.public-search .btn{min-height:50px;border-radius:10px;box-shadow:0 5px 14px rgba(23,105,224,.2)}
.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 30px}
.home-feature{background:#fff;border:1px solid #e5eaf0;border-radius:15px;padding:17px 18px;box-shadow:0 6px 20px rgba(20,30,50,.045)}
.home-feature strong{display:block;margin-bottom:4px}
.home-feature span{display:block;color:#667085;font-size:14px;line-height:1.45}
.results-section{margin-top:6px}
@media(max-width:900px){.home-features{grid-template-columns:1fr}.public-hero{padding:40px 22px 26px!important}}
@media(max-width:700px){.site-header{position:static}.site-nav{gap:4px}.nav-link{padding:8px 10px;font-size:14px}.public-page{padding-top:20px}.home-feature{padding:14px}.public-hero h1{letter-spacing:-.8px}}


/* Footer */
.site-footer{margin-top:55px;background:#fff;border-top:1px solid #e3e8ef;padding:28px 5% 18px;color:#475467}
.site-footer-inner{max-width:1250px;width:92%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-brand .site-brand-mark{width:38px;height:38px}
.footer-brand strong{display:block;color:#202124;font-size:16px}
.footer-brand span:not(.site-brand-mark){display:block;font-size:13px;margin-top:2px}
.footer-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.footer-nav a{color:#344054;text-decoration:none;font-weight:600;padding:8px 11px;border-radius:8px}
.footer-nav a:hover{background:#f2f6fc;color:#1769e0}
.site-footer-bottom{max-width:1250px;width:92%;margin:20px auto 0;padding-top:15px;border-top:1px solid #edf0f3;text-align:center;font-size:12px;color:#98a2b3}
@media(max-width:700px){.site-footer-inner{display:block;text-align:center}.footer-brand{justify-content:center}.footer-nav{justify-content:center;margin-top:18px}.site-footer{padding-top:24px}}

/* FIX15 – Firmenkarten-Hover wirklich aktiv in der öffentlichen CSS-Datei */
.company-grid{align-items:stretch}
.company-card{
  position:relative;
  min-height:225px;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  transform:translateY(0);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
.company-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 18px 38px rgba(20,30,50,.20) !important;
  border-color:#1769e0 !important;
  background:#fff !important;
  z-index:3;
}
.company-card:hover h3{color:#1769e0}
.company-card .details{margin-top:auto}
@media(max-width:700px){
  .company-card{min-height:0}
  .company-card:hover{transform:translateY(-4px) !important}
}


/* Pagination: 12 Firmen pro Seite */
.pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:26px 0 8px}
.pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid #d9e1eb;border-radius:9px;background:#fff;color:#344054;text-decoration:none;font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.pagination-link:hover{background:#f2f6fc;border-color:#bfcfe2;color:#1769e0;transform:translateY(-1px)}
.pagination-link-active{background:#1769e0;color:#fff;border-color:#1769e0}
.pagination-link-active:hover{background:#0f56bd;color:#fff;border-color:#0f56bd}
.pagination-dots{padding:0 3px;color:#98a2b3;font-weight:700}
.pagination-info{text-align:center;color:#667085;font-size:13px;margin-bottom:18px}
@media(max-width:500px){.pagination{gap:5px}.pagination-link{min-width:36px;height:38px;padding:0 9px;font-size:14px}}

/* Pagination – hervorgehobene aktuelle Seite */
.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:30px 0 10px;
  padding:14px;
  background:#fff;
  border:1px solid #e5eaf0;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(20,30,50,.05);
}
.pagination-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 13px;
  border:1px solid #d5deea;
  border-radius:10px;
  background:#fff;
  color:#344054;
  text-decoration:none;
  font-weight:700;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.pagination-link:hover{
  transform:translateY(-2px);
  background:#f2f6fc;
  border-color:#b9cbe0;
  color:#1769e0;
  box-shadow:0 5px 12px rgba(20,45,80,.10);
}
.pagination-link-active,
.pagination-link-active:hover{
  min-width:44px;
  background:#1769e0;
  color:#fff;
  border-color:#1769e0;
  box-shadow:0 5px 14px rgba(23,105,224,.25);
  transform:none;
}
.pagination-dots{
  padding:0 4px;
  color:#98a2b3;
  font-weight:800;
}
.pagination-info{
  text-align:center;
  color:#667085;
  font-size:13px;
  margin:0 0 20px;
}
@media(max-width:500px){
  .pagination{gap:5px;padding:10px;margin-top:22px}
  .pagination-link{min-width:38px;height:38px;padding:0 9px;font-size:14px}
  .pagination-link-active{min-width:40px}
}



/* Final footer - same layout on all pages */
.site-footer{
    margin-top:55px;
    background:#fff;
    border-top:1px solid #e3e8ef;
    padding:28px 0 18px;
}

.site-footer-inner{
    max-width:1250px;
    width:92%;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-brand .footer-logo,
.footer-brand .site-brand-mark{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#1769e0;
    color:#fff;
    font-size:18px;
}

.footer-brand strong{
    display:block;
    color:#202124;
    font-size:16px;
}

.footer-brand span{
    display:block;
    color:#475467;
    font-size:13px;
}

.footer-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.footer-nav a{
    color:#344054;
    text-decoration:none;
    font-weight:700;
    padding:8px 10px;
    border-radius:8px;
}

.footer-copy,
.site-footer-bottom{
    max-width:1250px;
    width:92%;
    margin:20px auto 0;
    padding-top:15px;
    border-top:1px solid #edf0f3;
    text-align:center;
    color:#98a2b3;
    font-size:12px;
}

@media(max-width:700px){
    .site-footer-inner{
        display:block;
        text-align:center;
    }

    .footer-brand{
        justify-content:center;
    }

    .footer-nav{
        justify-content:center;
        margin-top:18px;
    }
}
/* Admin Startseite Karten */
.featured-form.homepage-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(220px,1fr));
    gap:20px;
}

.homepage-card{
    background:#fff;
    border:1px solid #dbe5f0;
    border-radius:20px;
    padding:20px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.homepage-slot{
    font-size:20px;
    font-weight:800;
    color:#1769e0;
    margin-bottom:12px;
}

.homepage-icon{
    font-size:34px;
    margin-bottom:12px;
}

.homepage-card select{
    width:100%;
    padding:12px;
    border:1px solid #ccd3dc;
    border-radius:10px;
}

@media(max-width:900px){
    .featured-form.homepage-cards{
        grid-template-columns:1fr;
    }
}
/* Startseite Auswahl - Feinschliff */

.featured-form.homepage-cards{
    align-items:stretch;
}

.homepage-card{
    min-height:180px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.homepage-card select{
    height:48px;
    font-size:15px;
    cursor:pointer;
}

.homepage-cards .btn{
    grid-column:1 / -1;
    justify-self:center;
    min-width:260px;
    margin-top:10px;
}

.homepage-slot{
    letter-spacing:.2px;
}

.homepage-icon{
    opacity:.9;
}

/* bessere Lesbarkeit bei langen Firmennamen */
.homepage-card select option{
    white-space:normal;
}

@media(max-width:900px){
    .homepage-cards .btn{
        width:100%;
    }
}