/* Shared footer: clear links, direct support and named social profiles. */
.footer.site-footer { padding: 0; margin-top: 0; background: var(--footer-bg); color: white; border-top: 3px solid var(--primary); }
.site-footer .footer-highlights { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding: 24px 0; border-bottom: 1px solid #FFFFFF22; }
.footer-highlights>span { display: flex; align-items: center; gap: 8px; color: #E2E2EF; font-size: 12px; font-weight: 600; }
.footer-highlights b { color: #89E6A8; font-size: 15px; }
.footer.site-footer .footer-main { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1.15fr); gap: 40px; padding: 42px 0; align-items: start; }
.site-footer .footer-brand { grid-column: auto; min-width: 0; }
.site-footer .footer-brand .brand-logo { display: inline-flex; align-items: center; justify-content: center; width: 144px; max-width: 100%; padding: 6px 10px; background: white; border-radius: 12px; }
.site-footer .footer-brand .brand-logo-image { display: block; width: 124px; height: auto; max-height: 56px; background: white; object-fit: contain; border-radius: 0; }
.site-footer .footer-brand h2 { color: white; font: 400 28px/1.2 var(--serif); letter-spacing: -.02em; margin: 20px 0 12px; }
.site-footer .footer-brand p { max-width: 290px; margin: 0 0 20px; color: #CBCBDF; font-size: 13px; line-height: 1.8; }
.footer.site-footer .footer-contact-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: auto; max-width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid white; border-radius: 11px; background: white; color: var(--text-primary); font-size: 12px; font-weight: 700; text-decoration: none; }
.site-footer .footer-contact-link svg { width: 21px; height: 21px; flex: none; color: #168A43; }
.footer.site-footer .footer-contact-link:hover { background: var(--bg-soft); border-color: var(--bg-soft); color: var(--primary); }
.footer.site-footer .footer-phone { display: block; width: fit-content; min-height: 44px; margin: 6px 0 0; padding: 12px 0 0; color: #E2E2EF; font-size: 15px; font-weight: 600; letter-spacing: .02em; }
.site-footer .footer-col h3,.site-footer .footer-social h3 { font: 700 14px/1.5 var(--sans); letter-spacing: 0; color: white; margin: 0 0 15px; }
.footer.site-footer .footer-col a { display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 38px; padding: 5px 0; color: #CBCBDF; font-size: 13px; line-height: 1.6; text-decoration: none; }
.footer.site-footer .footer-col a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.footer-social>p { margin: 0 0 18px; font-size: 12px; color: #CBCBDF; line-height: 1.7; }
.footer-social-links { display: grid; gap: 10px; }
.footer-social-link { display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 12px; color: white; background: #FFFFFF09; border: 1px solid #FFFFFF33; border-radius: 12px; text-decoration: none; transition: background .2s,border-color .2s; }
.footer-social-link:hover { color: white; background: #FFFFFF16; border-color: #FFFFFF80; }
.footer-social-link>svg { width: 24px; height: 24px; flex: none; color: white; }
.footer-social-link>span:not(.social-arrow) { display: grid; gap: 3px; }
.footer-social-link b { font-size: 13px; line-height: 1.4; font-weight: 700; color: white; }
.footer-social-link small { font-size: 11px; line-height: 1.4; color: #CBCBDF; }
.footer-social-link .social-arrow { font-size: 17px; color: #CBCBDF; margin-left: auto; }
.site-footer :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.footer.site-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin: 0; padding: 22px 0; border-top: 1px solid #FFFFFF22; color: #CBCBDF; font-size: 11px; line-height: 1.7; }
.footer-bottom>div { display: flex; flex-wrap: wrap; gap: 6px 16px; }
@media(max-width:1000px) { .footer.site-footer .footer-main { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); gap: 32px; }.site-footer .footer-social { grid-column: 1 / -1; }.footer-social-links { grid-template-columns: 1fr 1fr; } }
@media(max-width:640px) {
 .site-footer .footer-highlights { display: grid; grid-template-columns: 1fr; gap: 10px; padding-block: 22px; }.footer-highlights>span { font-size: 12px; }
 .footer.site-footer .footer-main { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding: 30px 0; gap: 28px 20px; }
 .site-footer .footer-brand { grid-column: 1 / -1; }.site-footer .footer-brand p { max-width: 100%; font-size: 13px; }
 .site-footer .footer-brand h2 { font-size: 29px; }.footer.site-footer .footer-contact-link { min-height: 48px; font-size: 13px; }
 .site-footer .footer-col h3,.site-footer .footer-social h3 { font-size: 14px; margin-bottom: 9px; }
 .footer.site-footer .footer-col a { min-height: 44px; font-size: 13px; }
 .site-footer .footer-social { border-top: 1px solid #FFFFFF22; padding-top: 24px; }
 .footer-social-links { gap: 10px; }.footer-social-link { gap: 9px; padding: 12px 10px; min-height: 72px; }.footer-social-link>svg { width: 21px; height: 21px; }.footer-social-link .social-arrow { display: none; }
 .footer.site-footer .footer-bottom { display: grid; gap: 8px; padding: 20px 0 24px; font-size: 11px; }.footer-bottom>div { display: grid; gap: 4px; }
 .cart-page .site-footer .footer-highlights { display: none; }
}

/* Keep icon dimensions and text layout stable on narrow screens. */
.site-footer .footer-social,.site-footer .footer-social-links,.site-footer .footer-social-link{min-width:0;max-width:100%;box-sizing:border-box}
.site-footer .footer-social-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-footer .footer-social-link{display:flex;text-decoration:none;margin:0;white-space:normal}
.site-footer .footer-social-link>svg{display:block;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;flex:0 0 24px;overflow:hidden}
.site-footer .footer-social-link>span:not(.social-arrow){min-width:0;overflow-wrap:anywhere}
.site-footer .footer-social-link b,.site-footer .footer-social-link small{display:block}
@media(min-width:1001px){.site-footer .footer-social-links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){.site-footer .footer-social-links{grid-template-columns:minmax(0,1fr)}}
