/* =====================================================================
   Kiff ton site – Actualités (couleurs et polices du thème actif)
   ===================================================================== */
.ktsa {
  --ktsa-a: var(--wp--preset--color--primary, var(--ktsa-theme-accent, var(--e-global-color-primary, var(--ast-global-color-0, var(--global-palette1, #2b2e31)))));
  --ktsa-deco: var(--ktsa-theme-deco, color-mix(in srgb, var(--ktsa-a) 40%, #fff));
  --ktsa-text: var(--wp--preset--color--contrast, var(--e-global-color-text, var(--ast-global-color-2, var(--global-palette3, #23262a))));
  --ktsa-muted: color-mix(in srgb, var(--ktsa-text) 62%, transparent);
  --ktsa-line: color-mix(in srgb, var(--ktsa-text) 11%, transparent);
  --ktsa-soft: color-mix(in srgb, var(--ktsa-deco) 18%, #fff);
  --ktsa-head: var(--wp--preset--font-family--heading, var(--wp--preset--font-family--display, inherit));
  --ktsa-ease: cubic-bezier(.22, .8, .24, 1);
  color: var(--ktsa-text);
  -webkit-font-smoothing: antialiased;
}
.ktsa *, .ktsa *::before, .ktsa *::after { box-sizing: border-box; }
.ktsa button { font: inherit; letter-spacing: normal; text-transform: none; min-height: 0; margin: 0; box-shadow: none; }
.ktsa-list { width: 100%; max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto; }

/* En-tête de la liste */
.ktsa-head { max-width: 720px; margin: 0 0 clamp(20px, 3vw, 30px); }
.ktsa-eyebrow { display: inline-block; margin: 0 0 10px; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--ktsa-deco) 32%, transparent); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ktsa .ktsa-h1 { margin: 0; font-family: var(--ktsa-head); font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.06; font-weight: 700; letter-spacing: -.02em; color: inherit; }
.ktsa-hl { font-style: italic; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--ktsa-deco) 60%, transparent) 62%); }
.ktsa-lead { margin: 14px 0 0; font-size: 1.08rem; color: var(--ktsa-muted); }

/* Filtres */
.ktsa-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 clamp(18px, 2.6vw, 28px); }
.ktsa-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px !important; border: 1px solid var(--ktsa-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ktsa-text) !important; font-weight: 600; font-size: .92rem; cursor: pointer; transition: all .2s var(--ktsa-ease); }
.ktsa-pill span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--ktsa-soft); font-size: .75rem; }
.ktsa-pill:hover { transform: translateY(-1px); border-color: var(--ktsa-a) !important; }
.ktsa-pill.is-on { background: var(--ktsa-a) !important; border-color: var(--ktsa-a) !important; color: #fff !important; }
.ktsa-pill.is-on span { background: rgba(255,255,255,.22); }

/* Grille */
.ktsa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2.4vw, 26px); }
.ktsa-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.ktsa-card { position: relative; display: flex; flex-direction: column; min-width: 0; border-radius: 24px; background: #fff; border: 1px solid var(--ktsa-line); overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 18px 40px -30px rgba(0,0,0,.35); transition: transform .4s var(--ktsa-ease), box-shadow .4s var(--ktsa-ease); }
.ktsa-card[hidden] { display: none; }
.ktsa-card:hover { transform: translateY(-5px); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 28px 56px -30px rgba(0,0,0,.4); }
.ktsa-card__link { position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.ktsa-card__link:focus-visible { outline: 3px solid var(--ktsa-a); outline-offset: 3px; }
.ktsa-card__media { position: relative; aspect-ratio: 16 / 10; margin: 8px 8px 0; border-radius: 18px; overflow: hidden; background: var(--ktsa-soft); }
.ktsa-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ktsa-ease); }
.ktsa-card:hover .ktsa-card__media img { transform: scale(1.05); }
.ktsa-card__media.is-empty { display: grid; place-items: center; background: radial-gradient(circle at 18% 20%, #fff 0, transparent 45%), radial-gradient(circle at 85% 90%, var(--ktsa-deco) 0, transparent 60%), var(--ktsa-soft); }
.ktsa-card__initial { font-family: var(--ktsa-head); font-size: 5rem; font-weight: 700; line-height: 1; color: color-mix(in srgb, var(--ktsa-text) 14%, transparent); }
.ktsa-tag { position: absolute; top: 12px; left: 12px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--ktsa-text); font-size: .76rem; font-weight: 700; letter-spacing: .02em; }
.ktsa-card__body { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 16px 22px 22px; }
.ktsa-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; color: var(--ktsa-muted); font-size: .84rem; }
.ktsa .ktsa-card__title { margin: 0; font-family: var(--ktsa-head); font-size: 1.28rem; line-height: 1.25; font-weight: 700; color: inherit; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.ktsa-card__text { margin: 0; color: var(--ktsa-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.ktsa-card__more { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-weight: 700; font-size: .92rem; }
.ktsa-card__more svg { transition: transform .3s var(--ktsa-ease); }
.ktsa-card:hover .ktsa-card__more svg { transform: translateX(4px); }

/* Magazine : la première en grand */
.ktsa-list--magazine .ktsa-card.is-first { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: stretch; }
.ktsa-list--magazine .ktsa-card.is-first .ktsa-card__media { aspect-ratio: auto; min-height: 340px; margin: 10px 0 10px 10px; }
.ktsa-list--magazine .ktsa-card.is-first .ktsa-card__body { justify-content: center; padding: clamp(22px, 3.5vw, 44px); }
.ktsa-list--magazine .ktsa-card.is-first .ktsa-card__title { font-size: clamp(1.6rem, 2.8vw, 2.3rem); -webkit-line-clamp: 4; }
.ktsa-list--magazine .ktsa-card.is-first .ktsa-card__text { font-size: 1.05rem; -webkit-line-clamp: 4; }
.ktsa-list--magazine .ktsa-card.is-first .ktsa-card__more { margin-top: 10px; align-self: flex-start; padding: 12px 20px; border-radius: 999px; background: var(--ktsa-a); color: #fff; }
@media (max-width: 760px) {
  .ktsa-list--magazine .ktsa-card.is-first { display: flex; }
  .ktsa-list--magazine .ktsa-card.is-first .ktsa-card__media { min-height: 0; aspect-ratio: 16 / 10; margin: 8px 8px 0; }
}
/* Liste */
.ktsa-list--list .ktsa-grid { grid-template-columns: 1fr; gap: 14px; }
.ktsa-list--list .ktsa-card { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); }
.ktsa-list--list .ktsa-card__media { aspect-ratio: auto; min-height: 180px; margin: 8px 0 8px 8px; }
.ktsa-list--list .ktsa-card__body { justify-content: center; }
@media (max-width: 640px) { .ktsa-list--list .ktsa-card { display: flex; } .ktsa-list--list .ktsa-card__media { aspect-ratio: 16 / 10; margin: 8px 8px 0; min-height: 0; } }

.ktsa-morebox { margin-top: 28px; text-align: center; }
.ktsa-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--ktsa-a) !important; color: #fff !important; font-weight: 700; cursor: pointer; transition: transform .2s; }
.ktsa-btn:hover { transform: translateY(-2px); }
.ktsa-btn[hidden], .ktsa-nores[hidden] { display: none !important; }
.ktsa-empty, .ktsa-nores { padding: 40px; text-align: center; border: 2px dashed var(--ktsa-line); border-radius: 22px; color: var(--ktsa-muted); }

/* =====================================================================
   Page d'une actualité
   ===================================================================== */
.ktsa-article { width: 100%; padding: 0 clamp(16px, 4vw, 32px) clamp(48px, 7vw, 90px); }
.ktsa-progress { position: fixed; z-index: 99990; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.admin-bar .ktsa-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .ktsa-progress { top: 46px; } }
.ktsa-progress span { display: block; height: 100%; background: var(--ktsa-a); transform-origin: left; transform: scaleX(0); }
.ktsa-article__head { max-width: 860px; margin: 0 auto; padding: clamp(28px, 5vw, 56px) 0 clamp(18px, 3vw, 28px); text-align: center; }
.ktsa-article__bar { max-width: 1100px; margin: 0 auto; padding: clamp(18px, 3vw, 30px) 0 12px; }
.ktsa-back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 22px; color: var(--ktsa-muted) !important; font-weight: 600; font-size: .92rem; text-decoration: none !important; }
.ktsa-article__bar .ktsa-back { margin: 0; }
.ktsa-back:hover { color: var(--ktsa-text) !important; }
.ktsa-article__head .ktsa-back { display: flex; width: max-content; margin: 0 auto 22px; }
.ktsa-tag--soft { position: static; display: inline-block; background: color-mix(in srgb, var(--ktsa-deco) 32%, transparent); -webkit-backdrop-filter: none; backdrop-filter: none; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }
.ktsa .ktsa-article__title { margin: 14px 0 12px; font-family: var(--ktsa-head); font-size: clamp(2rem, 4.8vw, 3.4rem); line-height: 1.08; font-weight: 700; letter-spacing: -.02em; color: inherit; text-wrap: balance; }
.ktsa-article__lead { max-width: 680px; margin: 0 auto 14px; font-size: 1.15rem; color: var(--ktsa-muted); }
.ktsa-article__head .ktsa-meta { justify-content: center; }
.ktsa-article__img { max-width: 1100px; margin: clamp(22px, 4vw, 38px) auto 0; }
.ktsa-article__img img { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: 28px; box-shadow: 0 40px 80px -50px rgba(0,0,0,.45); }
.ktsa-article__head:has(.ktsa-article__img) { max-width: 1100px; }
.ktsa-article__head:has(.ktsa-article__img) .ktsa-article__title, .ktsa-article__head:has(.ktsa-article__img) .ktsa-article__lead { max-width: 860px; margin-left: auto; margin-right: auto; }

/* Contenu */
.ktsa-prose { max-width: 720px; margin: clamp(10px, 2vw, 22px) auto 0; font-size: 1.08rem; line-height: 1.75; }
.ktsa-prose > * { margin-top: 0; margin-bottom: 1.15em; }
.ktsa-prose h2, .ktsa-prose h3, .ktsa-prose h4 { margin: 1.8em 0 .6em; font-family: var(--ktsa-head); line-height: 1.2; color: inherit; }
.ktsa-prose h2 { font-size: 1.7rem; } .ktsa-prose h3 { font-size: 1.35rem; }
.ktsa-prose a { color: inherit; text-decoration: underline; text-decoration-color: var(--ktsa-deco); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ktsa-prose img { max-width: 100%; height: auto; border-radius: 18px; }
.ktsa-prose blockquote { margin: 1.6em 0; padding: 18px 24px; border-left: 4px solid var(--ktsa-a); border-radius: 0 16px 16px 0; background: var(--ktsa-soft); font-size: 1.12rem; }
.ktsa-prose ul, .ktsa-prose ol { padding-left: 1.3em; }
.ktsa-prose li { margin: .35em 0; }
.ktsa-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ktsa-prose th, .ktsa-prose td { padding: 10px 12px; border-bottom: 1px solid var(--ktsa-line); text-align: left; }
.ktsa-raw { max-width: 1100px; margin: 0 auto; }
.ktsa-raw img { max-width: 100%; height: auto; }

/* Partage */
.ktsa-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; max-width: 720px; margin: clamp(30px, 5vw, 50px) auto 0; padding: 16px 18px; border-radius: 22px; background: var(--ktsa-soft); }
.ktsa-article--html .ktsa-share { max-width: 1100px; }
.ktsa-share__t { margin-right: 6px; font-weight: 700; }
.ktsa-share__b { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 42px; height: 42px; padding: 0 12px !important; border: 1px solid var(--ktsa-line) !important; border-radius: 999px !important; background: #fff !important; color: var(--ktsa-text) !important; text-decoration: none !important; font-weight: 600; font-size: .9rem; cursor: pointer; transition: transform .2s, background-color .2s, color .2s; }
.ktsa-share__b:hover { transform: translateY(-2px); background: var(--ktsa-a) !important; color: #fff !important; border-color: var(--ktsa-a) !important; }
.ktsa-share__copy.is-ok { background: #e7f6ec !important; color: #17733a !important; }

/* À lire aussi */
.ktsa-related { max-width: 1100px; margin: clamp(48px, 7vw, 80px) auto 0; }
.ktsa-related__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.ktsa .ktsa-related__head h2 { margin: 0; font-family: var(--ktsa-head); font-size: clamp(1.5rem, 2.6vw, 2rem); color: inherit; }
.ktsa-related__head a { color: inherit !important; font-weight: 600; text-decoration: none !important; }
.ktsa-related .ktsa-card__text { display: none; }
@media (prefers-reduced-motion: reduce) { .ktsa *, .ktsa *::before, .ktsa *::after { transition-duration: .01ms !important; } }
