/*
Theme Name: Kiademy
Theme URI: https://kiademy.com
Author: Kiademy
Author URI: https://kiademy.com
Description: Thème blog Kiademy — Apprendre à apprendre, à l'ère de l'IA. Design éditorial avec palette navy/teal, typographie Comfortaa & Inter, cartes arrondies et pills de catégories colorées.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kiademy
Tags: blog, custom-logo, custom-menu, featured-images, translation-ready, two-columns
*/

/* =========================================================
   Design tokens (palette K)
   ========================================================= */
:root {
  --k-navy: #0e3f92;
  --k-navy-deep: #0a2f6e;
  --k-navy-ink: #0a1f47;
  --k-teal: #00B8BE;
  --k-teal-light: #42c3c4;
  --k-teal-soft: #e3f7f7;
  --k-magenta: #b93ab9;
  --k-orange: #ffa610;
  --k-green: #70d20c;
  --k-purple: #7f2bcd;
  --k-soft-navy: #eaf0ff;
  --k-soft-orange: #fff3df;
  --k-soft-green: #eafbd9;
  --k-soft-purple: #f1e6fb;
  --k-soft-magenta: #fbe6f5;
  --k-cream: #F5F3EF;
  --k-cream-warm: #FAF7F2;
  --k-paper: #FFFFFF;
  --k-line: #e1e0de;
  --k-line-soft: #ECEAE6;
  --k-ink: #1A202C;
  --k-ink2: #2b3344;
  --k-mute: #545454;
  --k-mute2: #7a7a7a;
  --k-font-display: "Comfortaa", sans-serif;
  --k-font-body: "Inter", "Helvetica Neue", sans-serif;
  --k-pad-x: 56px;
}

/* =========================================================
   Base
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--k-font-body);
  font-size: 16px;
  line-height: 1.5;
  color: var(--k-navy-ink);
  background-color: var(--k-cream-warm);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--k-teal); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4 {
  font-family: var(--k-font-display);
  font-weight: 700;
  color: var(--k-navy-ink);
  letter-spacing: -0.015em;
  margin: 0 0 0.5em;
}
h1 { font-size: 56px; line-height: 1.1; }
h2 { font-size: 46px; line-height: 1.08; }
h3 { font-size: 28px; line-height: 1.2; }
h4 { font-size: 20px; }

.k-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.k-container--md { margin: 0 auto; }

.k-section { padding: 60px var(--k-pad-x); }

.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px; height: 1px;
  overflow: hidden;
}

.k-kicker {
  font-size: 14px;
  font-weight: 600;
  color: var(--k-mute);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 24px;
}

/* =========================================================
   Buttons
   ========================================================= */
.k-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  font-family: var(--k-font-body);
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.15s;
}
.k-btn--primary { background: var(--k-navy); color: #fff; }
.k-btn--primary:hover { background: var(--k-navy-deep); }
.k-btn--orange { background: var(--k-orange); color: #fff; }
.k-btn--orange:hover { filter: brightness(0.95); }
.k-btn--outline { background: transparent; color: var(--k-navy); border-color: var(--k-navy); }
.k-btn--outline:hover { background: var(--k-soft-navy); }
.k-btn--lg { padding: 13px 26px; font-size: 15px; }

/* =========================================================
   Pills (catégories) & avatars
   ========================================================= */
.k-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  line-height: 1.4;
  text-decoration: none !important;
  color: #fff;
  background: var(--k-navy);
}
.k-pill--navy { background: var(--k-navy); }
.k-pill--teal { background: var(--k-teal); }
.k-pill--orange { background: var(--k-orange); }
.k-pill--magenta { background: var(--k-magenta); }
.k-pill--green { background: var(--k-green); }
.k-pill--purple { background: var(--k-purple); }

.k-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  background: var(--k-magenta);
  flex-shrink: 0;
  overflow: hidden;
}
.k-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.k-avatar--32 { width: 32px; height: 32px; }
.k-avatar--80 { width: 80px; height: 80px; font-size: 24px; }

/* =========================================================
   Header / TopNav
   ========================================================= */
