/* Rubriques ODEXPO : annuaire, fiche artiste (et suivantes) - maj 09/11/2026
   Les regles sont prefixees par .is-container quand le runtime ContentBuilder pourrait les ecraser. */

/* Visuel de remplacement : initiales */
.v-initiales { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; width: 100%; background: var(--v-sable); font-family: var(--v-titre); font-stretch: 62%; font-weight: 800; font-size: clamp(48px, 6vw, 80px); color: var(--v-ardoise); letter-spacing: .02em; }

/* Annuaire : recherche */
.v-ann-recherche { max-width: 640px; margin: 0 0 32px; }
.v-ann-recherche label { display: block; font: 600 13px/1 var(--v-texte); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 10px; }
.v-ann-recherche div { display: flex; gap: 8px; }
.v-ann-recherche input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--v-encre); background: var(--v-blanc); font: inherit; color: var(--v-encre); border-radius: 0; }
.v-ann-recherche input:focus { outline: 2px solid var(--v-accent); outline-offset: 1px; }
.v-ann-recherche button { cursor: pointer; }

/* Annuaire : index des categories */
.v-ann-index { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 48px; padding-bottom: 32px; border-bottom: 1px solid var(--v-filet); }
.is-container .v-ann-index a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid var(--v-filet); text-decoration: none; color: var(--v-encre); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; transition: border-color .2s, background .2s; }
.is-container .v-ann-index a span { color: var(--v-ardoise); font-size: 12px; }
.is-container .v-ann-index a:hover { border-color: var(--v-encre); }
.is-container .v-ann-index a[aria-current] { background: var(--v-encre); border-color: var(--v-encre); color: var(--v-papier); }
.is-container .v-ann-index a[aria-current] span { color: var(--v-filet); }

/* Annuaire : grille d'artistes */
.v-ann-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 40px 24px; }
.is-container .v-ann-carte { display: block; text-decoration: none; color: var(--v-encre); }
.v-ann-carte img, .v-ann-carte .v-initiales { transition: opacity .25s; }
.v-ann-carte:hover img { opacity: .85; }
.v-ann-carte b { display: block; margin-top: 14px; font-family: var(--v-titre); font-weight: 600; font-size: 17px; text-transform: uppercase; letter-spacing: .04em; line-height: 1.2; }
.is-container .v-ann-carte:hover b { color: var(--v-accent); }
.v-ann-carte .v-cartel { margin-top: 6px; }
.v-ann-vide { font-size: 18px; color: var(--v-ardoise); }

/* Pagination */
.v-pages { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 56px; align-items: center; }
.is-container .v-pages a, .v-pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--v-filet); text-decoration: none; color: var(--v-encre); font-weight: 600; }
.is-container .v-pages a:hover { border-color: var(--v-encre); }
.v-pages span[aria-current] { background: var(--v-encre); border-color: var(--v-encre); color: var(--v-papier); }
.v-pages .v-pages-saut { border: 0; min-width: 0; }

/* Fiche artiste */
.is-container .v-fiche-tete h1 { font-size: clamp(56px, 9vw, 140px); max-width: none; }
.is-container .v-fiche-tete .v-surtitre a { color: inherit; text-decoration: none; }
.v-fiche-photo { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.v-fiche-reseaux { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.is-container .v-fiche-reseaux a { font-weight: 600; color: var(--v-encre); }
.v-fiche .v-texte .v-lead { font-family: var(--v-texte); font-size: clamp(19px, 1.7vw, 22px); line-height: 1.6; }
.v-fiche-bloc { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
.v-dyn .v-quatre, .v-fiche-bloc .v-quatre { gap: 28px; }

/* Portrait croise de l'accueil : diaporama (sliderH.asp) */
.v-portrait-diapo iframe { display: block; width: 100%; aspect-ratio: 1; border: 0; background: #000; }

/* Bandeau photo avec parallaxe (fiche artiste, fiche oeuvre) - inc_bandeau.asp */
.v-bandeau { position: relative; height: clamp(240px, 30vw, 380px); overflow: hidden; background: var(--v-noir); }
.v-bandeau-img { position: absolute; inset: -30% 0; background: var(--v-noir) center / cover no-repeat; will-change: transform; animation: v-bandeau-zoom 9s ease-out both; }
@keyframes v-bandeau-zoom { from { scale: 1.08; } to { scale: 1; } }
.v-bandeau-texte { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(20, 20, 20, .58); color: var(--v-noir-texte); padding: 18px 0 16px; }
.is-container .v-bandeau h1 { color: var(--v-noir-texte); font-size: clamp(34px, 5.2vw, 68px); margin: 0; line-height: .95; }
.v-bandeau-sous { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 10px 0 0; max-width: none; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--v-noir-doux); }
.is-container .v-bandeau-sous a { color: inherit; text-decoration: none; }
.is-container .v-bandeau-sous a:hover { color: var(--v-accent-clair); }
@media (prefers-reduced-motion: reduce) { .v-bandeau-img { animation: none; inset: 0; } }

/* Fiche artiste : reseaux et partage en icones monochromes */
.v-icones, .v-partage { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.v-partage { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--v-filet); }
.v-partage span { font: 600 12px/1 var(--v-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--v-ardoise); margin-right: 6px; }
.is-container .v-icones a, .is-container .v-partage a, .v-partage button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--v-filet); color: var(--v-encre); background: none; cursor: pointer; transition: color .2s, border-color .2s; }
.is-container .v-icones a:hover, .is-container .v-partage a:hover, .v-partage button:hover { color: var(--v-accent); border-color: var(--v-encre); }
.v-partage button.v-copie { color: var(--v-accent); border-color: var(--v-accent); }

/* Pagination : page en cours (classe active) a la couleur de la saison */
.active {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 26px;
    background: var(--v-encre);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .02em;
    border: 0;
    transition: background .2s;
}

/* Mur de l'accueil : bandeau avec le nom de l'artiste */
.v-tuile { position: relative; }
.v-tuile-nom { position: absolute; left: 0; right: 0; bottom: 0; padding: 6px 10px; background: rgba(20, 20, 20, .6); color: #f2efe8; font: 600 11px/1.3 var(--v-texte); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Annuaire : filtres de categorie + responsive - ajout 11/11/2026 (a coller en fin de css/rubriques.css) */
.v-ann-filtres{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:0 0 24px;padding:16px;background:var(--v-sable,#efebe3)}
.v-ann-filtres label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#57534c}
.v-ann-filtres select{width:100%;min-width:0;padding:10px 8px;font:inherit;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:#141414;background:#fff;border:1px solid #c9c4ba;border-radius:0}
.v-ann-filtres select.v-actif{border-color:var(--v-accent);box-shadow:inset 0 0 0 1px var(--v-accent)}
.v-ann-filtres-act{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.v-ann-filtres-act a{color:#141414}
.v-ann-grille{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}
.v-ann-carte img{max-width:100%;height:auto}
@media (max-width:760px){
   .v-ann-recherche > div{display:flex;flex-wrap:wrap;gap:8px}
   .v-ann-recherche input{flex:1 1 100%;min-width:0}
   .v-ann-recherche button{flex:1 1 100%}
   .v-ann-index{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:8px;padding-bottom:10px;-webkit-overflow-scrolling:touch}
   .v-ann-index a{flex:0 0 auto;white-space:nowrap}
   .v-ann-filtres{grid-template-columns:1fr 1fr;padding:12px;gap:10px}
   .v-ann-filtres-act{grid-column:1 / -1}
   .v-ann-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
   .v-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
}
@media (max-width:400px){.v-ann-filtres{grid-template-columns:1fr}}
