@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Lora:ital,wght@0,400;0,500;1,400&display=swap");

/* ===== Parcourir (browse) ===== */

.ob-browse-layout{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  align-items:start;
}

@media (max-width: 980px){
  .ob-browse-layout{ grid-template-columns: 1fr; }
}

/* En-tête de la page Parcourir (titre + compteur) — compressé */
.ob-browse-header{
  display:flex;
  flex-direction:column;
  gap: .15rem;
  margin: 0 0 .5rem 0;
}

/* Titre "Parcourir les cartes" : plus calme, bordeaux */
.ob-browse-header h1{
  margin:0;
  font-size: 1.55rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: #b00000;  /* bordeaux/rouge profond */
}

/* Sur les fiches (ob-item), titre encore un peu plus discret */
.ob-item .ob-browse-header h1{
  font-size: 1.4rem;
}

/* Ligne "X objets trouvés" */
.ob-browse-meta{
  opacity:.75;
  font-size:.9rem;
}

/* Barre des contrôles de parcours (pagination / tri / recherche avancée) */
.browse-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:.3rem;
  font-size:.78rem;
  opacity:.75;
}

/* Lien "Recherche avancée" très discret */
.browse-controls .advanced-search{
  text-decoration:none;
  opacity:.6;
  margin-left:.5rem;
  color:#caa;
}

.browse-controls .advanced-search:hover{
  text-decoration:underline;
}

/* Menus Created / Descending / Sort plus calmes */
.browse-controls select,
.browse-controls button{
  font-size:.78rem;
  padding: .12rem .30rem;
  color:#777;
}

/* Pagination très discrète ("1 of 1", flèches, etc.) */
.pagination{
  font-size:.75rem;
  color:#999;
}

.pagination a,
.pagination span{
  padding: .1rem .2rem;
  border:none;
  background:transparent;
}

/* Sidebar */
.ob-browse-sidebar{
  position:sticky;
  top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(6px);
  max-width: 260px;
  margin-bottom: 2rem;
}

.ob-sideblock + .ob-sideblock{ margin-top: 1.25rem; }
.ob-sideblock h3{ margin: 0 0 .5rem 0; font-size: 1rem; }
.ob-sideblock ul{ list-style:none; margin:0; padding:0; }
.ob-sideblock li{ margin:.35rem 0; }

/* La grille de cartes */
.resource-list.ob-card-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
  margin: 1rem 0 0 0;
  padding: 0;
}

.resource-list.ob-card-grid > li{
  list-style:none;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow:hidden;
  background:transparent;
  transition: transform .12s ease, box-shadow .12s ease;
  padding-bottom: .25rem;
}

.resource-list.ob-card-grid > li:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
}

.resource-list.ob-card-grid .resource-link,
.resource-list.ob-card-grid a{
  text-decoration:none;
}

/* Miniatures dans la grille : plus grandes */
.resource-list.ob-card-grid img{
  display:block;
  width:100% !important;
  height: 340px;
  object-fit: cover;
  max-width: none !important;
}

/* Titre sous l’image */
.ob-card-title{
  padding: .85rem 1rem 1rem 1rem;
  font-size: 1rem;
  line-height: 1.2;
}

/* ===== Item (show) ===== */

/* Mise en page 3 colonnes : miniatures / grande image / actions */
.ob-item-layout{
  display:grid;
  grid-template-columns: 180px 1fr 320px;
  gap: 2rem;
  align-items:start;
}

@media (max-width: 980px){
  .ob-item-layout{ grid-template-columns: 1fr; }
  .ob-item-thumbs{ order: 2; }
  .ob-item-actions{ order: 3; }
}

/* Miniatures à gauche (recto / verso) */
.ob-item-thumbs button{
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  margin: 0 0 .75rem 0;
  cursor:pointer;
}

/* Vignettes : carte entière, proportions conservées (comme Delcampe) */
.ob-item-thumbs img{
  display:block;
  max-width:120px;    /* largeur maximale de la vignette */
  width:100%;
  height:auto;        /* conserve le ratio, pas de déformation */
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.10);
}

/* Grande image au centre */
.ob-item-main{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow:hidden;
  background:#fff;
}

.ob-item-main img{
  width:100%;
  height:auto;
  max-height: 700px;
  object-fit: contain;
  background:#f7f7f7;
  display:block;
}

/* Crédit de collection discret sous l’image principale */
.ob-collection-credit-inline{
  margin: .35rem 0 0;
  font-size: .80rem;
  opacity: .7;
  font-style: italic;
}

/* Colonne de droite : actions / infos */
.ob-item-actions{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  background:#fff;
}

/* Bloc Commenter (prioritaire) */
.ob-comment-block{
  margin-bottom: 1rem;
}

.ob-comment-link{
  display:inline-block;
  font-weight:700;
  font-size:1rem;
  text-decoration:none;
}

.ob-comment-link:hover{
  text-decoration:underline;
}

.ob-comment-text{
  margin:.25rem 0 0 0;
  font-size:.85rem;
  opacity:.85;
}

/* Cotation */
.ob-quote{
  margin-top: .5rem;
  font-size: .8rem;
  opacity: .8;
}

.ob-quote-label{
  font-weight: 600;
  margin-right: .25rem;
}

.ob-quote-value{
  font-style: italic;
}

/* Bloc Suivre cet objet (secondaire, plus bas) */
.ob-follow-block{
  margin-top: 1.25rem;
  font-size:.85rem;
}

.ob-follow-title{
  font-weight:600;
  margin-bottom:.1rem;
}

.ob-follow-meta{
  font-size:.78rem;
  opacity:.75;
}

/* Cotation (rareté) dans la colonne de droite */
.ob-quote{
  margin-top: .75rem;
  font-size: .8rem;
  opacity: .8;
}

.ob-quote-label{
  font-weight: 600;
  margin-right: .25rem;
}

.ob-quote-value{
  font-style: italic;
}

/* Zone des commentaires en bas de page */
.ob-item-comments{
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0,0,0,.10);
}

/* On masque le titre par défaut du module Comment, on met le nôtre */
#comments-container h2{
  display:none;
}

/* Titre local pour le bloc de commentaires */
.ob-comments-title{
  margin: 0 0 1rem 0;
  font-size: 1.3rem;
  font-weight: 600;
}
/* ===== Raffinage du bloc commentaires ===== */

.ob-item-comments{
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0,0,0,.10);
  font-size: .9rem;
}

/* Titre "Vos commentaires" rouge mais discret */
.ob-comments-title{
  margin: 0 0 .75rem 0;
  font-size: 1rem;
  font-weight: 600;
  color: #b00000;
}

/* Texte "No comment yet..." un peu plus léger */
.ob-item-comments > p{
  font-size: .85rem;
  opacity:.8;
}

/* Le formulaire entier centré sous la carte */
.ob-item-comments form{
  max-width: 960px;          /* largeur max comparable à la carte */
  margin: 1rem auto 0 auto;  /* centré */
}

/* Label "Comment" */
.ob-item-comments label{
  font-size: .9rem;
}

/* Champ de commentaire : prend toute la largeur du formulaire */
.ob-item-comments textarea{
  width: 100%;
  min-height: 7rem;
  font-size: .9rem;
}

/* Bouton : aligné à gauche du formulaire (sous le champ) */
.ob-item-comments input[type="submit"],
.ob-item-comments button[type="submit"]{
  margin-top: .6rem;
  font-size: .9rem;
  padding: .4rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.25);
  background:#ffffff;
  font-weight:600;
  font-family: inherit;
  cursor:pointer;
}

.ob-item-comments input[type="submit"]:hover,
.ob-item-comments button[type="submit"]{
  background:#f5f5f5;
}

/* Sur mobile : le formulaire prend toute la largeur */
@media (max-width:980px){
  .ob-item-comments form{
    max-width:100%;
  }
}

/* ===== Footer "Powered by Omeka S" plus discret ===== */

footer,
footer *{
  font-size: .7rem !important;
  opacity: .4 !important;
}
/* Formulaire de commentaires :
   on casse la mise en page 2 colonnes pour aligner le textarea
   sur le bord gauche de la carte. */

#comments .field-meta,
.commenting .field-meta,
.comments .field-meta{
  float: none;
  width: auto;
  margin: 0 0 .35rem 0;  /* le label juste au-dessus, petite marge en bas */
}

#comments .inputs,
.commenting .inputs,
.comments .inputs{
  float: none;
  width: 100%;
  margin-left: 0;         /* clé : plus de décalage vers la droite */
  box-sizing: border-box;
}

/* --- VIGNETTES ob-card-grid : même cadre pour vertical & horizontal (sans coupe) --- */
.resource-list.ob-card-grid > li.item.resource > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 220px !important;   /* ajuste 200/220/240 */
  overflow: hidden !important;
  background: transparent !important;
  border-radius: 8px !important;
}

.resource-list.ob-card-grid > li.item.resource > a > img {
  max-height: 100% !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* === HIDE-HEADER-SEARCH-ON-SOLR-PAGE === */
body.search-page-recherche-solr #search,
body.search-page-recherche-solr #search-form,
body.search-page-recherche-solr .sitewide-search-form,
body.search-page-recherche-solr form[action*="/s/oblitarium/search"]{
  display: none !important;
}

/* === HIDE-HEADER-SEARCH-V2 === */
/* On masque le champ de recherche du header (zone en haut à droite) */
header form#search-form,
header #search,
header .sitewide-search-form,
header form[action*="/search"],
header form[action*="/s/"] input[type="search"],
header form[action*="/s/"] input[type="text"]{
  display:none !important;
}

/* rights caption under item */
.ob-rights-caption{
  font-size: 0.80rem;
  color: #666;
  margin-top: 8px;
}

/* OB-RIGHTS-CAPTION-START */
.ob-rights-caption{
  font-size: 0.80rem;
  color: #666;
  margin-top: 8px;
}
/* OB-RIGHTS-CAPTION-END */

/* Make the "Recherche avancée" link visible in browse toolbar */
.browse-controls a.advanced-search {
  display: inline-block;
  font-size: 0.95rem;
  color: #a00000 !important;
  opacity: 1 !important;
  font-weight: 600;
  margin-left: 14px;
  text-decoration: none;
}
.browse-controls a.advanced-search:hover {
  text-decoration: underline;
}

/* Advanced search link next to the search box */
.ob-item-search .advanced-search-top{
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:10px;
  font-size:0.9rem;
  font-weight:600;
  color:#a00000;
  text-decoration:none;
  background:#fff;
}
.ob-item-search .advanced-search-top:hover{
  text-decoration:underline;
}

/* Make advanced search a bit more subtle */
.ob-item-search .advanced-search-top{
  font-size:0.85rem;
  font-weight:500;
  opacity:.9;
}

/* =========================================================
   Recherche avancée (Solr) — mode compact
   Cible: body.ob-search-advanced
   ========================================================= */

body.ob-search-advanced .ob-browse-header h1{
  font-size: 2rem;
  margin: 0 0 .25rem 0;
}

body.ob-search-advanced .ob-browse-meta{
  font-size: 1rem;
  opacity: .8;
}

/* Formulaire Search (Solr) : on compresse un peu */
body.ob-search-advanced #search-form-wrapper,
body.ob-search-advanced .ob-search-advanced-form{
  margin-top: .6rem;
}

/* Layout : sidebar plus étroite + gap plus petit */
body.ob-search-advanced .ob-browse-layout{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  align-items: start;
}

@media (max-width: 980px){
  body.ob-search-advanced .ob-browse-layout{
    grid-template-columns: 1fr;
  }
}

/* Sidebar facettes : texte plus petit, moins d’espacement */
body.ob-search-advanced .ob-browse-sidebar{
  padding: 12px;
}

body.ob-search-advanced .search-facets h2,
body.ob-search-advanced .search-facets h3{
  font-size: 1.05rem;
  margin: .6rem 0 .4rem;
}

body.ob-search-advanced .search-facets,
body.ob-search-advanced .search-facets *{
  font-size: 0.98rem;
  line-height: 1.25;
}

body.ob-search-advanced .search-facet-item{
  margin: 4px 0;
}

/* Résultats : grille plus dense */
body.ob-search-advanced ul.resource-list.ob-card-grid{
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
}

@media (max-width: 1180px){
  body.ob-search-advanced ul.resource-list.ob-card-grid{
    grid-template-columns: 1fr;
  }
}

/* Cartes : moins hautes */
body.ob-search-advanced ul.resource-list.ob-card-grid li{
  border-radius: 14px;
}

body.ob-search-advanced ul.resource-list.ob-card-grid img{
  height: 200px;
  object-fit: cover;
}

/* Titres des cartes : plus petits */
body.ob-search-advanced .ob-card-title,
body.ob-search-advanced ul.resource-list.ob-card-grid li .resource-title,
body.ob-search-advanced ul.resource-list.ob-card-grid li h3{
  font-size: 1.25rem;
  line-height: 1.15;
  margin: 10px 14px 14px;
}

/* Pagination/toolbar : compacte */
body.ob-search-advanced .browse-controls,
body.ob-search-advanced .search-results-header,
body.ob-search-advanced .search-results-footer{
  margin: 10px 0;
}

/* =========================================================
   Recherche avancée (Solr) — compact + 3 colonnes + facettes propres
   Cible: body.ob-search-advanced
   ========================================================= */

body.ob-search-advanced .ob-browse-header{
  padding: 14px 18px;
}
body.ob-search-advanced .ob-browse-header h1{
  font-size: 1.8rem;
  margin: 0 0 .25rem 0;
}
body.ob-search-advanced .ob-browse-meta{
  font-size: .95rem;
  opacity: .75;
}

/* Layout : sidebar plus fine + plus de place au centre */
body.ob-search-advanced .ob-browse-layout{
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 980px){
  body.ob-search-advanced .ob-browse-layout{ grid-template-columns: 1fr; }
}

/* Sidebar facettes : titres NON gras + plus petits */
body.ob-search-advanced .search-facets{
  padding: 12px;
}
body.ob-search-advanced .search-facet > h3{
  font-size: .9rem !important;
  font-weight: 500 !important;
  margin: 10px 0 6px !important;
  opacity: .85;
}

/* Valeurs facettes (Ethnique, Artisanat...) encore plus petites */
body.ob-search-advanced .search-facet-items,
body.ob-search-advanced .search-facet-item,
body.ob-search-advanced .search-facet-item a{
  font-size: .85rem !important;
  line-height: 1.2 !important;
}
body.ob-search-advanced .search-facet-item{ margin: 4px 0 !important; }

/* Compacter le bouton refresh facettes */
body.ob-search-advanced #submit-facets{
  transform: scale(.9);
}

