/* Scoped to this module; no third-party assets or JavaScript. */
.vaca-social { display:flex; flex-wrap:wrap; align-items:center; gap:var(--vaca-gap,10px); }
.vaca-social--left { justify-content:flex-start; }
.vaca-social--center { justify-content:center; }
.vaca-social--right { justify-content:flex-end; }
.vaca-social .vaca-social__link { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--vaca-size,40px); width:var(--vaca-size,40px) !important; min-width:var(--vaca-size,40px) !important; max-width:var(--vaca-size,40px) !important; height:var(--vaca-size,40px) !important; min-height:var(--vaca-size,40px) !important; max-height:var(--vaca-size,40px) !important; padding:0; border:0; text-decoration:none; box-shadow:none; background:var(--vaca-brand); color:#fff; transition:transform .15s ease,opacity .15s ease; }
.vaca-social__link--facebook { --vaca-brand:#0866ff; }
.vaca-social__link--youtube { --vaca-brand:#ff0000; }
.vaca-social--circle .vaca-social__link { border-radius:50%; }
.vaca-social--rounded .vaca-social__link { border-radius:8px; }
.vaca-social--mono .vaca-social__link { background:var(--vaca-colour,#333333); }
.vaca-social--plain .vaca-social__link { background:transparent; color:var(--vaca-brand); }
.vaca-social--plain.vaca-social--mono .vaca-social__link { color:var(--vaca-colour,#333333); }
.vaca-social .vaca-social__link svg { display:block; width:60% !important; height:60% !important; max-width:60% !important; max-height:60% !important; fill:currentColor; }
.vaca-social .vaca-social__link:hover { opacity:.85; transform:translateY(-2px); }
.vaca-social .vaca-social__link:focus-visible { outline:2px solid currentColor; outline-offset:3px; box-shadow:0 0 0 4px #777; }
@media (prefers-reduced-motion:reduce) { .vaca-social .vaca-social__link { transition:none; } .vaca-social .vaca-social__link:hover { transform:none; } }

/* Equal-width labelled links share one row; size controls button height. */
.vaca-social.vaca-social--labelled { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); align-items:stretch; width:100%; min-width:0; }
.vaca-social.vaca-social--labelled .vaca-social__link { flex:0 0 auto; width:100% !important; min-width:0 !important; max-width:100% !important; justify-content:flex-start; gap:clamp(4px,calc(var(--vaca-size,40px) * .15),8px); padding:0 clamp(6px,calc(var(--vaca-size,40px) * .2),12px); border-radius:4px; font-family:inherit; font-size:clamp(11px,calc(var(--vaca-size,40px) * .32),16px); font-weight:600; line-height:1; }
.vaca-social.vaca-social--labelled .vaca-social__link svg { flex:0 0 auto; width:clamp(16px,calc(var(--vaca-size,40px) * .5),24px) !important; height:clamp(16px,calc(var(--vaca-size,40px) * .5),24px) !important; max-width:24px !important; max-height:24px !important; }
.vaca-social--labelled .vaca-social__divider { flex:0 0 1px; width:1px; height:55%; background:currentColor; opacity:.4; }
.vaca-social--labelled .vaca-social__label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:inherit; font:inherit; }
