/* Capa final visual pública. Se carga al final para preservar Comfortaa. */
/* Votare 10: soften public containers without altering admin or focus states. */
body.public-body .vf-post, body.public-body .vp-card, body.public-body .home-event, body.public-body .social-post, body.public-body .contest-card, body.public-body .person-card, body.public-body .vf-rules, body.public-body .vf-results, body.public-body .vf-empty, body.public-body .social-empty, body.public-body .register-card, body.public-body .vf-hero {
    border:0!important;
    outline:0;
}

body.public-body .vf-post, body.public-body .vp-card, body.public-body .home-event {
    box-shadow:0 16px 45px rgba(12,22,35,.085)
}

@media(max-width:740px) {
    body.public-body .vf-post,body.public-body .vp-card {
        border:0!important;
        box-shadow:none
    }
}

/* Votare 10: public-only typography. Admin retains its own font and sizing. */
body.public-body,body.public-body.social-feed,body.public-body.social-profile {
    --font:'Comfortaa',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
    font-family:var(--font)!important;
    letter-spacing:normal;
}

body.public-body button,body.public-body input,body.public-body textarea,body.public-body select, body.public-body .swal2-popup {
    font-family:var(--font)!important
}

body.public-body h1,body.public-body h2,body.public-body h3, body.public-body .vf-hero h1,body.public-body .vf-discover-intro h2 {
    font-family:var(--font);
    letter-spacing:-.025em;
}

body.public-body .vf-user-name a,body.public-body .vp-identity strong, body.public-body .vf-caption,body.public-body .vf-like-label {
    letter-spacing:0
}

@media(min-width:1100px) {
    body.public-body .vf-user-name a {
        font-size:15px
    }
}

/* Diálogos SweetAlert siempre por encima del modal de votación. */
body.public-body .swal2-container {
    z-index:50000!important
}

body.public-body .swal2-container.votare-confirm-above {
    z-index:50001!important
}

.social-vote-dialog.is-confirming-change .social-vote-panel {
    pointer-events:none
}

body.public-body .site-brand img {
    max-width:180px;
    max-height:46px;
    object-fit:contain
}

.visually-hidden {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important
}

