/*
Theme Name: Collectif Ronce
Theme URI: https://collectifronce.fr
Author: Collectif Ronce
Description: Thème risographie pour le collectif Ronce, Limousin.
Version: 2.4
Text Domain: ronce
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

/* ── BBB JURAge ──────────────────────────────────────────── */
@font-face {
  font-family: 'JURAge';
  src: url('fonts/BBB-JURAge.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ── Variables ───────────────────────────────────────────── */
:root {
  --indigo:      #1a1464;
  --indigo-2:    #2e2096;
  --indigo-pale: #d8d4f0;
  --orange:      #c85a1e;
  --orange-pale: #f5dece;
  --creme:       #f7f3ec;
  --blanc:       #ffffff;
  --noir:        #1a1a1a;
  --gris:        #6b6b6b;
  --bordure:     #e0dbd2;
  --nav-h:       52px;
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: 'Space Grotesk', system-ui, sans-serif; background: var(--creme); color: var(--noir); line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* Grain risographie */
body::before { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 9999; opacity: 0.5; }

/* ── Titres → JURAge ─────────────────────────────────────── */
h1, h2, h3, h4 { font-family: 'JURAge', 'Space Grotesk', sans-serif; line-height: 1.1; }
h1 { font-size: clamp(1.3rem, 3vw, 2rem); }
h2 { font-size: clamp(1.1rem, 2.2vw, 1.6rem); }
h3 { font-size: clamp(0.95rem, 1.8vw, 1.3rem); }

/* ════════════════════════════════════════════════════════════
   NAVBAR FIXE (pages simples : Cardon Luneux, autres)
   ════════════════════════════════════════════════════════════ */
#ronce-navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 500;
  background: var(--indigo);
  border-bottom: 2px solid var(--orange);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(16px, 4vw, 48px);
  gap: 24px;
}
.navbar-logo { font-family: 'JURAge', sans-serif; font-size: 1.1rem; color: var(--creme); letter-spacing: 0.1em; text-transform: uppercase; flex-shrink: 0; }
.navbar-logo span { color: var(--orange); }
.navbar-links { display: flex; flex-direction: row; align-items: center; gap: clamp(14px, 2.5vw, 36px); flex: 1; justify-content: center; }
.navbar-links li { display: inline; }
.navbar-links a { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--indigo-pale); transition: color 0.2s; }
.navbar-links a:hover { color: var(--creme); }
.navbar-lieu { font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(216,212,240,0.45); flex-shrink: 0; }

/* Offset contenu sous navbar fixe */
.site-main { margin-top: var(--nav-h); min-height: calc(100vh - var(--nav-h)); }

/* ════════════════════════════════════════════════════════════
   LAYOUT SIDEBAR (accueil, à propos, artistes)
   ════════════════════════════════════════════════════════════ */
.ronce-layout { display: flex; flex-direction: column; min-height: 100vh; }

/* Bande haut */
.top-band {
  position: sticky; top: 0; z-index: 200;
  height: var(--nav-h);
  background: var(--indigo);
  border-bottom: 2px solid var(--orange);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(16px, 3vw, 40px);
  flex-shrink: 0;
}
.top-band-logo { font-family: 'JURAge', sans-serif; font-size: 1.1rem; color: var(--orange); letter-spacing: 0.1em; text-transform: uppercase; }
.top-band-logo em { font-style: normal; color: var(--creme); }
.top-band-nav { display: flex; gap: clamp(16px, 2.5vw, 36px); align-items: center; }
.top-band-nav a { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--indigo-pale); transition: color 0.2s; }
.top-band-nav a:hover { color: var(--creme); }
.top-band-lieu { font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(216,212,240,0.4); }

/* Corps */
.ronce-body { display: grid; grid-template-columns: 220px 1fr; flex: 1; min-height: calc(100vh - var(--nav-h)); }

/* Sidebar */
.ronce-sidebar {
  width: 220px; background: var(--indigo);
  position: sticky; top: var(--nav-h);
  height: calc(100vh - var(--nav-h));
  overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column;
}
.ronce-sidebar-label { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(216,212,240,0.4); padding: 14px 16px 12px; border-bottom: 1px solid rgba(255,255,255,0.07); white-space: nowrap; font-family: 'Space Grotesk', sans-serif; }

