.vem-public{box-sizing:border-box;background:var(--vem-bg);color:var(--vem-text);font-family:var(--vem-font);width:100%;min-height:60vh;padding:42px 16px 55px;text-align:center;border-radius:8px}.vem-public *{box-sizing:border-box}.vem-wrap{max-width:560px;margin:0 auto}.vem-public .vem-logo{margin:0 auto 15px;display:flex;justify-content:center}.vem-public .vem-logo img{max-width:110px;max-height:110px;width:auto;height:auto;object-fit:contain;border-radius:50%}.vem-public .vem-title{font-family:inherit!important;font-size:clamp(23px,4vw,32px);line-height:1.3;margin:0 0 10px;color:var(--vem-text)}.vem-public .vem-description{font-family:inherit;font-size:16px;line-height:1.6;margin:0 0 27px;color:var(--vem-text)}.vem-public .vem-links{display:flex;flex-direction:column;gap:13px}.vem-public .vem-link{display:block;background:var(--vem-button);color:var(--vem-text)!important;text-decoration:none!important;border:1px solid var(--vem-accent);border-radius:var(--vem-radius);padding:16px 20px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;box-shadow:0 2px 6px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s}.vem-public .vem-link:hover{transform:translateY(-2px);box-shadow:0 5px 13px rgba(0,0,0,.13)}.vem-public a:focus-visible{outline:3px solid var(--vem-accent);outline-offset:4px}.vem-public .vem-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}.vem-public .vem-social{display:inline-block;padding:8px 12px;border:1px solid var(--vem-accent);border-radius:30px;color:var(--vem-text)!important;font-family:inherit;text-decoration:none!important;font-size:14px;font-weight:600;overflow-wrap:anywhere}@media(max-width:480px){.vem-public{padding:25px 12px 35px}.vem-public .vem-link{padding:15px 12px}}@media(prefers-reduced-motion:reduce){.vem-public .vem-link{transition:none}.vem-public .vem-link:hover{transform:none}}

.vem-public .vem-social{display:inline-flex;align-items:center;gap:8px;justify-content:center}.vem-public .vem-social svg{width:22px;height:22px;flex:none;fill:currentColor}.vem-public .vem-social-fallback{font-size:20px;line-height:1}@media(max-width:480px){.vem-public .vem-social{padding:10px}.vem-public .vem-social-label{font-size:12px}}
.vem-public .vem-custom-social-icon{width:24px;height:24px;object-fit:contain;flex:none;border-radius:3px}

/* v2.3: iconos sociales inmediatamente bajo la descripcion, como Linktree. */
.vem-public .vem-description{margin-bottom:12px}
.vem-public .vem-socials{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin:4px 0 28px}
.vem-public .vem-social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:3px;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--vem-text)!important;text-decoration:none}
.vem-public .vem-social svg{width:27px;height:27px;fill:currentColor}
.vem-public .vem-custom-social-icon{width:30px;height:30px;object-fit:contain;border-radius:0}
.vem-public .vem-social-label{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}
.vem-public .vem-social:hover{opacity:.75;transform:translateY(-1px)}
.vem-public .vem-social:focus-visible{outline:3px solid var(--vem-accent);outline-offset:3px}

/* v2.4: opciones visuales por pagina */
.vem-public .vem-title{font-size:var(--vem-title-size,30px)!important}
.vem-public .vem-description{font-size:var(--vem-description-size,16px)!important}
.vem-public .vem-link{font-size:var(--vem-button-size,16px)!important}
.vem-public .vem-logo img{width:110px;height:110px;max-width:110px;max-height:110px;object-fit:cover}
.vem-public .vem-logo-circle img{border-radius:50%}
.vem-public .vem-logo-square img{border-radius:0}
.vem-public .vem-logo-rounded img{border-radius:16px}

/* v2.6: isolate standalone pages from the municipal theme layout. */
html:has(body.vem-standalone-page){margin-top:0!important}
body.vem-standalone-page{margin:0!important;padding:0!important;min-height:100vh;background:#f1f7fa;max-width:none!important;width:100%!important}
body.vem-standalone-page #wpadminbar{position:fixed}
body.vem-standalone-page .vem-public{min-height:100vh;border-radius:0;padding:50px 16px 70px;display:block;max-width:none;margin:0}
body.vem-standalone-page .vem-wrap{max-width:580px;margin:auto}
.vem-skip-link{position:absolute;left:-9999px;top:8px;background:white;color:black;padding:10px;z-index:99999}
.vem-skip-link:focus{left:8px}
@media(max-width:480px){body.vem-standalone-page .vem-public{padding:32px 14px 55px}}

/* v2.6.3: responsive containment and proportional logos. Scoped to CMF only. */
.vem-public, .vem-public .vem-wrap, .vem-public .vem-links, .vem-public .vem-link { min-width:0; max-width:100%; }
.vem-public { width:100%; overflow-x:clip; }
.vem-public .vem-wrap { width:100%; }
.vem-public .vem-logo { width:100%; max-width:100%; min-width:0; align-items:center; }
.vem-public .vem-logo img { display:block; width:auto!important; height:auto!important; max-width:min(100%,var(--vem-logo-desktop-size,110px))!important; max-height:none!important; object-fit:contain!important; }
.vem-public .vem-title,.vem-public .vem-description,.vem-public .vem-link { overflow-wrap:anywhere; word-break:normal; }
.vem-public .vem-links { width:100%; }
.vem-public .vem-link { width:100%; white-space:normal; }
@media (max-width:600px) {
 .vem-public { padding:26px 16px 45px!important; }
 .vem-public .vem-logo img { max-width:min(100%,var(--vem-logo-mobile-size,96px))!important; }
 .vem-public .vem-link { padding:14px 12px; }
 .vem-public .vem-title { font-size:min(var(--vem-title-size,30px),7vw)!important; }
 .vem-public .vem-description { font-size:min(var(--vem-description-size,16px),5vw)!important; }
 .vem-public .vem-link { font-size:min(var(--vem-button-size,16px),5vw)!important; }
}
