/*
Theme Name: GeneratePress Child (TapChecked)
Description: Child theme for TapChecked — brand styles only; all functionality lives in the tapchecked-tools plugin.
Author: TapChecked
Template: generatepress
Version: 1.1.0
*/

:root {
  --tc-navy: #0D2F47;
  --tc-navy-dark: #092539;
  --tc-aqua: #12979B;
  --tc-aqua-bright: #0FA3B1;
  --tc-aqua-dark: #0B7F96;
  --tc-ink: #1C3A4A;
  --tc-muted: #51707E;
  --tc-bg: #FFFFFF;
  --tc-soft: #EEF7F9;
  --tc-border: #D8E6EA;
  --tc-radius: 14px;
}

/* ---------- Base typography ---------- */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--tc-ink);
  line-height: 1.65;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--tc-navy);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.01em;
}
a { color: var(--tc-aqua-dark); }
a:hover, a:focus { color: var(--tc-navy); }
::selection { background: var(--tc-aqua-bright); color: #fff; }

/* ---------- Header & navigation ---------- */
.site-header {
  background: #fff;
  border-bottom: 1px solid var(--tc-border);
}
.site-logo img, .site-header .custom-logo, .header-image {
  max-height: 54px;
  width: auto;
}
.main-navigation { background: #fff; }
.main-navigation a {
  color: var(--tc-navy);
  font-weight: 600;
}
.main-navigation a:hover, .main-navigation a:focus,
.main-navigation .current-menu-item > a {
  color: var(--tc-aqua);
  background: transparent;
}
.main-navigation .menu-bar-items a { color: var(--tc-navy); }
button.menu-toggle { color: var(--tc-navy); }

/* ---------- Buttons ---------- */
.button, .wp-block-button__link, button:not(.menu-toggle), input[type="submit"] {
  background: var(--tc-navy);
  color: #fff !important;
  border-radius: 999px;
  font-weight: 700;
  border: 2px solid var(--tc-navy);
  transition: background .15s ease, border-color .15s ease;
}
.button:hover, .wp-block-button__link:hover, input[type="submit"]:hover {
  background: var(--tc-aqua-dark);
  border-color: var(--tc-aqua-dark);
  color: #fff !important;
}
.tc-btn-outline .wp-block-button__link {
  background: transparent;
  color: var(--tc-navy) !important;
  border-color: var(--tc-navy);
}
.tc-btn-outline .wp-block-button__link:hover {
  background: var(--tc-navy);
  color: #fff !important;
}
.tc-hero .wp-block-button__link { background: var(--tc-aqua-bright); border-color: var(--tc-aqua-bright); }
.tc-hero .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--tc-navy) !important; }

/* ---------- Homepage sections ---------- */
.tc-hero {
  background: linear-gradient(135deg, var(--tc-navy) 0%, #11486B 70%, var(--tc-aqua-dark) 130%);
  color: #fff;
  padding: 3.5rem 1.5rem 3rem;
  border-radius: 0 0 var(--tc-radius) var(--tc-radius);
  text-align: center;
}
.tc-hero h1 { color: #fff; font-size: clamp(1.9rem, 4.5vw, 3rem); margin-bottom: .6rem; }
.tc-hero p { color: #DCEBF0; font-size: 1.13rem; max-width: 44rem; margin-left: auto; margin-right: auto; }
.tc-cards { gap: 1.25rem; margin-top: -1px; }
.tc-card {
  background: #fff;
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  padding: 1.6rem 1.4rem;
  box-shadow: 0 2px 14px rgba(13, 47, 71, .06);
}
.tc-card h3 { margin-top: 0; font-size: 1.25rem; }
.tc-card h3 a { color: var(--tc-navy); text-decoration: none; }
.tc-card h3 a:hover { color: var(--tc-aqua-dark); }
.tc-card p { color: var(--tc-muted); margin-bottom: .8rem; }
.tc-card .tc-card-link { font-weight: 700; }
.tc-soon {
  display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--tc-aqua-dark);
  background: var(--tc-soft); border: 1px solid var(--tc-border);
  padding: .18rem .6rem; border-radius: 999px; margin-bottom: .7rem;
}
.tc-trust {
  background: var(--tc-soft);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  padding: 2.2rem 1.6rem;
  text-align: center;
}
.tc-trust h2 { margin-top: 0; }
.tc-trust p { color: var(--tc-muted); max-width: 46rem; margin-left: auto; margin-right: auto; }
.tc-section { padding: 1.2rem 0 .4rem; }
.tc-section > h2 { font-size: 1.7rem; }

/* ---------- Tables (comparison-ready) ---------- */
table, .wp-block-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: .97rem;
}
.wp-block-table { overflow-x: auto; }
table th, .wp-block-table th {
  background: var(--tc-navy);
  color: #fff;
  text-align: left;
  padding: .65rem .8rem;
  border: 1px solid var(--tc-navy);
}
table td, .wp-block-table td {
  padding: .6rem .8rem;
  border: 1px solid var(--tc-border);
  vertical-align: top;
}
table tr:nth-child(even) td, .wp-block-table tr:nth-child(even) td { background: var(--tc-soft); }

/* ---------- Content polish ---------- */
.entry-content blockquote {
  border-left: 4px solid var(--tc-aqua-bright);
  background: var(--tc-soft);
  padding: 1rem 1.2rem;
  margin-left: 0;
}
hr, .wp-block-separator { border-color: var(--tc-border); }
input[type="text"], input[type="email"], textarea, select {
  border: 1px solid var(--tc-border);
  border-radius: 8px;
  padding: .6rem .8rem;
  width: 100%;
}
label { font-weight: 600; color: var(--tc-navy); }

/* ---------- Footer ---------- */
.site-footer, .footer-widgets { background: var(--tc-navy); color: #CBDEE6; }
.footer-widgets a, .site-info a { color: #7FD1DB; }
.footer-widgets a:hover, .site-info a:hover { color: #fff; }
.footer-widgets .widget-title { color: #fff; }
.site-info { background: var(--tc-navy-dark); color: #9FBCC9; text-align: center; }

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
  .tc-hero { padding: 2.4rem 1.1rem 2.1rem; border-radius: 0; }
  .tc-card { padding: 1.25rem 1.1rem; }
  .site-logo img, .header-image { max-height: 44px; }
  table, .wp-block-table table { font-size: .9rem; }
}
