
/* SEO-Seiten: eigenständiges Layout */
.seo-nav { background: white; border-bottom: 1px solid #e8e4dd; padding: .9rem 2rem; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; }
.seo-nav-logo { font-family: "Cormorant Garamond", serif; font-size: 1.1rem; color: #2d6e7e; text-decoration: none; }
.seo-nav-links { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.seo-nav-links a { font-family: "Jost", sans-serif; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: #3a3a45; text-decoration: none; }
.seo-nav-links a:hover { color: #2d6e7e; }
.seo-hero { padding: clamp(4rem,10vw,7rem) clamp(1rem,5vw,6rem) clamp(2rem,4vw,3.5rem); }
.seo-body { max-width: 860px; margin: 0 auto; padding: 2.5rem clamp(1rem,5vw,6rem) 5rem; }
.seo-section { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid #e8e4dd; }
.seo-section:last-child { border-bottom: none; }
.seo-h2 { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; font-weight: 400; color: #2d6e7e; margin: 0 0 1rem; }
.seo-text p { font-size: .92rem; line-height: 1.85; color: #555568; margin: 0 0 .9rem; }
.seo-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.seo-chip { background: rgba(255,255,255,.55); border-radius: 20px; padding: .2rem .8rem; font-size: .72rem; font-family: "Jost", sans-serif; color: #3a3a45; border: 1px solid rgba(255,255,255,.4); }
.seo-termine-grid { display: flex; flex-direction: column; gap: .6rem; }
.seo-termin { display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem; background: #f5f2eb; border-radius: 12px; font-size: .85rem; font-family: "Jost", sans-serif; flex-wrap: wrap; }
.seo-termin-tag  { font-weight: 500; color: #2d6e7e; min-width: 2rem; }
.seo-termin-zeit { color: #3a3a45; }
.seo-termin-ort  { color: #888899; font-size: .78rem; flex: 1; }
.seo-preise { display: flex; flex-direction: column; gap: .5rem; }
.seo-preis-zeile { display: flex; align-items: center; gap: 1rem; padding: .6rem .9rem; background: #f5f2eb; border-radius: 10px; font-size: .85rem; font-family: "Jost", sans-serif; }
.seo-preis-label  { flex: 1; color: #3a3a45; }
.seo-preis-betrag { font-weight: 500; color: #2d6e7e; }
.seo-faq details { border: 1px solid #e8e4dd; border-radius: 10px; margin-bottom: .6rem; overflow: hidden; }
.seo-faq summary { padding: .9rem 1rem; cursor: pointer; font-family: "Jost", sans-serif; font-size: .88rem; font-weight: 500; color: #3a3a45; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.seo-faq summary::after { content: "+"; color: #2d6e7e; font-size: 1.2rem; flex-shrink: 0; }
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq .seo-faq-body { padding: 0 1rem 1rem; font-size: .85rem; line-height: 1.7; color: #555568; }
.seo-cta { display: flex; gap: 1rem; flex-wrap: wrap; }
.seo-btn-primary { display: inline-block; background: #2d6e7e; color: white; border: none; border-radius: 8px; padding: .85rem 2rem; font-family: "Jost", sans-serif; font-size: .88rem; letter-spacing: .06em; text-decoration: none; cursor: pointer; transition: background .2s; }
.seo-btn-primary:hover { background: #235a68; }
.seo-btn-secondary { display: inline-block; background: none; color: #2d6e7e; border: 1.5px solid #2d6e7e; border-radius: 8px; padding: .85rem 2rem; font-family: "Jost", sans-serif; font-size: .88rem; letter-spacing: .06em; text-decoration: none; cursor: pointer; transition: all .2s; }
.seo-btn-secondary:hover { background: #e8f5f5; }
.seo-footer { background: #2d6e7e; color: rgba(255,255,255,.8); padding: 2rem; text-align: center; font-family: "Jost", sans-serif; font-size: .78rem; }
.seo-footer a { color: rgba(255,255,255,.7); text-decoration: none; margin: 0 .8rem; }
.seo-footer a:hover { color: white; }
@media (max-width: 600px) {
  .seo-nav { padding: .8rem 1rem; }
  .seo-nav-links { display: none; }
  .seo-body { padding: 1.5rem 1rem 3rem; }
  .seo-cta { flex-direction: column; }
  .seo-cta a, .seo-cta button { width: 100%; text-align: center; }
}
.seo-menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.8rem;
  color: #2d6e7e;
  cursor: pointer;
  line-height: 1;
}

@media (max-width: 768px) {
  .seo-nav {
	position: sticky;
	top: 0;
	z-index: 100;
  }

  .seo-menu-toggle {
	display: block;
  }

  .seo-nav .nav-links {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: white;
	border-bottom: 1px solid #e8e4dd;
	padding: 1rem;
	margin: 0;
	flex-direction: column;
	gap: 0;
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
  }

  .seo-nav .nav-links.is-open {
	display: flex;
  }

  .seo-nav .nav-links li {
	width: 100%;
  }

  .seo-nav .nav-links a {
	display: block;
	padding: .85rem 0;
	font-size: .8rem;
  }
}
@media (max-width: 768px) {
  .seo-nav .nav-links.seo-mobile-menu {
	display: none;
  }

  .seo-nav .nav-links.seo-mobile-menu.is-open {
	display: flex !important;
	flex-direction: column !important;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #ffffff;
	padding: 1rem 1.25rem;
	margin: 0;
	list-style: none;
	gap: 0;
	z-index: 9999;
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
  }

  .seo-nav .nav-links.seo-mobile-menu.is-open li {
	display: block;
	width: 100%;
  }

  .seo-nav .nav-links.seo-mobile-menu.is-open a {
	display: block;
	padding: .85rem 0;
	color: #3a3a45;
	text-decoration: none;
  }
}