/* --- Formulaire (énorme actuellement) : le compacter fortement --- */
body.ob-search-advanced #search-form-wrapper{
  margin: 6px 0 10px;
}
body.ob-search-advanced #search-form-wrapper,
body.ob-search-advanced #search-form-wrapper *{
  font-size: .9rem;
}
body.ob-search-advanced #search-form-wrapper h2,
body.ob-search-advanced #search-form-wrapper h3{
  font-size: .95rem;
  font-weight: 600;
}

/* Réduire paddings inputs/select */
body.ob-search-advanced #search-form-wrapper input,
body.ob-search-advanced #search-form-wrapper select,
body.ob-search-advanced #search-form-wrapper button{
  padding: 6px 8px !important;
  border-radius: 10px !important;
}

/* Masquer la 2ème ligne de filtre par défaut (tu gardes Add filter) */
body.ob-search-advanced #search-form-wrapper .queries > :nth-child(n+2){
  display:none !important;
}
/* Au cas où la structure diffère selon version */
body.ob-search-advanced #search-form-wrapper .search-queries > :nth-child(n+2){
  display:none !important;
}

/* --- Grille résultats : 3 pavés sur grand écran --- */
body.ob-search-advanced ul.resource-list.ob-card-grid{
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 14px;
}
@media (max-width: 1180px){
  body.ob-search-advanced ul.resource-list.ob-card-grid{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}
@media (max-width: 780px){
  body.ob-search-advanced ul.resource-list.ob-card-grid{
    grid-template-columns: 1fr;
  }
}

/* Cartes plus compactes */
body.ob-search-advanced ul.resource-list.ob-card-grid img{
  height: 160px;
  object-fit: cover;
}
body.ob-search-advanced .ob-card-title{
  font-size: 1.05rem;
  margin: 10px 12px 12px;
}

/* Masquer le gros bouton Search isolé si ça casse la mise en page */
body.ob-search-advanced #search-form-wrapper input[type="submit"],
body.ob-search-advanced #search-form-wrapper button[type="submit"]{
  transform: scale(.95);
}

/* =========================================================
   Recherche avancée — formulaire ultra compact
   ========================================================= */

body.ob-search-advanced #search-form-wrapper { margin: 6px 0 10px !important; }
body.ob-search-advanced #search-form-wrapper * { font-size: .88rem; }

/* Cache les gros titres "Search everywhere" et "Filters" */
body.ob-search-advanced #search-form-wrapper h2,
body.ob-search-advanced #search-form-wrapper h3,
body.ob-search-advanced #search-form-wrapper .field-meta,
body.ob-search-advanced #search-form-wrapper .field-description {
  display:none !important;
}

/* Réduit les espacements verticaux */
body.ob-search-advanced #search-form-wrapper .field,
body.ob-search-advanced #search-form-wrapper .fieldset,
body.ob-search-advanced #search-form-wrapper .inputs {
  margin: 4px 0 !important;
  padding: 0 !important;
}

/* Inputs/selects plus compacts */
body.ob-search-advanced #search-form-wrapper input,
body.ob-search-advanced #search-form-wrapper select,
body.ob-search-advanced #search-form-wrapper button {
  padding: 6px 8px !important;
  border-radius: 10px !important;
}

/* N’afficher qu’UNE ligne de filtre au départ (le reste via Add filter) */
body.ob-search-advanced #search-form-wrapper .queries > :nth-child(n+2),
body.ob-search-advanced #search-form-wrapper .search-queries > :nth-child(n+2){
  display:none !important;
}

/* Recherche avancée : formulaire ultra compact */
body.ob-search-advanced #search-form-wrapper,
body.ob-search-advanced .ob-search-advanced-form{
  margin: 6px 0 10px !important;
}
body.ob-search-advanced #search-form-wrapper *{
  font-size: .85rem !important;
  line-height: 1.15 !important;
}

/* cacher les gros libellés et gros espaces */
body.ob-search-advanced #search-form-wrapper h2,
body.ob-search-advanced #search-form-wrapper h3,
body.ob-search-advanced #search-form-wrapper .field-meta,
body.ob-search-advanced #search-form-wrapper .field-description{
  display:none !important;
}

/* marges ultra réduites */
body.ob-search-advanced #search-form-wrapper .field,
body.ob-search-advanced #search-form-wrapper .fieldset,
body.ob-search-advanced #search-form-wrapper .inputs{
  margin: 2px 0 !important;
  padding: 0 !important;
}

/* une seule ligne de filtre au départ */
body.ob-search-advanced #search-form-wrapper .queries > :nth-child(n+2),
body.ob-search-advanced #search-form-wrapper .search-queries > :nth-child(n+2){
  display:none !important;
}

/* Rights / provenance under main image */
.ob-collection-credit-inline{
  font-size: 0.75rem;
  opacity: 0.7;
  margin-top: 6px;
  line-height: 1.2;
}

/* === OB-GUEST-COMPACT === */
body.ob-guest #content{
  max-width: 980px;
  margin: 0 auto;
  padding-top: 10px;
}
body.ob-guest #content h1,
body.ob-guest #content h2{
  font-size: 1.6rem;
  line-height: 1.2;
  margin: 0 0 12px 0;
  font-weight: 600;
}
body.ob-guest #content .messages,
body.ob-guest #content ul.messages{
  font-size: 0.95rem;
  margin: 10px 0 14px;
}
body.ob-guest #content form{
  max-width: 560px;
  margin: 0 auto;
}
body.ob-guest #content .field{
  margin: 10px 0;
}
body.ob-guest #content label{
  font-size: 0.95rem;
}
body.ob-guest #content input[type="text"],
body.ob-guest #content input[type="email"],
body.ob-guest #content input[type="password"]{
  height: 38px;
  font-size: 1rem;
  line-height: 38px;
}
body.ob-guest #content button,
body.ob-guest #content input[type="submit"]{
  padding: 8px 12px;
  font-size: 1rem;
}
body.ob-guest #content .ob-guest-links{
  margin-top: 12px;
  text-align: left;
  font-size: 0.95rem;
}
body.ob-guest #content .ob-guest-link{
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 10px;
}
/* === /OB-GUEST-COMPACT === */

/* --- Facettes Search : style "Delcampe" (sans cases) --- */
.search-facet-items { padding-left: 0 !important; }          /* enlève lindentation

/* --- Facettes Search : style "Delcampe" (sans cases) --- */
.search-facet-items { padding-left: 0 !important; }          /* enlève lindentation

/* --- Facettes Search : style Delcampe (sans cases) --- */
.search-facet-items { padding-left: 0; }
.search-facet-item a::before { display: none; }
.search-facet-item { margin: 0.25em 0; }
.search-facet-item a { text-decoration: none; }
.search-facet-item a:hover { text-decoration: underline; }

/* Facettes: libellé à gauche, compteur à droite */
.search-facet-item a{display:flex; justify-content:space-between; gap:0.5em;}
.search-facet-item a .count{margin-left:auto;}

/* Facettes: titres au-dessus + valeurs en normal */
.search-facet > h3{display:block; margin:0.75em 0 0.5em; font-weight:600;}
.facet-link{display:flex; justify-content:space-between; gap:0.5em; font-weight:400;}
.facet-link .label{font-weight:400;}
.facet-link .count{font-weight:400; color:#444;}
.search-facet-items{padding-left:0;}

/* Facettes: hiérarchie type Delcampe */
.search-facet > h3{font-size:1.1rem; font-weight:700; margin:1rem 0 0.6rem;}
.facet-link{font-size:0.95rem; font-weight:400; line-height:1.25;}
.facet-link .count{font-size:0.95rem; font-weight:600;}

/* Facettes: hierarchie forte (force override) */
.search-facets .search-facet > h3{font-size:1.25rem !important; font-weight:800 !important; margin:1rem 0 0.6rem !important;}
.search-facets .facet-link{font-size:0.95rem !important; font-weight:400 !important; line-height:1.25 !important;}
.search-facets .facet-link .label{font-weight:400 !important;}
.search-facets .facet-link .count{font-weight:700 !important; color:#333 !important;}

/* Force les titres de facettes sur une ligne a part */
.search-facets .search-facet > h3{display:block !important; font-size:1.15rem !important; font-weight:800 !important; margin:0.75rem 0 0.5rem !important;}
.search-facets .search-facet > div{margin-left:0 !important;}

/* ui-lecture override (must be last) */

/* ===== ui-lecture (merged, last wins) ===== */
:root{
  /* VOS COULEURS (gardez votre charte) */
  --brand: #8B0000;     /* bordeaux oblitarium */
  --accent:#f59a23;     /* <- vous pourrez changer apres */

  /* NEUTRES (lisibilite) */
  --bg:#f6f7f9;
  --surface:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#e5e7eb;

  /* TYPO / ESPACEMENTS */
  --fs-base: 17px;
  --lh: 1.65;
  --container: 1280px;

  --r-12: 12px;
  --r-16: 16px;

  --s-1: 8px;
  --s-2: 12px;
  --s-3: 16px;
  --s-4: 24px;
  --s-5: 32px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
}

html, body{ height:100%; }
body{
  font-size: var(--fs-base);
  line-height: var(--lh);
  color: var(--text);
  background: var(--bg);
}

a{ color: var(--brand); text-decoration: none; }
a:hover{ text-decoration: underline; }

.ob-container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--s-4);
}

.ob-card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-16);
  box-shadow: var(--shadow-sm);
}

/* Barre de recherche dominante */
.ob-searchbar{
  display: grid;
  grid-template-columns: 240px 1fr 140px;
  gap: var(--s-2);
  align-items: center;
  padding: var(--s-3);
}

.ob-input, .ob-select{
  width: 100%;
  height: 48px;
  border: 1px solid var(--border);
  border-radius: var(--r-12);
  padding: 0 var(--s-3);
  background: var(--surface);
  color: var(--text);
}

.ob-input:focus, .ob-select:focus{
  outline: 2px solid color-mix(in srgb, var(--brand) 35%, transparent);
  outline-offset: 2px;
}

.ob-btn{
  height: 48px;
  border-radius: var(--r-12);
  border: 1px solid transparent;
  padding: 0 var(--s-3);
  font-weight: 700;
  cursor: pointer;
}

.ob-btn-primary{
  background: var(--brand);
  color: #fff !important;
  text-shadow: none;
}

.ob-btn-secondary{
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}

/* Layout facettes + resultats */
.ob-layout{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: var(--s-4);
  margin-top: var(--s-4);
  align-items: start;
}

/* Barre outils resultats */
.ob-toolbar{
  display: flex;
  gap: var(--s-2);
  align-items: center;
  justify-content: space-between;
  padding: var(--s-3);
}

.ob-toolbar .left{
  display:flex; gap: var(--s-2); align-items:center;
  color: var(--muted);
  font-size: 14px;
}
.ob-toolbar .right{
  display:flex; gap: var(--s-2); align-items:center;
}

.ob-chip{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  font-size: 13px;
}

/* Facettes repliables */
.ob-facets{ padding: var(--s-3); }

.ob-facet-group{
  border-top: 1px solid var(--border);
  padding-top: var(--s-2);
  margin-top: var(--s-2);
}

.ob-facet-title{
  display:flex;
  justify-content: space-between;
  align-items:center;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 0;
  cursor: pointer;
  user-select: none;
}

.ob-facet-title .chev{
  width: 10px; height: 10px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  transition: transform .15s ease;
}

.ob-facet-group[aria-expanded="false"] .chev{
  transform: rotate(-45deg);
}

.ob-facet-list{ margin: 0; padding: 0; list-style: none; }
.ob-facet-item{
  display:flex;
  justify-content: space-between;
  gap: var(--s-2);
  padding: 8px 0;
  font-size: 14px;
}
.ob-facet-item .count{ color: var(--muted); font-variant-numeric: tabular-nums; }

/* Resultats en cartes (grille) */
.ob-results{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-4);
  padding: var(--s-3);
}
@media (max-width: 1100px){ .ob-results{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px){ .ob-results{ grid-template-columns: 1fr; } }

.ob-item{
  display:flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-3);
  border-radius: var(--r-16);
  border: 1px solid var(--border);
  background: var(--surface);
  min-height: 320px;
}

.ob-thumb{
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: var(--r-12);
  background: #eef2f7;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ob-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ob-title{
  font-weight: 700;
  font-size: 16px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
  min-height: 44px;
}

.ob-meta{
  font-size: 13px;
  color: var(--muted);
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Mobile : panneau facettes */
.ob-filters-toggle{ display:none; }

@media (max-width: 980px){
  .ob-layout{ grid-template-columns: 1fr; }
  .ob-filters-toggle{ display:inline-flex; }
  .ob-facets-panel{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    display: none;
    padding: var(--s-4);
    z-index: 9999;
  }
  .ob-facets-panel[data-open="true"]{ display:block; }
  .ob-facets-panel .panel{
    max-width: 420px;
    height: calc(100% - 2*var(--s-4));
    overflow:auto;
    background: var(--surface);
    border-radius: var(--r-16);
    border: 1px solid var(--border);
    padding: var(--s-3);
  }
}

/* =========================
   OVERRIDES GLOBAUX (sans classes)
   ========================= */

/* Fond + typo */
body{
  background: var(--bg) !important;
  color: var(--text) !important;
  font-size: var(--fs-base) !important;
  line-height: var(--lh) !important;
}

/* Largeur de lecture */
#content, .site, .site-page, .wrap, .container{
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Titres plus nets */
h1{ font-size: 30px !important; line-height: 1.2 !important; }
h2{ font-size: 20px !important; line-height: 1.3 !important; }
h3{ font-size: 16px !important; line-height: 1.35 !important; }

/* Champs / selects / boutons plus “modernes” */
input[type="text"], input[type="search"], input[type="email"], input[type="password"],
select, textarea{
  min-height: 44px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-12) !important;
  padding: 10px 12px !important;
  background: var(--surface) !important;
  color: var(--text) !important;
}

button, input[type="submit"], .button, .btn{
  min-height: 44px !important;
  border-radius: var(--r-12) !important;
  font-weight: 700 !important;
}

/* Blocs “mastoc” -> cartes */
#content > .blocks, .block, .search-facets, .facets, .search-results, .results, .browse,
aside, .sidebar{
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-16) !important;
}

/* Espacement général */
#content, main{
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Facettes : élément actif */
.ob-facet-list li.is-active > a{
  font-weight: 700;
  text-decoration: underline;
}

.ob-context{
  margin: 8px 0 0;
  opacity: .85;
  font-size: 15px;
}