/* Carte artiste */
.artiste-card { border-bottom: 1px solid rgba(255,255,255,0.07); }
.artiste-card-photo { display: block; position: relative; aspect-ratio: 1; overflow: hidden; background: var(--indigo-2); }
.artiste-card-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.5); transition: filter 0.4s, transform 0.5s; display: block; }
.artiste-card:hover .artiste-card-photo img { filter: saturate(0.9); transform: scale(1.04); }
.artiste-card-photo-overlay { position: absolute; inset: 0; background: rgba(26,20,100,0.6); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--creme); font-family: 'Space Grotesk', sans-serif; }
.artiste-card-photo:hover .artiste-card-photo-overlay { opacity: 1; }
.artiste-card-placeholder { aspect-ratio: 1; background: var(--indigo-2); display: flex; align-items: center; justify-content: center; font-family: 'JURAge', sans-serif; font-size: 2rem; color: var(--orange); min-height: 160px; }
.artiste-card-btn { width: 100%; background: none; border: none; cursor: pointer; padding: 10px 16px; display: flex; align-items: center; gap: 8px; transition: background 0.2s; }
.artiste-card-btn:hover { background: rgba(255,255,255,0.05); }
.artiste-name-wrap { flex: 1; display: flex; flex-direction: column; gap: 2px; text-align: left; }
.artiste-card-prenom { font-size: 0.65rem; color: var(--indigo-pale); letter-spacing: 0.05em; font-family: 'Space Grotesk', sans-serif; }
.artiste-card-nom { font-size: 0.85rem; font-weight: 600; color: var(--creme); font-family: 'JURAge', sans-serif; }
.artiste-card-arrow { color: var(--orange); font-size: 1rem; line-height: 1; transition: transform 0.2s; }

/* Panneau artiste */
.artiste-panel { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.25s; background: rgba(0,0,0,0.2); padding: 0 16px; }
.artiste-panel.open { max-height: 220px; padding: 12px 16px 16px; }
.artiste-panel-pratiques { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange); margin-bottom: 10px; font-family: 'Space Grotesk', sans-serif; }
.artiste-lien { display: flex; align-items: center; gap: 8px; font-size: 0.76rem; color: var(--indigo-pale); text-decoration: none; margin-bottom: 8px; transition: color 0.2s; font-family: 'Space Grotesk', sans-serif; }
.artiste-lien:hover { color: var(--creme); }
.artiste-lien.vide { opacity: 0.3; cursor: default; }
.artiste-lien-icone { color: var(--orange); }

/* Contenu principal */
.ronce-main { background: var(--creme); min-width: 0; }

/* ════════════════════════════════════════════════════════════
   PAGE D'ACCUEIL
   ════════════════════════════════════════════════════════════ */
.hp-intro { padding: clamp(24px,3vw,40px) clamp(24px,4vw,50px); border-bottom: 1px solid var(--bordure); }
.hp-intro-texte { font-size: clamp(0.9rem, 1.6vw, 1.15rem); font-weight: 300; color: var(--indigo); line-height: 1.7; }
.hp-travaux { padding: clamp(20px,3vw,36px) clamp(24px,4vw,50px); }
.hp-section-header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.section-label { font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--orange); font-family: 'Space Grotesk', sans-serif; white-space: nowrap; }
.section-ligne { flex: 1; height: 1px; background: var(--bordure); }
.hp-cardon { background: var(--indigo); padding: clamp(28px,4vw,50px) clamp(24px,4vw,50px); }
.hp-cardon-titre { color: var(--creme); margin: 8px 0 10px; font-size: clamp(1.4rem, 2.8vw, 2.2rem); }
.hp-cardon-desc { font-size: 0.88rem; color: var(--indigo-pale); max-width: 440px; line-height: 1.7; margin-bottom: 20px; }

/* ════════════════════════════════════════════════════════════
   BANDEAUX FINS (À propos, pages intérieures)
   ════════════════════════════════════════════════════════════ */