.k-topnav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--k-line-soft);
}
.k-topnav__inner {
  height: 76px;
  padding: 0 var(--k-pad-x);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

/* Logo */
.k-topnav__logo { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none !important; }
.k-topnav__logo img { max-height: 44px; width: auto; }
.k-topnav__brand {
  font-family: var(--k-font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--k-navy);
  text-decoration: none !important;
}

/* Navigation principale — liens texte */
.k-topnav__nav { flex-grow: 1; overflow: hidden; }
.k-topnav__menu {
  display: flex;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.k-topnav__menu::-webkit-scrollbar { display: none; }
.k-topnav__menu li { flex-shrink: 0; }
.k-topnav__menu a {
  font-size: 14px;
  font-weight: 500;
  color: var(--k-mute);
  text-decoration: none !important;
  white-space: nowrap;
  position: relative;
  padding-bottom: 4px;
  transition: color 0.15s;
}
.k-topnav__menu a:hover { color: var(--k-navy-ink); }
.k-topnav__menu .current-menu-item > a { color: var(--k-navy-ink); }
.k-topnav__menu .current-menu-item > a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 2px;
  background: var(--k-teal);
  border-radius: 2px;
}

/* Partie droite */
.k-topnav__right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }

/* Chips langue FR/EN */
.k-topnav__lang { display: flex; gap: 6px; align-items: center; }
.k-chip--lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  color: var(--k-navy);
  border: 1.5px solid var(--k-navy);
  background: transparent;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.15s;
  flex-shrink: 0;
}
.k-chip--lang:hover { background: var(--k-soft-navy); }
.k-chip--lang.k-chip--active { background: var(--k-navy); color: #fff; }

/* Bouton search */
.k-topnav__search-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--k-navy-ink);
  padding: 4px;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.k-topnav__search-btn:hover { color: var(--k-navy); }

/* CTA */
.k-topnav__cta { white-space: nowrap; font-size: 14px; }

/* Barre de recherche dépliable */
.k-topnav__searchbar {
  border-top: 1px solid var(--k-line-soft);
  padding: 12px var(--k-pad-x);
  background: #fff;
}
.k-topnav__searchbar[hidden] { display: none; }
.k-topnav__searchbar .search-form { display: flex; gap: 8px; }
.k-topnav__searchbar .search-field {
  flex: 1;
  border-radius: 999px;
  border: 1px solid var(--k-line);
  padding: 8px 16px;
  font-size: 14px;
  font-family: var(--k-font-body);
}
.k-topnav__searchbar .search-submit {
  border-radius: 999px;
  background: var(--k-navy);
  color: #fff;
  border: none;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

/* Chips génériques (archive, pills) */
.k-chip {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 12px;
  color: var(--k-mute);
  border: 1.5px solid var(--k-line-soft);
  background: transparent;
  text-decoration: none !important;
  transition: all 0.15s;
  cursor: pointer;
}
.k-chip:hover {
  background: var(--k-soft-navy);
  color: var(--k-navy-ink);
  border-color: var(--k-navy);
}
.k-chip--active { color: #fff !important; }

/* =========================================================
   Hero
   ========================================================= */
.k-hero {
  padding: 80px var(--k-pad-x);
  background-image: linear-gradient(rgb(234, 240, 255) 0%, rgb(250, 247, 242) 100%);
}
.k-hero__grid {
  display: grid !important;
  grid-template-columns: 7fr 5fr;
  gap: 48px;
  align-items: center;
}
.k-hero__title {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
}
.k-hero__newsletter-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--k-mute);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 12px;
}
.k-newsletter-form { display: flex !important; flex-direction: row; gap: 8px; flex-wrap: nowrap; }
.k-newsletter-form input[type="email"] {
  flex: 1;
  min-width: 0;
  width: auto !important;
  border-radius: 999px;
  border: 1px solid var(--k-line);
  padding: 10px 18px;
  font-family: var(--k-font-body);
  font-size: 14px;
  background: #fff;
  display: inline-block;
}
.k-newsletter-form input[type="email"]:focus {
  outline: 2px solid var(--k-teal);
  border-color: transparent;
}

