/*
Theme Name:   Kadence CC940
Theme URI:    https://cc940.ca
Template:     kadence
Description:  Thème enfant Kadence pour Corps de Cadets 940 Plessisville
Author:       CC940
Author URI:   https://cc940.ca
Version:      2.0.0
Text Domain:  kadence-child-cc940
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;900&family=Inter:wght@300;400;500;600&display=swap');

/* =============================================
   TOKENS — CC940 v2 (palette claire)
   ============================================= */
:root {
  --blanc:       #ffffff;
  --creme:       #f5f6f8;
  --gris-clair:  #eaecf0;
  --gris:        #6b7280;
  --gris-fonce:  #374151;
  --marine:      #1a2340;
  --marine-mid:  #2c3e6b;
  --vert:        #2d6a4f;
  --vert-clair:  #e8f5ee;
  --vert-mid:    #40916c;
  --or:          #b5832a;
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body:    'Inter', sans-serif;
}

body {
  background-color: var(--blanc) !important;
  color: var(--gris-fonce) !important;
  font-family: var(--font-body) !important;
}

/* ========== NAV ========== */
.site-header, .kadence-sticky-header {
  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--gris-clair) !important;
  box-shadow: 0 1px 8px rgba(26,35,64,0.06) !important;
}

.site-branding .site-title,
.site-branding .site-title a {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--marine) !important;
}

.primary-menu-container .menu-item > a,
.primary-navigation .menu-item > a {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.3px !important;
  color: var(--gris-fonce) !important;
  border-radius: 6px !important;
  transition: color 0.2s, background 0.2s !important;
}

.primary-menu-container .menu-item > a:hover,
.primary-navigation .menu-item > a:hover,
.primary-menu-container .current-menu-item > a,
.primary-navigation .current-menu-item > a {
  color: var(--vert) !important;
  background: var(--vert-clair) !important;
}

.menu-item.nav-cta > a {
  background: var(--vert) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
}
.menu-item.nav-cta > a:hover {
  background: var(--vert-mid) !important;
}

/* ========== TYPO ========== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  color: var(--marine) !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
}

p, li { color: var(--gris); line-height: 1.7; }

a { color: var(--vert) !important; }

/* ========== BOUTONS ========== */
.wp-block-button__link,
.button, button[type="submit"], input[type="submit"] {
  background: var(--vert) !important;
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: background 0.2s !important;
}
.wp-block-button__link:hover { background: var(--vert-mid) !important; }

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
  color: rgba(255,255,255,0.85) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* ========== HERO (sur fond marine) ========== */
.hero-section, .wp-block-cover.is-style-hero {
  background-color: var(--marine) !important;
}

/* ========== CARDS ========== */
.cc-card {
  background: var(--blanc);
  border: 1px solid var(--gris-clair);
  border-radius: 8px;
  padding: 1.75rem;
}

.cc-card-accent-marine {
  border-top: 3px solid var(--marine) !important;
  border-radius: 0 0 8px 8px !important;
}

.cc-card-accent-vert {
  border-left: 3px solid var(--vert) !important;
  border-radius: 0 6px 6px 0 !important;
}

.cc-card-accent-or {
  border-left: 3px solid var(--or) !important;
  border-radius: 0 6px 6px 0 !important;
}

/* ========== STATS BAR ========== */
.stats-bar { background: var(--creme) !important; border-bottom: 1px solid var(--gris-clair) !important; }

.stat-num {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: 2.4rem !important;
  color: var(--marine) !important;
  line-height: 1 !important;
}

.stat-label {
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--gris) !important;
}

/* ========== ACTIVITES ========== */
.activities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--gris-clair);
  border: 1px solid var(--gris-clair);
  border-radius: 8px;
  overflow: hidden;
}

.activity-card {
  background: var(--blanc);
  padding: 1.75rem;
  transition: background 0.2s;
  position: relative;
}
.activity-card:hover { background: var(--creme); }
.activity-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: var(--vert);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.activity-card:hover::before { transform: scaleX(1); }

.activity-tag {
  display: inline-block;
  background: var(--vert-clair);
  color: var(--vert);
  font-family: var(--font-display) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  margin-bottom: 0.75rem;
}

/* ========== SECTION ALTERNÉE (gris clair) ========== */
.bg-creme { background: var(--creme) !important; border-top: 1px solid var(--gris-clair); border-bottom: 1px solid var(--gris-clair); }
.bg-marine { background: var(--marine) !important; }
.bg-blanc  { background: var(--blanc) !important; }

/* ========== PERSONNEL ========== */
.personnel-card {
  background: var(--blanc);
  border: 1px solid var(--gris-clair);
  padding: 1.6rem 1.25rem;
  text-align: center;
  border-radius: 8px;
  transition: box-shadow 0.2s;
}
.personnel-card:hover { box-shadow: 0 4px 16px rgba(26,35,64,0.08); }

.personnel-avatar {
  width: 64px; height: 64px;
  background: var(--creme);
  border: 2px solid var(--gris-clair);
  border-radius: 50%;
  margin: 0 auto 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--marine);
}

/* ========== CONTACT ========== */
.contact-info-item {
  background: var(--blanc);
  border: 1px solid var(--gris-clair);
  padding: 1.1rem 1.4rem;
  border-radius: 8px;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.contact-icon {
  width: 38px; height: 38px;
  background: var(--vert-clair);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.contact-label {
  font-family: var(--font-display) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--gris) !important;
  margin-bottom: 0.15rem !important;
}

/* ========== PAGE HEADER (marine) ========== */
.page-header-dark {
  background: var(--marine) !important;
  padding: 7.5rem 2rem 3.5rem;
}
.page-header-dark h1 { color: #fff !important; }
.page-header-dark p { color: rgba(255,255,255,0.65) !important; }

.eyebrow {
  font-family: var(--font-display) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--vert-mid) !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 18px; height: 2px;
  background: var(--vert-mid);
}
/* Sur fond blanc */
.eyebrow-dark {
  color: var(--vert) !important;
}
.eyebrow-dark::before { background: var(--vert); }

/* ========== FOOTER ========== */
.site-footer {
  background: var(--marine) !important;
  color: rgba(255,255,255,0.45) !important;
}
.site-footer a { color: rgba(255,255,255,0.45) !important; }
.site-footer a:hover { color: rgba(255,255,255,0.85) !important; }

/* ========== MAP ========== */
.google-map-iframe { filter: none !important; }

/* ========== RESPONSIVE ========== */
@media (max-width: 900px) {
  .activities-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .activities-grid { grid-template-columns: 1fr; }
}