.page-bandeau-fin { background: var(--indigo); padding: 18px clamp(24px,4vw,50px) 16px; border-bottom: 2px solid var(--orange); }
.page-bandeau-titre { color: var(--creme); font-size: clamp(1.2rem, 2.5vw, 1.8rem); margin: 4px 0 6px; }
.page-bandeau-desc { font-size: 0.85rem; color: var(--indigo-pale); max-width: 500px; line-height: 1.65; }
.surtitre-ronce { font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--orange); font-family: 'Space Grotesk', sans-serif; }

/* ════════════════════════════════════════════════════════════
   GRILLE PROJETS (shortcode)
   ════════════════════════════════════════════════════════════ */
.projets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 3px; }
.projet-card { position: relative; overflow: hidden; aspect-ratio: 1; background: var(--indigo-pale); display: block; cursor: pointer; }
.projet-card:nth-child(even) { background: var(--orange-pale); }
.projet-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s, filter 0.3s; filter: saturate(0.8); display: block; }
.projet-card:hover .projet-card-img { transform: scale(1.06); filter: saturate(1); }
.projet-card-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(26,20,100,0.85), rgba(200,90,30,0.5)); opacity: 0; transition: opacity 0.3s; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; }
.projet-card:hover .projet-card-overlay { opacity: 1; }
.projet-card-cat { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--orange); margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }
.projet-card-titre { font-family: 'JURAge', sans-serif; font-size: 0.9rem; color: var(--creme); }
.projet-card.no-img .projet-card-overlay { opacity: 1; background: none; justify-content: center; align-items: center; }
.projet-card.no-img .projet-card-titre { color: var(--indigo); font-size: 1rem; }

/* ════════════════════════════════════════════════════════════
   PAGE ARTISTE — mosaïque avec hover
   ════════════════════════════════════════════════════════════ */
.artiste-page-header { padding: clamp(20px,3vw,36px) clamp(24px,4vw,50px); border-bottom: 1px solid var(--bordure); }
.artiste-page-prenom { display: block; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--orange); margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }
.artiste-page-nom { color: var(--indigo); margin-bottom: 12px; }
.artiste-page-pratiques { display: flex; flex-wrap: wrap; gap: 8px; }
.artiste-pratique-tag { font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid var(--bordure); color: var(--gris); padding: 4px 10px; font-family: 'Space Grotesk', sans-serif; }
.artiste-page-bio { max-width: 680px; padding: clamp(20px,3vw,36px) clamp(24px,4vw,50px); border-bottom: 1px solid var(--bordure); font-size: 0.95rem; line-height: 1.8; }
.artiste-page-section-header { display: flex; align-items: center; gap: 16px; padding: 20px clamp(24px,4vw,50px) 0; margin-bottom: 12px; }

/* Mosaïque */
.artiste-mosaic { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 3px; padding: 3px; }
.artiste-mosaic-item { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--indigo-pale); display: block; }
.artiste-mosaic-item:nth-child(even) { background: var(--orange-pale); }
.artiste-mosaic-item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8); transition: transform 0.5s, filter 0.4s; display: block; }
.artiste-mosaic-hover { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(26,20,100,0.9), rgba(200,90,30,0.7)); display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; opacity: 0; transition: opacity 0.3s; }
.artiste-mosaic-item:hover .artiste-mosaic-hover { opacity: 1; }
.artiste-mosaic-item:hover img { transform: scale(1.06); filter: saturate(1); }
.artiste-mosaic-titre { font-family: 'JURAge', sans-serif; font-size: 0.95rem; color: var(--creme); margin-bottom: 5px; }
.artiste-mosaic-desc { font-size: 0.76rem; color: rgba(247,243,236,0.85); line-height: 1.5; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-family: 'Space Grotesk', sans-serif; }
.artiste-mosaic-lien { font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--orange); font-family: 'Space Grotesk', sans-serif; }

/* ════════════════════════════════════════════════════════════
   CARDON LUNEUX — onglets + collections
   ════════════════════════════════════════════════════════════ */
