/* ============================================================
   Meteo Palazzago — Motore "Revolution" v4
   REGOLA: effetti ricchi (glass header, hover, sollevamenti) SOLO su
   desktop con mouse vero  →  @media (hover:hover) and (pointer:fine).
   I dispositivi touch NON soddisfano mai questa condizione, quindi su
   mobile l'header resta semplice/solido e i tap funzionano sempre.
   ============================================================ */
:root{
  --rv-navy:#1e3a5f; --rv-blue:#3a6ea5; --rv-sky:#5a9fd4; --rv-sky2:#7eb6e0;
  --rv-bg:#f0f4f8; --rv-ink:#1a2332; --rv-green:#10b981; --rv-amber:#f59e0b;
  --rv-ease:cubic-bezier(.16,.84,.34,1);
  --rv-shadow:0 10px 40px rgba(30,58,95,.10);
  --rv-shadow-hover:0 20px 55px rgba(30,58,95,.22);
}

/* --- OTTIMIZZAZIONE GLOBALE TOUCH (Zero ritardo) --- */
/* Applicato globalmente per eliminare il ritardo di 300ms su ogni elemento interattivo */
a, button, .wbtn, .aurora-btn, .logo, .card, .bcard, .post-card, .webcam-card, .info-item, nav a {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    cursor: pointer;
}

/* --- OTTIMIZZAZIONE ESTETICA DISPOSITIVI TOUCH (Hover none) --- */
/* Disabilita effetti grafici "bloccanti" che richiedono l'hover su schermi touch */
@media (hover: none) and (pointer: coarse) {
  .card:hover, .bcard:hover, .post-card:hover, .webcam-card:hover, .live-card:hover,
  .wbtn:hover, .aurora-btn:hover, .info-item:hover {
    transform: none !important;
    box-shadow: inherit !important;
  }
  
  .card::before, .wbtn::before, .bcard::before, .post-card::before, .webcam-card::before {
    display: none !important;
  }
}

/* --- BARRA AVANZAMENTO SCROLL --- */
/* pointer-events: none garantisce che non intercetti mai i click */
.rv-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    z-index: 9999;
    pointer-events: none;
    background: linear-gradient(90deg, var(--rv-sky), var(--rv-blue), var(--rv-amber));
    box-shadow: 0 0 10px rgba(58, 110, 165, .6);
    transition: width .1s linear;
}

/* --- REVEAL ALLO SCROLL --- */
html.rv-js [data-rv] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s var(--rv-ease), transform .7s var(--rv-ease);
}
html.rv-js [data-rv].rv-in {
    opacity: 1;
    transform: none;
}

/* --- NAV: SOTTOLINEATURA VISIVA --- */
nav a {
    position: relative;
}
nav a::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 5px;
    height: 2px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
    border-radius: 2px;
    transition: transform .35s var(--rv-ease);
    opacity: .9;
    pointer-events: none; /* Fondamentale: impedisce che la linea interferisca col click */
}
nav a.active::after {
    transform: scaleX(1);
}


/* ---------- Titoli sezione: linea che cresce ---------- */
.section-title::after{transition:width .6s var(--rv-ease) .15s}
html.rv-js .section-title::after{width:0}
html.rv-js .section-title.rv-in::after{width:60px}

/* ---------- Card: transizioni morbide + link SEMPRE cliccabili ---------- */
.card,.wbtn,.bcard,.post-card,.webcam-card,.live-card,.allerta-card,.info-item,.aurora-btn{
  transition:transform .4s var(--rv-ease),box-shadow .4s var(--rv-ease);position:relative}
.card,.bcard,.post-card,.webcam-card{isolation:isolate}
.card-link,.bcard-link,.post-readmore,.allerta-more,.webcam-link,.live-link,
.bcard-body,.post-card-body,.card-body,.webcam-body,.allerta-body,
a.bcard,a.post-card,a.card,a.allerta-card,a.allerta-link{position:relative;z-index:5}

/* ---------- Footer ---------- */
footer{position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;pointer-events:none;
  background:linear-gradient(90deg,var(--rv-sky),var(--rv-blue),var(--rv-amber))}