/* =========================================================
   Featured article
   ========================================================= */
.k-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}
.k-featured__media {
  height: 300px;
  background: var(--k-cream-warm);
  border: 1px solid var(--k-line-soft);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--k-mute);
  font-size: 12px;
  transition: transform 0.2s;
}
.k-featured__media:hover { transform: translateY(-4px); }
.k-featured__media img { width: 100%; height: 100%; object-fit: cover; }
.k-featured__body { display: flex; flex-direction: column; gap: 16px; }
.k-featured__title { font-size: 28px; margin: 0; }
.k-featured__title a { color: var(--k-navy-ink); text-decoration: none; }
.k-featured__excerpt { font-size: 16px; color: var(--k-mute); line-height: 1.6; margin: 0; }
.k-featured__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 13px;
  color: var(--k-mute2);
}

/* =========================================================
   Cards grid
   ========================================================= */
.k-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}
.k-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid var(--k-line-soft);
  padding: 24px;
  transition: all 0.2s;
}
.k-card:hover {
  box-shadow: 0 12px 30px rgba(14, 63, 146, 0.15);
  transform: translateY(-4px);
}
.k-card__link {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none !important;
  color: inherit;
  width: 100%;
}
.k-card__cover {
  height: 240px;
  background: var(--k-cream-warm);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--k-mute);
}
.k-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.k-card__meta { display: flex; align-items: center; gap: 10px; }
.k-card__minutes { font-size: 12px; color: var(--k-mute); }
.k-card__title {
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--k-navy-ink);
}
.k-card__excerpt {
  font-size: 14.5px;
  color: var(--k-mute);
  line-height: 1.55;
  margin: 0;
}
.k-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  font-size: 13px;
}
.k-card__author-name { color: var(--k-navy-ink); font-weight: 600; }
.k-card__author-date { color: var(--k-mute); font-size: 12px; }

.k-loadmore { display: flex; justify-content: center; }

/* =========================================================
   Topic spotlight (section navy)
   ========================================================= */
.k-spotlight {
  padding: 60px var(--k-pad-x);
  background: var(--k-navy-ink);
  color: #fff;
}
.k-spotlight__kicker {
  font-size: 14px;
  font-weight: 600;
  color: var(--k-teal-light);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 12px;
}
.k-spotlight__title {
  font-size: 32px;
  color: #fff;
  margin: 0 0 8px;
}
.k-spotlight__sub { font-size: 14px; color: rgba(255,255,255,.7); margin: 0 0 32px; }
.k-spotlight__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.k-spotlight__card {
  display: block;
  background: rgba(255,255,255,.05);
  border-radius: 16px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.1);
  text-decoration: none !important;
  transition: all 0.2s;
}
.k-spotlight__card:hover { background: rgba(255,255,255,.08); }
.k-spotlight__card-title {
  font-family: var(--k-font-body);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.4;
}
.k-spotlight__card-date { font-size: 12px; color: rgba(255,255,255,.6); }

/* =========================================================
   Single article
   ========================================================= */
.k-progress {
  position: fixed;
  top: 0; left: 0;
  height: 4px;
  background: var(--k-teal);
  z-index: 100;
  width: 0;
  transition: width 0.1s linear;
}

.k-breadcrumbs {
  padding: 20px var(--k-pad-x);
  background: #fff;
  border-bottom: 1px solid var(--k-line-soft);
  font-size: 13px;
  color: var(--k-mute);
}
.k-breadcrumbs a { color: var(--k-mute); }
.k-breadcrumbs a:hover { color: var(--k-navy-ink); text-decoration: none; }
.k-breadcrumbs__sep { margin: 0 8px; }
.k-breadcrumbs__current { color: var(--k-navy-ink); }

.k-page-hero-gradient {
  height: 100%;
  background-image: linear-gradient(rgb(234, 240, 255) 0%, rgb(250, 247, 242) 212px) !important;
}