.cardon-onglets { display: flex; border-bottom: 2px solid var(--bordure); background: var(--blanc); position: sticky; top: var(--nav-h); z-index: 50; }
.cardon-onglet { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gris); padding: 14px 28px; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color 0.2s, border-color 0.2s; font-family: 'Space Grotesk', sans-serif; }
.cardon-onglet:hover { color: var(--indigo); }
.cardon-onglet.active { color: var(--indigo); border-bottom-color: var(--orange); font-weight: 600; }

.cardon-catalogue { padding: 0 0 60px; }
.cardon-collection { padding: clamp(24px,4vw,40px) 0; border-bottom: 1px solid var(--bordure); }
.cardon-collection-header { display: flex; align-items: baseline; gap: 16px; padding: 0 clamp(24px,5vw,60px) 16px; }
.cardon-collection-nom { color: var(--indigo); }
.cardon-collection-count { font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gris); font-family: 'Space Grotesk', sans-serif; }

.cardon-scroll { display: flex; gap: 18px; overflow-x: auto; padding: 0 clamp(24px,5vw,60px) 14px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--indigo-pale) transparent; }
.cardon-scroll::-webkit-scrollbar { height: 3px; }
.cardon-scroll::-webkit-scrollbar-thumb { background: var(--indigo-pale); }
.cardon-scroll-item { flex: 0 0 220px; scroll-snap-align: start; text-decoration: none; color: inherit; transition: transform 0.3s; }
.cardon-scroll-item:hover { transform: translateY(-3px); }
.cardon-scroll-img { width: 220px; aspect-ratio: 3/4; overflow: hidden; background: var(--indigo-pale); margin-bottom: 12px; }
.cardon-scroll-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85); transition: transform 0.4s, filter 0.3s; display: block; }
.cardon-scroll-item:hover .cardon-scroll-img img { filter: saturate(1); transform: scale(1.03); }
.cardon-scroll-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'JURAge', sans-serif; font-size: 2rem; color: var(--indigo-2); }
.cardon-scroll-annee { font-size: 0.63rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--orange); display: block; margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }
.cardon-scroll-titre { color: var(--indigo); margin-bottom: 5px; font-size: 0.95rem; }
.cardon-scroll-extrait { font-size: 0.76rem; color: var(--gris); line-height: 1.5; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-family: 'Space Grotesk', sans-serif; }
.cardon-scroll-prix { font-size: 0.88rem; font-weight: 600; color: var(--indigo); font-family: 'Space Grotesk', sans-serif; }

.cardon-commander { padding: clamp(36px,5vw,60px) clamp(24px,5vw,60px); background: var(--indigo-pale); min-height: 60vh; }
.cardon-commander-inner { max-width: 600px; margin: 0 auto; }
.cardon-commander-titre { color: var(--indigo); margin: 8px 0 8px; }
.cardon-commander-desc { font-size: 0.86rem; color: var(--gris); margin-bottom: 28px; line-height: 1.7; font-family: 'Space Grotesk', sans-serif; }

/* ════════════════════════════════════════════════════════════
   FORMULAIRE
   ════════════════════════════════════════════════════════════ */