/* Facettes : élément actif + bandeau */
.ob-facet-list li.is-active > a { font-weight:700; text-decoration:underline; }
.ob-active-filters { margin: 0 0 14px; padding: 10px 12px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:#fff; }
.ob-active-filters .lbl { font-weight:700; }
.ob-active-filters a.reset { margin-left:8px; font-size: 0.95em; text-decoration: underline; }

/* Pavé "Filtres actifs" : fond crème pour meilleure lisibilité */
.ob-active-filters{
  background: #fff7e6;            /* crème */
  border: 1px solid rgba(120,80,20,.25);
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

/* Annulation du fond crème : retour fond neutre */
.ob-active-filters{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:none;
}

/* Filtres actifs : PAS de fond couleur */
.ob-active-filters{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
}
.ob-active-filters .lbl{ font-weight:700; }

/* OVERRIDE FINAL : Filtres actifs sans pavé (pas de fond, pas de bordure) */
.ob-browse .ob-active-filters,
.ob-browse-sidebar .ob-active-filters,
.ob-browse-layout .ob-active-filters{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.ob-active-filters a.reset{ display:inline-block; margin-top:6px; }

/* === STYLE FINAL : bandeau "Filtres actifs" (neutre, très lisible) === */
.ob-browse-sidebar .ob-active-filters{
  background: #f4f5f7 !important;               /* gris très clair */
  border: 1px solid rgba(0,0,0,.08) !important; /* bordure douce */
  border-left: 6px solid #8b0000 !important;    /* liseré (couleur bordeaux) */
  border-radius: 12px !important;
  padding: 12px 12px !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}

.ob-browse-sidebar .ob-active-filters .lbl{
  font-weight: 800 !important;
}

.ob-browse-sidebar .ob-active-filters a.reset{
  display: inline-block !important;
  margin-top: 8px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 10px !important;
  background: #fff !important;
  text-decoration: none !important;
}
.ob-browse-sidebar .ob-active-filters a.reset:hover{
  text-decoration: underline !important;
}

/* === FINAL FINAL : liseré visible pour "Filtres actifs" === */
body.ob-browse .ob-active-filters{
  background: #f4f5f7 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-left: 10px solid #8b0000 !important; /* liseré bordeaux bien visible */
  border-radius: 12px !important;
  padding: 12px 12px !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}

/* Filtres actifs : mise en forme demandée */
body.ob-browse .ob-active-filters{
  font-style: italic !important;
}
body.ob-browse .ob-active-filters .lbl{
  font-weight: 800 !important;
  font-style: italic !important;
}
/* "Thème :" en gras italique */
body.ob-browse .ob-active-filters{
  /* on garde tout en italique, et on renforce juste les libellés */
}

/* FIX unique: rendre les sous-menus cliquables en desktop (au-dessus du header/contenu) */
@media screen and (min-width: 800px){
  header nav ul.navigation > li > ul{
    z-index: 99999;
    position: absolute;
  }
  header, header nav{
    position: relative;
    z-index: 1000;
  }
}

/* FIX unique: rendre cliquable le sous-menu du dernier item (Mon compte) même si nav.closed */
header nav.closed ul.navigation > li:last-child > ul{
  height: auto !important;
  overflow: visible !important;
  display: block !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  z-index: 99999 !important;
}
header nav.closed ul.navigation > li:last-child > ul > li{
  height: auto !important;
  overflow: visible !important;
}

/* Mon compte en dropdown vertical (dernier item uniquement) */
@media screen and (min-width: 800px){
  header nav ul.navigation > li:last-child { position: relative; }
  header nav ul.navigation > li:last-child > ul{
    left: auto !important;
    right: 0 !important;
    width: 260px !important;
    padding: 10px 0 !important;
    display: none !important;
  }
  header nav ul.navigation > li:last-child:hover > ul{
    display: block !important;
  }
  header nav ul.navigation > li:last-child > ul > li{
    width: 100% !important;
    padding: 0 !important;
  }
  header nav ul.navigation > li:last-child > ul a{
    display: block !important;
    padding: 8px 12px !important;
  }
}

/* FIX: dropdown "Mon compte" au-dessus du contenu (sans scroll) */
header { position: relative !important; z-index: 1000 !important; overflow: visible !important; }
header nav { position: relative !important; z-index: 1001 !important; overflow: visible !important; }
header nav ul.navigation { overflow: visible !important; }

/* Mon compte (dernier item) : menu vertical au-dessus de tout */
@media screen and (min-width: 800px){
  header nav ul.navigation > li:last-child { position: relative !important; }
  header nav ul.navigation > li:last-child > ul{
    z-index: 99999 !important;
    top: 100% !important;
  }
}

/* ===== FINITION dropdown Mon compte (dernier item) ===== */
@media screen and (min-width: 800px){
  header nav ul.navigation > li:last-child{ position: relative !important; }

  header nav ul.navigation > li:last-child > ul{
    right: 0 !important;
    left: auto !important;
    top: calc(100% + 6px) !important;
    width: 280px !important;
    max-width: 90vw !important;

    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;

    padding: 14px 12px !important;
    margin: 0 !important;

    z-index: 99999 !important;
  }

  /* liens en colonne */
  header nav ul.navigation > li:last-child > ul > li{
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  header nav ul.navigation > li:last-child > ul a{
    display: block !important;
    padding: 10px 10px !important;
    text-align: left !important;
  }

  /* évite le “trou” entre le lien et le dropdown qui casse le hover */
  header nav ul.navigation > li:last-child > ul::before{
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -10px;
    height: 10px;
  }
}

/* FIX: empêcher le “saut” gauche/droite en ancrant le dropdown sur le nav (stable) */
@media screen and (min-width: 800px){
  header nav{ position: relative !important; }

  /* on enlève l’ancrage relatif sur le <li> (sinon il bouge au clic) */
  header nav ul.navigation > li:last-child{ position: static !important; }

  /* le dropdown est positionné par rapport au nav, pas au li */
  header nav ul.navigation > li:last-child > ul{
    position: absolute !important;
    right: 1.6949152542% !important;  /* aligné sur le padding du thème */
    left: auto !important;
    top: calc(100% + 6px) !important;
    z-index: 99999 !important;
  }
}

/* === PIN Mon compte (dernier item) : stop au mega-menu qui saute gauche/droite === */
@media screen and (min-width: 800px){

  /* ancre stable */
  header nav { position: relative !important; }
  header nav ul.navigation > li:last-child { position: relative !important; }

  /* dropdown fixe à droite */
  header nav ul.navigation > li:last-child > ul{
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    left: auto !important;

    width: 320px !important;
    max-width: 90vw !important;

    display: none !important;
    flex-direction: column !important;

    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;

    padding: 14px 0 !important;
    margin: 0 !important;

    z-index: 99999 !important;
  }

  /* ouverture au hover, sans jamais repasser en full-width */
  header nav ul.navigation > li:last-child:hover > ul{
    display: block !important;
    right: 0 !important;
    left: auto !important;
    width: 320px !important;
  }

  /* neutralise le fond full-width généré par le thème sur hover */
  header nav ul.navigation > li:last-child:hover > ul:after{
    content: none !important;
  }

  /* items en colonne */
  header nav ul.navigation > li:last-child > ul > li{
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: normal !important;
  }

  header nav ul.navigation > li:last-child > ul a{
    display: block !important;
    padding: 10px 16px !important;
  }

  /* évite le "trou" entre le lien et le dropdown (hover qui se perd) */
  header nav ul.navigation > li:last-child > ul::before{
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -10px;
    height: 10px;
  }
}

/* FIX: empêche le dropdown de bouger (ancrage sur UL, pas sur LI) */
@media screen and (min-width: 800px){
  header nav ul.navigation{ position: relative !important; }

  /* le LI ne sert plus d’ancre */
  header nav ul.navigation > li:last-child{ position: static !important; }

  /* dropdown positionné par rapport au UL (stable) */
  header nav ul.navigation > li:last-child > ul{
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
  }
}

/* FIX unique anti-BOUGES : le lien "Mon compte" ne doit jamais changer de largeur */
@media screen and (min-width: 800px){
  header nav ul.navigation > li:last-child > .parent-link > a{
    display: inline-block !important;
    font-weight: 400 !important;            /* même poids en normal/hover/active */
    border-bottom: 1px solid transparent !important; /* réserve la place du soulignement */
  }
  header nav ul.navigation > li:last-child > .parent-link > a:hover,
  header nav ul.navigation > li:last-child > .parent-link > a:focus,
  header nav ul.navigation > li:last-child > .parent-link > a:active{
    font-weight: 400 !important;
    border-bottom-color: currentColor !important;
  }
}

/* ===== OVERRIDE FINAL: Mon compte (dernier item) toujours à droite ===== */
@media screen and (min-width: 800px){

  header nav ul.navigation { position: relative !important; }

  header nav ul.navigation > li:last-child { position: relative !important; }

  header nav ul.navigation > li:last-child > ul{
    position: absolute !important;
    top: calc(100% + 6px) !important;

    /* CLÉ : on force l’alignement à droite */
    right: 0 !important;
    left: auto !important;

    width: 320px !important;
    max-width: 90vw !important;

    display: none !important;

    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;

    padding: 14px 0 !important;
    margin: 0 !important;

    z-index: 99999 !important;
  }

  /* Sur hover, on ré-impose encore right/left (pour écraser le mega-menu du thème) */
  header nav ul.navigation > li:last-child:hover > ul{
    display: block !important;
    right: 0 !important;
    left: auto !important;
  }

  /* Items en colonne */
  header nav ul.navigation > li:last-child > ul > li{
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: normal !important;
  }

  header nav ul.navigation > li:last-child > ul a{
    display: block !important;
    padding: 10px 16px !important;
  }

  /* Supprime le fond full-width du mega-menu (si ton thème l’ajoute via :after) */
  header nav ul.navigation > li:last-child:hover > ul:after{
    content: none !important;
  }

  /* évite le "trou" qui casse le hover */
  header nav ul.navigation > li:last-child > ul::before{
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -10px;
    height: 10px;
  }
}

/* FIX FINAL: empêcher tout reflow du lien "Mon compte" (évite le menu qui glisse) */
@media screen and (min-width: 800px){
  header nav ul.navigation > li:last-child > .parent-link > a,
  header nav ul.navigation > li:last-child > a{
    display: inline-block !important;
    font-weight: 400 !important;                 /* ne change jamais */
    text-decoration: none !important;            /* on gère le soulignement autrement */
    border-bottom: 2px solid transparent !important; /* réserve la place du soulignement */
    padding-bottom: 2px !important;
  }
  header nav ul.navigation > li:last-child > .parent-link > a:hover,
  header nav ul.navigation > li:last-child > .parent-link > a:focus,
  header nav ul.navigation > li:last-child > .parent-link > a:active,
  header nav ul.navigation > li:last-child > a:hover,
  header nav ul.navigation > li:last-child > a:focus,
  header nav ul.navigation > li:last-child > a:active{
    font-weight: 400 !important;
    border-bottom-color: currentColor !important;
  }
}

/* ===== Mon compte : rendu IDENTIQUE sur toutes les pages (dernier item uniquement) ===== */
@media screen and (min-width: 800px){

  /* éviter clipping/stacking selon les pages */
  header, header nav, header nav ul.navigation{
    position: relative !important;
    overflow: visible !important;
    z-index: 1000 !important;
  }
  #content, main{
    position: relative !important;
    z-index: 0 !important;
  }

  /* Mon compte = dernier item -> dropdown vertical */
  header nav ul.navigation > li:last-child{ position: relative !important; }

  header nav ul.navigation > li:last-child > ul{
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    left: auto !important;

    width: 320px !important;
    max-width: 90vw !important;

    display: none !important;
    height: auto !important;
    overflow: visible !important;

    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;

    padding: 14px 0 !important;
    margin: 0 !important;

    z-index: 99999 !important;
  }

  /* ouvre au hover + au focus clavier, et écrase le mega-menu du thème */
  header nav ul.navigation > li:last-child:hover > ul,
  header nav ul.navigation > li:last-child:focus-within > ul{
    display: block !important;
    right: 0 !important;
    left: auto !important;
    width: 320px !important;
  }

  /* supprime le fond full-width/mega-menu du thème sur ce seul item */
  header nav ul.navigation > li:last-child:hover > ul:after{
    content: none !important;
  }

  /* force les items visibles (sinon certains pages ne montrent qu’un item) */
  header nav ul.navigation > li:last-child > ul > li{
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: normal !important;
  }

  header nav ul.navigation > li:last-child > ul a{
    display: block !important;
    padding: 10px 16px !important;
  }

  /* évite le “trou” qui fait perdre le hover */
  header nav ul.navigation > li:last-child > ul::before{
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -10px;
    height: 10px;
  }
}

/* ===== FIX Mon compte dropdown (force close unless .is-open) ===== */
#ob-account-dropdown,
.ob-account-dropdown,
.account-dropdown,
.ob-account-wrap .ob-account-dropdown,
#ob-account-wrap .ob-account-dropdown,
.dropdown-menu {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Only show when explicitly opened via JS (.is-open) */
#ob-account-wrap.is-open #ob-account-dropdown,
#ob-account-wrap.is-open .ob-account-dropdown,
.ob-account-wrap.is-open .ob-account-dropdown,
.dropdown.is-open .dropdown-menu,
.dropdown.show .dropdown-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Neutralize hover/focus-within auto-open behaviors (if any) */
.ob-account-wrap:hover .ob-account-dropdown,
.ob-account-wrap:focus-within .ob-account-dropdown {
  display: none !important;
}
#ob-account-wrap.is-open:hover #ob-account-dropdown,
#ob-account-wrap.is-open:focus-within #ob-account-dropdown,
.ob-account-wrap.is-open:hover .ob-account-dropdown,
.ob-account-wrap.is-open:focus-within .ob-account-dropdown {
  display: block !important;
}
/* ===== END FIX ===== */

/* ===== UI TYPO TUNING (browse + facets) ===== */

/* 1) Ne pas toucher au titre du site (header). On réduit seulement les titres dans le contenu. */
main h1,
main .page-title,
main .browse-title,
main .site-page-title {
  font-size: 34px !important;
  line-height: 1.12 !important;
  margin: 0 0 18px 0 !important;
}

/* 2) Select "Toutes catégories" + champ recherche */
select,
input[type="search"],
input[type="text"] {
  font-size: 16px !important;
}

/* si ton thème a des wrappers spécifiques */
.ob-searchbar select,
.ob-searchbar input[type="search"],
.ob-searchbar input[type="text"],
.item-search-form select,
.item-search-form input[type="search"],
.item-search-form input[type="text"] {
  font-size: 16px !important;
  padding: 10px 12px !important;
  height: 44px !important;
}

/* 3) Sidebar : Catégories / Thèmes */
.ob-facet-block h3,
.ob-facet-block h2 {
  font-size: 16px !important;
  letter-spacing: .2px !important;
  margin: 14px 0 10px 0 !important;
}

.ob-facet-list a,
.ob-categories a {
  font-size: 15px !important;
  line-height: 1.25 !important;
}

.ob-count,
.ob-facet-list .ob-count {
  font-size: 13px !important;
}

/* 4) Pavé "Filtres actifs" (si présent) */
.ob-active-filters {
  font-size: 14px !important;
}
.ob-active-filters .reset,
.ob-active-filters a.reset {
  font-size: 14px !important;
}

/* ===== END ===== */
/* ===== Mon compte: click-only + centered ===== */
header nav ul.navigation > li:last-child { position: relative; }

/* default hidden */
header nav ul.navigation > li:last-child > ul{
  display:none !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
}

/* kill hover/focus open */
header nav ul.navigation > li:last-child:hover > ul,
header nav ul.navigation > li:last-child:focus-within > ul{
  display:none !important;
}

/* open only when JS adds .is-open */
header nav ul.navigation > li:last-child.is-open > ul{
  display:block !important;
}

/* Guest register: hide current password field */
form[method="POST"] input[name*="current-password"],
form[method="POST"] label[for*="current-password"]{
  display:none !important;
}
/* Mon compte tout à droite + dropdown collé à droite */
header nav ul.navigation { display:flex !important; align-items:center !important; gap:40px !important; }
header nav ul.navigation > li.ob-moncompte { margin-left:auto !important; }
header nav ul.navigation > li.ob-moncompte { position: relative !important; }
header nav ul.navigation > li.ob-moncompte > ul{
  display:none !important;
  right:0 !important;
  left:auto !important;
  transform:none !important;
}
header nav ul.navigation > li.ob-moncompte:hover > ul,
header nav ul.navigation > li.ob-moncompte:focus-within > ul{
  display:none !important;
}
header nav ul.navigation > li.ob-moncompte.is-open > ul{
  display:block !important;
}
/* Mon compte = le <li> qui contient un <a href="#">Mon compte</a> */
header nav ul.navigation { display:flex !important; align-items:center !important; gap:40px !important; }

/* pousse Mon compte à droite */
header nav ul.navigation > li:has(> a[href="#"]) { margin-left:auto !important; }

/* sous-menu collé à droite, jamais au hover */
header nav ul.navigation > li:has(> a[href="#"]) { position:relative !important; }
header nav ul.navigation > li:has(> a[href="#"]) > ul{
  display:none !important;
  right:0 !important;
  left:auto !important;
  transform:none !important;
}
header nav ul.navigation > li:has(> a[href="#"]):hover > ul,
header nav ul.navigation > li:has(> a[href="#"]):focus-within > ul{
  display:none !important;
}
header nav ul.navigation > li:has(> a[href="#"]).is-open > ul{
  display:block !important;
}
/* Masquer le doublon anglais "Log in" dans le dropdown */
header nav ul.navigation a.login-link { display:block; }
header nav ul.navigation a.login-link:nth-of-type(2) { display:none !important; }
/* ===== Mon compte: click-only + pinned right ===== */
header nav ul.navigation { display:flex !important; align-items:center !important; gap:40px !important; }
header nav ul.navigation > li.ob-moncompte { margin-left:auto !important; position:relative !important; }

/* Cache tous les sous-menus par défaut */
header nav ul.navigation > li > ul { display:none !important; }

/* Interdit l'ouverture au hover/focus (sinon ça “se balade”) */
header nav ul.navigation > li:hover > ul,
header nav ul.navigation > li:focus-within > ul { display:none !important; }

/* Ouvre uniquement si JS ajoute .is-open */
header nav ul.navigation > li.is-open > ul { display:block !important; }

/* Sous-menu du Mon compte collé à droite */
header nav ul.navigation > li.ob-moncompte > ul{
  right:0 !important;
  left:auto !important;
  transform:none !important;
}
/* ===== Mon compte dropdown pinned to the far right ===== */
header nav ul.navigation > li.ob-moncompte { position: relative !important; }

/* force the submenu to stick to the right edge of the viewport */
header nav ul.navigation > li.ob-moncompte > ul{
  position: fixed !important;
  top: 120px !important;           /* ajuste si besoin */
  right: 16px !important;          /* marge à droite */
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
}

/* keep click-only behavior */
header nav ul.navigation > li.ob-moncompte > ul { display:none !important; }
header nav ul.navigation > li.ob-moncompte.is-open > ul { display:block !important; }
header nav ul.navigation > li.ob-moncompte:hover > ul,
header nav ul.navigation > li.ob-moncompte:focus-within > ul { display:none !important; }
/* ===== UI smaller (browse page) ===== */

/* Titre de page (Parcourir les cartes) */
main h1, main .page-title {
  font-size: 28px !important;
  line-height: 1.15 !important;
  margin-bottom: 12px !important;
}

/* Select "Toute catégorie recherchée" + tri + search */
select, input[type="search"], input[type="text"] {
  font-size: 15px !important;
}
.browse-controls, .browse-controls * {
  font-size: 13px !important;
}

/* Pagination (1 of 1 / 1-3 of 3) */
.pagination, .pagination * {
  font-size: 12px !important;
  line-height: 1.05 !important;
  opacity: .75 !important;
}
.pagination:hover { opacity: 1 !important; }

/* ===== END ===== */
/* Browse items title smaller */
body.item.browse main h1,
body.item-browse main h1,
body.site-item-browse main h1,
body main h1#page-title {
  font-size: 26px !important;
  line-height: 1.15 !important;
}
/* Browse title smaller */
main h1, main .page-title { font-size: 24px !important; line-height: 1.12 !important; }
/* Parcourir les cartes (titre de page) plus petit */
main h1, main .page-title { font-size: 22px !important; line-height: 1.12 !important; }
/* Ne touche pas au titre du site */
header .site-title { font-size: inherit !important; }

/* Titre de page (h1 dans le contenu) */
main h1 {
  font-size: 22px !important;
  line-height: 1.12 !important;
  margin: 0 0 12px 0 !important;
}
/* ===== TITRES: restaurer le titre du site, réduire le titre de page ===== */

/* 1) Titre du site (header) : restaurer grand */
header h1.site-title {
  font-size: 40px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
}

/* 2) Titre de page (Parcourir les cartes) : réduire */
main h1 {
  font-size: 22px !important;
  line-height: 1.12 !important;
  margin: 0 0 12px 0 !important;
}

/* ===== END ===== */
/* ===== TITRES: site + page plus petits ===== */

/* 1) Titre du site (header) */
header h1.site-title,
header h1.site-title a {
  font-size: 28px !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
}

/* 2) Titre de page (Parcourir les cartes) */
main h1 {
  font-size: 20px !important;
  line-height: 1.12 !important;
  margin: 0 0 12px 0 !important;
}

/* ===== END ===== */
/* Parcourir les cartes (titre de page) encore plus petit */
main h1 {
  font-size: 18px !important;
  line-height: 1.12 !important;
  margin: 0 0 10px 0 !important;
}
/* FORCE: titre de page (browse items) plus petit, sans toucher au titre du site */
body.site-item-browse main > h1,
body.item.browse main > h1,
body.item-browse main > h1,
body[class*="browse"] main > h1 {
  font-size: 16px !important;
  line-height: 1.12 !important;
  margin: 0 0 10px 0 !important;
}

/* Sécurité: ne jamais toucher au titre du site */
header h1.site-title,
header h1.site-title a {
  font-size: inherit !important;
}
/* ===== FINAL TITLES FIX ===== */

/* 1) Titre du site (Oblitarium) : taille OK, forcée */
header h1.site-title,
header h1.site-title a {
  font-size: 28px !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
}

/* 2) Titre de page (Parcourir les cartes) : réduire, uniquement dans MAIN */
body.site-item-browse main h1,
body.item.browse main h1,
body.item-browse main h1,
body[class*="browse"] main h1 {
  font-size: 14px !important;
  line-height: 1.12 !important;
  margin: 0 0 10px 0 !important;
}
/* ===== END ===== */
/* ===== Auth links active (top menu) ===== */
header nav a.is-active-auth{
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
}

/* ===== Register/Login pages layout tightening ===== */
body.ob-guest-register main,
body.ob-guest-login main{
  max-width: 980px !important;
  margin: 0 auto !important;
}

/* Title "Register" */
body.ob-guest-register main h1,
body.ob-guest-login main h1{
  font-size: 22px !important;
  margin: 0 0 18px 0 !important;
}

/* Form spacing */
body.ob-guest-register form[method="POST"],
body.ob-guest-login form[method="POST"]{
  max-width: 780px !important;
  margin: 0 auto !important;
}

/* Make fields tighter and aligned */
body.ob-guest-register form[method="POST"] .field,
body.ob-guest-login form[method="POST"] .field{
  margin: 0 0 14px 0 !important;
}

/* Labels + inputs alignment (works with most Omeka forms) */
body.ob-guest-register form[method="POST"] label,
body.ob-guest-login form[method="POST"] label{
  display: inline-block !important;
  width: 180px !important;
  margin-right: 18px !important;
  vertical-align: middle !important;
}

body.ob-guest-register form[method="POST"] input[type="text"],
body.ob-guest-register form[method="POST"] input[type="email"],
body.ob-guest-register form[method="POST"] input[type="password"],
body.ob-guest-login form[method="POST"] input[type="text"],
body.ob-guest-login form[method="POST"] input[type="email"],
body.ob-guest-login form[method="POST"] input[type="password"]{
  width: 320px !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
}

/* Checkbox line */
body.ob-guest-register #guest_agreed_terms{
  transform: scale(1.05);
  margin-left: 180px !important;
}

/* Submit button aligned with inputs */
body.ob-guest-register form[method="POST"] button[type="submit"],
body.ob-guest-login form[method="POST"] button[type="submit"],
body.ob-guest-register form[method="POST"] input[type="submit"],
body.ob-guest-login form[method="POST"] input[type="submit"]{
  margin-left: 198px !important;
  padding: 10px 18px !important;
}
/* ===== Guest pages: French labels (visual) ===== */
body.ob-guest-login h1 { font-size: 22px !important; }

/* Hide English headings/buttons and re-label via pseudo-elements */
body.ob-guest-login h1 { visibility: hidden; position: relative; }
body.ob-guest-login h1:after {
  content: "Connexion";
  visibility: visible;
  position: absolute;
  left: 0; top: 0;
}

body.ob-guest-login label[for="email"] { visibility:hidden; position:relative; }
body.ob-guest-login label[for="email"]:after { content:"E-mail"; visibility:visible; position:absolute; left:0; top:0; }

body.ob-guest-login label[for="password"] { visibility:hidden; position:relative; }
body.ob-guest-login label[for="password"]:after { content:"Mot de passe"; visibility:visible; position:absolute; left:0; top:0; }

body.ob-guest-login button, 
body.ob-guest-login input[type="submit"] {
  font-size: 14px !important;
}
body.ob-guest-login button, body.ob-guest-login input[type="submit"] {
  color: transparent !important;
  position: relative;
}
body.ob-guest-login button:after,
body.ob-guest-login input[type="submit"]:after {
  content: "Se connecter";
  color: #111;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* Translate “Forgot password?” link */
body.ob-guest-login a[href*="forgot"] { visibility:hidden; position:relative; }
body.ob-guest-login a[href*="forgot"]:after { content:"Mot de passe oublié ?"; visibility:visible; position:absolute; left:0; top:0; }

/* Moderation message */
body.ob-guest-login .messages li { font-size: 14px !important; }
/* ===== Guest: fix password help wrapping (no vertical words) ===== */
body.ob-guest-register .password-requirements,
body.ob-guest-register .password-help,
body.ob-guest-register .password-rules,
body.ob-guest-register .description,
body.ob-guest-register .messages,
body.ob-guest-register ul,
body.ob-guest-register li {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

/* Keep the requirements block readable */
body.ob-guest-register .password-requirements,
body.ob-guest-register .password-help,
body.ob-guest-register .password-rules {
  max-width: 520px !important;
}

/* If the theme forces narrow columns, prevent it here */
body.ob-guest-register form[method="POST"] {
  column-count: 1 !important;
}
/* ===== Guest register: password rules layout fix ===== */

/* Cible le bloc qui contient "Password must:" */
body.ob-guest-register form[method="POST"] li,
body.ob-guest-register form[method="POST"] ul {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Empêche un CSS de transformer les puces en blocs verticaux */
body.ob-guest-register form[method="POST"] ul {
  width: auto !important;
  max-width: 520px !important;
  padding-left: 22px !important;
  margin: 8px 0 0 0 !important;
}
body.ob-guest-register form[method="POST"] li {
  display: list-item !important;
  margin: 0 0 6px 0 !important;
}

/* Si un CSS applique des colonnes ou une largeur fixe */
body.ob-guest-register form[method="POST"] * {
  column-count: 1 !important;
  column-width: auto !important;
}
/* ===== Guest register: no dropdown for password rules ===== */

/* Cache tout accordéon (details/summary) éventuel dans la zone mot de passe */
body.ob-guest-register details,
body.ob-guest-register summary,
body.ob-guest-register .password-requirements,
body.ob-guest-register .password-help,
body.ob-guest-register .password-rules {
  display: none !important;
}

/* Affiche une info fixe FR (petite) */
body.ob-guest-register .ob-pw-hint {
  display: block !important;
  font-size: 12px !important;
  color: #666 !important;
  margin: 6px 0 14px 198px !important; /* aligné avec les champs */
  max-width: 520px !important;
}
/* Active state for auth links */
header nav a.is-active-auth{
  font-weight:700 !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
}
header nav a.is-active-auth{
  font-weight:700 !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
}
/* Auth links active (top nav) */
header nav a.is-active-auth{
  font-weight:700 !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
}
CSS

rm -rf /var/www/html/files/cache/*
echo OK
/* Désactiver les pseudo-éléments qui “remplacent” les liens sur les pages guest */
body a[href*="forgot"]::after,
body a[href*="register"]::after,
body a[href*="login"]::after { content: none !important; }

/* Garantir que les liens restent cliquables */
body a[href*="forgot"],
body a[href*="register"],
body a[href*="login"]{
  visibility: visible !important;
  pointer-events: auto !important;
  color: inherit !important;
}
/* ===== Guest pages compact typography ===== */
body main h1 { font-size: 22px !important; margin: 0 0 14px 0 !important; }
body main { max-width: 980px !important; margin: 0 auto !important; }

body form[method="POST"] { max-width: 760px !important; margin: 0 auto !important; }

/* Labels and inputs smaller */
body form[method="POST"] label { font-size: 14px !important; }
body form[method="POST"] input[type="text"],
body form[method="POST"] input[type="email"],
body form[method="POST"] input[type="password"] {
  font-size: 14px !important;
  padding: 9px 12px !important;
}

/* Reduce vertical gaps */
body form[method="POST"] .field { margin: 0 0 10px 0 !important; }
body form[method="POST"] p, body form[method="POST"] a { font-size: 14px !important; }

/* Button smaller */
body form[method="POST"] input[type="submit"],
body form[method="POST"] button[type="submit"]{
  font-size: 14px !important;
  padding: 10px 16px !important;
}

/* Password hint */
.ob-pw-hint { font-size: 12px !important; margin-top: 6px !important; }
/* ===== Guest: active top menu ===== */
body.ob-guest-login header a[href*="/s/oblitarium/guest/login"],
body.ob-guest-register header a[href*="/s/oblitarium/guest/register"]{
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 8px !important;
}

/* ===== Guest: typography smaller & balanced ===== */
body.ob-guest-login main h1,
body.ob-guest-register main h1{
  font-size: 20px !important;
  margin: 0 0 12px 0 !important;
}

body.ob-guest-login main,
body.ob-guest-register main{
  font-size: 14px !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

body.ob-guest-login form[method="POST"],
body.ob-guest-register form[method="POST"]{
  max-width: 760px !important;
  margin: 0 auto !important;
}

body.ob-guest-login label,
body.ob-guest-register label{
  font-size: 14px !important;
}

body.ob-guest-login input,
body.ob-guest-register input{
  font-size: 14px !important;
  padding: 9px 12px !important;
}

body.ob-guest-login input[type="submit"],
body.ob-guest-register input[type="submit"],
body.ob-guest-login button,
body.ob-guest-register button{
  font-size: 14px !important;
  padding: 10px 16px !important;
}

body.ob-guest-login p, body.ob-guest-login a,
body.ob-guest-register p, body.ob-guest-register a{
  font-size: 14px !important;
}

/* Compact spacing */
body.ob-guest-login .field,
body.ob-guest-register .field{
  margin: 0 0 10px 0 !important;
}
/* ===== Browse: restore 3 thumbnails per row on desktop ===== */

/* 1) Sidebar: prevent it from becoming too wide */
.ob-facet-block,
.ob-active-filters {
  max-width: 340px !important;
}

/* Some themes wrap the sidebar in an <aside> */
aside,
.ob-browse-sidebar,
.browse-sidebar {
  flex: 0 0 340px !important;
  width: 340px !important;
  max-width: 340px !important;
}

/* 2) Grid: force 3 columns on large screens */
ul.ob-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

/* 2 columns on medium screens */
@media (max-width: 1200px) {
  ul.ob-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 1 column on small screens */
@media (max-width: 700px) {
  ul.ob-card-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Seul le label est incliné */


.ob-thumb-label { font-weight: normal; font-size: .85rem; color: #555; }

/* ===========================================================
   OBLITARIUM — Overlay muséal pour la page Parcourir (item browse)
   Ajouté le 26 mai 2026. Cible le browse.phtml existant sans toucher au PHP.
   Pour rollback : restaurer le .bak ci-dessus.
   (@import des Google Fonts ajouté séparément en tête de fichier.)
   =========================================================== */

/* Conteneur du browse — laisse respirer */
.ob-browse-layout, .browse, .item-browse {
  background: #F5EAE5;
}

/* Grille des cartes : 3 colonnes muséales */
.ob-browse-layout main .resource-list,
.ob-browse-layout ul.resource-list,
.resource-list.item-list,
ul.resource-list {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px 32px !important;
  padding: 2rem 1rem !important;
  margin: 0 !important;
}
@media (max-width: 820px) {
  .ob-browse-layout ul.resource-list, ul.resource-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px) {
  .ob-browse-layout ul.resource-list, ul.resource-list {
    grid-template-columns: 1fr !important;
  }
}

/* Carte muséale */
.ob-browse-layout .resource-list > li,
.resource-list > li.resource,
.resource-list > li {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  list-style: none !important;
  position: relative !important;
  transition: transform 0.3s ease !important;
}
.resource-list > li:hover {
  transform: translateY(-3px) !important;
}

/* Cadre crème + ombrage ambient sur l'image */
.resource-list > li a img,
.resource-list > li img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  background: #FAFAF7 !important;
  padding: 8px !important;
  border: 0.5px solid rgba(107, 44, 44, 0.4) !important;
  box-sizing: border-box !important;
  box-shadow:
    0 14px 28px -10px rgba(26, 22, 20, 0.12),
   -16px 18px 22px -12px rgba(26, 22, 20, 0.24),
    16px 18px 22px -12px rgba(26, 22, 20, 0.24) !important;
  border-radius: 0 !important;
  margin-bottom: 18px !important;
}

/* Titre en serif Cormorant Garamond */
.resource-list > li h2,
.resource-list > li h3,
.resource-list > li .resource-link,
.resource-list > li a span,
.resource-list > li a {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

/* Métadonnées en petites capitales bordeaux */
.resource-list > li .resource-meta,
.resource-list > li .item-set-link,
.resource-list > li small,
.resource-list > li .meta,
.resource-list > li .properties {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  color: #6B5B53 !important;
  text-transform: uppercase !important;
  margin-top: 6px !important;
}

/* Titre H1 de la page browse en serif */
.ob-browse-layout h1,
.item-browse h1,
.browse h1,
body[class*="browse"] #content h1 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  text-align: center !important;
  margin: 2rem 0 1rem !important;
}

/* Sidebar de filtres : sobre */
.ob-browse-sidebar, aside.ob-browse-sidebar {
  background: #FFFFFF !important;
  border: 0.5px solid rgba(26, 22, 20, 0.08) !important;
  padding: 1.25rem !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 12px !important;
}
.ob-browse-sidebar a, .ob-browse-sidebar label {
  color: #1A1614 !important;
  letter-spacing: 0.04em !important;
}

/* ===========================================================
   Correction muséale : carte nue + ombrage flottant uniquement
   =========================================================== */

/* Plus aucun cadre/bordure/fond sur les cellules de liste */
.resource-list > li,
.resource-list > li.resource,
.ob-browse-layout .resource-list > li {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* L'image seule, sans frame crème, juste l'ombrage flottant ambient */
.resource-list > li a img,
.resource-list > li img,
.resource-list > li picture img {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow:
    0 16px 30px -10px rgba(26, 22, 20, 0.18),
   -18px 22px 26px -14px rgba(26, 22, 20, 0.28),
    18px 22px 26px -14px rgba(26, 22, 20, 0.28) !important;
  margin-bottom: 22px !important;
}

/* Pour être sûr qu'aucun wrapper ne réintroduise une bordure rouge */
.resource-list > li a,
.resource-list > li > a,
.resource-list > li .resource-link,
.resource-list > li figure,
.resource-list > li .item-thumb {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}


/* ===========================================================
   Patch muséal #2
   - Aucun pavé blanc sous les photos
   - Sidebar des catégories en jaune passé
   - Titre + recherche plus haut sur la page
   =========================================================== */

/* 1) Tous les enfants des <li> en transparent — pas de pavé blanc */
.resource-list > li,
.resource-list > li > a,
.resource-list > li > div,
.resource-list > li > figure,
.resource-list > li figure,
.resource-list > li picture,
.resource-list > li .resource-link,
.resource-list > li .item-link,
.resource-list > li .item-thumb,
.resource-list > li .thumbnail,
.resource-list > li .caption {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 2) Sidebar des filtres : jaune papier passé, lisse, sans cadre dur */
.ob-browse-sidebar,
aside.ob-browse-sidebar,
.browse-sidebar,
.item-browse aside,
.browse aside,
.ob-browse-layout aside {
  background: #EBE0CC !important;
  border: none !important;
  padding: 1.75rem 1.5rem !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: 'Lora', Georgia, serif !important;
}
.ob-browse-sidebar h2,
.ob-browse-sidebar h3,
.ob-browse-sidebar .heading,
aside h2,
aside h3 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-weight: 500 !important;
  color: #1A1614 !important;
  font-size: 17px !important;
  letter-spacing: 0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}
.ob-browse-sidebar a,
aside a {
  color: #1A1614 !important;
  text-decoration: none !important;
}
.ob-browse-sidebar a:hover,
aside a:hover {
  color: #6B2C2C !important;
}

/* 3) Titre H1 + barre de recherche remontés vers le haut */
.ob-browse-layout,
.item-browse,
.browse,
body[class*="browse"] #content {
  padding-top: 0.5rem !important;
}

.ob-browse-layout h1,
.item-browse h1,
.browse h1,
body[class*="browse"] #content h1 {
  margin-top: 0.5rem !important;
  margin-bottom: 1.25rem !important;
  padding-top: 0 !important;
}

.ob-browse-layout form,
.ob-browse-layout form[role="search"],
.ob-browse-layout .search-form,
.item-browse form[role="search"] {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
}


/* ===========================================================
   Patch muséal #3 — élimination radicale du fond blanc des cartes
   =========================================================== */

/* Tout descendant de .resource-list, sauf les images, est transparent et sans cadre */
.resource-list,
.resource-list > li,
.resource-list > li *:not(img) {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* L'image garde son ombrage flottant (rappel pour priorité) */
.resource-list > li img,
.resource-list > li a img {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow:
    0 16px 30px -10px rgba(26, 22, 20, 0.18),
   -18px 22px 26px -14px rgba(26, 22, 20, 0.28),
    18px 22px 26px -14px rgba(26, 22, 20, 0.28) !important;
  margin-bottom: 22px !important;
}


/* ===========================================================
   Patch ombrage relief 3D — photo détachée style Batiskor
   =========================================================== */

/* Libérer l'overflow pour que l'ombre puisse sortir du wrapper */
.resource-list.ob-card-grid > li,
.resource-list.ob-card-grid > li.item.resource > a,
.resource-list > li,
.resource-list > li > a {
  overflow: visible !important;
}

/* Pas d'ombre sur le wrapper a, l'ombre vit sur l'image */
.resource-list.ob-card-grid > li.item.resource > a {
  box-shadow: none !important;
  background: transparent !important;
}

/* Halo relief sur l'image :
   - halo doux tout autour (présence)
   - léger soulèvement haut (la photo n'est pas collée)
   - ombre principale en bas (poids visuel)
   - renforcement aux coins bas (effet 3D)
*/
.resource-list.ob-card-grid > li.item.resource > a > img,
.resource-list > li img,
.resource-list > li a img {
  box-shadow:
    0 0 28px -8px rgba(26, 22, 20, 0.10),
    0 -4px 14px -6px rgba(26, 22, 20, 0.09),
    0 14px 26px -8px rgba(26, 22, 20, 0.20),
   -14px 18px 24px -12px rgba(26, 22, 20, 0.22),
    14px 18px 24px -12px rgba(26, 22, 20, 0.22) !important;
  margin: 8px !important;
}


/* ===========================================================
   Patch homogénéisation muséale — Parcourir les cartes
   - H1 réduit pour respecter la hiérarchie (OBLITARIUM reste roi)
   - Eyebrow muséal ajouté via ::before
   - Inputs et boutons compacts, ton blush
   - Pagination discrète
   =========================================================== */

/* Titre H1 raisonnable (sous le titre OBLITARIUM) — compressé */
.ob-browse-layout h1,
.item-browse h1,
body[class*="browse"] #content h1,
body[class*="browse"] h1 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  text-align: center !important;
  margin: .3rem 0 .25rem !important;
  letter-spacing: 0 !important;
}

/* Eyebrow muséal avant le H1 — compressé */
.ob-browse-layout h1::before,
.item-browse h1::before,
body[class*="browse"] #content h1::before {
  content: "— parcourir la collection —";
  display: block;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  letter-spacing: 0.28em;
  color: #6B5B53;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 4px;
}

/* Selects et inputs de filtres/recherche : compacts, sobres, blush */
.item-browse select,
.item-browse input[type="text"],
.item-browse input[type="search"],
.item-browse input[type="number"],
body[class*="browse"] select,
body[class*="browse"] input[type="text"],
body[class*="browse"] input[type="search"],
body[class*="browse"] input[type="number"] {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 12px !important;
  padding: 4px 9px !important;
  border-radius: 3px !important;
  border: 0.5px solid rgba(26,22,20,0.18) !important;
  background: #F5EAE5 !important;
  height: auto !important;
  line-height: 1.35 !important;
  color: #1A1614 !important;
  box-shadow: none !important;
  max-width: 280px !important;
}

/* Bouton loupe compact, sobre */
.item-browse button,
.item-browse input[type="submit"],
body[class*="browse"] button[type="submit"],
body[class*="browse"] form button,
body[class*="browse"] form input[type="submit"] {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  border: 0.5px solid rgba(26,22,20,0.25) !important;
  background: #FAFAF7 !important;
  color: #1A1614 !important;
  height: auto !important;
  box-shadow: none !important;
  letter-spacing: 0.06em !important;
}

/* Pagination plus discrète */
.pagination,
.browse .pagination,
body[class*="browse"] .pagination {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 12px !important;
}
.pagination input,
.pagination select,
body[class*="browse"] .pagination input,
body[class*="browse"] .pagination select {
  font-size: 12px !important;
  padding: 4px 8px !important;
  background: transparent !important;
  border: 0.5px solid rgba(26,22,20,0.15) !important;
  border-radius: 3px !important;
}


/* ===========================================================
   Patch sidebar : même couleur que le fond + ombrage révélateur
   =========================================================== */

.ob-browse-sidebar,
aside.ob-browse-sidebar,
.browse-sidebar,
.item-browse aside,
.browse aside,
.ob-browse-layout aside {
  background: #F5EAE5 !important;            /* même blush que le fond */
  border: none !important;
  padding: 1.75rem 1.5rem !important;
  border-radius: 6px !important;
  box-shadow:
    0 2px 10px -4px rgba(26, 22, 20, 0.10),
    0 12px 24px -10px rgba(26, 22, 20, 0.12) !important;
  margin-right: 2.5rem !important;           /* espace avec la grille */
  margin-left: 0.5rem !important;
}

/* Renforcement de la respiration sur la grille de cartes elle-même */
.resource-list.ob-card-grid,
.resource-list {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}


/* Espace équilibré entre sidebar et grille de cartes */
.ob-browse-sidebar,
aside.ob-browse-sidebar,
.browse-sidebar,
.item-browse aside,
.browse aside,
.ob-browse-layout aside {
  margin-right: 3.5rem !important;
}

.resource-list.ob-card-grid,
.resource-list {
  padding-left: 2.5rem !important;
  padding-right: 1.5rem !important;
}


/* === Patch correctif : espace réel et équilibré gauche/droite === */

html body .ob-browse-layout aside,
html body aside.ob-browse-sidebar,
html body .ob-browse-sidebar {
  margin-right: 3.5rem !important;
}

html body .ob-browse-layout main,
html body main.ob-browse-main,
html body .ob-browse-layout > main {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

html body ul.resource-list.ob-card-grid,
html body .ob-browse-layout ul.resource-list,
html body main ul.resource-list {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* === Shotgun titres sidebar + remontée === */

html body aside h1,
html body aside h2,
html body aside h3,
html body aside h4,
html body aside h5,
html body aside h6,
html body aside .heading,
html body aside .ob-side-title,
html body aside > strong,
html body aside > b,
html body aside > p > strong,
html body aside > p > b,
html body aside > div > strong,
html body aside > div > b,
html body .ob-browse-sidebar h1,
html body .ob-browse-sidebar h2,
html body .ob-browse-sidebar h3,
html body .ob-browse-sidebar h4,
html body .ob-browse-sidebar h5,
html body .ob-browse-sidebar h6,
html body .ob-browse-sidebar .heading,
html body .ob-browse-sidebar > strong,
html body .ob-browse-sidebar > b,
html body .ob-browse-sidebar > div > strong,
html body .ob-browse-sidebar > p > strong,
html body .ob-sideblock h1,
html body .ob-sideblock h2,
html body .ob-sideblock h3,
html body .ob-sideblock h4 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #1A1614 !important;
  letter-spacing: 0.01em !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
}

html body aside > *:first-child,
html body .ob-browse-sidebar > *:first-child,
html body .ob-sideblock:first-child > *:first-child {
  margin-top: 0 !important;
}

/* Items du sidebar : tous regular, même les "active" */
html body aside li,
html body aside li *,
html body aside li.active,
html body aside li.active *,
html body aside li.selected,
html body aside li.selected *,
html body .ob-browse-sidebar li,
html body .ob-browse-sidebar li *,
html body .ob-browse-sidebar li.active,
html body .ob-browse-sidebar li.active *,
html body .ob-sideblock li,
html body .ob-sideblock li * {
  font-weight: 400 !important;
}

/* Remonter les cartes vers le haut */
html body .ob-browse-layout main,
html body .ob-browse-layout > main,
html body main.ob-browse-main,
html body main {
  padding-top: 0.25rem !important;
  margin-top: 0 !important;
}

html body .browse-controls,
html body main > .browse-controls,
html body .ob-browse-layout .browse-controls,
html body main > div:first-of-type {
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
  padding-top: 0 !important;
}

html body ul.resource-list,
html body ul.resource-list.ob-card-grid,
html body .resource-list.ob-card-grid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ===========================================================
   Patch finition Parcourir — encore moins d'espace en haut
   =========================================================== */

html body .ob-browse-layout main,
html body .item-browse main,
html body main {
  padding-top: 0 !important;
}
html body main > *:first-child,
html body .ob-browse-layout main > *:first-child {
  margin-top: 0.25rem !important;
}
html body .browse-controls,
html body .item-browse .browse-controls {
  margin-bottom: 0.5rem !important;
}

/* ===========================================================
   Patch fiche item — traitement muséal
   Ombrages sur thumbnails et grande photo
   Titre avec eyebrow, sidebar blush, boutons sobres
   =========================================================== */

/* Toutes les images de la fiche item : ombrage ambient flottant */
body.item.show img,
body.resource img,
.item.show img,
.resource.item.show img,
.item.show .media-render img,
.item.show .item-content img,
.item.show .thumbnail img,
.item.show figure img {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow:
    0 0 24px -8px rgba(26, 22, 20, 0.10),
    0 -3px 10px -4px rgba(26, 22, 20, 0.08),
    0 12px 22px -6px rgba(26, 22, 20, 0.18),
    -12px 16px 22px -10px rgba(26, 22, 20, 0.20),
     12px 16px 22px -10px rgba(26, 22, 20, 0.20) !important;
  margin: 12px !important;
  max-width: calc(100% - 24px) !important;
}

/* Titre de l'item : taille raisonnable, serif */
html body.item.show h1,
html body .resource.item.show h1,
html body .item.show #content h1,
html body.item.show h1 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  margin: 1rem 0 1.5rem !important;
  letter-spacing: 0 !important;
}

/* Eyebrow au-dessus du titre */
html body.item.show h1::before,
html body.item.show h1::before {
  content: "— pièce du corpus —";
  display: block;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
  font-size: 10.5px;
  letter-spacing: 0.32em;
  color: #6B5B53;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 12px;
}

/* Sidebar droite (Commenter, Provenance, Cotation) : blush + ombre */
html body.item.show aside,
html body.item.show .item-sidebar,
html body .resource.item.show aside,
html body.item.show aside,
html body.item.show .item-sidebar {
  background: #F5EAE5 !important;
  border: none !important;
  padding: 1.5rem 1.25rem !important;
  border-radius: 6px !important;
  box-shadow:
    0 2px 10px -4px rgba(26, 22, 20, 0.10),
    0 12px 24px -10px rgba(26, 22, 20, 0.12) !important;
}

/* Boutons : sobres, muséaux */
html body.item.show button,
html body.item.show input[type="submit"],
html body.item.show .button,
html body.item.show button,
html body.item.show input[type="submit"],
html body.item.show .button {
  background: transparent !important;
  border: 0.5px solid #1A1614 !important;
  color: #1A1614 !important;
  padding: 9px 18px !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 11.5px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

/* Métadonnées : labels en capitales sobres, valeurs en serif */
html body.item.show .property-label,
html body.item.show .dt,
html body.item.show .property strong,
html body.item.show strong,
html body.item.show .property-label {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  color: #6B5B53 !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

html body.item.show .property-value,
html body.item.show .dd,
html body.item.show .property em,
html body.item.show em,
html body.item.show .property-value {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14.5px !important;
  color: #1A1614 !important;
  font-style: italic !important;
}

/* Labels Recto / Verso : sobres */
html body.item.show .thumbnail + *,
html body.item.show .media-caption {
  font-family: -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  color: #6B5B53 !important;
  text-transform: uppercase !important;
}


/* ===========================================================
   Patch fiche item v2 — corrections après retour utilisateur
   =========================================================== */

/* 1) Tuer le doublon "PIÈCE DU CORPUS" venant du ::before du H1 */
body.item.show h1::before,
body.ob-item h1::before,
body[class*="item-show"] h1::before {
  content: none !important;
  display: none !important;
}

/* 2) Sidebar : ombrage renforcé pour bien se détacher du fond */
body.ob-item .ob-sidebar {
  box-shadow:
    0 4px 14px -4px rgba(26, 22, 20, 0.14) !important,
    0 18px 32px -12px rgba(26, 22, 20, 0.18) !important;
}

/* 3) Cotation : légende A–E en details/summary */
body.ob-item .ob-cotation-legend {
  margin-top: 6px;
  font-family: 'Lora', Georgia, serif;
  font-size: 12.5px;
}
body.ob-item .ob-cotation-legend summary {
  cursor: pointer;
  color: #6B2C2C;
  font-family: -apple-system, sans-serif;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 0;
  list-style: none;
}
body.ob-item .ob-cotation-legend summary::-webkit-details-marker { display: none; }
body.ob-item .ob-cotation-legend summary::before { content: "▸ "; transition: transform 0.2s; }
body.ob-item .ob-cotation-legend[open] summary::before { content: "▾ "; }
body.ob-item .ob-cotation-legend ul {
  list-style: none;
  padding: 8px 0 0;
  margin: 0;
}
body.ob-item .ob-cotation-legend ul li {
  padding: 3px 0;
  color: #1A1614;
  font-size: 12.5px;
  line-height: 1.5;
}
body.ob-item .ob-cotation-legend ul li strong {
  color: #6B2C2C;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  margin-right: 6px;
}

/* 4) Commentaires en discussion : chaque témoignage en bulle */
body.ob-item .ob-item-comments .comments,
body.ob-item .ob-item-comments ol.comment-list,
body.ob-item .ob-item-comments ul.comment-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
}

body.ob-item .ob-item-comments .comment,
body.ob-item .ob-item-comments ol.comment-list > li,
body.ob-item .ob-item-comments ul.comment-list > li {
  background: #FAFAF7 !important;
  border-left: 2px solid #6B2C2C !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 1rem !important;
  box-shadow: 0 2px 8px -3px rgba(26, 22, 20, 0.08) !important;
  list-style: none !important;
}

body.ob-item .ob-item-comments .comment-author,
body.ob-item .ob-item-comments .comment-meta,
body.ob-item .ob-item-comments .author {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 11.5px !important;
  color: #6B5B53 !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.03em !important;
}

body.ob-item .ob-item-comments .comment-author strong,
body.ob-item .ob-item-comments .comment-author .name,
body.ob-item .ob-item-comments .author strong {
  color: #1A1614 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

body.ob-item .ob-item-comments .comment-date,
body.ob-item .ob-item-comments time {
  font-family: 'Lora', Georgia, serif !important;
  font-style: italic !important;
  color: #6B5B53 !important;
  font-size: 11.5px !important;
  margin-left: 8px !important;
}

body.ob-item .ob-item-comments .comment-content,
body.ob-item .ob-item-comments .body,
body.ob-item .ob-item-comments p {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: #1A1614 !important;
}

/* Formulaire de commentaire muséal */
body.ob-item .ob-item-comments form,
body.ob-item .ob-item-comments .comment-form {
  background: #F5EAE5 !important;
  padding: 1.5rem !important;
  border-radius: 6px !important;
  margin-top: 1.5rem !important;
}

body.ob-item .ob-item-comments form textarea,
body.ob-item .ob-item-comments form input[type="text"],
body.ob-item .ob-item-comments form input[type="email"] {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14px !important;
  padding: 12px !important;
  border: 0.5px solid rgba(26,22,20,0.20) !important;
  background: #FAFAF7 !important;
  border-radius: 4px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 0.75rem !important;
}

body.ob-item .ob-item-comments form textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

body.ob-item .ob-item-comments form button[type="submit"],
body.ob-item .ob-item-comments form input[type="submit"] {
  background: #6B2C2C !important;
  color: #F5EAE5 !important;
  border: 0.5px solid #6B2C2C !important;
  padding: 11px 22px !important;
  font-family: -apple-system, sans-serif !important;
  font-size: 11.5px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}


/* === Bouton commentaire : outlined pour respecter le ton pastel === */
body.ob-item .ob-item-comments form button[type="submit"],
body.ob-item .ob-item-comments form input[type="submit"] {
  background: transparent !important;
  color: #6B2C2C !important;
  border: 0.5px solid #6B2C2C !important;
  font-weight: 400 !important;
  transition: all 0.2s ease;
}
body.ob-item .ob-item-comments form button[type="submit"]:hover,
body.ob-item .ob-item-comments form input[type="submit"]:hover {
  background: #6B2C2C !important;
  color: #F5EAE5 !important;
}

/* === Titre du site et menu : Cormorant Garamond, comme la page Histoire === */
html body .site h1,
html body .site h1 a,
html body header h1,
html body header h1 a,
html body .site-title,
html body .site-title a,
html body #site-title,
html body #site-title a {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.05em !important;
}
html body nav a,
html body .navigation a,
html body header nav a,
html body .top-nav a,
html body .site-nav a {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  font-size: 17px !important;
}

/* === Barre admin Omeka : Cormorant Garamond pour cohérence === */
html body #user-bar,
html body .user-bar,
html body .global-bar,
html body .admin-bar,
html body #user-bar *,
html body .user-bar *,
html body .global-bar *,
html body .admin-bar *,
html body nav.user-bar a,
html body nav.user-bar span,
html body #site-bar,
html body #site-bar *,
html body .site-title-bar,
html body .site-title-bar * {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
}

/* === Barre admin : indicateur d'onglet actif en sous-ligné bordeaux discret === */
html body #user-bar a,
html body #user-bar .active,
html body #user-bar > a,
html body .user-bar a,
html body .user-bar .active,
html body .user-bar > a {
  background: transparent !important;
  background-color: transparent !important;
  outline: none !important;
  border-radius: 0 !important;
}
/* Le span "Pages" de la barre porte la classe .browse (cf. UserBar.php :
   <span class="admin page browse">), captée par la règle générique
   .browse{background:var(--surface);border;border-radius} (~l.1179) qui lui
   colle un pavé blanc. On neutralise UNIQUEMENT dans la barre admin.
   !important nécessaire pour contrer le !important de la règle .browse. */
html body #user-bar .browse,
html body .user-bar .browse {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html body #user-bar a.active,
html body #user-bar .active a,
html body #user-bar a[aria-current],
html body .user-bar a.active,
html body .user-bar a[aria-current] {
  background: transparent !important;
  border-bottom: 1.5px solid #6B2C2C !important;
  padding-bottom: 1px !important;
  color: inherit !important;
}

/* ===========================================================
   Mon espace (Guest dashboard) — style muséal
   =========================================================== */

html body[class*="guest"] #content {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 2rem 1.5rem 3rem !important;
  font-family: 'Lora','Iowan Old Style',Georgia,serif !important;
  color: #1A1614 !important;
}

/* Titre principal */
html body[class*="guest"] #content h1 {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  text-align: center !important;
  margin: 1rem 0 2rem !important;
  letter-spacing: 0 !important;
}

/* Eyebrow muséal au-dessus du titre */
html body[class*="guest"] #content h1::before {
  content: "— MON MUSÉE PERSONNEL —";
  display: block;
  font-family: -apple-system, sans-serif;
  font-size: 11px;
  letter-spacing: 0.32em;
  color: #6B5B53;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 400;
}

/* Forcer le titre en français visuellement même si HTML dit "My dashboard" */
html body[class*="guest"] #content h1 {
  font-size: 0 !important;
}
html body[class*="guest"] #content h1::after {
  content: "Mon espace personnel";
  display: block;
  font-size: 38px;
  font-family: 'Cormorant Garamond',Georgia,serif;
  font-weight: 400;
  color: #1A1614;
  text-align: center;
}

/* Sous-titres : Mon compte, Mes cartes suivies */
html body[class*="guest"] #content h2,
html body[class*="guest"] #content h3 {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1A1614 !important;
  margin: 2.5rem 0 1rem !important;
  padding-top: 1.5rem !important;
  border-top: 0.5px solid rgba(26,22,20,0.10) !important;
  letter-spacing: 0.01em !important;
}
html body[class*="guest"] #content h2:first-of-type,
html body[class*="guest"] #content h3:first-of-type {
  border-top: none !important;
  padding-top: 0 !important;
}

