/* grain.css — Quartiers Antispécistes (v3)
   Bruit bidirectionnel, vrai <div class="qa-grain"> injecté en 1er enfant de
   <body>. Plus robuste que body::after (Safari notamment).

   Exclusions :
   - header { z-index: 200 (400 sur acteurs-locaux) } > grain (z-index: 100)
   - #flower-wrap { z-index: 300 } > grain (via patch inline dans index.html)

   Variable unique pour le dosage : --qa-grain-opacity.
*/
:root {
  --qa-grain-opacity: 0.297;
}

.qa-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: var(--qa-grain-opacity);
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch' seed='7'/><feColorMatrix type='matrix' values='1 0 0 0 0  1 0 0 0 0  1 0 0 0 0  0 0 0 0 1'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 200px 200px;
  background-repeat: repeat;
  will-change: transform;
}

/* Retina : un cran plus léger (perception densifiée sur haute densité). */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  :root { --qa-grain-opacity: 0.234; }
}

/* Impression : pas de grain au papier. */
@media print {
  .qa-grain { display: none; }
}

/* Footer partner logo shared by the duplicated static footers. */
.site-footer-partner-band {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 40px 26px;
  background: var(--white, #fffdf8);
  line-height: 0;
  text-align: center;
}

.site-footer-partner-band.partner-on-color {
  background: var(--violet, #6664e6);
}

.site-footer-partner-band.partner-on-surface {
  background: var(--surface, var(--white, #fffdf8));
  padding: 26px 40px;
}

.site-footer-partner-logo {
  display: block;
  width: auto;
  height: 19.8px;
}

.site-footer-partner-logo-white {
  display: none;
}

.site-footer-partner-band.partner-on-color .site-footer-partner-logo-violet {
  display: none;
}

.site-footer-partner-band.partner-on-color .site-footer-partner-logo-white {
  display: block;
}

@media (max-width: 560px) {
  .site-footer-partner-band {
    padding: 12px 20px 24px;
  }

  .site-footer-partner-band.partner-on-surface {
    padding: 24px 20px;
  }

  .site-footer-partner-logo {
    height: 17.6px;
  }
}