.ronce-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 5px; }
.form-label { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--indigo); font-weight: 500; font-family: 'Space Grotesk', sans-serif; }
.form-input, .form-textarea { font-family: 'Space Grotesk', sans-serif; font-size: 0.9rem; background: var(--blanc); border: 1.5px solid var(--bordure); color: var(--noir); padding: 10px 14px; outline: none; width: 100%; transition: border-color 0.2s; }
.form-input:focus, .form-textarea:focus { border-color: var(--indigo); }
.form-textarea { min-height: 100px; resize: vertical; }
.form-submit { font-family: 'JURAge', sans-serif; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; background: var(--indigo); color: var(--creme); border: none; padding: 13px 32px; cursor: pointer; align-self: flex-start; transition: background 0.2s; }
.form-submit:hover { background: var(--orange); }
.form-notice { padding: 12px 16px; font-size: 0.85rem; margin-bottom: 14px; font-family: 'Space Grotesk', sans-serif; }
.form-notice.success { background: #e6f2e8; color: #2a6632; border-left: 3px solid #4a6040; }
.form-notice.error { background: #faeaea; color: #8b2020; border-left: 3px solid #c04040; }

/* ════════════════════════════════════════════════════════════
   BOUTON + TEXTE COURANT
   ════════════════════════════════════════════════════════════ */
.btn-ronce { display: inline-block; font-family: 'JURAge', sans-serif; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; background: var(--indigo); color: var(--creme); padding: 12px 26px; transition: background 0.2s; }
.btn-ronce:hover { background: var(--orange); }
.page-content { font-size: 0.95rem; line-height: 1.85; }
.page-content p { margin-bottom: 1.3em; }
.page-content h2 { margin: 2em 0 0.7em; }

/* ════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════ */
.ronce-footer { background: var(--indigo); padding: 36px clamp(24px,5vw,80px); display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; color: var(--indigo-pale); }
.ronce-footer-title { font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--orange); margin-bottom: 10px; font-family: 'Space Grotesk', sans-serif; }
.ronce-footer p, .ronce-footer a { font-size: 0.82rem; line-height: 1.8; color: var(--indigo-pale); font-family: 'Space Grotesk', sans-serif; }
.ronce-footer a:hover { color: var(--creme); }
.ronce-footer-bas { background: var(--noir); padding: 12px clamp(24px,5vw,80px); font-size: 0.7rem; color: #555; display: flex; justify-content: space-between; font-family: 'Space Grotesk', sans-serif; }

/* Lien retour */
.back-link { display: inline-flex; align-items: center; gap: 8px; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gris); margin-bottom: 24px; transition: color 0.2s; font-family: 'Space Grotesk', sans-serif; }
.back-link::before { content: '←'; }
.back-link:hover { color: var(--orange); }

/* Admin bar */
.admin-bar #ronce-navbar { top: 32px; }
.admin-bar .top-band { top: 32px; }
.admin-bar .ronce-sidebar { top: calc(var(--nav-h) + 32px); height: calc(100vh - var(--nav-h) - 32px); }
.admin-bar .cardon-onglets { top: calc(var(--nav-h) + 32px); }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .ronce-body { grid-template-columns: 1fr; }
  .ronce-sidebar { position: static; height: auto; flex-direction: row; overflow-x: auto; width: 100%; }
  .ronce-footer { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ronce-footer { grid-template-columns: 1fr; }
  .navbar-links { gap: 12px; }
  .navbar-links a { font-size: 0.68rem; }
  .navbar-lieu { display: none; }
  .top-band-lieu { display: none; }
}

/* ════════════════════════════════════════════════════════════
   AJOUTS v16-v24 — propres, sans conflits
   ════════════════════════════════════════════════════════════ */

/* ── Marges pages artistes et publications ──────────────── */
.artiste-page-header { padding: clamp(24px,3vw,40px) clamp(30px,5vw,60px); border-bottom: 1px solid var(--bordure); }
.artiste-page-bio { padding: clamp(20px,3vw,36px) clamp(30px,5vw,60px); border-bottom: 1px solid var(--bordure); max-width: 720px; }
.artiste-page-section-header { padding: 20px clamp(30px,5vw,60px) 0; margin-bottom: 12px; display:flex; align-items:center; gap:16px; }
.artiste-page-prenom { display:block; font-size:0.68rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--orange); margin-bottom:4px; font-family:'Space Grotesk',sans-serif; }
.artiste-page-nom { color:var(--indigo); margin-bottom:12px; }
.artiste-page-pratiques { display:flex; flex-wrap:wrap; gap:8px; }
.artiste-pratique-tag { font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; border:1px solid var(--bordure); color:var(--gris); padding:4px 10px; font-family:'Space Grotesk',sans-serif; }

