/*
Theme Name: Kiosque
Theme URI: https://example.com/kiosque
Author: Kiosque
Author URI: https://example.com
Description: Thème de blocs WordPress éditorial et optimisé SEO, pensé pour lancer rapidement des blogs avec une vraie équipe éditoriale, dans n'importe quelle thématique. Sommaire automatique, schema.org complet, fiches auteur vérifiées, kit de démarrage par thématique.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kiosque
*/

/* ===================================================================
   KIOSQUE — design system
   theme.json pilote la palette/typographie exposées à l'éditeur ;
   cette feuille porte les composants éditoriaux et les 3 états de thème.
   =================================================================== */

/* ---------- tokens (pontés vers les presets theme.json quand pertinent) ---------- */
:root{
  --paper: var(--wp--preset--color--paper, #f3f4f0);
  --paper-raised: var(--wp--preset--color--paper-raised, #ffffff);
  --paper-sunken: var(--wp--preset--color--paper-sunken, #e9eae4);
  --ink: var(--wp--preset--color--ink, #15181c);
  --ink-soft: var(--wp--preset--color--ink-soft, #4d535a);
  --ink-faint: var(--wp--preset--color--ink-faint, #7d838a);
  --line: rgba(21,24,28,0.13);
  --line-strong: rgba(21,24,28,0.26);

  --accent: var(--wp--preset--color--accent, #0d6d5e);
  --accent-ink: #ffffff;
  --accent-soft: rgba(13,109,94,0.1);
  --accent-line: rgba(13,109,94,0.35);
  --amber: var(--wp--preset--color--amber, #9c5f27);
  --amber-soft: rgba(156,95,39,0.12);

  --stamp-bg: #14201d;
  --stamp-text: #f3f4f0;
  --stamp-text-soft: rgba(243,244,240,0.68);
  --avatar-2: #0a2e28;

  --radius-s: 6px;
  --radius-m: 10px;
  --radius-l: 16px;

  --serif: var(--wp--preset--font-family--display);
  --sans: var(--wp--preset--font-family--body);
  --mono: var(--wp--preset--font-family--mono);

  --measure: 68ch;
  color-scheme: light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#14171b; --paper-raised:#1c2024; --paper-sunken:#0f1214;
    --ink:#edefec; --ink-soft:#b3b9bd; --ink-faint:#7d848a;
    --line:rgba(237,239,236,0.13); --line-strong:rgba(237,239,236,0.26);
    --accent:#4bd9bb; --accent-ink:#0a1512; --accent-soft:rgba(75,217,187,0.12); --accent-line:rgba(75,217,187,0.35);
    --amber:#e3a75f; --amber-soft:rgba(227,167,95,0.14);
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#14171b; --paper-raised:#1c2024; --paper-sunken:#0f1214;
  --ink:#edefec; --ink-soft:#b3b9bd; --ink-faint:#7d848a;
  --line:rgba(237,239,236,0.13); --line-strong:rgba(237,239,236,0.26);
  --accent:#4bd9bb; --accent-ink:#0a1512; --accent-soft:rgba(75,217,187,0.12); --accent-line:rgba(75,217,187,0.35);
  --amber:#e3a75f; --amber-soft:rgba(227,167,95,0.14);
  color-scheme: dark;
}

/* niche starter-kit variations can also be triggered by data-niche on <html>
   (see /styles/*.json for the theme.json-level equivalent used by the Site Editor) */
:root[data-niche="sport"]{ --accent:#5c6e28; --accent-soft:rgba(92,110,40,0.1); --accent-line:rgba(92,110,40,0.35); }
:root[data-theme="dark"][data-niche="sport"],:root:not([data-theme="light"])[data-niche="sport"]{ --accent:#a8c25a; --accent-ink:#12160a; }
:root[data-niche="lifestyle"]{ --accent:#a13a54; --accent-soft:rgba(161,58,84,0.1); --accent-line:rgba(161,58,84,0.35); }
:root[data-theme="dark"][data-niche="lifestyle"],:root:not([data-theme="light"])[data-niche="lifestyle"]{ --accent:#e88ba1; --accent-ink:#1a0d10; }
:root[data-niche="tech"]{ --accent:#33468f; --accent-soft:rgba(51,70,143,0.1); --accent-line:rgba(51,70,143,0.35); }
:root[data-theme="dark"][data-niche="tech"],:root:not([data-theme="light"])[data-niche="tech"]{ --accent:#8ea2f2; --accent-ink:#0c1020; }

@media (prefers-reduced-motion: reduce){ *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;} }

/* ---------- utility bar ---------- */
.kiosque-utility-bar{background:var(--paper-sunken);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:0.72rem;color:var(--ink-faint);}
.kiosque-utility-bar .kiosque-row{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;flex-wrap:wrap;gap:0.5rem;}
.kiosque-theme-toggle{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:6px;border:none;background:none;color:var(--ink-soft);cursor:pointer;}
.kiosque-theme-toggle:hover{background:var(--line);color:var(--ink);}

/* ---------- masthead / header ---------- */
.wp-block-template-part.kiosque-masthead,
header.kiosque-masthead{background:var(--paper);border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:20;}
.kiosque-wordmark, .kiosque-wordmark a{font-family:var(--serif) !important;font-weight:600;font-size:1.7rem;letter-spacing:-0.01em;color:var(--ink) !important;text-decoration:none;}
.kiosque-primary-nav a{font-family:var(--mono) !important;font-size:0.76rem !important;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-soft) !important;padding:0.3rem 0;border-bottom:2px solid transparent;}
.kiosque-primary-nav a:hover, .kiosque-primary-nav .current-menu-item a{color:var(--ink) !important;border-color:var(--accent);}
.kiosque-search-pill{border:1px solid var(--line-strong) !important;border-radius:999px !important;}
.kiosque-search-pill input{background:transparent;color:var(--ink);}

/* ---------- kicker / pills ---------- */
.kiosque-kicker{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;padding:0.25rem 0.7rem;}
.kiosque-verified-badge{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--mono);font-size:0.72rem;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:0.25rem 0.65rem;white-space:nowrap;}
.kiosque-meta{font-family:var(--mono);font-size:0.76rem;color:var(--ink-faint);}

/* ---------- front page — la Une ---------- */
.kiosque-une-lead figure{border-radius:var(--radius-l);overflow:hidden;background:var(--paper-sunken);aspect-ratio:16/10;}
.kiosque-une-lead figure img{width:100%;height:100%;object-fit:cover;}
.kiosque-une-secondary-item{border-bottom:1px solid var(--line);padding-bottom:1.5rem;}
.kiosque-byline{display:flex;align-items:center;gap:0.7rem;font-size:0.86rem;color:var(--ink-faint);flex-wrap:wrap;}
.kiosque-byline .wp-block-avatar img{border-radius:50%;}
.kiosque-article-stats{font-family:var(--mono);font-size:0.76rem;color:var(--ink-faint);}
.kiosque-article-stats span,.kiosque-byline span{margin-right:0.45em;}
.kiosque-article-stats span:last-child,.kiosque-byline span:last-child{margin-right:0;}

/* ---------- rubriques ---------- */
.kiosque-rubrique-tile{background:var(--paper-raised) !important;border:1px solid var(--line) !important;border-radius:var(--radius-l) !important;padding:1.8rem 1.2rem !important;transition:border-color .15s, transform .15s;}
.kiosque-rubrique-tile:hover{border-color:var(--accent-line) !important;transform:translateY(-2px);}
.kiosque-rubrique-tile .kiosque-count{font-family:var(--mono);font-size:0.72rem;color:var(--ink-faint);}

/* ---------- article / post cards (query loop) ---------- */
.kiosque-card-grid .wp-block-post{background:transparent;}
.kiosque-card-grid figure{aspect-ratio:4/3;border-radius:var(--radius-m);overflow:hidden;background:var(--paper-sunken);}
.kiosque-card-grid figure img{width:100%;height:100%;object-fit:cover;}
.kiosque-list-dense .wp-block-post{border-bottom:1px solid var(--line);padding:1rem 0 !important;}
.kiosque-list-dense .wp-block-post-title{font-family:var(--serif);font-weight:600;font-size:var(--wp--preset--font-size--medium);margin:0;}
.kiosque-list-dense .wp-block-post-date{font-family:var(--mono);font-size:0.72rem;color:var(--ink-faint);}

/* ---------- credibility stamp ---------- */
.kiosque-credibility{background:var(--stamp-bg) !important;color:var(--stamp-text);border-radius:var(--radius-l) !important;}
.kiosque-credibility .kiosque-stat-num{font-family:var(--serif);font-size:var(--wp--preset--font-size--xx-large);display:block;color:var(--accent);}
.kiosque-credibility .kiosque-stat-label{font-family:var(--mono);font-size:0.76rem;letter-spacing:0.03em;color:var(--stamp-text-soft);}

/* ---------- team ---------- */
.kiosque-avatar-initials{border-radius:var(--radius-m);aspect-ratio:1;width:100%;display:grid;place-items:center;font-family:var(--serif);font-weight:600;color:#f3f4f0;background:linear-gradient(135deg,var(--accent),var(--avatar-2));font-size:clamp(1.6rem,4vw,2.4rem);}
.kiosque-avatar-initials.is-round{border-radius:50%;}
.kiosque-team-card .kiosque-role{font-family:var(--mono);font-size:0.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.05em;}

/* ---------- newsletter ---------- */
.kiosque-newsletter{background:var(--accent-soft) !important;border:1px solid var(--accent-line) !important;border-radius:var(--radius-l) !important;}
.kiosque-newsletter input[type="email"]{flex:1;padding:0.8rem 1rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);font-size:0.9rem;width:100%;}
.kiosque-fineprint{font-size:0.72rem;color:var(--ink-faint);}

/* ---------- footer ---------- */
.kiosque-footer{background:var(--paper-sunken);border-top:1px solid var(--line-strong);}
.kiosque-footer h5{font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-faint);}
.kiosque-footer a{font-size:0.88rem;color:var(--ink-soft) !important;}
.kiosque-footer a:hover{color:var(--accent) !important;}
.kiosque-footer-bottom{border-top:1px solid var(--line);font-size:0.78rem;color:var(--ink-faint);font-family:var(--mono);}

/* ---------- breadcrumb ---------- */
.kiosque-breadcrumb{display:flex;gap:0.4rem;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:0.74rem;color:var(--ink-faint);}
.kiosque-breadcrumb a{color:var(--ink-faint);}
.kiosque-breadcrumb a:hover{color:var(--accent);}
.kiosque-breadcrumb .sep{opacity:0.5;}

/* ---------- single article ---------- */
.kiosque-article-head .wp-block-post-title{font-size:var(--wp--preset--font-size--xxx-large);max-width:22ch;}
.kiosque-dek{font-size:var(--wp--preset--font-size--large);color:var(--ink-soft);max-width:var(--measure);}
.kiosque-meta-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;}
.kiosque-author-line img{border-radius:50%;object-fit:cover;}
.kiosque-author-line .kiosque-name{font-weight:600;font-size:0.92rem;}
.kiosque-author-line .kiosque-author-role{font-size:0.78rem;color:var(--ink-faint);}

.kiosque-article-figure img{border-radius:var(--radius-l);aspect-ratio:16/8;object-fit:cover;background:var(--paper-sunken);width:100%;}
.kiosque-article-figure figcaption{font-size:0.78rem;color:var(--ink-faint);font-family:var(--mono);margin-top:0.5rem;}

.kiosque-article-grid{display:grid;grid-template-columns:minmax(0,var(--measure)) 260px;gap:clamp(2rem,4vw,4rem);align-items:start;}
@media (max-width:900px){ .kiosque-article-grid{grid-template-columns:1fr;} }

.kiosque-article-body{font-size:1.06rem;line-height:1.75;}
.kiosque-article-body > *{margin-top:1.4rem;}
.kiosque-article-body > p:first-of-type::first-letter{font-family:var(--serif);font-size:3.6em;float:left;line-height:0.85;padding:0.05em 0.08em 0 0;color:var(--accent);font-weight:600;}
.kiosque-article-body blockquote{border-left:3px solid var(--accent);padding-left:1.8rem;font-family:var(--serif);font-style:italic;font-size:var(--wp--preset--font-size--xx-large);}
.kiosque-article-body blockquote cite{display:block;font-family:var(--mono);font-style:normal;font-size:0.75rem;color:var(--ink-faint);margin-top:0.6rem;}
.kiosque-article-body figure.wp-block-table{overflow-x:auto;}
.kiosque-article-body table{width:100%;border-collapse:collapse;font-size:0.92rem;}
.kiosque-article-body table th,.kiosque-article-body table td{border:1px solid var(--line);padding:0.7rem 0.9rem;text-align:left;}
.kiosque-article-body table th{background:var(--paper-sunken);font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;color:var(--ink-faint);}

.is-style-kiosque-callout{border:1px solid var(--accent-line) !important;background:var(--accent-soft) !important;border-radius:var(--radius-m) !important;padding:1.2rem 1.5rem !important;}
.is-style-kiosque-callout .kiosque-label{font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--accent);display:block;margin-bottom:0.5rem;}

.wp-block-details.is-style-kiosque-faq-item{border-bottom:1px solid var(--line);padding:1rem 0;}
.wp-block-details.is-style-kiosque-faq-item summary{cursor:pointer;font-family:var(--serif);font-weight:600;font-size:var(--wp--preset--font-size--large);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.wp-block-details.is-style-kiosque-faq-item summary::-webkit-details-marker{display:none;}
.wp-block-details.is-style-kiosque-faq-item summary::after{content:"+";font-family:var(--mono);color:var(--accent);transition:transform .15s;}
.wp-block-details.is-style-kiosque-faq-item[open] summary::after{transform:rotate(45deg);}

.kiosque-affiliate-disclosure{font-size:0.78rem;color:var(--ink-faint);border-top:1px dashed var(--line-strong);padding-top:0.6rem;margin-top:0.6rem;}

.kiosque-toc-card{background:var(--paper-raised);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 var(--radius-m) var(--radius-m) 0;padding:1.2rem 1.5rem;position:sticky;top:calc(4rem + 20px);}
.kiosque-toc-card .kiosque-label{font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-faint);margin-bottom:0.7rem;display:block;}
.kiosque-toc-card ol{counter-reset:toc;display:flex;flex-direction:column;gap:0.55rem;list-style:none;margin:0;padding:0;}
.kiosque-toc-card li{counter-increment:toc;font-size:0.87rem;}
.kiosque-toc-card li a{color:var(--ink-soft);text-decoration:none;}
.kiosque-toc-card li a:hover{color:var(--accent);}
.kiosque-toc-card li a::before{content:counter(toc,decimal-leading-zero) " ";font-family:var(--mono);color:var(--accent);font-size:0.78rem;}
.kiosque-share-rail{display:flex;gap:0.5rem;}
.kiosque-share-rail a{width:36px;height:36px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;color:var(--ink-soft);text-decoration:none;}
.kiosque-share-rail a:hover{border-color:var(--accent);color:var(--accent);}

.kiosque-author-box{background:var(--paper-raised) !important;border:1px solid var(--line) !important;border-radius:var(--radius-l) !important;}
.kiosque-author-box .kiosque-cred{font-family:var(--mono);font-size:0.74rem;color:var(--accent);}

.kiosque-sources li{font-size:0.85rem;color:var(--ink-soft);}

/* ---------- category / archive ---------- */
.kiosque-category-head .wp-block-query-title,
.kiosque-category-head h1{font-size:var(--wp--preset--font-size--xxx-large);}
.kiosque-subcats a{font-family:var(--mono);font-size:0.76rem;text-transform:uppercase;letter-spacing:0.04em;border:1px solid var(--line-strong);border-radius:999px;padding:0.4rem 0.9rem;color:var(--ink-soft);text-decoration:none;}
.kiosque-subcats a:hover{border-color:var(--accent);color:var(--accent);}

.kiosque-editorial-row figure{aspect-ratio:4/3;border-radius:var(--radius-l);overflow:hidden;background:var(--paper-sunken);}
.kiosque-editorial-row figure img{width:100%;height:100%;object-fit:cover;}

/* ---------- team page ---------- */
.kiosque-methodology{background:var(--paper-sunken) !important;border-radius:var(--radius-l) !important;}
.kiosque-methodology-step .kiosque-num{font-family:var(--serif);font-size:var(--wp--preset--font-size--xx-large);color:var(--accent);display:block;}

.kiosque-profile-stats .kiosque-stat-num{font-family:var(--serif);font-size:var(--wp--preset--font-size--x-large);display:block;}
.kiosque-profile-stats .kiosque-stat-label{font-family:var(--mono);font-size:0.72rem;color:var(--ink-faint);text-transform:uppercase;}

/* ---------- misc ---------- */
.kiosque-eyebrow{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.11em;text-transform:uppercase;color:var(--accent);}
