/* Flocon en papier */
.o-flocon-papier-ciseaux { border-top: 0; padding-top: 0; }
.atelier .o-flocon-papier-ciseaux .btn[aria-pressed="true"] { background: var(--marque); color: var(--sur-marque); border-color: var(--marque); }
.o-flocon-papier-icone { display: inline-block; width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; background: currentColor; }
.o-flocon-papier-icone-libre { clip-path: polygon(10% 60%, 30% 10%, 60% 30%, 90% 15%, 80% 80%, 40% 90%); }
.o-flocon-papier-icone-triangle { clip-path: polygon(50% 5%, 95% 95%, 5% 95%); }
.o-flocon-papier-icone-demi { clip-path: ellipse(50% 100% at 50% 100%); height: 8px; vertical-align: 1px; }
.o-flocon-papier-icone-losange { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.o-flocon-papier-actions, .o-flocon-papier-export { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px; }
.o-flocon-papier-resume { display: block; font-weight: 600; min-height: 1.4em; }

.o-flocon-papier-scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
.o-flocon-papier-scene { margin: 0; min-width: 0; }
.o-flocon-papier-scene figcaption { font-weight: 600; font-size: .95rem; margin-bottom: 6px; color: var(--texte-2); }
.o-flocon-papier-toile { display: block; width: 100%; aspect-ratio: 1; height: auto; border-radius: var(--rayon-petit);
  background: radial-gradient(circle at 50% 40%, #24507a, #12283f); border: 1px solid var(--bord); }
.o-flocon-papier-plie { cursor: crosshair; touch-action: none; user-select: none; -webkit-user-select: none; }
.o-flocon-papier .tirage-astuce { text-align: center; }

.o-flocon-papier-titre { margin: 22px 0 10px; font-size: 1.05rem; }
.o-flocon-papier-galerie { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.o-flocon-papier-modele { padding: 4px; border: 1px solid var(--bord); border-radius: var(--rayon-petit); background: radial-gradient(circle at 50% 40%, #24507a, #12283f); cursor: pointer; }
.o-flocon-papier-modele canvas { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.o-flocon-papier-modele:hover { border-color: var(--marque); }
.o-flocon-papier-modele:focus-visible { outline: 3px solid var(--marque-fort); outline-offset: 2px; }

.o-flocon-papier-schema { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; list-style: none; counter-reset: etape; }
.o-flocon-papier-schema li { counter-increment: etape; flex: 1 1 120px; max-width: 160px; font-size: .88rem; color: var(--texte-2); }
.o-flocon-papier-schema li::before { content: counter(etape); display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: var(--marque); color: var(--sur-marque); font-weight: 700; font-size: .8rem; }
.o-flocon-papier-vignette { color: var(--texte); margin: 4px 0; }
.o-flocon-papier-vignette svg { display: block; width: 100%; max-width: 110px; height: auto; }

@media (max-width: 700px) {
  .o-flocon-papier-scenes { grid-template-columns: minmax(0, 1fr); }
  .o-flocon-papier-galerie { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .o-flocon-papier-schema li { flex-basis: 40%; }
}
@media (prefers-reduced-motion: reduce) { .o-flocon-papier * { transition: none !important; } }

/* Impression : A4 portrait, gabarit puis flocon déplié */
.o-flocon-papier .o-flocon-papier-impression { display: none; }
@media print {
  @page { size: A4 portrait; margin: 12mm; }
  body:has(.o-flocon-papier-impression) *:not(:has(.o-flocon-papier-impression)):not(.o-flocon-papier-impression):not(.o-flocon-papier-impression *) { display: none !important; }
  html:has(.o-flocon-papier-impression), body:has(.o-flocon-papier-impression), body:has(.o-flocon-papier-impression) *:has(.o-flocon-papier-impression) {
    display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: #fff !important;
    box-shadow: none !important; width: auto !important; max-width: none !important; min-height: 0 !important; height: auto !important;
    position: static !important; overflow: visible !important; color: #000 !important;
  }
  .o-flocon-papier .o-flocon-papier-impression { display: block !important; color: #000; font-family: var(--police); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .o-flocon-papier-impression .o-flocon-papier-feuille { text-align: center; break-inside: avoid; }
  .o-flocon-papier-impression .o-flocon-papier-feuille-2 { break-before: page; }
  .o-flocon-papier-impression h2 { margin: 0 0 5mm; font-size: 15pt; color: #000; }
  .o-flocon-papier-impression p { margin: 3mm auto; max-width: 170mm; font-size: 10pt; color: #000; }
  .o-flocon-papier-impression .o-flocon-papier-schema { justify-content: center; gap: 3mm; margin-bottom: 5mm; }
  .o-flocon-papier-impression .o-flocon-papier-schema li { flex: 0 0 26mm; max-width: 26mm; font-size: 7pt; color: #000; text-align: left; }
  .o-flocon-papier-impression .o-flocon-papier-vignette { color: #000; }
  .o-flocon-papier-impression .o-flocon-papier-vignette svg { width: 24mm; height: 24mm; }
  .o-flocon-papier-impression .o-flocon-papier-gabarit, .o-flocon-papier-impression svg { display: block; margin: 0 auto; }
}
