/* Shared footer: four independent desktop columns, with local brand assets. */
.storefront-footer { padding:0; margin-top:auto; border-top:1px solid var(--sf-border); background:var(--sf-surface); color:var(--sf-text-secondary); }
.storefront-footer .storefront-footer-inner { display:grid!important; grid-template-columns:minmax(180px,1.05fr) minmax(120px,.65fr) minmax(220px,1.2fr) minmax(210px,1fr)!important; gap:36px!important; align-items:start; border-bottom:0; padding-block:44px!important; margin-bottom:0!important; }
.storefront-footer :is(.storefront-footer-brand,.storefront-footer-column) { min-width:0; }
.storefront-footer-brand-lockup { display:block; width:148px; height:48px; overflow:hidden; }
.storefront-footer-brand-logo { display:block; width:148px!important; height:148px!important; max-width:148px!important; object-fit:contain; object-position:center; transform:translateY(-50px); }
.storefront-footer .storefront-footer-slogan { margin:12px 0 0; color:var(--sf-text-secondary); font-size:14px; line-height:1.6; }
.storefront-footer .storefront-footer-column-title { margin:0 0 16px; color:var(--sf-text-primary); font-family:inherit; font-size:15px; font-weight:600; line-height:24px; }
.storefront-footer .storefront-footer-link-list { display:grid; gap:12px; list-style:none; margin:0; padding:0; }
.storefront-footer .storefront-footer-link-list a { display:inline-flex; align-items:flex-start; gap:9px; max-width:100%; padding:0; border:0; border-radius:0; background:transparent; color:var(--sf-text-secondary); font-size:14px; font-weight:400; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; }
.storefront-footer .storefront-footer-link-list a:hover { color:var(--sf-accent); text-decoration:underline; text-underline-offset:3px; }
.storefront-footer .storefront-footer-link-list a:focus-visible { outline:2px solid var(--sf-accent); outline-offset:4px; }
.storefront-footer .storefront-footer-contact-icon { display:grid; place-items:center; flex:0 0 18px; width:18px; height:22px; }
.storefront-footer-contact-icon :is(svg,img) { display:block; width:18px; height:18px; object-fit:contain; fill:currentColor; }
.storefront-footer-contact-telegram { color:#229ed9; }
.storefront-footer-contact-zalo { color:#0068ff; }
.storefront-footer-bottom { margin-top:0; padding:0; border-top:1px solid var(--sf-border); }
.storefront-footer .storefront-footer-bottom-inner { display:flex; align-items:center; min-height:54px; padding-block:16px; }
.storefront-footer .storefront-footer-copyright { margin:0; color:var(--sf-text-muted); font-size:12px; line-height:1.5; }
@media(max-width:1100px) { .storefront-footer .storefront-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:32px!important; } }
@media(max-width:600px) { .storefront-footer .storefront-footer-inner { grid-template-columns:minmax(0,1fr)!important; gap:28px!important; padding-block:32px!important; } }
/* Preserve the existing shared social-link presentation used by service details. */
.storefront-social-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 12px;
    border: 1px solid var(--sf-border, var(--sf-line));
    border-radius: 9px;
    color: var(--sf-text-secondary, var(--sf-ink));
    background: var(--sf-surface-soft, #f9fafb);
    font-size: 0.76rem;
    font-weight: 600;
    font-family: inherit;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}
.storefront-social-link:hover {
    color: var(--sf-accent);
    border-color: var(--sf-accent);
    background: var(--sf-red-subtle, rgba(220, 38, 38, 0.08));
    text-decoration: none;
}
.storefront-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.storefront-social-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}
.storefront-social-telegram .storefront-social-icon {
    color: #229ed9;
}
.storefront-social-zalo .storefront-social-icon {
    color: #0068ff;
}
.storefront-social-email .storefront-social-icon {
    color: var(--sf-accent);
}
.storefront-social-label {
    line-height: 1;
}
html[data-theme="dark"] .storefront-social-link {
    background: var(--sf-surface-soft, #21191d);
    color: var(--sf-text-secondary, #e3cbd0);
    border-color: var(--sf-border, #49343b);
}
html[data-theme="dark"] .storefront-social-link:hover {
    background: rgba(220, 38, 38, 0.15);
    border-color: var(--sf-accent);
    color: #fff;
}
