/* ============================================================
   Republic Past – Lesbarkeit & Kontakt für die Unterseiten
   Wird nach dem seiteneigenen <style> geladen und hebt
   Schriftgrößen, Kontraste und Kontaktwege an (Zielgruppe 50+).
   ============================================================ */

/* --- Grundschrift --- */
body{
  font-size:18px;
  line-height:1.72;
}

/* --- Tastatur-Fokus sichtbar --- */
a:focus-visible,button:focus-visible{
  outline:3px solid #a97b3e;
  outline-offset:3px;
  border-radius:3px;
}

/* --- Obere Navigationszeile: größere Ziele --- */
.page-top-nav{
  font-size:17px;
  padding:14px 20px;
  gap:12px;
}
.page-top-nav a{
  display:inline-block;
  padding:5px 4px;
}

/* --- Kopfbereich mit Telefonnummer --- */
.header-inner{flex-wrap:wrap}
.brand span{font-size:15px}
.main-nav a{font-size:17px}

.rp-hdr-phone{
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-left:auto;
  padding:6px 20px 6px 0;
  text-decoration:none;
  line-height:1.25;
}
.rp-hdr-phone em{
  font-style:normal;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#6b6256;
}
.rp-hdr-phone b{
  font-family:"Iowan Old Style","Charter",Georgia,"Times New Roman",serif;
  font-size:25px;
  font-weight:600;
  color:#2d3329;
  white-space:nowrap;
}
.rp-hdr-phone:hover b{color:#8c6a3f}

/* --- Hero --- */
.hero-lead{font-size:20px;line-height:1.6}
.eyebrow{font-size:13px}
.hero-note{font-size:17px}
.quick-card{font-size:17px}
.quick-card li{padding-top:4px;padding-bottom:4px}

/* --- Fließtext --- */
.wrap p,.wrap li{font-size:18px}
.section-intro p,.content-card p,.content-card li,
.feature p,.faq p,.faq li,.process-list li,.aside-box p,.aside-box li{
  font-size:18px;
  color:#3f3b34;
}
.link-list a{font-size:17px;line-height:1.9}

/* --- Kontaktstreifen unter dem Hero --- */
.contact-strip a{padding-top:22px;padding-bottom:22px}
.contact-strip span{font-size:13px}
.contact-strip strong{font-size:23px;overflow-wrap:anywhere}

/* --- Kontaktpanel --- */
.contact-panel h2{font-size:34px}
.contact-panel p{font-size:19px}
.contact-grid a{padding-top:24px;padding-bottom:24px}
.contact-grid span{font-size:13px}
.contact-grid strong{font-size:20px;overflow-wrap:anywhere}

/* --- Zusagen-Zeile --- */
.rp-promise-line{
  grid-column:1/-1;
  margin:6px 0 0;
  padding:16px 20px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(230,201,149,.55);
  border-left:4px solid #c8a46c;
  border-radius:4px;
  text-align:center;
  font-size:17px;
  font-weight:700;
  color:#f4ead7;
  line-height:1.6;
}

/* --- Fußzeile --- */
.site-footer-nav a{font-size:17px}
.copyright{font-size:13px}

/* --- Feste Kontaktleiste (nur Mobil) --- */
.rp-callbar{display:none}

@media(max-width:900px){
  .rp-hdr-phone{padding-right:0}
}

@media(max-width:760px){
  .page-top-nav{font-size:15px;padding:9px 12px;gap:4px;line-height:1.35}
  .page-top-nav a{padding:4px 6px}

  .header-inner{
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    padding:14px 18px;
  }
  .brand{flex:1 1 55%;min-width:0}
  .brand strong{font-size:25px}
  .brand span{font-size:12px}
  .rp-hdr-phone{
    flex:0 0 auto;
    margin-left:auto;
    padding:0;
    text-align:right;
  }
  .rp-hdr-phone em{font-size:10px;letter-spacing:.04em}
  .rp-hdr-phone b{font-size:20px}
  .main-nav{flex:1 1 100%;gap:6px 14px;flex-wrap:wrap}
  .main-nav a{font-size:16px;padding:2px 0}

  .hero-lead{font-size:18px}
  .wrap p,.wrap li,.section-intro p,.content-card p,.content-card li,
  .feature p,.faq p,.faq li,.process-list li,.aside-box p,.aside-box li{font-size:17px}
  .contact-panel h2{font-size:28px}

  body{padding-bottom:82px}
  .rp-callbar{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:60;
    background:#2d3a29;
    border-top:1px solid rgba(0,0,0,.2);
    box-shadow:0 -6px 22px rgba(0,0,0,.18);
  }
  .rp-callbar a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-height:72px;padding:8px 4px;text-decoration:none;
    color:#fff;
    font-size:16px;font-weight:800;line-height:1.2;
  }
  .rp-callbar a+a{border-left:1px solid rgba(255,255,255,.22)}
  .rp-callbar a span{margin-top:3px;font-size:12px;font-weight:600;opacity:.88;overflow-wrap:anywhere;text-align:center}
}

/* Sicherheitsnetz gegen seitliches Verschieben (21.08.) */
html,body{overflow-x:hidden;max-width:100%}
@media(max-width:760px){
  .rp-hdr-phone b,.contact-grid strong,.contact-strip strong{overflow-wrap:anywhere}
}
