/*
Theme Name: Comeback Athlete
Template: twentytwentyfive
Author: 
Description: A bold, dark, high-energy Twenty Twenty-Five child theme built for The Comeback Athlete — a one-page athlete story site (hero, split bio, live training metrics, training-log teasers, speaking & contact) plus a dark-styled Training Logs blog and single post template.
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: comeback-athlete
*/

/* ---------- Base ---------- */
body {
  background-color: #0D0D0D;
  color: #F5F5F5;
}
a { color: #D4FF3D; text-decoration: none; }
a:hover { color: #FF5A1F; }
::selection { background: #D4FF3D; color: #0D0D0D; }

.cba-accent { color: #D4FF3D; }
.cba-accent-orange { color: #FF5A1F; }

/* ---------- Header / Nav ---------- */
.cba-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(13,13,13,0.9);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #232323;
  padding: 18px 5vw !important;
  align-items: center;
}
.cba-site-title a,
.cba-site-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  letter-spacing: 0.04em;
  color: #F5F5F5 !important;
}
.cba-nav-wrap { align-items: center; gap: 28px; }
.cba-nav .wp-block-navigation__container,
.cba-nav ul { gap: 28px; }
.cba-nav a {
  color: #F5F5F5;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.cba-nav a:hover { color: #D4FF3D; }
.cba-nav-cta-wrap { margin: 0; }
.cba-nav-cta a,
.cba-nav-cta .wp-block-button__link {
  background: #D4FF3D !important;
  color: #0D0D0D !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  padding: 12px 22px !important;
  border-radius: 4px !important;
}
.cba-nav-cta a:hover { background: #B8E62E !important; }

/* WP mobile nav overlay contrast */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: #0D0D0D !important;
}
.wp-block-navigation__responsive-container.is-menu-open a {
  color: #F5F5F5 !important;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: 0.03em;
}

/* ---------- Hero ---------- */
.cba-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #0D0D0D;
}
.cba-hero-bg {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: 0;
}
.cba-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cba-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(13,13,13,0.97) 5%, rgba(13,13,13,0.5) 55%, rgba(13,13,13,0.35) 100%);
  pointer-events: none;
}
.cba-hero-inner {
  position: relative;
  z-index: 2;
  padding: 0 5vw clamp(48px,8vw,96px);
  max-width: 1100px;
}
.cba-hero-headline {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(52px,9vw,140px);
  line-height: 0.95;
  letter-spacing: 0.01em;
  margin: 0 0 24px;
  text-transform: uppercase;
}
.cba-hero-sub {
  font-size: clamp(16px,2vw,22px);
  line-height: 1.5;
  color: #D9D9D9;
  max-width: 620px;
  margin: 0 0 36px;
}
.cba-hero-buttons { gap: 16px; flex-wrap: wrap; }

/* ---------- Buttons ---------- */
.cba-btn-primary .wp-block-button__link {
  background: #D4FF3D !important;
  color: #0D0D0D !important;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 18px 32px !important;
  border-radius: 4px !important;
}
.cba-btn-primary .wp-block-button__link:hover { background: #B8E62E !important; }
.cba-btn-secondary .wp-block-button__link {
  background: transparent !important;
  color: #F5F5F5 !important;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 18px 32px !important;
  border-radius: 4px !important;
  border: 1.5px solid #555 !important;
}
.cba-btn-secondary .wp-block-button__link:hover { border-color: #F5F5F5 !important; }
.cba-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: #D4FF3D !important;
  border: 1.5px solid #D4FF3D !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 16px 30px !important;
  border-radius: 4px !important;
}
.cba-btn-outline .wp-block-button__link:hover {
  background: #D4FF3D !important;
  color: #0D0D0D !important;
}

/* ---------- Section shells ---------- */
.cba-section {
  padding: clamp(70px,10vw,140px) 5vw;
  background: #0D0D0D;
}
.cba-section-alt {
  background: #111111;
  border-top: 1px solid #232323;
  border-bottom: 1px solid #232323;
}
.cba-section-head { text-align: center; margin: 0 auto 56px; }
.cba-kicker {
  color: #D4FF3D;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.cba-kicker-orange { color: #FF5A1F; }
.cba-section-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(34px,5vw,56px);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.cba-section-sub {
  color: #B3B3B3;
  font-size: 16px;
  line-height: 1.6;
  margin: 18px 0 0;
}

/* ---------- Split bio ---------- */
.cba-split-grid {
  max-width: 1240px;
  margin: 0 auto !important;
  border: 1px solid #232323;
  border-radius: 8px;
  overflow: hidden;
  gap: 0 !important;
}
.cba-split-col {
  background: #141414;
  padding: 0 !important;
}
.cba-split-col + .cba-split-col { border-left: 1px solid #232323; }
.cba-split-col-image { margin: 0; }
.cba-split-col-image img { width: 100%; height: 340px; object-fit: cover; display: block; }
.cba-split-col-image.cba-grayscale img { filter: grayscale(1) contrast(1.1); }
.cba-split-heading {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(26px,3vw,36px);
  margin: 28px 28px 18px;
  text-transform: uppercase;
}
.cba-split-copy {
  color: #B3B3B3;
  line-height: 1.7;
  font-size: 16px;
  margin: 0 28px 32px;
}

/* ---------- Metrics ---------- */
.cba-metrics-grid { max-width: 1200px; margin: 0 auto !important; gap: 24px !important; }
.cba-metric-card {
  background: #0D0D0D;
  border: 1px solid #262626;
  border-radius: 8px;
  padding: 36px 28px !important;
  text-align: center;
}
.cba-metric-icon { color: #D4FF3D; margin-bottom: 20px; }
.cba-metric-icon svg { width: 38px; height: 38px; }
.cba-metric-kicker {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #888;
  margin: 0 0 10px;
}
.cba-metric-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 26px;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.cba-metric-data { color: #B3B3B3; font-size: 15px; margin: 0; }

/* ---------- Yap Logs ---------- */
.cba-logs-grid { max-width: 1200px; margin: 0 auto 48px !important; gap: 24px !important; }
.cba-log-card {
  border: 1px solid #262626;
  border-radius: 8px;
  overflow: hidden;
  background: #141414;
  padding: 0 !important;
}
.cba-log-thumb { margin: 0; }
.cba-log-thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.cba-log-tag {
  font-size: 12px;
  color: #D4FF3D;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 18px 20px 6px;
}
.cba-log-tag-orange { color: #FF5A1F; }
.cba-log-title { font-size: 16px; font-weight: 600; margin: 0 20px 20px; color: #F5F5F5; }
.cba-logs-cta { justify-content: center; }

/* ---------- Speaking & Contact ---------- */
.cba-contact-grid { max-width: 1200px; margin: 0 auto !important; gap: clamp(40px,6vw,80px) !important; }
.cba-contact-copy .cba-section-title { text-align: left; }
.cba-contact-copy .cba-section-sub { margin: 20px 0 32px; max-width: 460px; }
.cba-contact-form {
  background: #0D0D0D;
  border: 1px solid #262626;
  border-radius: 8px;
  padding: clamp(28px,4vw,40px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.cba-contact-form label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #888;
}
.cba-contact-form input,
.cba-contact-form textarea {
  display: block;
  width: 100%;
  margin-top: 8px;
  background: #141414;
  border: 1px solid #333;
  border-radius: 4px;
  padding: 14px 16px;
  color: #F5F5F5;
  font-size: 15px;
  font-family: 'Inter', sans-serif;
}
.cba-contact-form input::placeholder,
.cba-contact-form textarea::placeholder { color: #777; }
.cba-contact-form textarea { resize: vertical; }
.cba-contact-form button {
  background: #FF5A1F;
  color: #0D0D0D;
  border: none;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 16px;
  border-radius: 4px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}
.cba-contact-form button:hover { background: #E64F1B; }

/* ---------- Footer ---------- */
.cba-footer {
  padding: 48px 5vw !important;
  background: #0D0D0D;
  border-top: 1px solid #232323;
  align-items: center;
}
.cba-social-links a { color: #888 !important; }
.cba-social-links a:hover { color: #D4FF3D !important; }
.cba-footer-copy { color: #666; font-size: 13px; margin: 0; }

/* ---------- Training Logs blog (archive + single) ---------- */
.cba-blog-main, .cba-single-main, .cba-page-main { padding: clamp(60px,8vw,100px) 5vw; }
.cba-blog-head { margin-bottom: 56px; }
.cba-logs-archive .cba-log-card { display: flex; flex-direction: column; }
.cba-single-featured img { width: 100%; border-radius: 8px; margin-bottom: 32px; }
.cba-single-content { color: #D9D9D9; line-height: 1.7; font-size: 17px; }
.cba-single-content h2, .cba-single-content h3 { font-family: 'Bebas Neue', sans-serif; text-transform: uppercase; }
.cba-single-nav { margin-top: 48px; border-top: 1px solid #232323; padding-top: 24px; }
.cba-pagination { margin-top: 40px; justify-content: center; gap: 12px; color: #F5F5F5; }
.cba-pagination a { color: #F5F5F5; }
.cba-pagination a:hover { color: #D4FF3D; }

/* ---------- Responsive ---------- */
@media (max-width: 780px) {
  .cba-split-grid { flex-direction: column; }
  .cba-split-col + .cba-split-col { border-left: none; border-top: 1px solid #232323; }
  .cba-contact-grid { flex-direction: column; }
}
@media (max-width: 600px) {
  .cba-metrics-grid { flex-direction: column; }
  .cba-logs-grid { flex-direction: column; }
}
