/* Feuille de la vitrine publique, chargee APRES extranet.css par
   base_public.html SEULEMENT : le back-office et l'extranet (outils)
   gardent leurs filets, ces regles ne les atteignent jamais. */

/* ===== Relief des cartes (lot ombres-vitrine, 09/09/2026) =====
   Ombre OU bordure, jamais les deux : la carte vitrine perd son filet
   (bordure transparente, pas retiree : la boite garde sa taille) et gagne
   une ombre. DEUX couches par ombre, jamais une seule : une couche unique
   fait un effet de decalque ; la courte assoit la carte, la longue la
   decolle du fond.
   Le survol (levee) ne vaut QUE pour les cartes CLIQUABLES : la classe
   .carte-lien est posee par le gabarit quand la carte mene a une fiche.
   Une carte inerte (sessions de la fiche) porte l'ombre au repos et ne se
   souleve pas — sinon elle promet une action qui n'existe pas.
   Mode sombre futur : remplacer ces ombres par des bordures claires ICI,
   et seulement ici — c'est la raison de l'endroit unique. */
.sess-card,
.sess-card:hover { border-color: transparent; }
.sess-card,
.fiche-photo {
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 0, 0, .06);
}
/* La photo de fiche partage la MEME ombre que les cartes (jamais dupliquer
   la valeur, sinon divergence visible : cartes et photo cohabitent a
   l'ecran). Pas de transition ni de survol : la photo n'est pas cliquable,
   une levee promettrait une action inexistante. */
.sess-card {
  transition: box-shadow .18s ease, transform .18s ease;
}
.sess-card.carte-lien:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 8px 24px rgba(0, 0, 0, .10);
  transform: translateY(-2px);
}

/* Fiche : « Jour N » (h4) colle a ses puces — le margin-top navigateur du
   ul (1em) creusait un vide entre le titre du jour et son contenu. */
h4 + ul { margin-top: 0; }

/* ===== Charte de l'organisme (lot couleur-logo, 09/09/2026) =====
   Les variables --pub-* sont DERIVEES en un seul endroit
   (app/services/charte_vitrine.py : encre de bouton calculee au contraste,
   lien assombri jusqu'a l'AA) et posees sur <html> par base_public.html.
   Couleur vide en base : aucune variable posee, chaque var() retombe sur
   sa valeur par defaut — la valeur actuelle d'extranet.css, rendu
   strictement identique. Jamais une couleur recopiee dans une regle. */
a { color: var(--pub-lien, var(--lc-orange-dark)); }
.btn, button {
  background: var(--pub-accent, var(--lc-orange));
  color: var(--pub-accent-encre, #fff);
}
.btn:hover, button:hover { background: var(--pub-accent-survol, var(--lc-orange-dark)); }

/* Logo vitrine en tete (lot couleur-logo) : bandeau NEUTRE, aucun aplat
   colore derriere. 40px, 32px sous 560px (carre garanti au depot). */
.x-logo { width: 40px; height: 40px; object-fit: contain; flex: none; }
@media (max-width: 560px) {
  .x-logo { width: 32px; height: 32px; }
}

/* ===== Motif de vagues (lot fond-page-unique, 10/09/2026) =====
   Fond de page UNIQUE, sans interruption, derriere tout le contenu des
   3 ecrans publics — pose sur .x-shell par base_public.html (une seule
   instance, pas une par section). Le texte et les cartes flottent dessus
   (z-index sur .x-top et .x-body). Retire du bandeau (halo confus sur
   l'ardoise) et de l'en-tete de fiche (coupure nette qui ressemblait a
   une erreur) — brief 10/09. Opacites baissees (aplats 4,5-5 %, filet
   18 %) : sur une hauteur de page entiere, ce qui passait sur une bande
   devient trop present.
   .x-shell etire l'SVG sur toute sa hauteur (position:absolute + inset:0,
   preserveAspectRatio="none" cote SVG) — pas de background-attachment:
   fixed, qui ferait glisser le motif sous le texte au defilement. Les
   courbes se deformeront un peu sur une page longue (fiche = jusqu'a
   dix jours de contenu) : assume, c'est decoratif.
   Couleur : currentColor herite de --pub-accent (defaut --lc-orange) —
   jamais recalculee ici, sinon le motif divergerait de la charte. */
/* position:relative ancre le SVG en absolute:inset:0. PAS d'overflow:hidden :
   il rendrait `.x-top { position: sticky }` (extranet.css) inoperant en
   creant un scroll container non defilable. Le SVG reste dans la boite
   par construction (inset:0 + paths bornes au viewBox). */
.x-shell { position: relative; }
.x-shell > .x-top, .x-shell > .x-body { position: relative; z-index: 1; }
.motif-vagues {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  color: var(--pub-accent, var(--lc-orange));
  z-index: 0;
}
