/* =========================
   Simahi Centralized Styles
   ========================= */

/* Header + scroll behavior */
:root {
  --header-h: 88px;          /* default header height */
  --anchor-gap: 16px;        /* extra spacing for anchor jumps */
}

/* Header is a bit taller on larger screens */
@media (min-width: 640px) {
  :root { --header-h: 96px; }
}

/* Prevent content from going behind fixed header */
body {
  background: #1178d2;
  font-family: 'Inter', sans-serif;
  padding-top: var(--header-h);
}

/* Smooth scrolling + fixed-header safe anchor jumps */
html { scroll-behavior: smooth; }
section[id], div[id] {
  scroll-margin-top: calc(var(--header-h) + var(--anchor-gap));
}

/* Buttons */
.btn-primary {
  background-color: #3498db;
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  transition: background-color 0.3s;
  display: inline-block;
}
.btn-primary:hover { background-color: #2980b9; }

/* Header menu colors */
.topnav-link { color: #1178d2; }          /* blue */
.topnav-link:hover { color: #0b5ea8; }    /* darker blue */

.topnav-cta { color: #1278d3; }           /* red */
.topnav-cta:hover { color: #03a9f4; }     /* darker red */

.topnav-sep { color: rgba(17,120,210,.45); } /* blue-ish separator */


/* =========================
   OPTIONAL: True hero centering
   Use on hero section wrapper when needed
   ========================= */

/* Makes a hero take (viewport height - header height) and centers content vertically */
.hero-center {
  min-height: calc(100vh - var(--header-h));
  display: flex;
  align-items: center;
}

/* Optional consistent hero padding */
.hero-pad {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* Optional page padding for non-hero pages (privacy policy, etc.) */
.page-pad {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
