/* Hufgeflüster – Flyer-Stil v1.1.10 */
:root{--bg:#F4F7F3;--ink:#2E3B33;--muted:#4E6158;--petrol:#557C74;--green:#8FBBA5;--green-light:#CFE1D1;--brown:#B37F5D;--radius:18px;--shadow:0 12px 40px rgba(0,0,0,.08)}
.hf-container{max-width:1120px;margin-inline:auto;padding:24px}
.hf-section{padding:56px 0}
.hf-card{background:#fff;border:1px solid var(--green-light);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.hf-grid-2{display:grid;gap:18px;grid-template-columns:1fr 1fr}
.hf-grid-3{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.hf-muted{color:var(--muted)}
.hf-h1,.hf-h2,.hf-eyebrow{font-family:"Caveat",cursive;color:var(--petrol)}
.hf-h1{font-size:clamp(36px,5vw,64px);line-height:1.05;margin:.2em 0}
.hf-h2{font-size:clamp(28px,4vw,44px);margin:0 0 10px}
.hf-eyebrow{font-size:30px;color:var(--brown)}
.hf-badge{display:inline-block;background:#fff;border:1px dashed var(--green-light);border-radius:999px;padding:6px 12px;font-weight:700;color:var(--petrol)}
.hf-badges{display:flex;gap:10px;flex-wrap:wrap}
.hf-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:14px;font-weight:800;box-shadow:var(--shadow);transition:all .2s ease}
.hf-btn-primary{background:var(--brown);color:#fff}
.hf-btn-primary:hover{opacity:.9}
.hf-btn-ghost{background:#fff;border:1px solid var(--green-light);color:var(--petrol)}
.hf-btn-ghost:hover{background:var(--green-light)}
.hf-hero{position:relative;overflow:hidden;padding:56px 0;background:radial-gradient(80% 60% at 8% 0%, rgba(143,187,165,.18), transparent 60%),radial-gradient(60% 60% at 100% 0%, rgba(85,124,116,.15), transparent 60%)}
.hf-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center}
.hf-hero-card{background:#fff;border:1px solid var(--green-light);border-radius:20px;box-shadow:var(--shadow);padding:8px}
.hf-hero-card img{border-radius:16px}
.hf-about{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.hf-about-img{width:100%;border-radius:16px;border:1px solid var(--green-light)}
.hf-form label{display:block;font-weight:700;margin-bottom:8px}
.hf-form input,.hf-form textarea{width:100%;padding:12px;border:1px solid var(--green-light);border-radius:12px;margin-top:6px}
.hf-form button{margin-top:8px}
.hf-form .hf-form-msg{margin-top:10px}
.hf-gallery a img{border-radius:12px;transition:transform .2s ease}
.hf-gallery a:hover img{transform:scale(1.03)}
.hf-gap12{height:12px}
.page .entry-title,.post .entry-title{display:none !important}

/* Termine: Cards + Calendar side-by-side */
.hf-terms-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:start}
.hf-term-card{display:block}
.hf-term-img{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--green-light);margin-bottom:10px}
.hf-term-title{margin:0 0 4px 0;font-size:1.1rem;color:var(--petrol)}
.hf-term-meta{font-weight:700;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.hf-term-excerpt{margin:.5rem 0 0}
.hf-terms-calendar #hf-calendar .fc-daygrid-event,
.hf-terms-calendar #hf-calendar .fc-daygrid-event a{ text-decoration:none !important; }
.hf-terms-calendar #hf-calendar .fc-daygrid-event{font-size:12px;line-height:1.2;padding:3px 6px;border-radius:6px;border:1px solid var(--petrol);background:#fff;color:var(--ink);font-weight:600;max-width:100%;overflow:hidden}
.hf-terms-calendar #hf-calendar .fc-daygrid-day-events{margin:2px}
.fc .fc-daygrid-event-harness{overflow:hidden}

/* Custom eventContent saugbar + ellipsis */
.hf-terms-calendar #hf-calendar .hf-ev{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hf-terms-calendar #hf-calendar .hf-ev-time{font-weight:700;margin-right:6px}
.hf-terms-calendar #hf-calendar .hf-ev-title{font-weight:600}

/* Responsive: calendar below on mobile */
@media (max-width: 980px){
  .hf-terms-wrap{grid-template-columns:1fr}
  .hf-term-img{height:200px}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* v1.1.11 force calendar text visibility */
.hf-terms-calendar #hf-calendar .fc-daygrid-event,
.hf-terms-calendar #hf-calendar .fc-daygrid-event *,
.hf-terms-calendar #hf-calendar .fc-daygrid-event a {
  color: var(--ink) !important;
  text-indent: 0 !important;
  visibility: visible !important;
  filter: none !important;
}
.hf-terms-calendar #hf-calendar .fc-daygrid-event {
  background: #fff !important;
  border-color: var(--petrol) !important;
}
.hf-terms-calendar #hf-calendar .hf-ev-title,
.hf-terms-calendar #hf-calendar .hf-ev-time{
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* v1.1.12 smaller calendar font, title only */
.hf-terms-calendar #hf-calendar .hf-ev-title{
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 700;
}
