/* ════════════════════════════════════════════════════════
   pages.css — Innenseiten (alle außer index.html)
════════════════════════════════════════════════════════ */

/* Page hero (compact, no search) */
.page-hero {
  padding-top: 252px;
  background: linear-gradient(160deg, #FFFBEF 0%, #F3F8FF 60%, var(--white) 100%);
  border-bottom: 1px solid var(--g200);
  position: relative; overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute; top: -80px; right: -60px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(245,179,1,.08) 0%, transparent 65%);
  pointer-events: none;
}
.page-hero-inner {
  max-width: 1100px; margin: 0 auto;
  padding: 3rem 2rem 3.5rem;
  position: relative; z-index: 1;
}
.breadcrumb {
  display: flex; align-items: center; gap: .4rem;
  font-size: .78rem; color: var(--g400); margin-bottom: 1rem;
}
.breadcrumb a { text-decoration: none; color: var(--g400); transition: color .15s; }
.breadcrumb a:hover { color: var(--blue); }
.breadcrumb svg { width: 12px; height: 12px; }
.page-hero-eye { font-size: .71rem; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; color: var(--blue-light); margin-bottom: .6rem; }
.page-hero h1 { font-size: clamp(1.7rem, 3.5vw, 2.8rem); font-weight: 800; color: var(--g900); line-height: 1.15; margin-bottom: .7rem; }
.page-hero-sub { font-size: 1rem; color: var(--g500); line-height: 1.75; max-width: 560px; }

/* Main content area */
.page-main { min-height: 60vh; }
.page-section { padding: 4.5rem 2rem; }
.page-section + .page-section { border-top: 1px solid var(--g100); }
.page-wrap { max-width: 1100px; margin: 0 auto; }
.page-wrap-narrow { max-width: 780px; margin: 0 auto; }

/* ════════════════
   EINTRAGEN PAGE
════════════════ */
.pricing-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem; align-items: stretch;
}
.pricing-card {
  background: white; border: 1.5px solid var(--g200); border-radius: 22px;
  padding: 2rem 1.8rem; display: flex; flex-direction: column;
  transition: box-shadow .22s, transform .22s, border-color .22s;
  position: relative; overflow: hidden;
}
.pricing-card:hover { box-shadow: 0 8px 32px rgba(245,179,1,.10); transform: translateY(-4px); }
.pricing-card.featured {
  background: var(--g900); border-color: var(--g800); color: white;
}
.pricing-badge {
  position: absolute; top: 1.4rem; right: 1.4rem;
  background: linear-gradient(135deg, #F59E0B, #FBBF24);
  color: white; font-size: .65rem; font-weight: 700;
  padding: .22rem .65rem; border-radius: 100px;
  text-transform: uppercase; letter-spacing: .07em;
}
.pricing-tier {
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
  color: var(--blue-light); margin-bottom: .6rem;
}
.featured .pricing-tier { color: var(--blue-soft); }
.pricing-name { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 1.3rem; color: var(--g900); margin-bottom: 1.2rem; }
.featured .pricing-name { color: white; }
.pricing-price { margin-bottom: 1.5rem; }
.pricing-price-num { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 2.4rem; color: var(--g900); line-height: 1; }
.featured .pricing-price-num { color: white; }
.pricing-price-period { font-size: .82rem; color: var(--g400); margin-top: .2rem; }
.featured .pricing-price-period { color: rgba(255,255,255,.55); }

.pricing-features { list-style: none; flex: 1; margin-bottom: 2rem; display: flex; flex-direction: column; gap: .7rem; }
.pricing-features li { display: flex; align-items: flex-start; gap: .6rem; font-size: .88rem; color: var(--g600); line-height: 1.5; }
.featured .pricing-features li { color: rgba(255,255,255,.75); }
.pricing-features li svg { width: 16px; height: 16px; color: var(--blue-light); flex-shrink: 0; margin-top: 1px; }
.featured .pricing-features li svg { color: #F5B301; }

.pricing-btn {
  display: block; text-align: center; text-decoration: none;
  font-family: 'Sora', sans-serif; font-weight: 700; font-size: .9rem;
  padding: .85rem; border-radius: 14px; border: none; cursor: pointer;
  transition: transform .18s, box-shadow .18s, background .18s;
}
.pricing-btn-outline {
  border: 1.5px solid var(--g200); background: transparent; color: var(--g700);
}
.pricing-btn-outline:hover { border-color: var(--blue-light); color: var(--blue); background: var(--blue-pale); }
.pricing-btn-primary {
  background: linear-gradient(135deg, var(--blue), var(--blue-mid));
  color: white; box-shadow: 0 4px 18px rgba(245,179,1,.28);
}
.pricing-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(245,179,1,.38); }
.pricing-btn-white { background: white; color: var(--blue); }
.pricing-btn-white:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,255,255,.2); }

.pricing-divider { height: 1px; background: rgba(255,255,255,.08); margin: 1.2rem 0; }
.pricing-divider-light { height: 1px; background: var(--g100); margin: 1.2rem 0; }