/* Liste de liens : pavés blush avec accent bordeaux */
html body[class*="guest"] #content ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
}
html body[class*="guest"] #content ul li {
  background: #F5EAE5 !important;
  border-left: 2px solid #6B2C2C !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 12px 18px !important;
  margin: 0 0 8px !important;
  list-style: none !important;
  box-shadow: 0 1px 4px -1px rgba(26,22,20,0.06) !important;
  transition: transform 0.2s ease;
}
html body[class*="guest"] #content ul li:hover {
  transform: translateX(3px);
  box-shadow: 0 4px 10px -2px rgba(26,22,20,0.12) !important;
}
html body[class*="guest"] #content ul li a {
  color: #1A1614 !important;
  text-decoration: none !important;
  font-family: 'Lora',Georgia,serif !important;
  font-size: 15px !important;
  display: block !important;
}
html body[class*="guest"] #content ul li a:hover {
  color: #6B2C2C !important;
}

/* Texte d'état vide (Vous ne suivez aucune carte...) */
html body[class*="guest"] #content p {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: #6B5B53 !important;
  line-height: 1.6 !important;
  background: #FAFAF7 !important;
  padding: 1.25rem 1.5rem !important;
  border-radius: 4px !important;
  text-align: center !important;
}

/* ===== Identifiant id_omeka : discret, centré au-dessus du titre ===== */
.ob-card-ident{
  text-align: center;
  font-size: 10px;
  font-weight: 400;
  color: rgba(26,22,20,0.45);
  letter-spacing: 0;
  margin: .55rem 0 -.15rem 0;
  font-family: 'Lora', Georgia, serif;
}

