/* Ergänzt ../style.css (zentrale Design-Tokens von karinzeilinger.ch) */

.demo-banner { background: var(--accent-a); color: #fff; text-align: center; font-size: 0.85rem; padding: 10px 16px; }
.demo-banner a { color: #fff; text-decoration: underline; }

.overview-link-bar { background: var(--soft); text-align: center; padding: 8px 16px; font-size: 0.82rem; }
.overview-link-bar a { color: var(--accent-a); font-weight: 700; text-decoration: none; }
.overview-link-bar a:hover { text-decoration: underline; }

.site-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; text-align: left; padding: 24px; }
.site-nav { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.site-nav a { font-size: 0.92rem; color: var(--black); text-decoration: none; }
.site-nav a:hover { color: var(--accent-a); }

.lang-switch { display: flex; gap: 6px; }
.lang-switch a {
  font-size: 0.78rem; font-weight: 700; padding: 5px 10px; border-radius: 100px;
  border: 1px solid var(--creme-dk, #F5ECD8); color: var(--gray); text-decoration: none;
}
.lang-switch a.active { background: var(--accent-a); color: #fff; border-color: var(--accent-a); }

/* Hero / One-Pager */
.mini-hero { padding: 20px 0 10px; }
.mini-hero .duo-img img { border-radius: var(--radius); aspect-ratio: 4/5; object-fit: cover; }
.trust-stats { display: flex; gap: 32px; flex-wrap: wrap; margin: 28px 0; }
.trust-stat .num { font-family: var(--font-heading,'Lora',serif); font-size: 1.6rem; color: var(--accent-a); font-weight: 700; }
.trust-stat .label { font-size: 0.82rem; color: var(--gray); }

.offer-feature {
  background: var(--white); border-radius: var(--radius); overflow: hidden;
  box-shadow: 0 10px 32px rgba(0,0,0,0.06); display: flex; flex-wrap: wrap; margin-top: 20px;
}
.offer-feature img { width: 100%; max-width: 340px; height: 100%; object-fit: cover; flex: 1 1 300px; }
.offer-feature-body { padding: 32px; flex: 2 1 320px; }
.offer-feature-body h3 { margin-top: 0; }
.offer-feature-body .price { color: var(--accent-a); font-weight: 700; margin: 14px 0 20px; }

.blog-teaser-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin-top: 24px; }

/* Terminbuchung */
.slot-badges { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0 24px; }
.slot-badge {
  border: 1px solid var(--creme-dk, #F5ECD8); border-radius: 100px; padding: 10px 18px;
  font-size: 0.88rem; color: var(--gray); cursor: pointer; background: var(--white);
}
.slot-badge:hover { border-color: var(--accent-a); }
.slot-badge.selected { border-color: var(--accent-a); color: var(--accent-a); background: var(--soft); font-weight: 700; }

.booking-card { background: var(--white); border-radius: var(--radius); padding: 36px; box-shadow: 0 8px 24px rgba(0,0,0,0.06); max-width: 560px; margin: 0 auto; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }
.field { margin-bottom: 16px; }
.field label { display: block; font-size: 0.85rem; color: var(--gray); margin-bottom: 6px; }
.field input[type="text"], .field input[type="email"], .field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--creme-dk, #F5ECD8);
  border-radius: 8px; font-family: var(--font-body, 'Mulish', sans-serif); font-size: 0.95rem;
}
.field textarea { resize: vertical; min-height: 90px; }

.alt-view-note {
  font-size: 0.8rem; color: var(--gray); margin: 24px 0 0;
  padding-top: 16px; border-top: 1px dashed var(--creme-dk, #F5ECD8);
}
.alt-view-note a { color: var(--accent-a); font-weight: 700; }

/* Blog */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; margin-top: 24px; }
.blog-card { background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 10px 32px rgba(0,0,0,0.06); text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.blog-card img { width: 100%; height: 200px; object-fit: cover; }
.blog-card-body { padding: 26px 28px; flex: 1; display: flex; flex-direction: column; }
.blog-card-body h3 { margin: 0 0 10px; }
.blog-card-body p { color: var(--gray); font-size: 0.94rem; flex: 1; }
.blog-card-body .read-more { color: var(--accent-a); font-weight: 700; font-size: 0.9rem; margin-top: 14px; }

.article-body { max-width: 720px; margin: 0 auto; }
.article-body p { margin-bottom: 20px; }
.article-body h2 { margin-top: 44px; }
.video-embed { position: relative; padding-top: 56.25%; border-radius: var(--radius); overflow: hidden; margin: 32px 0; }
.video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
