/* Hofer Buchtage UI */
.hb-wrap{max-width:1100px;margin:0 auto}
.hb-card{border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:16px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.04);margin:0 0 18px 0}
.hb-title{font-size:1.25rem;line-height:1.25;margin:0 0 8px 0}
.hb-meta{opacity:.75;margin:0 0 10px 0}
.hb-btn{display:inline-block;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.15);text-decoration:none}
.hb-btn:hover{transform:translateY(-1px)}
.hb-map{width:100%;height:320px;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.10)}

.hb-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px 0}
.hb-tools select,.hb-tools input[type="date"]{padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.15);background:#fff;min-width:240px}
.hb-tools input[type="date"]{min-width:200px}

.hb-day{margin:18px 0 10px 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:rgba(0,0,0,.02)}
.hb-day h3{margin:0;font-size:1.15rem}

.hb-line{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(0,0,0,.10);background:#fff;margin-bottom:12px}
@media(min-width:900px){.hb-line{flex-direction:row;align-items:flex-start;justify-content:space-between}}
.hb-line-left{min-width:260px}
.hb-time{font-weight:800}

.hb-chip{display:inline-block;margin-right:8px;margin-top:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.02);font-size:.9rem}
.hb-chip-vorlesung {background: #941932;color: #fff !important;}
.hb-location-card .hb-chip-shopping {background: #caa54b;color: #000 !important;}

.hb-mini{display:flex;gap:12px;align-items:flex-start;margin-top:10px}
.hb-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.10);flex:0 0 64px;background:#fff}
.hb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hb-mini-body{flex:1;min-width:0}
.hb-mini-title{font-weight:800;margin:0}

/* Locations Grid */
.hb-grid{display:grid;gap:14px}
@media(min-width:700px){.hb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.hb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hb-loc-card{border:1px solid rgba(0,0,0,.10);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.hb-loc-img{aspect-ratio:16/9;background:rgba(0,0,0,.03);display:block}
.hb-loc-img img{width:100%;height:100%;object-fit:cover;display:block}
.hb-loc-body{padding:14px}
.hb-loc-name{margin:0 0 6px 0;font-weight:900;font-size:1.05rem;line-height:1.2}
.hb-loc-addr{margin:0;opacity:.78;white-space:pre-line}
.hb-loc-actions{margin-top:10px}

/* Mein Programm */
#hb-my-programm{position:relative}
.hb-select{display:inline-flex;gap:8px;align-items:center;margin-top:10px;opacity:.9}
.hb-my-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.hb-my-item:last-child{border-bottom:none}

/* --- Hofer Buchtage: Kontrast-Fix für Location-Cards (Divi-safe) --- */
body .hb-location-card,
body .hb-location-card * {
  color: #222 !important;
}

/* Links (Adresse ist oft <a>) */
body .hb-location-card a {
  color: #222 !important;
  text-decoration: underline;
}

/* Adresse explizit (falls eigenes Element) */
body .hb-location-card .hb-address,
body .hb-location-card .hb-location-address,
body .hb-location-card .hb-meta,
body .hb-location-card .hb-meta a {
  color: #222 !important;
}

/* Optional: wenn die Card selbst hell ist, Background absichern */
body .hb-location-card {
  background: #fff !important;
}