.footer-col h4{position:relative;padding-bottom:6px}
.footer-col h4::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;
  background:var(--rv-sky);border-radius:2px;pointer-events:none}

/* ---------- Clock pulse (decorativo) ---------- */
.live-clock{position:relative}
.live-clock::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;
  background:#34d399;margin-right:7px;vertical-align:middle;box-shadow:0 0 0 0 rgba(52,211,153,.7);
  animation:rv-pulse 2s infinite}
@keyframes rv-pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.7)}70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* ============================================================
   EFFETTI RICCHI — SOLO DESKTOP CON MOUSE
   I touch (pointer:coarse) NON entrano qui → nessun hover/glass su mobile.
   ============================================================ */
@media (hover: hover) and (pointer: fine){

  /* Header glass al variare dello scroll */
  header{transition:background .35s var(--rv-ease),box-shadow .35s var(--rv-ease),padding .35s var(--rv-ease)}
  header.rv-scrolled{
    background:linear-gradient(135deg,rgba(30,58,95,.92),rgba(58,110,165,.88)) !important;
    -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
    box-shadow:0 8px 30px rgba(0,0,0,.28) !important;padding:7px 0 !important}

  /* Nav hover */
  nav a:hover::after{transform:scaleX(1)}
  nav a:hover{transform:translateY(-1px)}

  /* Card hover: sollevamento + bagliore + bordino */
  .card::before,.wbtn::before,.bcard::before,.post-card::before,.webcam-card::before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
    background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
    background-size:240% 100%;background-position:200% 0;transition:background-position .7s var(--rv-ease);opacity:0}
  .card:hover::before,.wbtn:hover::before,.bcard:hover::before,.post-card:hover::before,.webcam-card:hover::before{
    background-position:-60% 0;opacity:1}
  .card:hover,.bcard:hover,.post-card:hover,.webcam-card:hover,.live-card:hover{
    transform:translateY(-8px) !important;box-shadow:var(--rv-shadow-hover) !important}
  .wbtn:hover,.aurora-btn:hover{transform:translateY(-8px) scale(1.015) !important}
  .info-item:hover{transform:translateY(-6px) !important}
  .card::after,.bcard::after,.post-card::after{content:"";position:absolute;inset:0;border-radius:inherit;
    pointer-events:none;z-index:1;padding:1.5px;
    background:linear-gradient(135deg,var(--rv-sky),transparent 40%,transparent 60%,var(--rv-blue));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s var(--rv-ease)}
  .card:hover::after,.bcard:hover::after,.post-card:hover::after{opacity:.9}
  .card:hover .card-link,.bcard:hover .bcard-link,.post-card:hover .post-readmore{letter-spacing:.3px}

  /* Footer link slide */
  .footer-col a{display:inline-block;transition:transform .25s var(--rv-ease),color .2s}
  .footer-col a:hover{transform:translateX(6px)}

  /* Bottoni */
  .blog-allbtn,.archivio-btn,.dashboard-bar a{transition:transform .3s var(--rv-ease),box-shadow .3s var(--rv-ease)}
  .blog-allbtn:hover{transform:translateY(-4px) scale(1.03)}

  /* Orbite hero (decorative) */
  .hero{position:relative;overflow:hidden}
  .rv-orb{position:absolute;border-radius:50%;filter:blur(38px);opacity:.5;pointer-events:none;z-index:0;
    animation:rv-float 14s ease-in-out infinite}
  .rv-orb.o1{width:230px;height:230px;background:rgba(255,255,255,.45);top:-60px;left:-40px}
  .rv-orb.o2{width:300px;height:300px;background:rgba(126,182,224,.5);bottom:-120px;right:-60px;animation-delay:-5s}
  .rv-orb.o3{width:160px;height:160px;background:rgba(245,158,11,.35);top:30%;right:20%;animation-delay:-9s}
  .hero>*{position:relative;z-index:1}
  @keyframes rv-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-26px) scale(1.08)}}
}

/* ---------- Preferenze di movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  html.rv-js [data-rv]{opacity:1 !important;transform:none !important}
  .rv-orb{animation:none}
  .live-clock::before{animation:none}
  *{scroll-behavior:auto !important}
}
html{scroll-behavior:smooth}