/* =====================================================================
   BANDEAU PARCOURIR — overrides finaux (priorité maximale, fin de fichier)
   Cible: body[class*="browse"] header.ob-browse-header  → spec (0,2,2)
   ===================================================================== */

/* Tour B : remonter le bandeau encore plus, padding-top zéro */
body[class*="browse"] #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Le wrapper du bandeau : collé sous la nav */
body[class*="browse"] header.ob-browse-header {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  text-align: center;
}

/* Eyebrow "— PARCOURIR LA COLLECTION —" : compact */
body[class*="browse"] header.ob-browse-header h1::before {
  content: "— PARCOURIR LA COLLECTION —" !important;
  display: block !important;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 9.5px !important;
  letter-spacing: 0.28em !important;
  color: #6B5B53 !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin: 0 0 6px 0 !important;
}

/* H1 "Parcourir les cartes" : 30px + marge bas = écart aéré vers meta */
body[class*="browse"] header.ob-browse-header h1 {
  font-family: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  color: #1A1614 !important;
  text-align: center !important;
  margin: 0 0 13px 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
}

/* "X objets trouvés" : italique fin, respire ~13px sous le H1 */
body[class*="browse"] header.ob-browse-header .ob-browse-meta {
  font-family: 'Lora', Georgia, serif !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: rgba(26,22,20,0.55) !important;
  opacity: 1 !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Air entre le bandeau et la grille (sidebar préservée) */
body[class*="browse"] .ob-browse-layout {
  margin-top: 28px !important;
}
body[class*="browse"] main .resource-list.ob-card-grid {
  margin-top: 0 !important;
}

/* =====================================================================
   Tour C : vignettes — image + chip ID + titre en bloc unifié
   ===================================================================== */
body[class*="browse"] .resource-list.ob-card-grid > li.item.resource > a {
  margin: 0 !important;
  padding: 0 !important;
}
body[class*="browse"] .resource-list.ob-card-grid > li.item.resource > a > img,
body[class*="browse"] .resource-list.ob-card-grid > li.item.resource img {
  margin-bottom: 0 !important;
  display: block !important;
}
body[class*="browse"] .resource-list.ob-card-grid .ob-card-ident {
  margin: 6px 0 0 0 !important;
  line-height: 1 !important;
}
body[class*="browse"] .resource-list.ob-card-grid .ob-card-title {
  padding: 4px 1rem 8px 1rem !important;
  margin: 0 !important;
  line-height: 1.18 !important;
}

/* Identifiant de pièce sous le H1 de la fiche show — discret, aligné avec le chip de la grille */
.ob-item-ident{
  font-family: 'Lora', Georgia, serif;
  font-size: 11.5px;
  font-style: italic;
  font-weight: 400;
  color: rgba(26,22,20,0.40);
  letter-spacing: 0;
  margin: -.25rem 0 1rem 0;
  text-align: left;
}

/* =====================================================================
   A) Vignettes — bloc image+chip+titre encore plus serré (3-4px)
   ===================================================================== */
body[class*="browse"] .resource-list.ob-card-grid .ob-card-ident {
  margin: 3px 0 0 0 !important;
  line-height: 1 !important;
  font-size: 10px !important;
}
body[class*="browse"] .resource-list.ob-card-grid .ob-card-title {
  padding: 3px 1rem 8px 1rem !important;
  margin: 0 !important;
  line-height: 1.18 !important;
}

/* =====================================================================
   B) Quicksearch — input unique discret sous le bandeau
   ===================================================================== */
body[class*="browse"] header.ob-browse-header .ob-browse-quicksearch {
  display: block;
  width: 100%;
  max-width: 480px;
  margin: 14px auto 0 !important;
  padding: 0 !important;
  text-align: center;
}
body[class*="browse"] header.ob-browse-header .ob-browse-quicksearch input[type="search"] {
  width: 100%;
  box-sizing: border-box;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  padding: 9px 38px 9px 14px !important;
  border: 0.5px solid rgba(26,22,20,0.20) !important;
  border-radius: 3px !important;
  background-color: rgba(255,255,255,0.72) !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231A1614' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7.5'/><line x1='20.5' y1='20.5' x2='16.65' y2='16.65'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  color: #1A1614 !important;
  box-shadow: none !important;
  max-width: none !important;
  height: auto !important;
  line-height: 1.35 !important;
}
body[class*="browse"] header.ob-browse-header .ob-browse-quicksearch input[type="search"]::placeholder {
  color: rgba(26,22,20,0.40);
  font-style: italic;
}
body[class*="browse"] header.ob-browse-header .ob-browse-quicksearch input[type="search"]:focus {
  outline: none;
  border-color: rgba(107,44,44,0.55) !important;
  background-color: #ffffff !important;
}

/* =====================================================================
   C) browse-controls (pagination + Created/Descending/Sort) — Lora italique muséal
   ===================================================================== */
body[class*="browse"] .browse-controls,
body[class*="browse"] .browse-controls * {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 13px !important;
  color: rgba(26,22,20,0.65) !important;
  opacity: 1 !important;
}
body[class*="browse"] .browse-controls,
body[class*="browse"] .browse-controls span,
body[class*="browse"] .browse-controls label {
  font-style: italic !important;
}
body[class*="browse"] .browse-controls select,
body[class*="browse"] .browse-controls input[type="text"],
body[class*="browse"] .browse-controls input[type="number"] {
  font-style: italic !important;
  padding: 3px 8px !important;
  border: 0.5px solid rgba(26,22,20,0.18) !important;
  background: transparent !important;
  border-radius: 3px !important;
  color: rgba(26,22,20,0.75) !important;
}
body[class*="browse"] .browse-controls button,
body[class*="browse"] .browse-controls input[type="submit"] {
  font-style: normal !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  background: transparent !important;
  border: 0.5px solid #6B2C2C !important;
  color: #6B2C2C !important;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  cursor: pointer;
}
body[class*="browse"] .browse-controls button:hover,
body[class*="browse"] .browse-controls input[type="submit"]:hover {
  background: rgba(107,44,44,0.07) !important;
}

/* =====================================================================
   A) Box "Filtres actifs" restylée — palette muséale
   ===================================================================== */
body[class*="browse"] .ob-active-filters {
  margin: 0 0 14px 0 !important;
  padding: 8px 12px !important;
  background: #F5EAE5 !important;
  border: 0.5px solid rgba(107,44,44,0.45) !important;
  border-radius: 3px !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  color: #1A1614 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  line-height: 1.4 !important;
}
body[class*="browse"] .ob-active-filters .lbl {
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 9.5px !important;
  letter-spacing: 0.28em !important;
  color: #6B5B53 !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin-right: 4px;
}
body[class*="browse"] .ob-active-filters .af-pill {
  display: inline-block;
  padding: 2px 9px;
  background: rgba(107,44,44,0.08);
  color: #6B2C2C;
  border-radius: 3px;
  font-style: italic;
  font-size: 12px;
}
body[class*="browse"] .ob-active-filters .af-results {
  margin-left: auto;
  font-style: italic;
  color: rgba(26,22,20,0.55);
  font-size: 12px;
}
body[class*="browse"] .ob-active-filters .reset {
  font-size: 11px !important;
  font-style: normal !important;
  color: #6B2C2C !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  margin-left: 8px !important;
  margin-top: 0 !important;
}
body[class*="browse"] .ob-active-filters .reset:hover {
  color: #1A1614 !important;
}

/* Lien "+" cumulatif sur chaque entrée de facette */
body[class*="browse"] .ob-facet-list .ob-facet-add {
  display: inline-block;
  margin-left: 6px;
  padding: 0 6px;
  font-size: 13px;
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
  color: rgba(107,44,44,0.55);
  border: 0.5px solid rgba(107,44,44,0.25);
  border-radius: 3px;
  text-decoration: none !important;
  line-height: 1.3;
  vertical-align: baseline;
  opacity: 0.7;
}
body[class*="browse"] .ob-facet-list .ob-facet-add:hover {
  opacity: 1;
  color: #6B2C2C;
  background: rgba(107,44,44,0.06);
  border-color: rgba(107,44,44,0.45);
}

/* Hint sous le quicksearch */
body[class*="browse"] header.ob-browse-header .ob-browse-quicksearch-hint {
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 11px;
  color: rgba(26,22,20,0.40);
  text-align: center;
  margin-top: 4px;
}

/* =====================================================================
   Sign-up UX — CTA sur login, nav, footer
   ===================================================================== */

/* 1) Login page : CTA "Pas encore de compte ? Créer un compte →" */
.ob-login-register-cta {
  margin-top: 20px;
  text-align: center;
  font-family: 'Lora', Georgia, serif;
  font-size: 15px;
  line-height: 1.5;
}
.ob-login-register-cta .ob-login-register-prompt {
  color: rgba(26,22,20,0.65);
  font-style: italic;
  margin-right: 6px;
}
.ob-login-register-cta .ob-login-register-link {
  color: #6B2C2C !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}
.ob-login-register-cta .ob-login-register-link:hover {
  color: #1A1614 !important;
  text-decoration: underline;
}
.ob-login-forgot {
  text-align: center;
  margin-top: 18px;
  font-size: 13px;
  font-family: 'Lora', Georgia, serif;
}
.ob-login-forgot a {
  color: rgba(26,22,20,0.55) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* 2) Header nav : "Créer un compte · Se connecter" en haut-droite (visible non-loggués) */
#ob-authlinks {
  position: absolute;
  top: 18px;
  right: 18px;
  font-family: 'Lora', Georgia, serif;
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
  z-index: 10;
}
#ob-authlinks .ob-auth-register,
#ob-authlinks .ob-auth-login {
  color: #6B2C2C !important;
  text-decoration: none;
  padding: 4px 10px;
  border: 0.5px solid rgba(107,44,44,0.35);
  border-radius: 3px;
  transition: background 0.15s ease;
}
#ob-authlinks .ob-auth-register {
  background: rgba(107,44,44,0.08);
}
#ob-authlinks .ob-auth-register:hover {
  background: rgba(107,44,44,0.16);
  color: #1A1614 !important;
}
#ob-authlinks .ob-auth-login:hover {
  background: rgba(107,44,44,0.06);
}
#ob-authlinks .ob-auth-sep {
  color: rgba(26,22,20,0.30);
}

