.vf { box-sizing:border-box; width:100%; min-width:0; padding:clamp(3rem,6vw,6rem) clamp(1rem,5vw,6rem) 2rem; color:var(--wp--preset--color--blanco); background:var(--wp--preset--color--berenjena); font-family:var(--wp--preset--font-family--body); }
.vf__inner { max-width:1680px; margin-inline:auto; }
.vf a { color:inherit; text-underline-offset:.25em; }
.vf p,.vf h2,.vf h3,.vf a { overflow-wrap:anywhere; }
.vf h2,.vf h3 { color:inherit; font-family:var(--wp--preset--font-family--heading); font-weight:400; }
.vf__brand { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:center; }
.vf__eyebrow { color:var(--wp--preset--color--amarillo); font-size:.875rem; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; margin:0 0 1rem; }
.vf h2 { font-size:clamp(2.5rem,4.5vw,5rem); line-height:1.1; margin:0; max-width:18ch; }
.vf__description { max-width:58ch; font-size:1.125rem; line-height:1.6; margin:1.5rem 0 0; }
.vf__logo { display:block; width:min(100%,220px); min-height:44px; }
.vf__logo img { display:block; width:100%; height:auto; }
.vf__help { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; padding:clamp(1.25rem,3vw,2.5rem); border:1px solid var(--wp--preset--color--beige); border-radius:12px; margin:3rem 0; }
.vf__help-copy { flex:1 1 260px; min-width:0; }
.vf__help h3 { font-size:clamp(1.5rem,2vw,2rem); line-height:1.2; margin:0 0 .5rem; }
.vf__help p { margin:0; line-height:1.6; }
.vf__button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:48px; max-width:100%; box-sizing:border-box; padding:.75rem 1.25rem; border:1px solid currentColor; border-radius:999px; text-decoration:none; line-height:1.5; transition:color 180ms ease,background-color 180ms ease; }
.vf__email { display:inline-flex; align-items:center; min-height:44px; max-width:100%; }
.vf__columns { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; margin:3rem 0; }
.vf__columns nav { min-width:0; }
.vf__columns h3 { color:var(--wp--preset--color--amarillo); font-size:1rem; text-transform:uppercase; letter-spacing:.06em; margin:0 0 1rem; }
.vf .vf-menu,.vf .sub-menu { list-style:none; margin:0; padding:0; }
.vf .sub-menu { margin:.15rem 0 .75rem .25rem; padding-inline-start:.85rem; border-inline-start:1px solid var(--wp--preset--color--arena); }
.vf-menu a { display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:.4rem 0; text-decoration:none; line-height:1.5; }
.vf__social-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; padding:2rem 0; border-top:1px solid var(--wp--preset--color--beige); }
.vf__social-row > div { min-width:0; max-width:100%; }
.vf__socials { display:flex; flex-wrap:wrap; gap:.75rem; }
.vf__note { display:flex; align-items:center; gap:1rem; max-width:32ch; margin:0; line-height:1.6; }
.vf__bottom { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; border-top:1px solid var(--wp--preset--color--beige); padding-top:1.5rem; font-size:.9375rem; }
.vf__bottom > * { min-width:0; max-width:100%; }
.vf__bottom p { margin:0; line-height:1.6; }
.vf__horizontal > .vf-menu { display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; }
.vf__payments { margin-inline-start:auto; }
.vf__payments img { max-width:240px; width:100%; height:auto; display:block; }
.vf__credit { text-align:end; font-size:.875rem; margin:1.25rem 0 0; }
.vf__credit a { display:inline-flex; align-items:center; min-height:44px; }
.vf a:focus-visible { outline:3px solid var(--wp--preset--color--amarillo); outline-offset:4px; }
.vf a:hover { text-decoration:underline; }
.vf__button:hover { background:var(--wp--preset--color--amarillo); color:var(--wp--preset--color--berenjena); text-decoration:none; }
@media(min-width:600px) { .vf__columns { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1024px) { .vf__brand { grid-template-columns:minmax(0,1fr) minmax(0,.5fr); } .vf__logo { justify-self:end; } .vf__columns { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .vf__button { transition:none; } }

/* Clear parent/child hierarchy without shrinking touch targets. */
.vf .vf-menu > li > a { font-size:1rem; font-weight:400; }
.vf .vf-menu .sub-menu a { font-size:.8125rem; font-weight:300; color:var(--wp--preset--color--beige); line-height:1.4; min-height:44px; padding-block:.35rem; }
.vf .vf-menu .sub-menu a:hover { color:var(--wp--preset--color--blanco); }
.vf .vf-menu li { min-width:0; }
.vf .vf-menu a { max-width:100%; overflow-wrap:anywhere; }
