/* CC Motion v1.0.0: brandbook 08. Le regole opzionali si accendono con le classi body.cc-m-*. */
:root{
  --cc-motion-micro:200ms;
  --cc-motion-panel:350ms;
  --cc-motion-enter:450ms;
  --cc-ease:cubic-bezier(.22,1,.36,1);
  --cc-ease-soft:ease;
}
/* Micro: colore su bottoni, link nav, pill, chip. Transform solo dove serve. */
.cc-btn,.cc-pill,.cc-chip,.cc-nav a,.cc-lang a,.cc-footer a,.cc-card,.cc-pfiles__card{
  transition:background var(--cc-motion-micro) var(--cc-ease-soft),color var(--cc-motion-micro) var(--cc-ease-soft),border-color var(--cc-motion-micro) var(--cc-ease-soft),transform var(--cc-motion-micro) var(--cc-ease),box-shadow var(--cc-motion-micro) var(--cc-ease-soft)}
/* Card lift */
body.cc-m-card-lift .cc-card:hover,body.cc-m-card-lift .cc-pfiles__card:hover{transform:translateY(-2px)}
body:not(.cc-m-card-lift) .cc-pfiles__card:hover{transform:none;box-shadow:var(--cc-shadow-card)}
/* Pannelli: menu mobile, accordion, tab, lightbox */
.cc-menu,.cc-drawer{transition:transform var(--cc-motion-panel) var(--cc-ease),opacity var(--cc-motion-panel) var(--cc-ease-soft)}
.cc-drawer__backdrop{transition:opacity var(--cc-motion-panel) var(--cc-ease-soft)}
.cc-accordion__panel{transition:height var(--cc-motion-panel) var(--cc-ease);overflow:hidden}
/* Enter: alert dopo invio form, toast, modale */
@keyframes cc-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.cc-m-alert-enter .cc-alert,body.cc-m-alert-enter .cc-toast,body.cc-m-alert-enter .cc-modal__box{animation:cc-enter var(--cc-motion-enter) var(--cc-ease) both}
/* Immagini: fade-in al caricamento */
body.cc-m-img-fade .cc-frame img,body.cc-m-img-fade .cc-card img,body.cc-m-img-fade .cc-hero__bg img,body.cc-m-img-fade .cc-product-frame img{opacity:0;transition:opacity var(--cc-motion-micro) var(--cc-ease-soft)}
body.cc-m-img-fade img.is-loaded,body.cc-m-img-fade .cc-frame img.is-loaded,body.cc-m-img-fade .cc-card img.is-loaded,body.cc-m-img-fade .cc-hero__bg img.is-loaded,body.cc-m-img-fade .cc-product-frame img.is-loaded{opacity:1}
/* Reveal allo scroll (spento di default) */
body.cc-m-reveal [data-cc-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--cc-motion-enter) var(--cc-ease-soft),transform var(--cc-motion-enter) var(--cc-ease)}
body.cc-m-reveal [data-cc-reveal].is-in{opacity:1;transform:none}
/* Transizione pagina (spenta di default) */
body.cc-m-page-fade{opacity:1;transition:opacity 150ms var(--cc-ease-soft)}
body.cc-m-page-fade.is-leaving{opacity:0}
/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  body.cc-m-reduced *,body.cc-m-reduced *::before,body.cc-m-reduced *::after{transition-duration:0ms !important;animation:none !important}
  body.cc-m-reduced .cc-card:hover,body.cc-m-reduced .cc-pfiles__card:hover{transform:none}
  body.cc-m-reduced [data-cc-reveal]{opacity:1;transform:none}
  body.cc-m-reduced img{opacity:1 !important}
}
