/* Shared footer: one compact composition, isolated from page-level styles. */
html body footer.hp-footer {
    --hp-bg: var(--sc-bg); --hp-surface: var(--sc-panel); --hp-surface-raised: var(--sc-raised);
    --hp-text: var(--sc-text); --hp-muted: var(--sc-muted); --hp-line: var(--sc-line);
    --hp-accent: var(--sc-gold); --hp-primary-bg: var(--sc-button); --hp-button-text: var(--sc-button-text);
    width: 100%; padding: 40px 0 18px; border-top: 1px solid var(--hp-line);
    background: var(--hp-bg) !important; color: var(--hp-text) !important;
    font: 400 13px/1.7 'Poppins','Segoe UI',sans-serif !important; letter-spacing: normal; text-align: left;
}
html body footer.hp-footer *, html body footer.hp-footer *::before, html body footer.hp-footer *::after { box-sizing: border-box; }
html body footer.hp-footer > .hp-wrap { width: calc(100% - 64px); max-width: none; margin-inline: auto; padding: 0; }
html body footer.hp-footer a { color: var(--hp-muted) !important; font: 400 13px/1.65 'Poppins','Segoe UI',sans-serif !important; letter-spacing: normal !important; text-transform: none !important; padding-left: 0 !important; text-decoration: none; transform: none !important; box-shadow: none !important; transition: color .2s,background .2s,border-color .2s !important; }
html body footer.hp-footer a::before { content: none !important; }
html body footer.hp-footer a:hover { color: var(--hp-accent) !important; }
html body footer.hp-footer a:focus-visible { outline: 2px solid var(--hp-accent); outline-offset: 4px; border-radius: 4px; }
html body footer.hp-footer .hp-footer-grid { display: grid; grid-template-columns: repeat(var(--footer-column-count,5),minmax(0,1fr)); align-items: start; gap: 28px; padding: 0 0 28px; margin: 0; }
html body footer.hp-footer .hp-footer-grid--brand { grid-template-columns: minmax(240px,1.25fr) repeat(var(--footer-secondary-count,4),minmax(0,1fr)); }
html body footer.hp-footer .hp-footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0; padding: 0; margin: 0; border: 0; }
html body footer.hp-footer .hp-footer-logo { display: block !important; max-width: 100%; }
html body footer.hp-footer .hp-footer-brand img { display: block; width: var(--footer-logo-width,205px); max-width: 100%; height: auto; object-fit: contain; }
html body footer.hp-footer .hp-footer-brand-copy { min-width: 0; }
html body footer.hp-footer .hp-footer-brand p { max-width: 34ch; margin: 0; color: var(--hp-muted) !important; font: 400 13px/1.85 'Poppins','Segoe UI',sans-serif !important; letter-spacing: normal; }
html body footer.hp-footer .hp-footer-follow { max-width: 100%; }
html body footer.hp-footer .hp-footer-follow > p { margin: 0 0 8px; font-size: 10px !important; line-height: 1.6 !important; }
html body footer.hp-footer .hp-footer-socials { display: flex; flex-wrap: wrap; gap: 4px; }
html body footer.hp-footer .hp-footer-socials a { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; border: 1px solid var(--hp-line); border-radius: 50%; color: var(--hp-text) !important; background: transparent; }
html body footer.hp-footer .hp-footer-socials a:hover { color: var(--hp-accent) !important; border-color: var(--hp-accent); background: var(--hp-surface); }
html body footer.hp-footer .hp-footer-socials svg { display: block; width: 17px; height: 17px; flex-shrink: 0; }
html body footer.hp-footer .hp-footer-social-label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html body footer.hp-footer .hp-footer-socials--labels a { width: auto; gap: 7px; padding: 0 10px !important; border-radius: 7px; }
html body footer.hp-footer .hp-footer-socials--labels .hp-footer-social-label { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; font-size: 11px; }
html body footer.hp-footer .hp-footer-grid > nav { display: block; min-width: 0; padding: 4px 0 0; }
html body footer.hp-footer .hp-footer-grid h2 { margin: 0 0 16px !important; padding: 0 !important; border: 0; color: var(--hp-accent) !important; font: 600 12px/1.6 'Poppins','Segoe UI',sans-serif !important; letter-spacing: .075em !important; text-transform: uppercase !important; }
html body footer.hp-footer .hp-footer-grid > nav > a, html body footer.hp-footer .configured-menu-list a { display: flex !important; align-items: center; min-height: 34px; margin: 0; overflow-wrap: anywhere; }
html body footer.hp-footer .hp-footer-grid > nav > a:is(:hover,:focus-visible), html body footer.hp-footer .configured-menu-list a:is(:hover,:focus-visible), html body footer.hp-footer .hp-footer-bottom a:is(:hover,:focus-visible) { color: var(--hp-accent) !important; text-decoration: underline; text-underline-offset: 4px; }
html body footer.hp-footer .configured-menu-list { margin: 0; padding: 0; list-style: none; }
html body footer.hp-footer .configured-menu-list > li { margin: 0; padding: 0; }
html body footer.hp-footer .configured-menu-list .configured-menu-list { margin: 6px 0; padding-left: 13px; border-left: 1px solid var(--hp-line); }
html body footer.hp-footer .hp-footer-connect { display: flex; flex-direction: column; align-items: stretch; gap: 14px; min-width: 0; padding: 4px 0 0; border: 0; background: transparent; }
html body footer.hp-footer .hp-footer-connect h2 { margin-bottom: 12px !important; }
html body footer.hp-footer .hp-footer-connect p { margin: 0; color: var(--hp-muted); font-size: 11px; line-height: 1.8; }
html body footer.hp-footer .hp-footer-contact-description { white-space: pre-line; }
html body footer.hp-footer .hp-footer-contact-links { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
html body footer.hp-footer .hp-footer-contact-links > a { display: flex !important; align-items: center; gap: 8px; min-height: 36px; min-width: 0; overflow-wrap: anywhere; color: var(--hp-text) !important; font-size: 12px !important; }
html body footer.hp-footer .hp-footer-contact-links > a > span { min-width: 0; }
html body footer.hp-footer .hp-footer-contact-icon { display: grid; place-items: center; flex-shrink: 0; width: 22px; height: 28px; color: var(--hp-accent); }
html body footer.hp-footer .hp-footer-contact-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
html body footer.hp-footer .hp-footer-contact-label { display: block; margin-bottom: 1px; color: var(--hp-muted); font-size: 10px; }
html body footer.hp-footer .hp-footer-whatsapp { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 10px !important; border: 1px solid transparent; border-radius: 7px; background: var(--hp-primary-bg); color: var(--hp-button-text) !important; font-size: 11px !important; font-weight: 600 !important; }
html body footer.hp-footer .hp-footer-whatsapp svg { width: 17px; height: 17px; flex-shrink: 0; }
html body footer.hp-footer .hp-footer-whatsapp:hover { background: var(--hp-text); color: var(--hp-bg) !important; }
html body footer.hp-footer .hp-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 14px 56px 0 0; border-top: 1px solid var(--hp-line); color: var(--hp-muted); font-size: 11px; line-height: 1.8; }
html body footer.hp-footer .hp-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
html body footer.hp-footer .hp-footer-bottom a { display: inline-flex !important; align-items: center; min-height: 36px; font-size: 11px !important; }
html body.sc-storefront:has(.floating-utilities[data-position="right"]) footer.hp-footer .hp-footer-bottom { padding-right: 128px; }
html body.sc-storefront:has(.floating-utilities[data-position="left"]) footer.hp-footer .hp-footer-bottom { padding-left: 128px; }
html body footer.hp-footer.hp-footer--panel { background: var(--hp-surface) !important; }
html body footer.hp-footer.hp-footer--compact { padding-top: 26px; }
html body footer.hp-footer.hp-footer--compact .hp-footer-grid { gap: 24px; padding-bottom: 20px; }
html body footer.hp-footer.hp-footer--minimal { padding-top: 24px; }
html body footer.hp-footer.hp-footer--minimal .hp-footer-bottom { justify-content: center; flex-direction: column; border: 0; padding: 0; gap: 8px; text-align: center; }
html body footer.hp-footer.hp-footer--minimal .hp-footer-bottom nav { justify-content: center; order: -1; }
@media (max-width:1150px) {
    html body footer.hp-footer .hp-footer-grid { grid-template-columns: repeat(var(--footer-tablet-columns,3),minmax(0,1fr)); gap: 26px; }
    html body footer.hp-footer .hp-footer-brand { grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 24px; padding: 0 0 24px; border-bottom: 1px solid var(--hp-line); }
    html body footer.hp-footer .hp-footer-logo { flex-shrink: 0; }
    html body footer.hp-footer .hp-footer-brand-copy { flex: 1 1 240px; }
    html body footer.hp-footer .hp-footer-follow { margin-left: auto; }
    html body footer.hp-footer .hp-footer-connect { grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 20px; padding-top: 22px; border-top: 1px solid var(--hp-line); }
    html body footer.hp-footer .hp-footer-connect-intro { flex: 1 1 220px; }
    html body footer.hp-footer .hp-footer-contact-links { flex-direction: row; flex-wrap: wrap; gap: 20px; }
    html body footer.hp-footer .hp-footer-whatsapp { padding-inline: 18px !important; }
}
@media (max-width:650px) {
    html body footer.hp-footer { padding-top: 28px; }
    html body footer.hp-footer > .hp-wrap { width: calc(100% - 40px); }
    html body footer.hp-footer .hp-footer-brand { flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 22px; }
    html body footer.hp-footer .hp-footer-logo, html body footer.hp-footer .hp-footer-brand-copy, html body footer.hp-footer .hp-footer-follow { flex: none; margin-left: 0; }
    html body footer.hp-footer .hp-footer-brand p { max-width: 42ch; }
    html body footer.hp-footer .hp-footer-grid { grid-template-columns: repeat(var(--footer-mobile-columns,2),minmax(0,1fr)); gap: 24px 20px; padding-bottom: 24px; }
    html body footer.hp-footer .hp-footer-grid[data-navigation-count="3"] > nav:last-of-type { grid-column: 1/-1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
    html body footer.hp-footer .hp-footer-grid[data-navigation-count="3"] > nav:last-of-type > :is(h2,div) { grid-column: 1/-1; }
    html body footer.hp-footer .hp-footer-grid[data-navigation-count="3"] > nav:last-of-type > div > .configured-menu-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
    html body footer.hp-footer .hp-footer-grid > nav > a, html body footer.hp-footer .configured-menu-list a { min-height: 44px; }
    html body footer.hp-footer .hp-footer-connect { flex-direction: column; align-items: stretch; gap: 16px; }
    html body footer.hp-footer .hp-footer-connect-intro { flex: none; }
    html body footer.hp-footer .hp-footer-contact-links { flex-direction: column; gap: 12px; }
    html body footer.hp-footer .hp-footer-bottom { flex-direction: column; align-items: flex-start; padding-right: 20px; padding-bottom: 65px; }
    html body footer.hp-footer .hp-footer-bottom nav { gap: 4px 16px; }
    html body footer.hp-footer .hp-footer-bottom a { min-height: 44px; }
    html body.sc-storefront:has(.floating-utilities[data-position]) footer.hp-footer .hp-footer-bottom { padding-inline: 0; padding-bottom: 76px; }
}
@media (prefers-reduced-motion:reduce) {
    html body footer.hp-footer a { transition: none !important; }
}
