/*
Theme Name: GRIT Partners Kadence Child
Theme URI: https://gritrust.com
Description: GRIT Partners brand child theme for Kadence
Author: GRIT Partners
Author URI: https://gritrust.com
Template: kadence
Version: 1.0.0
Text Domain: grit-kadence-child
*/

/*
NOTE: Parent theme styles are loaded via functions.php wp_enqueue_style.
Do NOT use @import for parent theme here - it is handled in PHP.
*/

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap');

/* ── BRAND VARIABLES ── */
:root {
  --grit-navy-deep:        #080f1a;
  --grit-navy:             #0d1b2e;
  --grit-navy-mid:         #152840;
  --grit-navy-light:       #1e3a5f;
  --grit-gold:             #b8973a;
  --grit-gold-light:       #d4af5a;
  --grit-gold-pale:        #f0e6c8;
  --grit-cream:            #faf7f2;
  --grit-white:            #ffffff;
  --grit-rule:             rgba(184,151,58,0.13);
  --grit-rule-light:       #e8e0d0;
  --grit-text:             #1a1a1a;
  --grit-text-mid:         #2a2a2a;
  --grit-text-light:       #555555;
  --grit-text-on-dark:     #7a99b8;
  --grit-text-muted-dark:  #4a6a8a;
}

/* ── GLOBAL ── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'DM Sans', sans-serif !important;
  background-color: var(--grit-navy-deep) !important;
  color: var(--grit-text) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* ── HEADINGS ── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  line-height: 1.15 !important;
  color: inherit !important;
}

h1 { font-size: clamp(40px, 6vw, 72px) !important; font-weight: 300 !important; }
h2 { font-size: clamp(28px, 4vw, 42px) !important; font-weight: 400 !important; }
h3 { font-size: clamp(20px, 3vw, 26px) !important; font-weight: 500 !important; }
h4 { font-size: 20px !important; font-weight: 500 !important; }
h5 { font-size: 17px !important; font-weight: 500 !important; }
h6 { font-size: 14px !important; font-weight: 500 !important; }

/* ── HEADER ── */
#masthead,
.site-header,
header.site-header {
  background-color: var(--grit-navy-deep) !important;
  border-bottom: 1px solid var(--grit-rule) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

.site-branding .site-title,
.site-branding .site-title a,
.kadence-logo-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: var(--grit-gold-light) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

#site-navigation .nav-menu a,
.main-navigation .nav-menu a,
.kadence-navigation .menu-item a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #6a8aaa !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

#site-navigation .nav-menu a:hover,
.main-navigation .nav-menu a:hover,
.main-navigation .current-menu-item > a {
  color: var(--grit-gold-light) !important;
}

.menu-item.nav-cta > a {
  border: 1px solid var(--grit-gold) !important;
  border-radius: 2px !important;
  padding: 8px 18px !important;
  color: var(--grit-gold-light) !important;
}

/* ── BUTTONS ── */
.wp-block-button__link,
.wp-element-button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 13px 28px !important;
  transition: background 0.2s, transform 0.15s !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: var(--grit-gold) !important;
  color: var(--grit-navy-deep) !important;
  border: none !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--grit-gold-light) !important;
  transform: translateY(-1px) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: #7a99b8 !important;
  border: 1px solid rgba(122,153,184,0.3) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: var(--grit-gold) !important;
  color: var(--grit-gold-light) !important;
}

/* ── BACKGROUND COLOR CLASSES ── */
.has-navy-deep-background-color { background-color: var(--grit-navy-deep) !important; }
.has-navy-background-color      { background-color: var(--grit-navy) !important; }
.has-navy-mid-background-color  { background-color: var(--grit-navy-mid) !important; }
.has-cream-background-color     { background-color: var(--grit-cream) !important; }
.has-white-background-color     { background-color: var(--grit-white) !important; }

/* ── TEXT COLOR CLASSES ── */
.has-white-color            { color: #ffffff !important; }
.has-gold-color             { color: var(--grit-gold) !important; }
.has-gold-light-color       { color: var(--grit-gold-light) !important; }
.has-navy-color             { color: var(--grit-navy) !important; }
.has-text-on-dark-color     { color: var(--grit-text-on-dark) !important; }
.has-text-muted-dark-color  { color: var(--grit-text-muted-dark) !important; }
.has-text-mid-color         { color: var(--grit-text-mid) !important; }
.has-text-light-color       { color: var(--grit-text-light) !important; }

/* ── BLOG / POST CONTENT ── */
.site-main,
.content-area {
  background-color: var(--grit-cream) !important;
}

.entry-content p {
  font-size: 16px !important;
  line-height: 1.85 !important;
  margin-bottom: 22px !important;
  color: var(--grit-text-mid) !important;
}

.entry-content h2 {
  margin-top: 48px !important;
  margin-bottom: 18px !important;
  color: var(--grit-navy) !important;
}

.entry-header {
  padding: 80px 64px 48px !important;
  background: var(--grit-navy-deep) !important;
}

.entry-header .entry-title {
  color: white !important;
  font-size: clamp(32px, 5vw, 52px) !important;
  font-weight: 300 !important;
}

.entry-header .entry-meta { color: var(--grit-text-muted-dark) !important; }
.entry-header .entry-meta a { color: var(--grit-gold-light) !important; }
.entry-content { padding: 48px 64px !important; max-width: 760px !important; }

/* Pull quotes */
blockquote,
.wp-block-quote {
  border-left: 3px solid var(--grit-gold) !important;
  padding: 20px 0 20px 28px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  color: var(--grit-navy) !important;
  line-height: 1.45 !important;
  background: none !important;
  margin: 36px 0 !important;
}

/* Category tags */
.cat-links a {
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--grit-gold) !important;
  border: 1px solid rgba(184,151,58,0.3) !important;
  padding: 3px 10px !important;
  border-radius: 1px !important;
  text-decoration: none !important;
}

/* Blog archive */
.blog .site-main,
.archive .site-main {
  background: var(--grit-navy-deep) !important;
  padding: 64px !important;
}

.blog article,
.archive article {
  background: var(--grit-navy) !important;
  border: 1px solid rgba(184,151,58,0.08) !important;
  border-radius: 3px !important;
  padding: 36px 40px !important;
  margin-bottom: 20px !important;
  transition: transform 0.2s !important;
}

.blog article:hover,
.archive article:hover { transform: translateY(-3px) !important; }

.blog .entry-title a,
.archive .entry-title a {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: white !important;
  text-decoration: none !important;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--grit-gold-light) !important; }

.blog .entry-summary,
.archive .entry-summary {
  color: var(--grit-text-on-dark) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* ── FOOTER ── */
.site-footer,
#colophon {
  background-color: var(--grit-navy-deep) !important;
  border-top: 1px solid var(--grit-rule) !important;
  padding: 32px 64px !important;
}

.site-footer a { color: var(--grit-gold-light) !important; }
.site-footer .site-info { font-size: 11px !important; color: #2a4a6a !important; }

/* ── SEPARATORS ── */
hr,
.wp-block-separator {
  border-color: var(--grit-rule-light) !important;
  border-top-width: 1px !important;
}

/* ── FORMS ── */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 2px !important;
  color: white !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 15px !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  width: 100% !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--grit-gold) !important;
  background: rgba(184,151,58,0.04) !important;
}

label {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--grit-text-muted-dark) !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 5px !important;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
  .entry-header,
  .entry-content,
  .site-footer,
  #colophon,
  .blog .site-main,
  .archive .site-main { padding: 24px !important; }
  h1 { font-size: 38px !important; }
  h2 { font-size: 28px !important; }
}
