/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Description: Safe Trainings — child theme with editorial design system.
Version: 1.1.0
Text Domain: kadence-child
*/

/* ===========================================
   SAFE TRAININGS — EDITORIAL DESIGN SYSTEM
   v1.1.0 — Magazine d'investigation
   =========================================== */

:root {
  --st-ink: #0F1B2D;
  --st-ink-soft: #1B2A3F;
  --st-ink-line: #283A52;
  --st-cinabre: #E25A24;
  --st-cinabre-deep: #B7421A;
  --st-cream: #F4ECDD;
  --st-cream-soft: #FBF6EC;
  --st-paper: #FBFAF6;
  --st-kaki: #5C6E4D;
  --st-alert: #B82105;
  --st-gold: #C8A45C;
  --st-text: #1B2330;
  --st-text-muted: #5F6877;
  --st-hairline: #DCD2BD;
  --st-hairline-soft: #ECE3D0;

  --st-serif: 'Fraunces', 'Times New Roman', Georgia, serif;
  --st-sans: 'Public Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --st-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
}

/* ===== GLOBAL TYPO ===== */
body,
.entry-content p,
.entry-content li {
  font-family: var(--st-sans);
  font-feature-settings: "kern", "liga", "ss01";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: var(--st-paper);
  color: var(--st-text);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--st-serif) !important;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--st-ink);
}
.entry-content h1, .entry-title { font-weight: 400; letter-spacing: -0.025em; }
.entry-content h2 { font-weight: 500; }
.entry-content h3 { font-weight: 600; font-size: 1.4rem; }

/* Mono for technical labels */
.kt-info-svg-icon-flex,
.kadence-blocks-info-box-link-wrap .kt-blocks-info-box-title-wrap + .kt-blocks-info-box-text,
.wp-block-kadence-tabs .kt-tabs-title-list li button,
table th {
  font-family: var(--st-sans);
}

