/* Sidebar de la galerie : un seul style de titre, un seul rythme de sections,
   une seule vignette (contour des cartes photo), et un rendu responsive défini (desktop / tablette / mobile).
   « À découvrir » garde son propre style et ses marges (photo-discovery.css), ainsi que
   l'espace sous « Autres découvertes ». « Rechercher » est un titre de section dont
   Emplacements, Styles et Motifs sont les sous-blocs (comme Nouveautés / Populaires).
   Portée : uniquement la sidebar qui commence par le tri (.gallery-sort), donc
   les autres pages utilisant .tg-sidebar (favoris, suivis) ne changent pas. */

.tg-sidebar:has(> .gallery-sort) {
  --gs-edge: var(--st-edge, #43230a);
  --gs-muted: var(--st-muted, #e8c394);
  --gs-gap: 1rem;
}

/* --- Rythme : toutes les sections ont la même séparation ------------------ */
.tg-sidebar:has(> .gallery-sort) > .gallery-sort { margin: 0 0 var(--gs-gap); }
.tg-sidebar:has(> .gallery-sort) > .gallery-placement-section,
.tg-sidebar:has(> .gallery-sort) .taxonomy-sidebar--gallery .taxonomy-sidebar__group,
.tg-sidebar:has(> .gallery-sort) > .tg-side-section {
  margin: 0;
  padding: var(--gs-gap) 0;
  border-top: 1px solid var(--gs-edge);
}

/* --- Titres : même police, taille, couleur et icône ---------------------- */
.tg-sidebar:has(> .gallery-sort) :is(
  .gallery-placement-heading,
  .taxonomy-sidebar__heading,
  .tg-side-section > h3
) {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .65rem;
  font: 600 .88rem/1.4 'Work Sans', Arial, sans-serif;
  color: var(--gs-muted);
}
.tg-sidebar:has(> .gallery-sort) :is(
  .gallery-placement-heading,
  .taxonomy-sidebar__heading,
  .tg-side-section > h3
) :is(.ui-icon, .tg-icon) {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: var(--st-muted, #d5a35c);
}

/* --- « Rechercher » : titre de section (style repris de l'ancien « Emplacements ») ------ */
.tg-sidebar:has(> .gallery-sort) > .gallery-search-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 .65rem;
  font-size: 1.1rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--st-ink, #fff0e2);
}
.tg-sidebar:has(> .gallery-sort) > .gallery-search-heading .ui-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--st-accent, #bb855c);
}
.tg-sidebar:has(> .gallery-sort) .gallery-placement-section .placement-public-card { margin-bottom: 0; }

/* --- Vignettes et lignes : identiques studios / photos -------------------- */
.tg-sidebar:has(> .gallery-sort) .tg-side-row .tg-side-thumb {
  box-sizing: border-box;
  display: block;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 1px;
  /* Même contour que les cartes photo de la galerie (.tg-card) : --st-edge, --st-highlight au survol. */
  border: 1px solid var(--st-edge, #43230a);
  border-radius: 9px;
  background: var(--st-panel, #28180f);
  object-fit: cover;
  transition: border-color .2s;
}
.tg-sidebar:has(> .gallery-sort) .tg-side-row:is(:hover, :focus-visible) .tg-side-thumb {
  border-color: var(--st-highlight, #ff9a4d);
}
.tg-sidebar:has(> .gallery-sort) .tg-side-row .tg-side-initial {
  display: grid;
  place-items: center;
  font: 600 20px/1 'Playfair Display', Georgia, serif;
  color: var(--st-accent, #ff7508);
}
.tg-sidebar:has(> .gallery-sort) .tg-side-row {
  justify-content: flex-start;
  gap: 10px;
  padding: .42rem 0;
}
.tg-sidebar:has(> .gallery-sort) .tg-side-details strong {
  font-size: .82rem;
  line-height: 1.4;
  font-weight: 600;
}
.tg-sidebar:has(> .gallery-sort) .tg-side-details small {
  font-size: .72rem;
  line-height: 1.3;
  color: var(--st-muted, #bca58e);
}

/* --- Tablette : grille à 2 colonnes, ordre lisible ------------------------ */
@media (max-width: 950px) {
  .tg-sidebar:has(> .gallery-sort) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.5rem;
    align-content: start;
  }
  .tg-sidebar:has(> .gallery-sort) > .gallery-sort,
  .tg-sidebar:has(> .gallery-sort) > .gallery-search-heading,
  .tg-sidebar:has(> .gallery-sort) > .photo-discovery-card,
  .tg-sidebar:has(> .gallery-sort) > .gallery-recent-searches,
  /* pas de voisin à côté : la section prend toute la largeur */
  .tg-sidebar:has(> .gallery-sort) > .gallery-placement-section:not(:has(+ .taxonomy-sidebar--gallery)) {
    grid-column: 1 / -1;
  }
  .tg-sidebar:has(> .gallery-sort) > .taxonomy-sidebar--gallery {
    grid-column: auto;
    border-top: 0;
    align-self: start;
  }
  /* Blocs « À découvrir » côte à côte tant qu'il y a la place. */
  .tg-sidebar:has(> .gallery-sort) .photo-discovery-card [data-discovery-content] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 0 1.5rem;
  }
}

/* --- Mobile : une colonne, cibles tactiles confortables ------------------- */
@media (max-width: 600px) {
  .tg-sidebar:has(> .gallery-sort) { display: block; padding: 1rem; }
}
@media (pointer: coarse) {
  .tg-sidebar:has(> .gallery-sort) .gallery-sort :is(select, button) { min-height: 44px; }
  .tg-sidebar:has(> .gallery-sort) .taxonomy-sidebar__link { padding-block: .4rem; }
  .tg-sidebar:has(> .gallery-sort) .recent-search-list > li > a.keyword-label { padding-block: .35rem; }
}