/* 3) Footer : ligne discrète CTA inscription (non-loggués) */
.ob-footer-cta {
  margin: 12px 0 0 0;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 12.5px;
  color: rgba(26,22,20,0.55);
  text-align: center;
}
.ob-footer-cta a {
  color: #6B2C2C !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ob-footer-cta a:hover {
  color: #1A1614 !important;
}

/* ====== Footer — Informations légales (visibilité charte) ====== */
.ob-footer-legal {
  margin: 2rem auto 0;
  padding: 1.25rem 1rem 0;
  text-align: center;
  border-top: 0.5px solid rgba(107,44,44,0.18);
  max-width: 720px;
}
.ob-footer-legal h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 14px;
  color: #6B2C2C;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
}
.ob-footer-legal a {
  font-family: 'Lora', Georgia, serif;
  font-size: 13px;
  color: #6B2C2C;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 2px;
}
.ob-footer-legal a:hover {
  color: #1A1614;
}

/* ====== Pages légales et éditoriales — habillage charte ====== */
/* Cible le contenu des pages dont le slug est : mentions-legales, cgu,    */
/* cgv, confidentialite, terms-and-conditions (classe ob-doc-page injectée */
/* sur le <body> par layout.phtml).                                        */
.ob-doc-page #content {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.ob-doc-page #content .blocks > * {
  max-width: 100%;
}
.ob-doc-page #content h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 28px;
  color: #6B2C2C;
  letter-spacing: 0.02em;
  margin: 1.5rem 0 1rem;
  line-height: 1.25;
}
.ob-doc-page #content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 21px;
  color: #6B2C2C;
  margin: 2rem 0 0.75rem;
  padding-top: 1rem;
  border-top: 0.5px solid rgba(107,44,44,0.20);
  line-height: 1.3;
}
.ob-doc-page #content h2:first-child {
  border-top: 0;
  padding-top: 0;
  margin-top: 1rem;
}
.ob-doc-page #content h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 17px;
  color: #1A1614;
  margin: 1.5rem 0 0.5rem;
  line-height: 1.35;
}
.ob-doc-page #content p {
  font-family: 'Lora', Georgia, serif;
  font-size: 14.5px;
  line-height: 1.75;
  color: #1A1614;
  margin: 0.75rem 0;
}
.ob-doc-page #content ul,
.ob-doc-page #content ol {
  font-family: 'Lora', Georgia, serif;
  font-size: 14.5px;
  line-height: 1.75;
  color: #1A1614;
  padding-left: 1.5rem;
  margin: 0.75rem 0;
}
.ob-doc-page #content li {
  margin: 0.35rem 0;
}
.ob-doc-page #content a {
  color: #6B2C2C;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 2px;
}
.ob-doc-page #content a:hover {
  color: #1A1614;
}
.ob-doc-page #content strong {
  font-weight: 600;
  color: #1A1614;
}
.ob-doc-page #content em {
  color: #6B5B53;
}
.ob-doc-page #content table {
  width: 100%;
  font-family: 'Lora', Georgia, serif;
  font-size: 13.5px;
  border-collapse: collapse;
  margin: 1rem 0;
}
.ob-doc-page #content th {
  background: #F5EAE5;
  font-family: 'Lora', Georgia, serif;
  font-weight: 600;
  text-align: left;
  padding: 0.5rem 0.75rem;
  border: 0.5px solid rgba(107,44,44,0.20);
  color: #1A1614;
}
.ob-doc-page #content td {
  padding: 0.5rem 0.75rem;
  border: 0.5px solid rgba(107,44,44,0.15);
  vertical-align: top;
  color: #1A1614;
}