/* ===== HEADER ===== */
.site-header,
#masthead {
  background: var(--st-ink) !important;
  border-bottom: 4px solid var(--st-cinabre) !important;
}
.site-header .site-branding .site-title,
.site-header .site-branding .site-title a {
  font-family: var(--st-serif) !important;
  font-style: italic;
  font-weight: 500;
  color: #ffffff !important;
}
.site-header .site-main-menu-wrap .menu > li > a,
.main-navigation li a,
.header-navigation .menu li a {
  font-family: var(--st-sans) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em !important;
  color: rgba(255,255,255,0.85) !important;
  transition: color 0.2s ease;
}
.site-header .menu > li > a:hover,
.main-navigation li a:hover,
.header-navigation .menu li a:hover { color: var(--st-cinabre) !important; }
.site-header .menu > li.current-menu-item > a,
.site-header .menu > li.current_page_item > a { color: #ffffff !important; }
.site-header .menu > li.current-menu-item > a::after,
.site-header .menu > li.current_page_item > a::after {
  content: ""; display: block; height: 4px; background: var(--st-cinabre);
  margin-top: 28px; margin-bottom: -28px;
}

/* Mobile menu toggle in header */
.site-header .menu-toggle-icon svg { color: #ffffff !important; }

/* ===== TOP BAR (Kadence) ===== */
#kadence-top-header,
.site-top-header-wrap {
  background: var(--st-ink) !important;
  border-bottom: 1px solid var(--st-ink-line) !important;
  color: rgba(255,255,255,0.7);
  font-family: var(--st-mono) !important;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ===== HERO / FIRST CONTENT BLOCK ===== */
.entry-hero,
.kb-row-layout-wrap[class*="hero"],
.wp-block-kadence-rowlayout.alignfull:first-of-type {
  position: relative;
}

/* Page titles in hero */
.entry-hero h1.entry-title,
.entry-hero .kadence-breadcrumbs {
  font-family: var(--st-serif);
}

.entry-hero h1.entry-title {
  font-family: var(--st-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(40px, 6vw, 80px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
}

/* ===== CONTAINERS / SECTIONS ===== */
.has-palette7-background-color { background-color: var(--st-cream) !important; }
.has-palette8-background-color { background-color: var(--st-cream-soft) !important; }
.has-palette9-background-color { background-color: var(--st-paper) !important; }
.has-palette3-background-color { background-color: var(--st-ink) !important; color: #fff; }
.has-palette3-background-color *:not(a) { color: rgba(255,255,255,0.88); }

/* ===== KADENCE BUTTONS ===== */
.wp-block-kadence-advancedbtn .kb-btn-text,
.wp-block-button__link,
.kadence-blocks-btn-link {
  font-family: var(--st-sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border-radius: 0 !important;
}
.wp-block-button__link.has-palette1-background-color {
  background: var(--st-cinabre) !important;
  color: #fff !important;
  border: none !important;
}
.wp-block-button__link.has-palette1-background-color:hover {
  background: var(--st-cinabre-deep) !important;
}

/* ===== KADENCE INFOBOX ===== */
.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap {
  background: var(--st-cream) !important;
  border: 1px solid var(--st-hairline) !important;
  border-left: 4px solid var(--st-cinabre) !important;
  border-radius: 0 !important;
  padding: 32px !important;
  text-align: left !important;
}
.wp-block-kadence-infobox h3,
.wp-block-kadence-infobox .kt-adv-heading_h {
  font-family: var(--st-serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--st-ink) !important;
  margin-bottom: 16px !important;
}
.wp-block-kadence-infobox ul {
  list-style: none !important;
  padding-left: 0 !important;
}
.wp-block-kadence-infobox ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
}
.wp-block-kadence-infobox ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--st-cinabre);
  font-weight: 600;
}

/* ===== KADENCE ACCORDION (FAQ) ===== */
.wp-block-kadence-accordion .kt-blocks-accordion-header {
  background: var(--st-cream) !important;
  border: 1px solid var(--st-hairline) !important;
  border-radius: 0 !important;
  font-family: var(--st-serif) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  padding: 18px 24px !important;
  color: var(--st-ink) !important;
  transition: background 0.2s ease;
}
.wp-block-kadence-accordion .kt-blocks-accordion-header:hover { background: var(--st-cream-soft) !important; }
.wp-block-kadence-accordion .kt-accordion-pane-active .kt-blocks-accordion-header {
  background: var(--st-ink) !important;
  color: #fff !important;
  border-color: var(--st-ink) !important;
}
.wp-block-kadence-accordion .kt-blocks-accordion-content {
  background: var(--st-paper) !important;
  border: 1px solid var(--st-hairline) !important;
  border-top: none !important;
  padding: 24px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}
.kt-blocks-accordion-icon-trigger:after,
.kt-blocks-accordion-icon-trigger:before { background: var(--st-cinabre) !important; }

/* ===== TABLES ===== */
.entry-content table,
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 15px;
}
.entry-content table th,
.wp-block-table table th {
  background: var(--st-ink) !important;
  color: #ffffff !important;
  font-family: var(--st-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  font-weight: 500 !important;
  padding: 14px 16px !important;
  text-align: left !important;
  border: none !important;
}
.entry-content table td,
.wp-block-table table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--st-hairline) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: top;
}
.wp-block-table.is-style-stripes tr:nth-child(even) td {
  background: var(--st-cream-soft) !important;
}

/* ===== ARTICLE BODY ===== */
.single-post .entry-content,
.single .entry-content {
  font-size: 18px;
  line-height: 1.75;
  color: var(--st-text);
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.single-post .entry-content > p:first-of-type::first-letter {
  font-family: var(--st-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 4.6em;
  float: left;
  line-height: 0.92;
  margin: 6px 12px 0 -2px;
  color: var(--st-cinabre);
}
.single .entry-content h2 {
  font-size: 36px !important;
  line-height: 1.15 !important;
  margin: 56px 0 20px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--st-hairline);
}
.single .entry-content h3 {
  font-size: 24px !important;
  margin: 36px 0 16px !important;
  color: var(--st-ink);
}
.single .entry-content p { margin-bottom: 22px; }
.single .entry-content strong { font-weight: 600; color: var(--st-ink); }
.single .entry-content a {
  color: var(--st-ink);
  border-bottom: 1.5px solid var(--st-cinabre);
  text-decoration: none;
  padding-bottom: 1px;
  transition: background 0.2s ease;
}
.single .entry-content a:hover { background: var(--st-cream); }

.single .entry-content blockquote {
  border-left: 3px solid var(--st-cinabre);
  padding: 4px 0 4px 28px;
  margin: 32px 0;
  font-family: var(--st-serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1.45;
  color: var(--st-ink);
  background: transparent;
}
.single .entry-content ul:not(.kt-blocks-info-box-list-wrap):not(.menu) {
  list-style: none;
  padding-left: 0;
}
.single .entry-content ul:not(.kt-blocks-info-box-list-wrap):not(.menu) > li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}
.single .entry-content ul:not(.kt-blocks-info-box-list-wrap):not(.menu) > li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--st-cinabre);
  font-weight: 600;
}

/* ===== ARTICLE / POST META ===== */
.entry-meta,
.entry-byline,
.post-meta {
  font-family: var(--st-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  color: var(--st-cinabre) !important;
}

/* ===== CARDS / GRID (page Nos formations, related posts) ===== */
.wp-block-kadence-rowlayout .kb-grid-align-stretch .kb-row-column-wrap article,
.kadence-grid-column-wrap article,
.post-thumbnail-wrap {
  border: 1px solid var(--st-hairline);
  background: var(--st-paper);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.kadence-grid-column-wrap article:hover {
  background: var(--st-cream);
  border-color: var(--st-cinabre);
}

/* ===== FOOTER (Kadence default) ===== */
#colophon,
.site-footer,
.site-footer-wrap {
  background: var(--st-ink) !important;
  color: rgba(255,255,255,0.65) !important;
  border-top: 4px solid var(--st-cinabre) !important;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4 { color: #fff !important; }
.site-footer a { color: rgba(255,255,255,0.7) !important; }
.site-footer a:hover { color: var(--st-cinabre) !important; }
.site-bottom-footer-wrap {
  background: var(--st-ink) !important;
  border-top: 1px solid var(--st-ink-line) !important;
  font-family: var(--st-mono) !important;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45) !important;
}

/* Custom footer top (set by child theme functions.php) */
.st-footer-top {
  background: var(--st-ink) !important;
  color: rgba(255,255,255,0.7) !important;
}
.st-footer-top h4 {
  font-family: var(--st-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  color: var(--st-cinabre) !important;
  font-weight: 500 !important;
}
.st-footer-top a { color: rgba(255,255,255,0.7) !important; transition: color 0.2s; }
.st-footer-top a:hover { color: #fff !important; }

/* ===== LINKS (default) ===== */
.entry-content a { color: var(--st-ink); }

/* ===== MOBILE ===== */
@media (max-width: 1024px) {
  .single-post .entry-content,
  .single .entry-content { font-size: 17px; padding: 0 4px; }
  .single .entry-content h2 { font-size: 28px !important; }
  .single-post .entry-content > p:first-of-type::first-letter { font-size: 3.6em; }
}
@media (max-width: 768px) {
  .entry-hero h1.entry-title { font-size: 36px !important; }
  .single .entry-content blockquote { font-size: 18px; padding-left: 20px; }
}

/* ===== RELATED ARTICLES (auto internal linking) ===== */
.st-related {
  margin: 80px 0 40px;
  padding: 48px 32px 40px;
  background: var(--st-cream);
  border-top: 4px solid var(--st-cinabre);
  position: relative;
}
.st-related-eyebrow {
  font-family: var(--st-mono) !important;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--st-cinabre);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.st-related-eyebrow::before {
  content: "";
  width: 28px; height: 1px;
  background: var(--st-cinabre);
  display: inline-block;
}
.st-related-heading {
  font-family: var(--st-serif) !important;
  font-weight: 500 !important;
  font-size: 36px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--st-ink) !important;
  margin: 0 0 32px !important;
  border: none !important;
  padding: 0 !important;
}
.st-related-heading::before { display: none !important; }
.st-related-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  counter-reset: st-rel;
  border-top: 1px solid var(--st-hairline);
}
.st-related-item {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--st-hairline);
}
.st-related-item::before { display: none !important; content: none !important; }
.st-related-item a {
  display: grid !important;
  grid-template-columns: 56px 1fr 32px;
  align-items: center;
  gap: 24px;
  padding: 22px 0 !important;
  text-decoration: none !important;
  color: var(--st-ink) !important;
  border-bottom: none !important;
  background: transparent !important;
  transition: padding-left 0.25s ease, background 0.25s ease;
}
.st-related-item a:hover {
  padding-left: 16px !important;
  background: var(--st-cream-soft) !important;
}
.st-related-num {
  font-family: var(--st-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--st-cinabre);
  font-weight: 500;
}
.st-related-body { display: flex; flex-direction: column; gap: 4px; }
.st-related-cat {
  font-family: var(--st-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--st-text-muted);
}
.st-related-title {
  font-family: var(--st-serif);
  font-weight: 500;
  font-size: 19px;
  line-height: 1.3;
  color: var(--st-ink);
}
.st-related-arrow {
  font-family: var(--st-serif);
  font-size: 22px;
  color: var(--st-cinabre);
  text-align: right;
  transition: transform 0.25s ease;
}
.st-related-item a:hover .st-related-arrow { transform: translateX(6px); }
@media (max-width: 600px) {
  .st-related { padding: 32px 20px; }
  .st-related-heading { font-size: 26px !important; }
  .st-related-item a { grid-template-columns: 36px 1fr 24px; gap: 14px; padding: 18px 0 !important; }
  .st-related-title { font-size: 16px; }
  .st-related-num { font-size: 11px; }
}

/* ===== PRINT ===== */
@media print {
  body { background: white; color: #000; }
  .site-header, .site-footer, .st-footer-top, .st-related { display: none; }
}