/* Contact form hint */
.pricing-contact { background: var(--g50); border: 1px solid var(--g200); border-radius: 18px; padding: 2rem 2.2rem; margin-top: 2.5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.pricing-contact-text h3 { font-family: 'Sora', sans-serif; font-size: 1rem; font-weight: 700; color: var(--g900); margin-bottom: .3rem; }
.pricing-contact-text p { font-size: .87rem; color: var(--g500); }
.btn-primary { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; background: var(--blue); color: white; font-family: 'Sora', sans-serif; font-weight: 600; font-size: .88rem; padding: .7rem 1.5rem; border-radius: 100px; box-shadow: 0 2px 12px rgba(245,179,1,.25); transition: background .17s, box-shadow .17s, transform .17s; }
.btn-primary:hover { background: var(--blue-mid); transform: translateY(-1px); box-shadow: 0 4px 18px rgba(245,179,1,.35); }

/* ════════════════
   ÜBER UNS PAGE
════════════════ */
.about-grid { display: grid; grid-template-columns: 3fr 2fr; gap: 3rem; align-items: start; }
.about-text p { font-size: .95rem; color: var(--g600); line-height: 1.85; margin-bottom: 1.2rem; }
.about-text p:last-child { margin-bottom: 0; }
.about-text h3 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.1rem; color: var(--g900); margin: 1.8rem 0 .7rem; }

.about-box {
  background: linear-gradient(145deg, var(--blue), var(--blue-mid));
  border-radius: 22px; padding: 2rem 1.8rem; color: white;
  position: sticky; top: 90px;
}
.about-box h3 { font-family: 'Sora', sans-serif; font-size: 1.05rem; font-weight: 700; margin-bottom: 1.4rem; }
.about-stat { display: flex; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.about-stat:last-of-type { border-bottom: none; }
.about-stat-num { font-family: 'Sora', sans-serif; font-size: 1.6rem; font-weight: 800; min-width: 64px; }
.about-stat-label { font-size: .83rem; opacity: .8; line-height: 1.4; }
.about-cta { display: block; text-align: center; background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.3); color: white; text-decoration: none; font-family: 'Sora', sans-serif; font-weight: 600; font-size: .88rem; padding: .75rem; border-radius: 12px; margin-top: 1.5rem; transition: background .18s; }
.about-cta:hover { background: rgba(255,255,255,.25); }

/* ════════════════
   FAQ PAGE
════════════════ */
.faq-list { display: flex; flex-direction: column; gap: .7rem; }
.faq-item { background: white; border: 1.5px solid var(--g200); border-radius: 16px; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.faq-item.open { border-color: var(--blue-light); box-shadow: 0 2px 12px rgba(245,179,1,.08); }
.faq-q {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem 1.4rem; cursor: pointer; user-select: none;
  font-family: 'Sora', sans-serif; font-weight: 600; font-size: .92rem; color: var(--g800);
  gap: 1rem;
}
.faq-q:hover { color: var(--blue); }
.faq-item.open .faq-q { color: var(--blue); }
.faq-icon { width: 28px; height: 28px; border-radius: 50%; background: var(--g100); color: var(--g500); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .18s, transform .25s, color .18s; }
.faq-item.open .faq-icon { background: var(--blue-soft); color: var(--blue); transform: rotate(45deg); }
.faq-icon svg { width: 14px; height: 14px; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.faq-item.open .faq-a { max-height: 400px; }
.faq-a-inner { padding: 0 1.4rem 1.2rem; font-size: .9rem; color: var(--g500); line-height: 1.75; border-top: 1px solid var(--g100); padding-top: .9rem; margin-top: 0; }

/* ════════════════
   DATENSCHUTZ / AGB PAGES
════════════════ */
.legal-content { font-size: .93rem; color: var(--g600); line-height: 1.85; }
.legal-content h2 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--g900); margin: 2.5rem 0 .8rem; padding-top: .5rem; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 1rem; color: var(--g800); margin: 1.5rem 0 .5rem; }
.legal-content p { margin-bottom: .9rem; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content ul { padding-left: 1.4rem; margin-bottom: .9rem; }
.legal-content ul li { margin-bottom: .35rem; }
.legal-content a { color: var(--blue); text-decoration: none; }
.legal-content a:hover { text-decoration: underline; }
.legal-toc { background: var(--g50); border: 1px solid var(--g200); border-radius: 16px; padding: 1.4rem 1.6rem; margin-bottom: 2.5rem; }
.legal-toc h4 { font-family: 'Sora', sans-serif; font-size: .82rem; font-weight: 700; color: var(--g700); margin-bottom: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.legal-toc ol { padding-left: 1.2rem; display: flex; flex-direction: column; gap: .3rem; }
.legal-toc ol li a { font-size: .85rem; color: var(--blue); text-decoration: none; }
.legal-toc ol li a:hover { text-decoration: underline; }

.legal-box { background: var(--g50); border: 1px solid var(--g200); border-radius: 14px; padding: 1.2rem 1.4rem; margin: 1rem 0; }
.legal-box strong { color: var(--g800); }

/* ════════════════
   RESPONSIVE PAGES
════════════════ */
@media (max-width: 900px) {
  .pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .about-grid { grid-template-columns: 1fr; }
  .about-box { position: static; }
}
@media (max-width: 620px) {
  .page-hero { padding-top: 150px; }
  .page-hero-inner { padding: 2rem 1.4rem 2.5rem; }
  .page-section { padding: 3rem 1.4rem; }
}

/* TelefonbuchOnline.at — Links in Markengold (gut sichtbar/klickbar) */
.legal-content a, .legal-toc ol li a, .faq-a-inner a { color: var(--gold-deep); }
.breadcrumb a:hover { color: var(--gold-deep); }
.faq-q:hover, .faq-item.open .faq-q { color: var(--gold-deep); }
