/*
Theme Name: MuskaLab Blog
Theme URI: https://muskalab.fr/
Author: MuskaLab
Description: Thème éditorial MuskaLab pour les articles, médias et commentaires.
Version: 1.4.0
Text Domain: muskalab-blog
*/

:root {
  --orange: #f26a21;
  --orange-hot: #ff8a2a;
  --ink: #171b20;
  --charcoal: #272d33;
  --steel: #5b646d;
  --mist: #e9ecee;
  --paper: #f7f8f8;
  --white: #fff;
  font-family: Inter, system-ui, sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.blog-shell { min-height: 100vh; overflow: hidden; position: relative; }
.blog-shell::before {
  background: repeating-linear-gradient(174deg, transparent 0 110px, rgba(242,106,33,.08) 110px 160px, transparent 160px 310px);
  content: ""; inset: 0; pointer-events: none; position: fixed; z-index: 0;
}
.blog-topbar {
  align-items: center; backdrop-filter: blur(16px); background: rgba(28,32,36,.88);
  border-bottom: 1px solid rgba(255,255,255,.14); color: var(--white); display: flex;
  justify-content: space-between; padding: 14px clamp(18px,4vw,54px); position: sticky; top: 0; z-index: 20;
}
.blog-brand, .blog-back { align-items: center; display: flex; gap: 10px; }
.blog-brand span { align-items: center; background: var(--orange); display: flex; font-weight: 800; height: 35px; justify-content: center; width: 35px; }
.blog-brand small { color: rgba(255,255,255,.56); display: block; font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.blog-topbar-actions { align-items: center; display: flex; gap: 18px; }
.blog-language-switcher { border: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(2,42px); }
.blog-language-switcher a { align-items: center; color: rgba(255,255,255,.62); display: flex; font-size: .72rem; font-weight: 800; height: 34px; justify-content: center; transition: background 160ms ease,color 160ms ease; }
.blog-language-switcher a:hover { color: var(--white); }
.blog-language-switcher a.is-active { background: var(--orange); color: var(--white); }
.blog-back { color: rgba(255,255,255,.74); font-size: .82rem; font-weight: 700; }
.blog-back svg { height: 17px; width: 17px; }

.blog-hero { background: var(--charcoal); color: var(--white); min-height: 430px; overflow: hidden; padding: clamp(55px,8vw,110px) clamp(22px,7vw,100px); position: relative; }
.blog-hero-image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.blog-hero::after { background: linear-gradient(90deg, rgba(20,23,27,.9), rgba(20,23,27,.18) 78%); content: ""; inset: 0; position: absolute; }
.blog-hero-copy { max-width: 900px; position: relative; z-index: 2; }
.blog-kicker { color: var(--orange-hot); font-size: .74rem; font-weight: 800; text-transform: uppercase; }
.blog-hero h1 { font-size: clamp(2.35rem,5vw,4.8rem); line-height: .98; margin: 16px 0 24px; }
.blog-meta { color: rgba(255,255,255,.68); display: flex; flex-wrap: wrap; font-size: .78rem; font-weight: 700; gap: 18px; text-transform: uppercase; }

.blog-main { margin: 0 auto; max-width: 1180px; padding: 64px clamp(18px,5vw,72px) 90px; position: relative; z-index: 1; }
.archive-heading { margin-bottom: 32px; max-width: 760px; }
.archive-heading h2 { font-size: clamp(2rem,4vw,3.5rem); line-height: 1.04; margin: 10px 0 0; }
.post-list { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.post-card { background: rgba(255,255,255,.82); border: 1px solid rgba(31,37,43,.13); display: grid; overflow: hidden; transition: border-color 180ms ease, transform 180ms ease; }
.post-card:first-child { border-color: rgba(242,106,33,.42); }
.post-card:hover { border-color: rgba(242,106,33,.62); transform: translateY(-4px); }
.post-card-image { aspect-ratio: 16/9; overflow: hidden; position: relative; }
.post-card-image::after { background: rgba(80,86,91,.42); content: ""; inset: 0; position: absolute; transition: opacity 220ms ease; }
.post-card:hover .post-card-image::after { opacity: 0; }
.post-card-image img { height: 100%; object-fit: cover; transition: transform 280ms ease; width: 100%; }
.post-card:hover img { transform: scale(1.025); }
.post-card-body { display: grid; gap: 12px; padding: 24px; }
.post-card h2 { font-size: 1.55rem; line-height: 1.12; margin: 0; }
.post-card p { color: var(--steel); line-height: 1.62; margin: 0; }
.post-card time { color: var(--orange); font-size: .72rem; font-weight: 800; text-transform: uppercase; }

.article-layout { align-items: start; display: grid; gap: 48px; grid-template-columns: minmax(0,1fr) 250px; }
.article-content { background: rgba(255,255,255,.76); border-top: 3px solid var(--orange); font-size: 1.05rem; line-height: 1.78; padding: clamp(25px,5vw,62px); }
.article-content > *:first-child { margin-top: 0; }
.article-content h2 { font-size: clamp(2rem,4vw,3.15rem); line-height: 1.02; margin: 2.2em 0 .7em; }
.article-content h3 { font-size: 1.45rem; margin-top: 2em; }
.article-content p { color: #3f474f; }
.article-content a { color: var(--orange); text-decoration: underline; }
.article-content figure { margin: 2.2em 0; }
.article-content figcaption { color: var(--steel); font-size: .78rem; margin-top: 8px; }
.article-content audio { width: 100%; }
.article-sidebar { position: sticky; top: 88px; }
.article-actions { display: grid; gap: 8px; }
.article-actions button, .article-actions a { align-items: center; background: var(--charcoal); border: 1px solid var(--charcoal); color: var(--white); cursor: pointer; display: flex; font-size: .78rem; font-weight: 800; gap: 10px; min-height: 45px; padding: 0 13px; }
.article-actions button:hover, .article-actions a:hover { background: var(--orange); border-color: var(--orange); }
.like-button.is-liked { background: var(--orange); border-color: var(--orange); }
.article-actions svg { height: 17px; width: 17px; }

.comments-area { border-top: 1px solid rgba(31,37,43,.18); margin-top: 64px; padding-top: 44px; }
.comments-area h2, .comment-reply-title { font-size: 2rem; }
.comment-list { list-style: none; padding: 0; }
.comment-body { background: var(--white); border-left: 3px solid var(--orange); margin: 12px 0; padding: 18px; }
.comment-meta { color: var(--steel); font-size: .78rem; }
.comment-form { display: grid; gap: 12px; }
.comment-form p { margin: 0; }
.comment-form label { color: var(--steel); display: block; font-size: .76rem; font-weight: 700; margin-bottom: 6px; }
.comment-form input, .comment-form textarea { background: var(--white); border: 1px solid rgba(31,37,43,.2); color: var(--ink); padding: 13px; width: 100%; }
.comment-form-cookies-consent { align-items: flex-start; display: flex; gap: 9px; }
.comment-form-cookies-consent input { flex: 0 0 auto; margin-top: 2px; width: auto; }
.comment-form-cookies-consent label { margin: 0; }
.comment-form textarea { min-height: 150px; resize: vertical; }
.form-submit input { background: var(--orange); border: 0; color: var(--white); cursor: pointer; font-weight: 800; padding: 14px 20px; }
.comment-notes { color: var(--steel); }

.blog-footer { background: var(--ink); color: rgba(255,255,255,.62); display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; padding: 28px clamp(18px,4vw,54px); position: relative; z-index: 1; }
.blog-footer strong { color: var(--white); }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }

@media(max-width:820px){ .article-layout{grid-template-columns:1fr}.article-sidebar{position:static}.article-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.post-list{grid-template-columns:1fr} }
@media(max-width:560px){ .blog-hero{min-height:390px}.blog-topbar{padding:10px 12px}.blog-topbar-actions{gap:8px}.blog-language-switcher{grid-template-columns:repeat(2,38px)}.blog-back span{display:none}.blog-main{padding-top:38px}.article-content{font-size:1rem;padding:24px 20px}.article-actions{grid-template-columns:1fr}.blog-meta{gap:9px 14px} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.post-card,.post-card img,.post-card-image::after{transition:none} }