/* ====== Formulaire d'inscription — refonte UX ====== */
/* Override du layout legacy "label gauche / input droite" :                */
/* labels AU-DESSUS des inputs, case CGU pleine largeur avec checkbox       */
/* en ligne, neutralisation du triangle expand natif Omeka.                 */
/* Spécificité body.ob-guest-register form.ob-form-register = 3 classes →   */
/* bat le legacy body.ob-guest-register form[method="POST"] (2 classes).    */

/* --- Conteneur form --- */
body.ob-guest-register form.ob-form-register {
  max-width: 100% !important;
  margin: 0 !important;
  column-count: 1 !important;
}

/* --- Field : stack vertical --- */
body.ob-guest-register form.ob-form-register .field {
  display: block !important;
  margin: 0 0 1.25rem 0 !important;
  width: 100% !important;
  text-align: left !important;
}
body.ob-guest-register form.ob-form-register .field-meta {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}
body.ob-guest-register form.ob-form-register .inputs {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* --- Label au-dessus --- */
body.ob-guest-register form.ob-form-register .field-meta label {
  display: block !important;
  width: auto !important;
  margin: 0 0 0.4rem 0 !important;
  padding: 0 !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: 0.02em !important;
  color: #1A1614 !important;
  vertical-align: baseline !important;
}

/* --- Inputs pleine largeur --- */
body.ob-guest-register form.ob-form-register input[type="text"],
body.ob-guest-register form.ob-form-register input[type="email"],
body.ob-guest-register form.ob-form-register input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0.6rem 0.75rem !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14.5px !important;
  border: 1px solid rgba(107,44,44,0.25) !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  color: #1A1614 !important;
  margin: 0 !important;
}
body.ob-guest-register form.ob-form-register input[type="text"]:focus,
body.ob-guest-register form.ob-form-register input[type="email"]:focus,
body.ob-guest-register form.ob-form-register input[type="password"]:focus {
  outline: none !important;
  border-color: #6B2C2C !important;
  box-shadow: 0 0 0 2px rgba(107,44,44,0.10) !important;
  background: #fefefe !important;
}