/* ── Slider artiste ─────────────────────────────────────── */
.artiste-slider-wrap { padding: clamp(20px,3vw,36px) clamp(30px,5vw,60px); border-bottom:1px solid var(--bordure); }
.artiste-swiper { border-radius:0; overflow:hidden; background:var(--creme); max-width:600px; }
.artiste-swiper .swiper-slide img { width:100%; max-height:420px; object-fit:contain; display:block; }
.artiste-swiper .swiper-button-prev,
.artiste-swiper .swiper-button-next { color:var(--creme); background:rgba(26,20,100,0.4); width:36px; height:36px; border-radius:50%; }
.artiste-swiper .swiper-button-prev::after,
.artiste-swiper .swiper-button-next::after { font-size:13px; font-weight:700; }
.artiste-swiper .swiper-pagination-bullet { background:var(--creme); opacity:0.6; }
.artiste-swiper .swiper-pagination-bullet-active { background:var(--orange); opacity:1; }

/* ── Mosaïque artiste ───────────────────────────────────── */
.artiste-mosaic { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:3px; padding:3px; }
.artiste-mosaic-item { position:relative; aspect-ratio:1; overflow:hidden; background:var(--indigo-pale); display:block; }
.artiste-mosaic-item:nth-child(even) { background:var(--orange-pale); }
.artiste-mosaic-item img { width:100%; height:100%; object-fit:cover; filter:saturate(0.8); transition:transform 0.5s,filter 0.4s; display:block; }
.artiste-mosaic-hover { position:absolute; inset:0; background:linear-gradient(160deg,rgba(26,20,100,0.9),rgba(200,90,30,0.7)); display:flex; flex-direction:column; justify-content:flex-end; padding:18px; opacity:0; transition:opacity 0.3s; }
.artiste-mosaic-item:hover .artiste-mosaic-hover { opacity:1; }
.artiste-mosaic-item:hover img { transform:scale(1.06); filter:saturate(1); }
.artiste-mosaic-titre { font-family:'JURAge','Space Grotesk',sans-serif; font-size:0.95rem; color:var(--creme); margin-bottom:5px; }
.artiste-mosaic-desc { font-size:0.76rem; color:rgba(247,243,236,0.85); line-height:1.5; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-family:'Space Grotesk',sans-serif; }
.artiste-mosaic-lien { font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--orange); font-family:'Space Grotesk',sans-serif; }
.artiste-mosaic-item.no-img .artiste-mosaic-hover { opacity:1; background:none; justify-content:center; align-items:center; }
.artiste-mosaic-item.no-img .artiste-mosaic-titre { color:var(--indigo); }

/* ── Layout page travail ────────────────────────────────── */
.travail-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px,5vw,60px);
  padding: clamp(24px,4vw,50px) clamp(30px,5vw,60px);
  align-items: start;
}
.travail-texte { position:sticky; top:calc(var(--nav-h) + 20px); }

/* Swiper travail */
.travail-swiper { overflow:hidden; }
.travail-swiper .swiper-slide img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; filter:saturate(0.85); }
.travail-swiper .swiper-button-prev,
.travail-swiper .swiper-button-next { color:var(--creme); background:rgba(26,20,100,0.4); width:36px; height:36px; border-radius:50%; }
.travail-swiper .swiper-button-prev::after,
.travail-swiper .swiper-button-next::after { font-size:13px; font-weight:700; }
.travail-swiper .swiper-pagination-bullet { background:var(--creme); opacity:0.6; }
.travail-swiper .swiper-pagination-bullet-active { background:var(--orange); opacity:1; }

/* ── Publication commander ──────────────────────────────── */
.pub-commander-wrap { padding: clamp(24px,3vw,40px) clamp(30px,5vw,60px); }

/* ── Nav espacée à droite ───────────────────────────────── */
.top-band-nav { margin-left:auto; gap:clamp(20px,3vw,48px); }
.top-band-nav a { white-space:nowrap; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE MOBILE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .ronce-body { display:flex !important; flex-direction:column !important; }
  .ronce-sidebar { position:static !important; height:auto !important; width:100% !important; flex-direction:row !important; overflow-x:auto !important; overflow-y:hidden !important; border-bottom:1px solid rgba(255,255,255,0.1); scrollbar-width:none; }
  .ronce-sidebar::-webkit-scrollbar { display:none; }
  .ronce-sidebar-label { display:none !important; }
  .artiste-card { flex:0 0 150px !important; min-width:150px !important; border-bottom:none !important; border-right:1px solid rgba(255,255,255,0.08) !important; }
  .artiste-card-photo { aspect-ratio:1 !important; max-height:150px; }
  .artiste-card-placeholder { min-height:unset !important; aspect-ratio:1 !important; }
  .artiste-panel.open { max-height:180px !important; }
  .ronce-main { width:100% !important; }
}

