/* BHD Website Manager – Frontend CSS v1.0.0 */

/* ── Reset & Base ─────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--bhd-font-body,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);background:var(--bhd-bg,#fff);color:var(--bhd-text,#0a0a0a);line-height:1.7;margin:0;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bhd-primary,#1a3a5c);}

/* ── Container ────────────────────────────────── */
.bhd-container{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px);}
.bhd-section{padding:clamp(48px,8vw,96px) 0;}

/* ── Buttons ──────────────────────────────────── */
.bhd-btn{display:inline-block;background:var(--bhd-btn-bg,#1a3a5c);color:var(--bhd-btn-text,#fff);padding:clamp(10px,2vw,14px) clamp(20px,3vw,28px);border-radius:var(--bhd-radius-sm,8px);font-size:clamp(13px,1.5vw,15px);font-weight:500;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:background var(--bhd-transition,.2s ease);}
.bhd-btn:hover{background:var(--bhd-btn-hover,#0f2640);color:var(--bhd-btn-text,#fff);}
.bhd-btn-outline{background:transparent;color:var(--bhd-btn-bg,#1a3a5c);border:1.5px solid var(--bhd-btn-bg,#1a3a5c);}
.bhd-btn-outline:hover{background:var(--bhd-btn-bg,#1a3a5c);color:#fff;}

/* ── Leistungen Grid ──────────────────────────── */
.bhd-leistungen{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:clamp(12px,2vw,20px);}
.bhd-leistung-karte{background:var(--bhd-surface,#f5f5f7);border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:var(--bhd-radius,12px);overflow:hidden;text-decoration:none;color:var(--bhd-text,#0a0a0a);transition:box-shadow var(--bhd-transition);}
.bhd-leistung-karte:hover{box-shadow:var(--bhd-shadow,0 4px 20px rgba(0,0,0,.08));color:var(--bhd-text,#0a0a0a);}
.bhd-leistung-media{aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bhd-surface,#f5f5f7);}
.bhd-leistung-bild{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.bhd-leistung-karte:hover .bhd-leistung-bild{transform:scale(1.04);}
.bhd-leistung-icon{font-size:clamp(32px,5vw,48px);}
.bhd-leistung-content{padding:clamp(16px,2vw,20px);}
.bhd-leistung-titel{font-size:clamp(15px,1.8vw,18px);font-weight:500;margin:0 0 8px;font-family:var(--bhd-font-heading);}
.bhd-leistung-beschr{font-size:14px;color:var(--bhd-text-light,#666);margin:0 0 12px;line-height:1.6;}
.bhd-leistung-mehr{font-size:13px;color:var(--bhd-primary,#1a3a5c);font-weight:500;}
@media(max-width:900px){.bhd-leistungen{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.bhd-leistungen{grid-template-columns:1fr;}}

/* ── Projekte Grid ────────────────────────────── */
.bhd-projekte-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:clamp(12px,2vw,20px);}
.bhd-projekt-karte{text-decoration:none;color:var(--bhd-text,#0a0a0a);border-radius:var(--bhd-radius,12px);overflow:hidden;display:block;}
.bhd-projekt-bild-wrap{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--bhd-surface,#f5f5f7);}
.bhd-projekt-bild{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.bhd-projekt-karte:hover .bhd-projekt-bild{transform:scale(1.04);}
.bhd-projekt-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .2s;display:flex;align-items:flex-end;padding:12px;}
.bhd-projekt-karte:hover .bhd-projekt-overlay{background:rgba(0,0,0,.3);}
.bhd-projekt-modus-badge{background:rgba(255,255,255,.9);color:#0a0a0a;font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;opacity:0;transition:opacity .2s;}
.bhd-projekt-karte:hover .bhd-projekt-modus-badge{opacity:1;}
.bhd-projekt-info{padding:clamp(12px,1.5vw,16px);background:var(--bhd-surface,#f5f5f7);}
.bhd-projekt-titel{font-size:clamp(14px,1.5vw,16px);font-weight:500;margin:0 0 4px;}
.bhd-projekt-fahrzeug{font-size:12px;color:var(--bhd-text-light,#888);}
@media(max-width:900px){.bhd-projekte-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.bhd-projekte-grid{grid-template-columns:1fr;}}

/* ── Bewertungen Slider ───────────────────────── */
.bhd-bewertungen-wrap{position:relative;}
.bhd-slider-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;}
.bhd-slider-container::-webkit-scrollbar{display:none;}
.bhd-bewertung-karte{scroll-snap-align:start;background:#fff;border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:var(--bhd-radius,12px);padding:clamp(16px,2vw,24px);min-width:280px;}
.bhd-bw-sterne{display:flex;gap:3px;margin-bottom:12px;}
.bhd-stern{font-size:16px;color:#ddd;}
.bhd-stern.aktiv{color:#f59e0b;}
.bhd-bw-text{font-size:14px;line-height:1.7;color:var(--bhd-text,#333);margin:0 0 16px;font-style:italic;border:none;padding:0;}
.bhd-bw-autor{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:0.5px solid var(--bhd-border,#f0f0f0);}
.bhd-bw-avatar{width:36px;height:36px;border-radius:50%;background:var(--bhd-primary,#1a3a5c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0;}
.bhd-bw-foto{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.bhd-bw-autor-info strong{display:block;font-size:13px;font-weight:500;}
.bhd-bw-autor-info span{display:block;font-size:11px;color:var(--bhd-text-light,#888);}
.bhd-slider-nav{display:flex;justify-content:center;gap:12px;margin-top:16px;}
.bhd-slider-prev,.bhd-slider-next{width:40px;height:40px;border-radius:50%;border:1px solid var(--bhd-border,#e5e5e5);background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--bhd-transition);}
.bhd-slider-prev:hover,.bhd-slider-next:hover{background:var(--bhd-primary,#1a3a5c);color:#fff;border-color:var(--bhd-primary,#1a3a5c);}

/* ── Team Grid ────────────────────────────────── */
.bhd-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,2vw,20px);}
.bhd-team-karte{background:var(--bhd-surface,#f5f5f7);border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:var(--bhd-radius,12px);padding:clamp(20px,2.5vw,28px);text-align:center;text-decoration:none;color:var(--bhd-text,#0a0a0a);transition:box-shadow var(--bhd-transition);}
.bhd-team-karte:hover{box-shadow:var(--bhd-shadow);}
.bhd-team-foto{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 12px;}
.bhd-team-avatar{width:80px;height:80px;border-radius:50%;background:var(--bhd-primary,#1a3a5c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;margin:0 auto 12px;}
.bhd-team-name{font-size:16px;font-weight:500;margin:0 0 4px;}
.bhd-team-funktion{font-size:13px;color:var(--bhd-primary,#1a3a5c);margin:0 0 12px;}
.bhd-team-highlights{list-style:none;padding:0;margin:0;text-align:left;}
.bhd-team-highlights li{font-size:12px;color:var(--bhd-text-light,#666);padding:4px 0;border-bottom:0.5px solid var(--bhd-border,#f0f0f0);}
.bhd-team-highlights li::before{content:"✓ ";color:var(--bhd-primary,#1a3a5c);font-weight:600;}

/* ── Partner Grid ─────────────────────────────── */
.bhd-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(12px,2vw,20px);}
.bhd-partner-karte{background:var(--bhd-surface,#f5f5f7);border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:var(--bhd-radius,12px);padding:clamp(16px,2vw,24px);text-align:center;}
.bhd-partner-logo{max-height:50px;max-width:160px;margin:0 auto 12px;object-fit:contain;}
.bhd-partner-name{font-size:15px;font-weight:500;margin:0 0 8px;}
.bhd-partner-beschr{font-size:13px;color:var(--bhd-text-light,#666);margin:0 0 14px;line-height:1.5;}

/* ── Galerie Grid ─────────────────────────────── */
.bhd-galerie-grid{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:clamp(8px,1vw,12px);}
.bhd-galerie-item{aspect-ratio:4/3;overflow:hidden;border-radius:var(--bhd-radius-sm,8px);cursor:pointer;}
.bhd-galerie-bild{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.bhd-galerie-item:hover .bhd-galerie-bild{transform:scale(1.05);}
@media(max-width:600px){.bhd-galerie-grid{grid-template-columns:repeat(2,1fr);}}

/* ── Siegel ───────────────────────────────────── */
.bhd-siegel-wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;padding:24px 0;}
.bhd-siegel-item{display:flex;align-items:center;}
.bhd-siegel-bild{max-height:48px;max-width:120px;object-fit:contain;}
.bhd-siegel-text{font-size:13px;font-weight:600;color:var(--bhd-text,#0a0a0a);padding:6px 14px;border:1.5px solid var(--bhd-primary,#1a3a5c);border-radius:6px;color:var(--bhd-primary,#1a3a5c);}

/* ── Formulare ────────────────────────────────── */
.bhd-form{display:flex;flex-direction:column;gap:14px;}
.bhd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bhd-form-group{display:flex;flex-direction:column;gap:5px;}
.bhd-form-group label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--bhd-text-light,#666);}
.bhd-form-group input,.bhd-form-group textarea,.bhd-form-group select{padding:10px 14px;border:1px solid var(--bhd-border,#e5e5e5);border-radius:var(--bhd-radius-sm,8px);font-size:14px;font-family:inherit;background:#fff;color:var(--bhd-text,#0a0a0a);transition:border-color .15s;}
.bhd-form-group input:focus,.bhd-form-group textarea:focus{outline:none;border-color:var(--bhd-primary,#1a3a5c);}
.bhd-form-group textarea{resize:vertical;min-height:100px;}
@media(max-width:600px){.bhd-form-row{grid-template-columns:1fr;}}

/* ── Inhaber Dashboard ────────────────────────── */
.bhdm-dash{min-height:100vh;display:flex;flex-direction:row;background:var(--bhd-surface,#f5f5f7);}
.bhdm-dash-nav{background:#1a3a5c;width:220px;min-width:220px;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;}
.bhdm-dash-logo{display:block;text-decoration:none;color:#fff;font-weight:700;font-size:14px;padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.1);}
.bhdm-dash-links{display:flex;flex-direction:column;flex:1;gap:2px;padding:10px;}
.bhdm-dash-link{text-decoration:none;color:rgba(255,255,255,.7);font-size:13px;padding:9px 12px;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:8px;}
.bhdm-dash-link:hover,.bhdm-dash-link.active{background:rgba(255,255,255,.15);color:#fff;}
.bhdm-dash-logout{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;padding:14px 18px;border-top:1px solid rgba(255,255,255,.1);display:block;transition:color .15s;}
.bhdm-dash-logout:hover{color:#fff;}
.bhdm-dash-main{flex:1;padding:clamp(20px,4vw,40px);min-width:0;overflow-y:auto;}
.bhdm-dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.bhdm-dash-header h1{font-size:clamp(20px,3vw,26px);font-weight:600;margin:0;font-family:var(--bhd-font-heading);}
.bhdm-dash-header p{color:var(--bhd-text-light,#888);margin:0;font-size:14px;}
.bhdm-dash-btn{background:var(--bhd-primary,#1a3a5c);color:#fff;text-decoration:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;}
.bhdm-dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;}
.bhdm-dash-stat{background:#fff;border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:12px;padding:20px;text-align:center;text-decoration:none;color:var(--bhd-text,#0a0a0a);transition:box-shadow .2s;}
.bhdm-dash-stat:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.bhdm-dash-stat-icon{font-size:28px;margin-bottom:8px;}
.bhdm-dash-stat-zahl{font-size:32px;font-weight:600;color:var(--bhd-primary,#1a3a5c);}
.bhdm-dash-stat-label{font-size:12px;color:var(--bhd-text-light,#888);margin-top:4px;}
.bhdm-dash-quick h2{font-size:16px;font-weight:600;margin:0 0 14px;}
.bhdm-dash-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.bhdm-dash-quick-btn{background:#fff;border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:8px;padding:14px;text-align:center;text-decoration:none;color:var(--bhd-text,#333);font-size:14px;font-weight:500;transition:all .15s;}
.bhdm-dash-quick-btn:hover{background:var(--bhd-primary,#1a3a5c);color:#fff;}
.bhdm-dash-list{display:flex;flex-direction:column;gap:8px;}
.bhdm-dash-item{background:#fff;border:0.5px solid var(--bhd-border,#e5e5e5);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:12px;}
.bhdm-dash-item-icon{font-size:22px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bhd-surface,#f5f5f7);border-radius:8px;flex-shrink:0;}
.bhdm-dash-item-avatar{width:48px;height:48px;border-radius:50%;background:var(--bhd-primary,#1a3a5c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0;}
.bhdm-dash-item-info{flex:1;display:flex;flex-direction:column;gap:3px;}
.bhdm-dash-item-info strong{font-size:14px;}
.bhdm-dash-item-info span{font-size:12px;color:var(--bhd-text-light,#888);}
.bhdm-dash-item-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;}
.bhdm-dash-item-status.aktiv{background:#f0fdf4;color:#22aa55;}
.bhdm-dash-item-status.entwurf{background:#f5f5f5;color:#888;}
.bhdm-dash-btn-sm{background:var(--bhd-surface,#f5f5f7);color:var(--bhd-text,#333);border:0.5px solid var(--bhd-border,#e5e5e5);padding:6px 12px;border-radius:6px;font-size:12px;text-decoration:none;white-space:nowrap;}
.bhdm-dash-empty{background:var(--bhd-surface,#f5f5f7);border-radius:12px;padding:48px;text-align:center;color:var(--bhd-text-light,#888);}
@media(max-width:900px){.bhdm-dash-stats,.bhdm-dash-quick-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){
  .bhdm-dash{flex-direction:column;}
  .bhdm-dash-nav{width:100%;min-width:0;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:8px 12px;gap:2px;overflow-y:visible;}
  .bhdm-dash-logo{padding:8px 10px;border-bottom:none;border-right:1px solid rgba(255,255,255,.2);margin-right:4px;font-size:13px;}
  .bhdm-dash-links{flex-direction:row;flex:1;flex-wrap:wrap;gap:2px;padding:2px 0;}
  .bhdm-dash-link{padding:6px 8px;font-size:12px;}
  .bhdm-dash-logout{padding:6px 10px;border-top:none;font-size:12px;}
  .bhdm-dash-stats,.bhdm-dash-quick-grid{grid-template-columns:1fr 1fr;}
}

/* ── Rechtliche Seiten (.bhd-legal-content) ──────
   Scoped auf eigene Klasse – kein body{} mehr.
   Löst das Footer-Breite-Problem auf /datenschutz,
   /impressum und /agb.
   ──────────────────────────────────────────────── */
.bhd-legal-content{max-width:860px;margin:0 auto;padding:clamp(32px,5vw,64px) clamp(16px,4vw,40px);color:var(--bhd-text,#1a1a1a);line-height:1.7;font-family:var(--bhd-font-body,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);}
.bhd-legal-content h1{font-size:clamp(22px,3vw,28px);font-weight:700;margin:0 0 8px;color:var(--bhd-primary,#1a3a5c);font-family:var(--bhd-font-heading);}
.bhd-legal-content h2{font-size:clamp(15px,2vw,18px);font-weight:600;color:var(--bhd-primary,#1a3a5c);margin:clamp(24px,4vw,40px) 0 12px;padding-bottom:6px;border-bottom:1.5px solid var(--bhd-border,#e5e5e5);}
.bhd-legal-content h3{font-size:15px;font-weight:600;color:var(--bhd-primary,#1a3a5c);margin:20px 0 8px;}
.bhd-legal-content p{margin:0 0 14px;font-size:14px;}
.bhd-legal-content ul,.bhd-legal-content ol{margin:0 0 14px;padding-left:20px;font-size:14px;}
.bhd-legal-content li{margin-bottom:5px;}
.bhd-legal-content a{color:var(--bhd-primary,#1a3a5c);}
.bhd-legal-content strong{font-weight:600;}
.bhd-legal-content table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px;}
.bhd-legal-content td,.bhd-legal-content th{padding:10px 12px;border:1px solid var(--bhd-border,#e5e5e5);text-align:left;vertical-align:top;}
.bhd-legal-content th{background:var(--bhd-surface,#f5f5f7);font-weight:600;}
@media(max-width:600px){.bhd-legal-content{padding:24px 16px;}.bhd-legal-content table{font-size:12px;}.bhd-legal-content td,.bhd-legal-content th{padding:8px;}}

/* ── AGB Layout (.bhd-agb) ───────────────────────
   Styling für die strukturierte AGB-Darstellung.
   Wird über den Shortcode [bhdm_agb] ausgegeben.
   ──────────────────────────────────────────────── */
.bhd-agb{font-size:14px;}
.bhd-agb .hdr{text-align:center;border-top:3px solid #111;border-bottom:3px solid #111;padding:28px 0 24px;margin-bottom:36px;}
.bhd-agb .hdr__title{font-size:19px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#111;margin:0 0 10px;}
.bhd-agb .hdr__meta{font-size:12px;color:#666;line-height:1.7;margin:0;}
.bhd-agb .hdr__stand{font-size:11px;color:#aaa;margin:6px 0 0;}
.bhd-agb .sec{margin-bottom:22px;}
.bhd-agb .sec__head{background:#111;color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;margin:0;}
.bhd-agb .clauses{border:1px solid #ddd;border-top:none;}
.bhd-agb .cl{display:grid;grid-template-columns:30px 1fr;border-bottom:1px solid #e8e8e8;}
.bhd-agb .cl:last-child{border-bottom:none;}
.bhd-agb .cl:nth-child(even){background:#f6f6f6;}
.bhd-agb .cl__n{padding:8px 0 8px 10px;font-size:12px;font-weight:700;color:#111;}
.bhd-agb .cl__t{padding:8px 14px 8px 4px;font-size:13px;color:#2a2a2a;line-height:1.65;}
.bhd-agb .cl__t b{font-weight:700;color:#111;}
.bhd-agb .cl__t a{color:#111;text-underline-offset:2px;}
.bhd-agb .ftr{margin-top:40px;padding-top:14px;border-top:1px solid #ddd;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:#aaa;}
@media(max-width:600px){.bhd-agb .cl{grid-template-columns:24px 1fr;}.bhd-agb .cl__n{padding:8px 0 8px 6px;}.bhd-agb .hdr__title{font-size:16px;}}