.k-article-header {
  padding: 60px var(--k-pad-x);
  background: #fff;
  text-align: center;
}
.k-article-header__title {
  font-size: 46px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.k-article-header__excerpt {
  font-size: 16px;
  color: var(--k-mute);
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto 24px;
}
.k-article-header__meta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  font-size: 13px;
  color: var(--k-mute2);
  margin-top: 24px;
}
.k-article-header__author {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--k-navy-ink);
}
.k-article-header__divider {
  width: 1px;
  height: 24px;
  background: var(--k-line-soft);
}

.k-article-hero-img { width: 100%; }
.k-article-hero-img img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}

.k-article-body {
  padding: 60px var(--k-pad-x);
  background: #fff;
}
.k-prose {
  font-size: 16px;
  line-height: 1.75;
  color: var(--k-ink2);
}
.k-prose p { margin: 0 0 16px; }
.k-prose h1, .k-prose h2, .k-prose h3 {
  font-family: var(--k-font-display);
  font-weight: 700;
  color: var(--k-navy-ink);
  margin-top: 24px;
  margin-bottom: 16px;
}
.k-prose h2 { font-size: 28px; line-height: 1.2; }
.k-prose h3 { font-size: 22px; }
.k-prose strong { font-weight: 600; }
.k-prose a { color: var(--k-teal); }
.k-prose blockquote {
  margin: 24px 0;
  padding: 16px 24px;
  border-left: 4px solid var(--k-teal);
  background: var(--k-teal-soft);
  border-radius: 0 12px 12px 0;
}
.k-prose img { border-radius: 16px; }
.k-prose pre {
  background: var(--k-navy-ink);
  color: #fff;
  padding: 20px;
  border-radius: 12px;
  overflow-x: auto;
  font-size: 14px;
}
.k-prose .wp-block-image figcaption {
  font-size: 13px;
  color: var(--k-mute2);
  text-align: center;
}

/* Tags */
.k-article-tags {
  padding: 40px var(--k-pad-x);
  background: var(--k-cream-warm);
}
.k-article-tags__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--k-mute);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 16px;
}
.k-article-tags__list { display: flex; flex-wrap: wrap; gap: 8px; }
.k-tag {
  background: #fff;
  color: var(--k-navy);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  border: 1px solid var(--k-line-soft);
  text-decoration: none !important;
}
.k-tag:hover { border-color: var(--k-navy); }

/* Author bio */
.k-author-bio {
  padding: 60px var(--k-pad-x);
  background: var(--k-cream-warm);
}
.k-author-bio__inner { display: flex; gap: 24px; align-items: flex-start; }
.k-author-bio__name {
  font-size: 16px;
  font-weight: 700;
  color: var(--k-navy-ink);
  margin: 0 0 8px;
  font-family: var(--k-font-body);
}
.k-author-bio__desc { font-size: 13px; color: var(--k-mute); line-height: 1.6; margin: 0; }