@media (max-width: 768px) {
  /* Layout travail une colonne */
  .travail-layout { grid-template-columns:1fr !important; padding:16px !important; }
  .travail-texte { position:static !important; }

  /* Texte */
  .page-content { font-size:0.88rem !important; line-height:1.7 !important; }
  .page-content p, .page-content li { font-size:0.88rem !important; }
  h1 { font-size:clamp(1rem,5vw,1.5rem) !important; }
  h2 { font-size:clamp(0.95rem,4vw,1.3rem) !important; }
  h3 { font-size:clamp(0.88rem,3.5vw,1.1rem) !important; }

  /* Bandeau */
  .page-bandeau-fin { padding:12px 16px !important; }
  .page-bandeau-titre { font-size:clamp(1rem,5vw,1.4rem) !important; }

  /* Swiper */
  .travail-swiper, .artiste-swiper { overflow:hidden !important; }
  .artiste-mosaic { grid-template-columns:repeat(2,1fr) !important; }

  /* Marges réduites */
  .artiste-page-header, .artiste-page-bio, .artiste-slider-wrap,
  .artiste-page-section-header, .pub-commander-wrap { padding-left:16px !important; padding-right:16px !important; }

  /* Cardon */
  .cardon-scroll-item { flex:0 0 160px !important; }
  .cardon-scroll-img { width:160px !important; }
  .form-row { grid-template-columns:1fr !important; }
  html, body { overflow-x:hidden; }
}

@media (max-width: 600px) {
  .top-band { padding:0 12px !important; min-height:48px !important; height:auto !important; flex-wrap:nowrap !important; }
  .top-band-logo { font-size:0.78rem !important; white-space:nowrap; flex-shrink:0; }
  .top-band-nav { gap:14px !important; flex-wrap:nowrap !important; }
  .top-band-nav a { font-size:0.65rem !important; white-space:nowrap !important; }
  .top-band-lieu { display:none !important; }
  #ronce-navbar { padding:0 12px !important; min-height:48px !important; height:auto !important; flex-wrap:nowrap !important; }
  .navbar-logo span { font-size:0.78rem !important; }
  .navbar-links { gap:14px !important; flex-wrap:nowrap !important; }
  .navbar-links a { font-size:0.65rem !important; white-space:nowrap !important; }
  .navbar-lieu { display:none !important; }
  .hp-intro, .hp-travaux, .hp-cardon { padding-left:16px !important; padding-right:16px !important; }
}

/* ── Layout travail inline ───────────────────────────────── */
.travail-inline-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px,5vw,60px);
  padding: clamp(24px,4vw,50px) clamp(30px,5vw,60px);
  align-items: start;
}
.travail-texte-col {
  position: sticky;
  top: calc(var(--nav-h) + 20px);
}
.travail-slider-col { min-width: 0; }

/* Swiper travail */
.travail-swiper { width:100%; overflow:hidden; }
.travail-swiper .swiper-slide img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.travail-swiper .swiper-button-prev,
.travail-swiper .swiper-button-next { color:var(--creme); background:rgba(26,20,100,0.4); width:36px; height:36px; border-radius:50%; }
.travail-swiper .swiper-button-prev::after,
.travail-swiper .swiper-button-next::after { font-size:13px; font-weight:700; }
.travail-swiper .swiper-pagination-bullet { background:var(--creme); opacity:0.6; }
.travail-swiper .swiper-pagination-bullet-active { background:var(--orange); opacity:1; }

@media (max-width: 768px) {
  .travail-inline-grid { grid-template-columns:1fr !important; padding:16px !important; }
  .travail-texte-col { position:static !important; }
}
