/* ZERO VOID — marchio sui prodotti: fascetta nella pagina del prodotto
   (prodotto.php) e bollino nelle schede delle categorie (categoria.php).
   Icona: includes/zero-void-marchio.php */
.zv-ico { display: block; }
.zv-badge { display: inline-flex; align-items: center; gap: 0.875rem; margin-top: 1.25rem; padding: 0.625rem 1rem 0.625rem 0.625rem;
    border: 1px solid transparent; border-radius: 0.875rem; text-decoration: none; position: relative; overflow: hidden; max-width: 100%; box-sizing: border-box;
    background: linear-gradient(#1A1817, #1A1817) padding-box,
                linear-gradient(115deg, #FBC302 0%, #8a6a00 35%, #FBC302 65%, #fff1a8 100%) border-box;
    box-shadow: 0 0.75rem 2rem -1rem rgba(26,24,23,.55); transition: transform .25s, box-shadow .25s; }
.zv-badge:hover { transform: translateY(-1px); box-shadow: 0 1rem 2.5rem -1rem rgba(26,24,23,.7); }
.zv-badge:focus-visible { outline: 3px solid #FBC302; outline-offset: 3px; }
.zv-badge::after { content: ''; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%; transform: skewX(-20deg); pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,241,168,.18), transparent); transition: left .7s ease; }
.zv-badge:hover::after { left: 120%; }
.zv-badge-ico { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; }
.zv-badge-ico .zv-ico { width: 100%; height: 100%; filter: drop-shadow(0 2px 4px rgba(0,0,0,.5)); }
.zv-badge-t { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; }
.zv-badge-t b { font-size: 1rem; font-weight: 800; letter-spacing: -0.01em; color: #FBC302; line-height: 1.1; }
.zv-badge-t span { font-size: 0.8125rem; color: rgba(248,246,241,.72); line-height: 1.35; }
.zv-badge-go { flex: 0 0 auto; margin-left: 0.5rem; font-size: 0.8125rem; font-weight: 600; color: #F8F6F1; white-space: nowrap; opacity: .85; }
.zv-badge:hover .zv-badge-go { opacity: 1; color: #FBC302; }
@media (max-width: 520px) { .zv-badge { display: flex; } .zv-badge-go { display: none; } }
@media (prefers-reduced-motion: reduce) { .zv-badge, .zv-badge::after { transition: none; } }
.zv-bollino { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 3; display: inline-flex; align-items: center; gap: 0.375rem;
    padding: 0.25rem 0.625rem 0.25rem 0.3rem; border-radius: 99rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.02em; color: #FBC302;
    border: 1px solid transparent; pointer-events: none;
    background: linear-gradient(rgba(26,24,23,.9), rgba(26,24,23,.9)) padding-box, linear-gradient(115deg, #FBC302, #8a6a00 50%, #fff1a8) border-box;
    backdrop-filter: blur(6px); }
.zv-bollino .zv-ico { width: 1.25rem; height: 1.25rem; }

/* marchio dentro la foto principale del prodotto, in basso a destra:
   piccola fascetta (medaglione, "Zero Void", frase con percentuale).
   Sta nel contenitore della galleria, non nell'immagine: resta fermo
   mentre si sfogliano le foto */
.zv-foto { position: absolute; right: 0.75rem; bottom: 0.75rem; z-index: 4; display: inline-flex; align-items: center; gap: 0.5625rem;
    padding: 0.4375rem 0.875rem 0.4375rem 0.4375rem; border-radius: 0.75rem; text-decoration: none; max-width: calc(100% - 1.5rem); box-sizing: border-box;
    border: 1px solid transparent;
    background: linear-gradient(rgba(26,24,23,.92), rgba(26,24,23,.92)) padding-box,
                linear-gradient(115deg, #FBC302 0%, #8a6a00 35%, #FBC302 65%, #fff1a8 100%) border-box;
    backdrop-filter: blur(6px); box-shadow: 0 0.75rem 1.75rem -0.75rem rgba(0,0,0,.7);
    transition: transform .2s, box-shadow .2s; }
.zv-foto .zv-ico { flex: 0 0 auto; width: 2.125rem; height: 2.125rem; filter: drop-shadow(0 1px 3px rgba(0,0,0,.5)); }
.zv-foto-t { display: flex; flex-direction: column; gap: 0.1875rem; min-width: 0; }
.zv-foto-t b { font-size: 0.875rem; font-weight: 800; letter-spacing: -0.01em; color: #FBC302; line-height: 1; }
.zv-foto-t span { font-size: 0.6875rem; font-weight: 500; color: rgba(248,246,241,.82); line-height: 1.25; white-space: nowrap; }
.zv-foto-t em { font-style: normal; font-weight: 800; color: #FBC302; }
.zv-foto:hover { transform: translateY(-1px); box-shadow: 0 1rem 2rem -0.75rem rgba(0,0,0,.8); }
.zv-foto:focus-visible { outline: 3px solid #FBC302; outline-offset: 3px; }
@media (max-width: 520px) {
    .zv-foto { right: 0.5rem; bottom: 0.5rem; gap: 0.4375rem; padding: 0.3125rem 0.625rem 0.3125rem 0.3125rem; border-radius: 0.625rem; max-width: calc(100% - 1rem); }
    .zv-foto .zv-ico { width: 1.75rem; height: 1.75rem; }
    .zv-foto-t b { font-size: 0.75rem; } .zv-foto-t span { font-size: 0.625rem; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .zv-foto { transition: none; } }
