:root{
  --atlas-blue:#1E3A4C;
  --sand:#C89A4E;
  --rust:#A8462F;
  --parchment:#F3EAD8;
  --ink:#2A231C;
  --sage:#5C7A5B;
  --card-bg:#FFFDF8;
  --line:rgba(42,35,28,0.14);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--parchment);
  color:var(--ink);
  font-family:'Source Serif 4', serif;
  line-height:1.55;
}
h1,h2,h3,.display{ font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; }
.utility, nav, .eyebrow, button{ font-family:'IBM Plex Sans', sans-serif; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.motif{
  height:10px; width:100%;
  background:
    linear-gradient(135deg, var(--rust) 25%, transparent 25%) 0 0/16px 16px,
    linear-gradient(-135deg, var(--rust) 25%, transparent 25%) 0 0/16px 16px;
  background-color: var(--sand);
}

/* ---------- BANDEAU DÉFILANT ---------- */
.ticker-bar{
  background:var(--rust);
  color:var(--parchment);
  overflow:hidden;
  white-space:nowrap;
  padding:9px 0;
  position:relative;
  z-index:60;
}
.ticker-track{
  display:inline-flex;
  animation:ticker-scroll 26s linear infinite;
}
.ticker-item{
  padding:0 50px;
  font-family:'IBM Plex Sans', sans-serif;
  font-size:0.82rem;
  font-weight:500;
  letter-spacing:0.02em;
  flex-shrink:0;
}
.ticker-bar:hover .ticker-track{ animation-play-state:paused; }
@keyframes ticker-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; }
}
@media (max-width:600px){
  .ticker-item{ font-size:0.75rem; padding:0 30px; }
}

header{ position:sticky; top:0; z-index:50; background:var(--atlas-blue); color:var(--parchment); border-bottom:3px solid var(--sand); }
.header-inner{ max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 20px; }
.logo{ display:flex; align-items:baseline; gap:10px; }
.logo .display{ font-size:1.5rem; color:var(--parchment); }
.logo .tifi{ font-size:0.95rem; color:var(--sand); letter-spacing:0.05em; }

nav.desktop-nav{ display:flex; gap:28px; }
nav.desktop-nav a{ font-size:0.92rem; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; color:var(--parchment); position:relative; padding:6px 2px; }
nav.desktop-nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--sand); transition:width 0.25s ease; }
nav.desktop-nav a:hover::after{ width:100%; }
.nav-cta{ background:var(--rust); padding:6px 14px !important; }
.nav-cta::after{ display:none; }
.nav-cta:hover{ background:#8a3823; }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.burger span{ width:24px; height:2px; background:var(--parchment); display:block; transition:transform 0.25s ease, opacity 0.25s ease; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-nav{ display:none; flex-direction:column; background:var(--atlas-blue); border-top:1px solid rgba(243,234,216,0.15); }
.mobile-nav.open{ display:flex; }
.mobile-nav a{ padding:16px 20px; color:var(--parchment); border-bottom:1px solid rgba(243,234,216,0.1); font-size:1rem; font-weight:500; }

.banner{ position:relative; height:46vh; min-height:280px; max-height:440px; overflow:hidden; background:var(--atlas-blue); }

.stats-widget{
  position:absolute; top:16px; right:16px; z-index:6;
  background:rgba(30,58,76,0.72);
  backdrop-filter:blur(3px);
  border:1px solid rgba(243,234,216,0.25);
  padding:12px 16px;
  color:var(--parchment);
  font-family:'IBM Plex Sans', sans-serif;
  min-width:150px;
}
.stats-widget-title{ font-size:0.68rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--sand); font-weight:600; margin-bottom:6px; }
.stats-row{ font-size:0.8rem; display:flex; gap:6px; align-items:baseline; }
.stats-row span{ font-family:'Fraunces', serif; font-size:1.05rem; font-weight:600; color:#fff; min-width:22px; }
.slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease; }
.slide.active{ opacity:1; }
.slide img{ width:100%; height:100%; object-fit:cover; }
.slide-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--sand); font-family:'Fraunces', serif; background:linear-gradient(160deg, var(--atlas-blue), #10222d); }
.banner-caption{ position:absolute; left:20px; top:20px; color:var(--parchment); z-index:5; max-width:600px; }
.banner-caption .eyebrow{ font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--sand); font-weight:600; }
.banner-caption h2{ font-size:clamp(1.4rem, 4vw, 2.2rem); color:var(--parchment); text-shadow:0 2px 10px rgba(0,0,0,0.4); }
.banner-dots{ position:absolute; right:20px; bottom:18px; z-index:5; display:flex; gap:8px; }
.banner-dots span{ width:8px; height:8px; border-radius:50%; background:rgba(243,234,216,0.4); cursor:pointer; }
.banner-dots span.active{ background:var(--sand); }

