/* ===== Global typography (site-wide) ===== */
html, body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
}
:root {
  --primary-color: #c62828;
  --primary-dark: #8e0000;
  --secondary-color: #1565c0;
  --text-dark: #212121;
  --text-light: #757575;
  --bg-light: #f5f5f5;
  --white: #ffffff;
}

.site-footer{background:#0f1215;color:#c9d1d9;padding:56px 0 22px;border-top:1px solid rgba(255,255,255,.06)}
.site-footer__inner{max-width:1200px;margin:0 auto;padding:0 24px}
.site-footer__grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:28px}
.site-footer__brand{font-size:1.2rem;font-weight:800;letter-spacing:.2px;color:#fff}
.site-footer__text{margin-top:12px;color:rgba(255,255,255,.72);line-height:1.7;max-width:56ch}
.site-footer__title{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:12px}
.site-footer__list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.site-footer__meta-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.56);margin-top:16px;margin-bottom:8px}
.site-footer__address{font-style:normal;color:rgba(255,255,255,.72);line-height:1.65}
.site-footer__link{color:rgba(255,255,255,.78);text-decoration:none}
.site-footer__link:hover{color:#fff;text-decoration:underline}
.site-footer__contact{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.site-footer__sep{color:rgba(255,255,255,.35)}
.site-footer__cta{margin-top:14px}
.site-footer__button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;text-decoration:none;font-weight:700;font-size:.9rem}
.site-footer__button:hover{border-color:rgba(255,255,255,.35);transform:translateY(-1px)}
.site-footer__bottom{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.58);font-size:.9rem}
.site-footer__bottom-right{display:flex;gap:14px}
@media (max-width: 980px){.site-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 560px){.site-footer__grid{grid-template-columns:1fr;}.site-footer{padding:42px 0 18px}}



/* =========================
   Global Button System
   ========================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: .5rem;

  padding: 12px 18px;
  border-radius: 999px;

  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;

  text-decoration: none;
  cursor: pointer;

  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }

.btn--primary{
  background: var(--primary-color);
  border: 1px solid var(--primary-color);
  color: #fff;
}

.btn--primary:hover{
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  box-shadow: 0 8px 18px rgba(198, 40, 40, 0.22);
}

.btn--secondary{
  background: transparent;
  border: 1px solid rgba(15,18,21,.22);
  color: #0f1215;
}

.btn--secondary:hover{
  border-color: rgba(15,18,21,.45);
}

/* Size variants */
.btn--small{
  padding: 10px 14px;
  font-size: 0.9rem;
}
/* =========================
   Backward-compatible aliases
   ========================= */

/* If you are NOT using CSS modules (likely), do this instead: */
.btn-primary, .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.btn-primary:hover, .btn-secondary:hover{ transform: translateY(-1px); }

/* Map hero “primary” to global PRIMARY */
.btn-primary{
  padding: 14px 20px;
  font-size: 1.02rem;
  background: var(--white);
  color: var(--primary-color);
  border: 1px solid rgba(255,255,255,.85);
}
.btn-primary:hover{
  box-shadow: 0 10px 25px rgba(255,255,255,0.28);
}

/* Map hero “secondary” to global OUTLINE-on-dark */
.btn-secondary{
  padding: 14px 20px;
  font-size: 1.02rem;
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
}
.btn-secondary:hover{
  background: #fff;
  color: var(--primary-color);
}

/* Navbar + mobile CTA + page CTA -> global PRIMARY pill */
.cta-btn, .mobile-cta-btn, .page-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid var(--primary-color);
  background: var(--primary-color);
  color: #fff;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.cta-btn:hover, .mobile-cta-btn:hover, .page-cta-btn:hover{
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(198, 40, 40, 0.22);
}

.site-footer__button{
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}

/* =========================
   FOOTER — BROCHURE FLAGS
   ========================= */

.site-footer__flags{
  display:flex;
  gap:10px;
  list-style:none;
  padding-left:0;
}

.site-footer__flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:20px;
  border-radius:4px;
  overflow:hidden;
  text-decoration:none;
}

.site-footer__flag:visited{ color: inherit; }

.site-footer__flag img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.9;
}

.site-footer__flag:hover img{ opacity:1; }

       
@media (max-width: 480px) {
  .site-footer__flag {
    font-size: 16px;
  }
}


.rich-text h2 {
  font-size: 1.6rem;
  margin: 1.5rem 0 0.75rem;
}

.rich-text h3 {
  font-size: 1.25rem;
  margin: 1.2rem 0 0.6rem;
}

.rich-text ul {
  margin: 0.75rem 0 1.25rem 1.2rem;
}

.rich-text li {
  margin-bottom: 0.45rem;
  color: #424242;
}

.rich-text p {
  margin-bottom: 0.9rem;
  color: #424242;
  line-height: 1.65;
}
