/* Sprint 3 — CSS support pour le panneau de proprietes des blocs.
   Visibility responsive + base animations + parallax target. */

/* Responsive visibility — keep ATOMIC to avoid clashing with site CSS */
@media (max-width: 639px) {
  .pgrg-hide-mobile { display: none !important; }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .pgrg-hide-tablet { display: none !important; }
}
@media (min-width: 1024px) {
  .pgrg-hide-desktop { display: none !important; }
}

/* Heading typography override (via CSS vars on the wrapper) */
.pgrg-block-settings h1,
.pgrg-block-settings h2,
.pgrg-block-settings h3 {
  font-family: var(--pgrg-block-heading-font, inherit);
  font-weight: var(--pgrg-block-heading-weight, inherit);
}
.pgrg-block-settings h1 { font-size: var(--pgrg-block-heading-size, inherit); }
.pgrg-block-settings h2 { font-size: calc(var(--pgrg-block-heading-size, 40px) * 0.85); }
.pgrg-block-settings h3 { font-size: calc(var(--pgrg-block-heading-size, 40px) * 0.65); }

.pgrg-block-settings { color: var(--pgrg-block-text, inherit); }

/* Accent override (some templates use --accent or palette variable) */
.pgrg-block-settings[style*="--pgrg-block-accent"] .btn-accent,
.pgrg-block-settings[style*="--pgrg-block-accent"] [style*="--accent"] {
  /* nothing automatic — templates that want override can read --pgrg-block-accent */
}

/* Entrance animations — applied via JS observer below */
[data-pgrg-entrance] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
[data-pgrg-entrance="fade"]        { transform: none; }
[data-pgrg-entrance="fade-up"]     { transform: translate3d(0, 24px, 0); }
[data-pgrg-entrance="fade-down"]   { transform: translate3d(0, -24px, 0); }
[data-pgrg-entrance="slide-up"]    { transform: translate3d(0, 48px, 0); }
[data-pgrg-entrance="slide-left"]  { transform: translate3d(48px, 0, 0); }
[data-pgrg-entrance="slide-right"] { transform: translate3d(-48px, 0, 0); }
[data-pgrg-entrance="zoom-in"]     { transform: scale(0.92); }
[data-pgrg-entrance="zoom-out"]    { transform: scale(1.08); }
[data-pgrg-entrance="rotate-in"]   { transform: rotate(-3deg) scale(0.96); }

[data-pgrg-entrance].pgrg-revealed {
  opacity: 1;
  transform: none;
}

/* Parallax helper — JS sets transform on data-pgrg-parallax="1" */
[data-pgrg-parallax="1"] {
  will-change: background-position;
}

@media (prefers-reduced-motion: reduce) {
  [data-pgrg-entrance] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  [data-pgrg-parallax="1"] { background-attachment: scroll !important; }
}