/* Comments */
.k-comments { padding: 40px var(--k-pad-x) 60px; background: #fff; }
.k-comments ol { list-style: none; padding: 0; }
.k-comments .comment-body {
  border: 1px solid var(--k-line-soft);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 16px;
  font-size: 14px;
}
.k-comments .comment-respond input[type="text"],
.k-comments .comment-respond input[type="email"],
.k-comments .comment-respond input[type="url"],
.k-comments .comment-respond textarea {
  width: 100%;
  border: 1px solid var(--k-line);
  border-radius: 12px;
  padding: 10px 14px;
  font-family: var(--k-font-body);
  font-size: 14px;
  margin-bottom: 12px;
}
.k-comments .comment-respond input[type="submit"] {
  background: var(--k-navy);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  padding: 10px 20px;
  cursor: pointer;
}

/* =========================================================
   Footer
   ========================================================= */
.k-footer {
  background: var(--k-navy-ink);
  color: #fff;
  padding: 72px var(--k-pad-x) 36px;
}
.k-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(5, 1fr);
  gap: 40px;
  margin-bottom: 56px;
}
.k-footer__logo img { max-height: 60px; width: auto; background: #fff; border-radius: 8px; padding: 4px 8px; }
.k-footer__brand {
  font-family: var(--k-font-display);
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-decoration: none !important;
}
.k-footer__tagline {
  margin-top: 18px;
  font-size: 14px;
  color: rgba(255,255,255,.65);
  max-width: 280px;
  line-height: 1.55;
}
.k-footer__socials { display: flex; gap: 10px; margin-top: 22px; }
.k-footer__social {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  text-decoration: none !important;
}
.k-footer__social:hover { background: rgba(255,255,255,.15); }
.k-footer__heading {
  font-family: var(--k-font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--k-teal-light);
  margin: 0 0 18px;
}
.k-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.k-footer__col a {
  font-size: 14px;
  color: rgba(255,255,255,.7);
  text-decoration: none;
}
.k-footer__col a:hover { color: #fff; }
.k-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: rgba(255,255,255,.5);
  flex-wrap: wrap;
  gap: 12px;
}
.k-footer__badges { display: flex; gap: 22px; }

/* =========================================================
   Pages, search, 404
   ========================================================= */
.k-page-content { padding: 60px var(--k-pad-x); background: #fff; flex: 1; }
.k-search-form { display: flex; gap: 8px; max-width: 480px; }
.k-search-form input[type="search"] {
  flex: 1;
  border-radius: 999px;
  border: 1px solid var(--k-line);
  padding: 10px 18px;
  font-family: var(--k-font-body);
  font-size: 14px;
  background: #fff;
}
.k-404 { text-align: center; padding: 120px var(--k-pad-x); }
.k-404 h1 { font-size: 80px; color: var(--k-navy); margin-bottom: 8px; }

.k-pagination { display: flex; justify-content: center; gap: 8px; padding: 8px 0 16px; }
.k-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1.5px solid var(--k-line-soft);
  color: var(--k-mute);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
}
.k-pagination .page-numbers.current {
  background: var(--k-navy);
  color: #fff;
  border-color: var(--k-navy);
}
.k-pagination .page-numbers:hover:not(.current) {
  border-color: var(--k-navy);
  color: var(--k-navy-ink);
}

/* =========================================================
   Layout shell
   ========================================================= */
.k-site { min-height: 100vh; display: flex; flex-direction: column; }
.k-main { flex: 1; }

/* Masquer le titre de la page "Posts page" que certains plugins affichent */
.home .entry-header,
.home .page-header,
.home .wp-block-post-title,
.home .wp-block-query-title,
.blog .entry-header,
.blog .page-header { display: none !important; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 960px) {
  :root { --k-pad-x: 24px; }
  .k-container, .k-container--md { padding: 0; }
  h1, .k-hero__title { font-size: 40px; }
  .k-article-header__title { font-size: 32px; }
  .k-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .k-featured { grid-template-columns: 1fr; }
  .k-grid { grid-template-columns: repeat(2, 1fr); }
  .k-spotlight__grid { grid-template-columns: 1fr; }
  .k-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .k-topnav__nav { display: none; }
  .k-topnav__cta { display: none; }
}

@media (max-width: 600px) {
  .k-grid { grid-template-columns: 1fr; }
  .k-footer__grid { grid-template-columns: 1fr; }
  .k-footer__bottom { flex-direction: column; align-items: flex-start; }
  .k-newsletter-form { flex-direction: column; }
  .k-topnav__inner { gap: 12px; }
  .k-article-header__meta { flex-direction: column; gap: 12px; }
  .k-author-bio__inner { flex-direction: column; }
}


/* ===== CTA KIADEMY — boutons vert lime (ajout Alex 2026-06-16, demande Tiago) ===== */
.kiademy-cta a, .kiademy-cta .btn, .kiademy-cta button {
  background-color: #70D20C !important;
  border-color: #70D20C !important;
  color: #062862 !important; /* texte navy pour le contraste */
}
.kiademy-cta a:hover, .kiademy-cta .btn:hover, .kiademy-cta button:hover {
  background-color: #5CB800 !important;
  border-color: #5CB800 !important;
}