main{ max-width:1180px; margin:0 auto; padding:44px 20px 60px; display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:start; }
.sidebar{ display:flex; flex-direction:column; gap:24px; }

.video-card{ background:var(--card-bg); border:1px solid var(--line); position:relative; padding:22px 20px 24px; }
.video-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background: linear-gradient(135deg, var(--rust) 25%, transparent 25%) 0 0/12px 12px, linear-gradient(-135deg, var(--rust) 25%, transparent 25%) 0 0/12px 12px; background-color: var(--sand); }
.video-card .eyebrow{ font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--rust); font-weight:600; margin-top:14px; display:block; }
.video-card h3{ font-size:1.1rem; margin:10px 0 4px; }
.video-frame{ position:relative; padding-bottom:56.25%; height:0; overflow:hidden; margin-top:12px; background:#000; }
.video-frame iframe{ position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

.livre-du-mois{ background:var(--card-bg); border:1px solid var(--line); position:relative; padding:22px 20px 24px; }
.livre-du-mois::before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background: linear-gradient(135deg, var(--rust) 25%, transparent 25%) 0 0/12px 12px, linear-gradient(-135deg, var(--rust) 25%, transparent 25%) 0 0/12px 12px; background-color: var(--sand); }
.livre-du-mois .eyebrow{ font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--rust); font-weight:600; margin-top:14px; display:block; }
.livre-cover{ width:100%; aspect-ratio:2/3; margin:14px 0 16px; background:linear-gradient(160deg, var(--atlas-blue), #10222d); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--sand); font-family:'Fraunces', serif; font-size:1rem; text-align:center; padding:16px; overflow:hidden; }
.livre-cover img{ width:100%; height:100%; object-fit:cover; }
.livre-du-mois h3{ font-size:1.15rem; margin-bottom:4px; }
.livre-auteur{ font-size:0.85rem; color:var(--rust); font-weight:600; margin-bottom:10px; }
.livre-du-mois p{ font-size:0.92rem; color:#4a3f33; margin-bottom:16px; }
.btn-livre{ display:inline-block; background:var(--rust); color:var(--parchment); padding:10px 18px; font-family:'IBM Plex Sans', sans-serif; font-size:0.85rem; font-weight:600; letter-spacing:0.02em; border:none; cursor:pointer; }
.btn-livre:hover{ background:#8a3823; }

.section-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px; border-bottom:2px solid var(--ink); padding-bottom:10px; }
.section-head h2{ font-size:1.5rem; }
.section-head .eyebrow{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); font-weight:600; }

.article-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.article-card{ background:var(--card-bg); border:1px solid var(--line); padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; transition:transform 0.2s ease, box-shadow 0.2s ease; }
.article-card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(30,58,76,0.12); }
.article-card .cat{ font-family:'IBM Plex Sans', sans-serif; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--sage); font-weight:600; }
.article-card h3{ font-size:1.15rem; line-height:1.3; }
.article-card .excerpt{ font-size:0.9rem; color:#4a3f33; }
.article-card .meta{ font-family:'IBM Plex Sans', sans-serif; font-size:0.75rem; color:#8a7f6d; margin-top:auto; padding-top:8px; }

footer{ background:var(--atlas-blue); color:var(--parchment); padding:40px 20px 24px; }
.footer-inner{ max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; }
footer .display{ font-size:1.2rem; color:var(--sand); margin-bottom:8px; }
footer p{ font-size:0.85rem; color:rgba(243,234,216,0.75); max-width:340px; }
.footer-copy{ text-align:center; font-size:0.75rem; color:rgba(243,234,216,0.5); margin-top:30px; font-family:'IBM Plex Sans', sans-serif; }

/* Pages internes (auteur, texte, listes) */
.page-header{ max-width:1180px; margin:0 auto; padding:40px 20px 0; }
.page-header .eyebrow{ font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--rust); font-weight:600; }
.page-content{ max-width:820px; margin:0 auto; padding:20px 20px 60px; }
.page-content .meta{ font-family:'IBM Plex Sans', sans-serif; font-size:0.85rem; color:#8a7f6d; margin-bottom:24px; }
.page-content .texte-corps{ white-space:pre-line; font-size:1.05rem; }
.texte-photo{ width:100%; margin:20px 0; border:1px solid var(--line); }
.auteur-list, .textes-list{ max-width:1180px; margin:0 auto; padding:20px 20px 60px; display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:22px; }

.public-form label{ display:block; font-weight:600; font-size:0.85rem; margin:16px 0 6px; font-family:'IBM Plex Sans', sans-serif; }
.public-form input[type=text], .public-form textarea{ width:100%; padding:10px; border:1px solid var(--line); font-family:inherit; font-size:0.95rem; background:#fff; }
.public-form textarea{ min-height:240px; resize:vertical; }
.public-form .hp-field{ position:absolute; left:-9999px; }
.success-box{ background:#e2ead9; color:#3d5c2a; padding:14px 18px; border:1px solid #b7d0a0; }
.error-box{ background:#f7dede; color:#8a2e2e; padding:10px 14px; margin-bottom:16px; border:1px solid #d8a0a0; }

.back-home-link{ max-width:1180px; margin:14px auto 0; padding:0 20px; }
.back-home-link a{ font-family:'IBM Plex Sans', sans-serif; font-size:0.85rem; color:var(--rust); font-weight:600; }
.back-home-link a:hover{ text-decoration:underline; }

.form-actions{ display:flex; align-items:center; gap:16px; margin-top:16px; }
.btn-cancel{ font-family:'IBM Plex Sans', sans-serif; font-size:0.85rem; color:#8a7f6d; font-weight:600; }
.btn-cancel:hover{ color:var(--rust); text-decoration:underline; }

.comments-section{ margin-top:30px; padding-top:24px; border-top:2px solid var(--ink); }
.comments-section h3{ font-size:1.15rem; margin-bottom:16px; }
.comment-item{ border-left:3px solid var(--sand); padding:6px 0 6px 14px; margin-bottom:16px; }
.comment-item .comment-meta{ font-family:'IBM Plex Sans', sans-serif; font-size:0.78rem; color:#8a7f6d; margin-bottom:4px; }
.comment-item .comment-meta strong{ color:var(--ink); }
.comment-item p{ font-size:0.92rem; white-space:pre-line; }
.no-comments{ font-size:0.9rem; color:#8a7f6d; margin-bottom:16px; }
.comment-form{ margin-top:20px; max-width:520px; }

.propose-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:20px; }
.propose-card{ background:var(--card-bg); border:1px solid var(--line); padding:26px 20px; text-align:center; transition:transform 0.2s ease, box-shadow 0.2s ease; }
.propose-card:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(30,58,76,0.12); border-color:var(--rust); }
.propose-card h3{ font-size:1.1rem; margin-bottom:8px; }
.propose-card p{ font-size:0.85rem; color:#8a7f6d; }

@media (max-width: 860px){
  nav.desktop-nav{ display:none; }
  .burger{ display:flex; }
  main{ grid-template-columns:1fr; }
  .sidebar{ max-width:360px; }
  .stats-widget{ padding:8px 10px; min-width:110px; top:10px; right:10px; }
  .stats-widget-title{ font-size:0.6rem; }
  .stats-row{ font-size:0.7rem; }
  .stats-row span{ font-size:0.9rem; }
  .article-grid{ grid-template-columns:1fr; }
}

/* ===== Accueil v2 : vitrine culturelle ===== */
.hero-banner{position:relative;height:62vh;min-height:390px;max-height:650px;overflow:hidden;background:var(--atlas-blue)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,32,42,.82),rgba(15,32,42,.22) 65%,rgba(15,32,42,.45));z-index:2}
.banner-caption{top:auto;bottom:64px;left:max(20px,calc((100% - 1180px)/2));z-index:4;max-width:680px}.banner-caption h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;color:var(--parchment);margin:8px 0 12px}.banner-caption p{font-size:clamp(1rem,2vw,1.3rem);color:#fff;max-width:600px;margin-bottom:22px}.hero-cta{display:inline-block;background:var(--rust);color:var(--parchment);padding:12px 18px;font-family:'IBM Plex Sans',sans-serif;font-weight:600}.hero-cta:hover{background:#8a3823}
.home-main{display:block;max-width:1180px}.monthly-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:24px;align-items:stretch}.feature-card,.community-feature{background:var(--card-bg);border:1px solid var(--line);padding:22px;position:relative}.feature-card:before,.community-feature:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--sand)}.feature-card .eyebrow,.community-feature .eyebrow,.artist-of-month .eyebrow,.participation-band .eyebrow{display:block;color:var(--rust);font:600 .7rem 'IBM Plex Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-top:6px}.book-cover{margin:16px 0;overflow:hidden;background:transparent}.book-cover img{width:100%;height:auto;display:block;}.feature-card h2{font-size:1.25rem}.feature-author,.artist-discipline{color:var(--rust);font:600 .85rem 'IBM Plex Sans',sans-serif;margin:3px 0 10px}.feature-card p{font-size:.9rem;color:#4a3f33;margin-bottom:14px}.video-feature h2{font-size:1.15rem;margin:12px 0}.community-feature{padding:22px}.community-feature .section-head{margin-bottom:18px}.community-feature .section-head h2{font-size:1.45rem}.home-articles{grid-template-columns:repeat(3,1fr);gap:12px}.home-articles .article-card{padding:16px}.home-articles .article-card h3{font-size:1rem}.home-articles .article-card .excerpt{font-size:.8rem}.community-cta{display:inline-block;margin-top:16px;font:600 .8rem 'IBM Plex Sans',sans-serif;color:var(--rust)}
.artist-of-month{margin-top:36px;background:var(--atlas-blue);color:var(--parchment);display:grid;grid-template-columns:1fr 280px;min-height:250px}.artist-of-month .artist-copy{padding:38px}.artist-of-month h2{font-size:2.2rem;margin:8px 0}.artist-of-month p{max-width:700px;margin-bottom:20px;color:#eee}.artist-of-month img{width:100%;height:100%;object-fit:cover;min-height:250px}.disciplines{margin-top:48px}.discipline-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.discipline-card{background:var(--card-bg);border:1px solid var(--line);padding:18px 12px;text-align:center}.discipline-card>span{font-size:1.8rem}.discipline-card h3{font-size:1rem;margin:8px 0 4px}.discipline-card p{font-size:.78rem;color:#756b5d}.participation-band{margin-top:48px;padding:30px 34px;background:linear-gradient(110deg,var(--sand),#d9bb82);display:flex;justify-content:space-between;align-items:center;gap:25px}.participation-band .eyebrow{color:var(--atlas-blue)}.participation-band h2{font-size:1.8rem}.participation-band p{max-width:700px}.participation-band .hero-cta{white-space:nowrap}
@media(max-width:1050px){.monthly-grid{grid-template-columns:240px minmax(0,1fr)}.video-feature{grid-column:1/-1}.discipline-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.monthly-grid{grid-template-columns:1fr}.book-feature,.video-feature{max-width:500px}.home-articles{grid-template-columns:1fr}.artist-of-month{grid-template-columns:1fr}.artist-of-month img{max-height:320px}.participation-band{flex-direction:column;align-items:flex-start}.discipline-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hero-banner{height:70vh}.banner-caption{left:20px;right:20px;bottom:48px}.banner-caption h1{font-size:2.7rem}.stats-widget{display:none}.discipline-grid{grid-template-columns:1fr}.artist-of-month .artist-copy{padding:28px 22px}}

/* ---------- MULTILINGUE ---------- */
.language-switcher{display:flex;align-items:center;gap:5px;margin-left:12px;font-family:'IBM Plex Sans',sans-serif;white-space:nowrap}
.language-switcher a{font-size:.68rem;padding:5px 7px;border:1px solid rgba(243,234,216,.28);color:var(--parchment);opacity:.82}
.language-switcher a:hover,.language-switcher a.active{background:var(--sand);color:var(--atlas-blue);opacity:1}
[dir="rtl"] body{direction:rtl}
[dir="rtl"] .header-inner{flex-direction:row-reverse}
[dir="rtl"] .logo{direction:rtl}
[dir="rtl"] nav.desktop-nav{direction:rtl}
[dir="rtl"] .banner-caption{left:auto;right:20px;text-align:right}
[dir="rtl"] .stats-widget{right:auto;left:16px}
[dir="rtl"] .banner-dots{right:auto;left:20px}
[dir="rtl"] .section-head{direction:rtl}
[dir="rtl"] .artist-copy{text-align:right}
[dir="rtl"] .comment-item{border-left:0;border-right:3px solid var(--sand);padding-left:0;padding-right:14px}
[dir="rtl"] .back-home-link{text-align:right}
@media(max-width:900px){
  .language-switcher{margin-left:auto;margin-right:8px}
}
@media(max-width:600px){
  .language-switcher a{font-size:.62rem;padding:4px 5px}
  .language-switcher a:nth-child(3){display:none}
}


/* =========================================================
   V9 — RESPONSIVE DESIGN
   Un seul site pour grands écrans, tablettes et mobiles.
   ========================================================= */

html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.home-main {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 44px 20px 60px;
}

.header-inner {
  width: 100%;
  min-width: 0;
}

.logo {
  min-width: 0;
  flex: 0 1 auto;
 transform: translateX(-45px);
}
@media (min-width: 861px) {
  .logo {
    margin-left: -38px;
  }
}
.logo a {
  display: flex;
  align-items: baseline;
  min-width: 0;
}

.logo .display,
.logo .tifi {
  white-space: nowrap;
}

nav.desktop-nav {
  flex: 0 1 auto;
  min-width: 0;
}

.language-switcher {
  flex: 0 0 auto;
}

/* Écrans intermédiaires : le menu reste horizontal tant qu'il y a de la place. */
@media (max-width: 1120px) {
  .header-inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  nav.desktop-nav {
    gap: 15px;
  }

  nav.desktop-nav a {
    font-size: 0.78rem;
  }

  .logo .display {
    font-size: 1.3rem;
  }

  .logo .tifi {
    font-size: 0.75rem;
  }

  .language-switcher {
    margin-left: 8px;
    gap: 3px;
  }

  .language-switcher a {
    padding: 4px 5px;
  }
}

/* Tablette / petit ordinateur : menu hamburger. */
@media (max-width: 860px) {
  .header-inner {
    padding: 11px 14px;
  }

  nav.desktop-nav {
    display: none;
  }

  .burger {
    display: flex;
    flex: 0 0 auto;
  }

  .language-switcher {
    margin-left: auto;
    margin-right: 6px;
  }

  .monthly-grid {
    grid-template-columns: 1fr;
  }

  .book-feature,
  .video-feature {
    width: 100%;
    max-width: 560px;
  }

  .home-articles {
    grid-template-columns: 1fr;
  }

  .discipline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .artist-of-month {
    grid-template-columns: 1fr;
  }

  .artist-of-month img {
    max-height: 360px;
  }

  .participation-band {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Mobile : tout tient dans la largeur disponible, sans défilement horizontal. */
@media (max-width: 600px) {
  .ticker-item {
    padding: 0 22px;
    font-size: 0.72rem;
  }

  .header-inner {
    padding: 9px 10px;
    gap: 5px;
  }

  .logo .display {
    font-size: 1.15rem;
  }

  .logo .tifi {
    display: none;
  }

  .language-switcher {
    gap: 3px;
    margin-right: 2px;
  }

  .language-switcher a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 3px 4px;
    font-size: 0.58rem;
    line-height: 1;
  }

  .burger {
    padding: 7px 5px;
  }

  .hero-banner {
    height: 72vh;
    min-height: 430px;
  }

  .banner-caption {
    left: 16px;
    right: 16px;
    bottom: 38px;
    max-width: none;
  }

  .banner-caption h1 {
    font-size: clamp(2.15rem, 11vw, 3.2rem);
  }

  .banner-caption p {
    font-size: 0.98rem;
    line-height: 1.45;
  }

  .hero-cta {
    padding: 11px 14px;
    font-size: 0.85rem;
  }

  .stats-widget {
    display: none;
  }

  .home-main {
    padding: 30px 12px 44px;
  }

  .feature-card,
  .community-feature {
    padding: 18px 15px;
  }

  .section-head {
    align-items: flex-start;
    gap: 12px;
  }

  .section-head h2 {
    font-size: 1.3rem;
  }

  .home-articles {
    grid-template-columns: 1fr;
  }

  .discipline-grid {
    grid-template-columns: 1fr;
  }

  .artist-of-month .artist-copy {
    padding: 26px 20px;
  }

  .artist-of-month h2 {
    font-size: 1.8rem;
  }

  .participation-band {
    padding: 24px 20px;
  }

  .participation-band h2 {
    font-size: 1.5rem;
  }

  .page-header {
    padding: 28px 14px 0;
  }

  .page-content {
    padding: 18px 14px 44px;
  }

  .auteur-list,
  .textes-list {
    padding-left: 14px;
    padding-right: 14px;
    grid-template-columns: 1fr;
  }

  .propose-cards {
    grid-template-columns: 1fr;
  }

  input,
  textarea,
  select {
    max-width: 100%;
  }
}

/* Très petits téléphones. */
@media (max-width: 380px) {
  .logo .display {
    font-size: 1rem;
  }

  .language-switcher a {
    min-width: 25px;
    font-size: 0.52rem;
  }

  .burger span {
    width: 21px;
  }

  .hero-banner {
    min-height: 400px;
  }

  .banner-caption h1 {
    font-size: 2.05rem;
  }
}

/* RTL : les blocs restent fluides sur toutes les tailles. */
[dir="rtl"] .home-main,
[dir="rtl"] .page-content,
[dir="rtl"] .page-header {
  text-align: right;
}

[dir="rtl"] .language-switcher {
  margin-left: 0;
}

@media (max-width: 860px) {
  [dir="rtl"] .language-switcher {
    margin-right: auto;
    margin-left: 6px;
  }
}

/* V9.3 — avis visiteurs : bouton puis formulaire dépliable */
.visitor-feedback{width:100%;max-width:1120px;margin:30px auto 0;padding:0 20px 54px;box-sizing:border-box}
.visitor-feedback-details{border:0}
.visitor-feedback-details>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none}
.visitor-feedback-details>summary::-webkit-details-marker{display:none}
.visitor-feedback-details>summary::after{content:'＋';font-size:1.1em}
.visitor-feedback-details[open]>summary::after{content:'−'}
.visitor-feedback-inner{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,520px);gap:28px;align-items:center;padding:30px;border-radius:18px;border:1px solid rgba(0,0,0,.08)}
.visitor-feedback-copy h2{margin:6px 0 10px;font-size:clamp(1.45rem,2.4vw,2rem)}
.visitor-feedback-copy p{margin:5px 0;line-height:1.55}
.visitor-feedback-copy small{display:block;margin-top:14px;opacity:.72;line-height:1.45}
.visitor-feedback-form{display:flex;flex-direction:column;gap:10px}
.visitor-feedback-form input,.visitor-feedback-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:11px 13px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:transparent}
.visitor-feedback-form textarea{resize:vertical}
.visitor-feedback-form button{align-self:flex-start;border:0;border-radius:10px;padding:11px 16px;font:inherit;cursor:pointer}
@media(max-width:760px){.visitor-feedback{padding-left:12px;padding-right:12px}.visitor-feedback-inner{grid-template-columns:1fr;padding:22px 18px}.visitor-feedback-form button{width:100%}}
[dir="rtl"] .visitor-feedback-inner{direction:rtl}


/* V9.7 — Affichage public des avis validés */
.published-visitor-avis {
  width: 100%;
  max-width: 1120px;
  margin: 8px auto 0;
  padding: 0 20px 24px;
  box-sizing: border-box;
}
.published-visitor-avis-inner {
  padding: 28px 30px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
}
.published-visitor-avis-inner .section-head {
  margin-bottom: 18px;
}
.published-visitor-avis-inner .section-head h2 {
  margin: 4px 0 6px;
}
.published-visitor-avis-inner .section-head p {
  margin: 0;
  opacity: .72;
}
.published-visitor-avis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.published-visitor-avis-card {
  min-width: 0;
  padding: 20px;
  border-radius: 14px;
  background: rgba(0,0,0,.025);
}
.published-visitor-avis-stars {
  letter-spacing: 2px;
  margin-bottom: 9px;
}
.published-visitor-avis-text {
  margin: 0 0 14px;
  line-height: 1.55;
}
.published-visitor-avis-meta {
  font-size: .86rem;
  opacity: .72;
}
.published-visitor-avis-meta span {
  margin-left: 8px;
}
[dir="rtl"] .published-visitor-avis-meta span {
  margin-left: 0;
  margin-right: 8px;
}
@media (max-width: 900px) {
  .published-visitor-avis-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .published-visitor-avis {
    padding-left: 12px;
    padding-right: 12px;
  }
  .published-visitor-avis-inner {
    padding: 22px 18px;
  }
}


/* Photos intégrées aux articles : [photo: fichier.jpg|300|centre] */
.texte-photo { height:auto; display:block; margin:1.2rem auto; border-radius:8px; }
.texte-photo-gauche { margin:1.2rem auto 1.2rem 0; }
.texte-photo-centre { margin:1.2rem auto; }
.texte-photo-droite { margin:1.2rem 0 1.2rem auto; }
@media (max-width:640px){ .texte-photo, .texte-photo-gauche, .texte-photo-centre, .texte-photo-droite { max-width:100% !important; margin-left:auto; margin-right:auto; } }


.page-main{max-width:1200px;margin:0 auto;padding:42px 24px 70px}.page-hero{margin-bottom:28px}.page-hero h1{margin:.25rem 0}.books-grid,.videos-grid{display:grid;gap:24px}.book-list-card{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:22px;border:1px solid rgba(0,0,0,.1);border-radius:14px}.book-list-card>img{width:100%;max-height:330px;object-fit:cover;border-radius:10px}.video-list-card{padding:22px;border:1px solid rgba(0,0,0,.1);border-radius:14px}.video-list-card h2{margin-top:0}@media(max-width:700px){.book-list-card{grid-template-columns:1fr}.book-list-card>img{max-width:260px;margin:auto}}


/* Livre de la semaine : zoom de la couverture */
.book-cover-zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;border-radius:0;transition:transform .2s ease, box-shadow .2s ease;}
.book-cover-zoom:hover{transform:scale(1.025);box-shadow:0 10px 24px rgba(0,0,0,.16);}
.book-cover-zoom:focus-visible{outline:3px solid var(--sand);outline-offset:4px;}
.book-cover-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;}
.book-cover-modal.is-open{display:flex;}
.book-cover-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);cursor:zoom-out;}
.book-cover-modal-content{position:relative;z-index:1;max-width:min(92vw,720px);max-height:92vh;display:flex;flex-direction:column;align-items:center;}
.book-cover-modal-content img{display:block;max-width:100%;max-height:calc(92vh - 48px);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.45);background:#fff;}
.book-cover-modal-content p{margin:12px 0 0;color:#fff;text-align:center;font-size:.95rem;}
.book-cover-modal-close{position:absolute;top:-14px;right:-14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#222;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.3);}
body.book-cover-modal-open{overflow:hidden;}
@media(max-width:600px){.book-cover-zoom:hover{transform:none;box-shadow:none;}.book-cover-modal{padding:16px;}.book-cover-modal-close{top:-10px;right:-8px;}}

/* Contactez-nous */
.contact-form{max-width:720px}
.contact-form textarea{min-height:180px}

/* V1.1 — Contact : retour automatique après envoi */
.contact-redirect{margin-top:12px;color:#8a7f6d;font-size:.9rem}

/* ---------- LOGO DANS LA BARRE DE MENU ---------- */
.menu-logo{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:55;
}
.menu-logo img{
  width:72px;
  height:72px;
  object-fit:contain;
  display:block;
}
@media (max-width:600px){
  .menu-logo{
    width:40px;
    height:40px;
  }
  .menu-logo img{
    width:40px;
    height:40px;
  }
}

/* Afficher toutes les langues */
/*
.language-switcher a {
    display: inline-block !important;
}
*/

.language-switcher a {
    display: none !important;
}

 .language-switcher a:nth-child(1), 
/* .language-switcher a:nth-child(2),
 .language-switcher a:nth-child(3),
 .language-switcher a:nth-child(4)*/  
{
    display: inline-block !important;
} 