/* --- Case CGU : checkbox + label pleine largeur, en ligne --- */
/* Reverse order : DOM = label-then-checkbox ; UI = checkbox-then-label.    */
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0.6rem !important;
  padding: 0.25rem 0 !important;
}
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) .inputs {
  order: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  padding-top: 0.15rem !important;
}
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) .field-meta {
  order: 1 !important;
  flex: 1 1 auto !important;
  width: auto !important;
}
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) .field-meta label {
  display: block !important;
  margin: 0 !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #1A1614 !important;
  letter-spacing: 0 !important;
}
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) .field-meta label a {
  color: #6B2C2C !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.5px !important;
  text-underline-offset: 2px !important;
}
body.ob-guest-register form.ob-form-register .field:has(#guest_agreed_terms) .field-meta label a:hover {
  color: #1A1614 !important;
}
body.ob-guest-register form.ob-form-register input#guest_agreed_terms {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  accent-color: #6B2C2C !important;
  cursor: pointer !important;
  transform: none !important;
}

/* --- Neutraliser le triangle expand + le bloc collapsible (règles mdp) --- */
body.ob-guest-register form.ob-form-register a.expand,
body.ob-guest-register form.ob-form-register .collapsible,
body.ob-guest-register form.ob-form-register .field-meta .expand,
body.ob-guest-register form.ob-form-register .field-meta .collapsible {
  display: none !important;
}
body.ob-guest-register form.ob-form-register a.expand::before,
body.ob-guest-register form.ob-form-register a.expand::after {
  content: none !important;
  display: none !important;
}

/* --- Submit : largeur contenue dans le conteneur 560px --- */
body.ob-guest-register form.ob-form-register button[type="submit"],
body.ob-guest-register form.ob-form-register input[type="submit"] {
  margin-left: 0 !important;
  max-width: 100% !important;
}

/* --- Captcha math : harmoniser typo du label à 14px Lora --- */
body.ob-guest-register form.ob-form-register .obli-captcha label {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14px !important;
  font-style: normal !important;
}

/* ====== Indicateur statut utilisateur ====== */
/* Bloc en haut à droite du header, sur la même ligne que le titre.        */
/* Mode anonyme : silhouette grisée + liens Se connecter · S'inscrire.     */
/* Mode connecté : bouton "Bonjour X ▾" qui ouvre un menu déroulant.       */

header { position: relative; }

.ob-user-status {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.25rem;
  font-family: 'Lora', Georgia, serif;
  font-size: 13.5px;
  color: #1A1614;
  line-height: 1.2;
  z-index: 60;
}

.ob-user-status .ob-user-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #6B2C2C;
}
.ob-user-status .ob-user-icon.ob-user-icon-anon {
  color: #6B5B53;
}
.ob-user-status .ob-user-icon svg {
  width: 100%;
  height: 100%;
}

.ob-user-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem;
  background: transparent;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  font: inherit;
  color: inherit;
  line-height: 1.2;
}
.ob-user-trigger:hover,
.ob-user-trigger:focus-visible {
  background: #F5EAE5;
  outline: none;
}

.ob-user-label {
  font-weight: 500;
  color: #6B2C2C;
}

.ob-user-caret {
  display: inline-block;
  opacity: 0.6;
  transition: transform 0.15s ease;
  font-size: 0.85em;
}
.ob-user-trigger[aria-expanded="true"] .ob-user-caret {
  transform: rotate(180deg);
}

.ob-user-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  margin: 0;
  padding: 0.4rem 0;
  list-style: none;
  background: #ffffff;
  box-shadow: 0 8px 24px -8px rgba(26,22,20,0.25);
  border: 0.5px solid rgba(107,44,44,0.15);
  border-radius: 4px;
  min-width: 180px;
  z-index: 70;
}
.ob-user-menu[hidden] { display: none; }
.ob-user-menu li { margin: 0; padding: 0; }
.ob-user-menu li a {
  display: block;
  padding: 0.5rem 1rem;
  font-family: 'Lora', Georgia, serif;
  font-size: 14px;
  color: #1A1614;
  text-decoration: none;
  white-space: nowrap;
}
.ob-user-menu li a:hover,
.ob-user-menu li a:focus-visible {
  background: #F5EAE5;
  color: #6B2C2C;
  outline: none;
}

.ob-user-login,
.ob-user-register {
  color: #6B2C2C;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 2px;
}
.ob-user-login:hover,
.ob-user-register:hover {
  color: #1A1614;
}
.ob-user-sep {
  opacity: 0.4;
}

@media (max-width: 640px) {
  .ob-user-status {
    top: 0.4rem;
    right: 0.4rem;
    font-size: 12.5px;
    padding: 0.3rem 0.2rem;
  }
  .ob-user-label { display: none; }
}

/* ====== Teaser visuel — CTA d'inscription sous l'image ====== */
/* Affiché uniquement aux anonymes (rendu conditionné dans show.phtml).    */
.ob-image-cta {
  max-width: 540px;
  margin: 1.5rem auto;
  padding: 1.5rem 1.75rem;
  background: #F5EAE5;
  border-radius: 4px;
  border-left: 3px solid #6B2C2C;
  text-align: center;
}
.ob-image-cta-headline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  color: #6B2C2C;
  margin: 0 0 0.5rem;
  letter-spacing: 0.01em;
}
.ob-image-cta-body {
  font-family: 'Lora', Georgia, serif;
  font-size: 14px;
  line-height: 1.6;
  color: #1A1614;
  margin: 0 0 1.25rem;
}
.ob-image-cta-row {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}
.ob-image-cta .ob-cta {
  display: inline-block;
  padding: 0.7rem 1.5rem;
  font-family: 'Lora', Georgia, serif;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 3px;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
  cursor: pointer;
}
.ob-image-cta .ob-cta-primary {
  background: #6B2C2C;
  color: #F5EAE5;
  border: 0.5px solid #6B2C2C;
}
.ob-image-cta .ob-cta-primary:hover,
.ob-image-cta .ob-cta-primary:focus-visible {
  background: #1A1614;
  border-color: #1A1614;
  color: #F5EAE5;
  outline: none;
}
.ob-image-cta .ob-cta-secondary {
  background: transparent;
  color: #1A1614;
  border: 0.5px solid #1A1614;
}
.ob-image-cta .ob-cta-secondary:hover,
.ob-image-cta .ob-cta-secondary:focus-visible {
  background: rgba(26,22,20,0.05);
  outline: none;
}

/* ====== Teaser visuel — copy engageante (mention + headline + browse welcome) ====== */

.ob-image-cta-mention {
  font-family: 'Lora', Georgia, serif;
  font-size: 12.5px;
  font-style: italic;
  color: #6B5B53;
  margin: 0.75rem 0 0;
  text-align: center;
}

.ob-engage-anon .ob-engage-headline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 17px;
  color: #6B2C2C;
  margin: 0 0 0.5rem;
}
.ob-engage-anon .ob-engage-actions {
  margin: 0.75rem 0 0;
}
.ob-engage-anon .ob-engage-actions a {
  color: #6B2C2C;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 2px;
}
.ob-engage-anon .ob-engage-actions a:hover { color: #1A1614; }
.ob-engage-anon .ob-engage-actions .ob-engage-sep { opacity: 0.4; margin: 0 0.3em; }

.ob-browse-welcome {
  max-width: 760px;
  margin: 1rem auto 1.5rem;
  padding: 0.9rem 1.25rem;
  background: rgba(245, 234, 229, 0.45);
  border-left: 2px solid #6B2C2C;
  border-radius: 0 3px 3px 0;
}
.ob-browse-welcome p {
  margin: 0;
  font-family: 'Lora', Georgia, serif;
  font-size: 13.5px;
  line-height: 1.55;
  color: #6B5B53;
  font-style: italic;
}
.ob-browse-welcome a {
  color: #6B2C2C;
  font-style: normal;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 2px;
}
.ob-browse-welcome a:hover { color: #1A1614; }

/* ====== Case CGU refactor radical (post-diagnostic 2026-05-28) ====== */
/* Rendu manuel hors `formCollection()` dans `<div id="ob-cgu-block">`.   */
/* Spécificité ID (#) bat les règles Omeka core `.field-meta { width:30% }*/
/* et `.inputs { width:70% }` sans avoir besoin de la classe body.        */

#ob-cgu-block {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 1.5rem 0 !important;
  padding: 1rem 1.25rem !important;
  background: rgba(245, 234, 229, 0.55) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
}
#ob-cgu-block input[type="checkbox"],
#ob-cgu-block input[type="hidden"] + input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0.25rem 0 0 !important;
  accent-color: #6B2C2C !important;
  cursor: pointer !important;
}
#ob-cgu-block label {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #1A1614 !important;
  text-align: left !important;
  display: block !important;
}
#ob-cgu-block label a {
  color: #6B2C2C !important;
  text-decoration: underline !important;
  text-decoration-thickness: 0.5px !important;
  text-underline-offset: 2px !important;
  font-style: normal !important;
  font-weight: 500 !important;
}
#ob-cgu-block label a:hover { color: #1A1614 !important; }

/* ====== Neutralisation pseudo-element ::after rouge + expand/collapsible Omeka core ====== */
/* Cause : Omeka core `style.css` pose .field-meta::after avec content       */
/* Font Awesome rouge (#a91919) ET .field-meta .expand { display:inline-block*/
/* !important }. Notre form `ob-form-register` les neutralise sans dépendre  */
/* de la classe body.                                                        */

form.ob-form-register .field-meta::after,
.ob-reg-form .field-meta::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
}
form.ob-form-register a.expand,
form.ob-form-register .collapsible,
form.ob-form-register .field-meta .expand,
form.ob-form-register .field-meta .collapse,
form.ob-form-register .field-description,
.ob-reg-form a.expand,
.ob-reg-form .collapsible,
.ob-reg-form .field-meta .expand,
.ob-reg-form .field-description {
  display: none !important;
  visibility: hidden !important;
}

/* ====== Layout fields : neutraliser Omeka core .field-meta {width:30%} .inputs {width:70%} ====== */
/* Tous les champs (sauf #ob-cgu-block déjà géré) doivent stack verticalement */
/* dans le form de l'inscription. Spec form.ob-form-register .field-meta = 0,0,2,2 */
/* + !important ⇒ bat .field-meta {width:30%} (spec 0,0,1,0).                   */

form.ob-form-register .field-meta,
.ob-reg-form .field-meta {
  width: 100% !important;
  display: block !important;
  padding-right: 0 !important;
}
form.ob-form-register .inputs,
.ob-reg-form .inputs {
  width: 100% !important;
  display: block !important;
  line-height: 1.4 !important;
}
form.ob-form-register .field-meta label,
.ob-reg-form .field-meta label {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}

/* ====== Fix lisibilité bouton CTA primary ====== */
/* Override : texte blanc + bold sur fond bordeaux #6B2C2C (gardé)         */
/* Cible exclusivement .ob-cta-primary dans .ob-image-cta — n'affecte ni  */
/* la secondary ni les éventuels autres .ob-cta hors de ce bloc.          */
.ob-image-cta .ob-cta-primary,
.ob-image-cta a.ob-cta-primary {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}
.ob-image-cta .ob-cta-primary:hover,
.ob-image-cta .ob-cta-primary:focus-visible,
.ob-image-cta a.ob-cta-primary:hover,
.ob-image-cta a.ob-cta-primary:focus-visible {
  color: #FFFFFF !important;
}

/* ====== Bandeau Première parution accueil ====== */
/* Rendu en tête de la page d'accueil (themes/oblitarium/view/common/      */
/* oblitarium/home.phtml) pour mettre en avant la première parution        */
/* éditoriale d'OBLITARIUM (décret Ahmad Bey 1846).                        */

.ob-premiere-parution {
  max-width: 760px;
  margin: 2.5rem auto 1.5rem;
  padding: 1.75rem 2rem;
  background: #6B2C2C;
  color: #F5EAE5;
  border-radius: 4px;
  text-align: center;
  box-shadow: 0 8px 24px -10px rgba(26,22,20,0.25);
}
.ob-premiere-parution .ob-pp-label {
  font-family: 'Lora', Georgia, serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #F5EAE5;
  opacity: 0.7;
  margin: 0 0 0.5rem;
}
.ob-premiere-parution .ob-pp-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.2;
  color: #F5EAE5;
  margin: 0 0 0.35rem;
  letter-spacing: 0.005em;
}
.ob-premiere-parution .ob-pp-subtitle {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  color: #F5EAE5;
  opacity: 0.85;
  margin: 0 0 1.25rem;
}
.ob-premiere-parution .ob-pp-cta {
  display: inline-block;
  background: transparent;
  border: 1px solid #F5EAE5;
  color: #F5EAE5 !important;
  padding: 0.6rem 1.5rem;
  font-family: 'Lora', Georgia, serif;
  font-size: 13px;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-decoration: none;
  border-radius: 3px;
  transition: background 0.15s ease, color 0.15s ease;
}
.ob-premiere-parution .ob-pp-cta:hover,
.ob-premiere-parution .ob-pp-cta:focus-visible {
  background: #F5EAE5;
  color: #6B2C2C !important;
  outline: none;
}

@media (max-width: 640px) {
  .ob-premiere-parution { padding: 1.25rem 1.25rem; margin: 1.5rem 1rem; }
  .ob-premiere-parution .ob-pp-title { font-size: 22px; }
  .ob-premiere-parution .ob-pp-subtitle { font-size: 15px; }
}
