/* Every shell adjustment requires the actual shared module. */
/* Match the existing storefront #main background; ordinary WP pages use white. */
body.cfl-product-page #footer:has([data-cfh-footer]) { --cf-site-footer-background: #fcfcfa; }
body:has(#footer [data-cfh-footer]) { margin-bottom: 0; padding-bottom: 0; background-color: #f5f5f5; }
body #wrapper:has(> #footer [data-cfh-footer]) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; padding-bottom: 0; margin-bottom: 0; }
body #wrapper:has(> #footer [data-cfh-footer]) > #header { flex: 0 0 auto; }
body #wrapper:has(> #footer [data-cfh-footer]) > #main { flex: 1 0 auto; width: 100%; }
body #footer:has([data-cfh-footer]) { flex: 0 0 auto; padding: 0; margin-bottom: 0; background: var(--cf-site-footer-background, #fff); }
body #footer:has([data-cfh-footer]) > br { display: none; }
/* Theme custom CSS declares margin-bottom:20px!important. */
body #footer:has([data-cfh-footer]) .absolute-footer { padding: 0; margin: 0; margin-bottom: 0 !important; background: var(--cf-site-footer-background, #fff); }
body #footer:has([data-cfh-footer]) .absolute-footer > .container { width: 100%; max-width: none; padding: 0; margin: 0; }
body #footer:has([data-cfh-footer]) .footer-primary { float: none; width: 100%; padding: 0; margin: 0; }
body #footer:has([data-cfh-footer]) .copyright-footer { margin: 0; padding: 0; border: 0; }
.cfh-footer, .cfh-footer * { box-sizing: border-box; }
.cfh-footer { width: 100%; color: #252525; background: var(--cf-site-footer-background, #fff); font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.7; text-align: left; }
.cfh-footer .cfh-footer__inner { max-width: 1240px; margin: 0 auto; padding: 38px max(24px, env(safe-area-inset-right, 0px)) 0 max(24px, env(safe-area-inset-left, 0px)); }
.cfh-footer .cfh-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 24px; border-bottom: 1px solid #dedede; }
.cfh-footer .cfh-footer__symbol { display: block; flex: 0 0 auto; width: 27px; height: 27px; margin: 0; object-fit: contain; }
.cfh-footer .cfh-footer__links, .cfh-footer .cfh-footer__business { list-style: none; border: 0; padding: 0; margin: 0; font-size: inherit; font-weight: 400; }
.cfh-footer .cfh-footer__links { display: grid; grid-template-columns: repeat(4, max-content); align-items: center; column-gap: 24px; }
.cfh-footer .cfh-footer__links li { position: relative; list-style: none; border: 0; padding: 0; margin: 0; font-size: inherit; font-weight: 400; }
.cfh-footer .cfh-footer__links li + li::before { content: ""; position: absolute; left: -12px; top: 50%; transform: translateY(-50%); width: 1px; height: 8px; background: #d6d6d6; }
.cfh-footer a, .cfh-footer a:hover, .cfh-footer a:focus, .cfh-footer a:active, .cfh-footer a:visited { text-decoration: none; border-bottom: 0; box-shadow: none; font-size: inherit; font-weight: 400; }
.cfh-footer .cfh-footer__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; color: #252525; }
.cfh-footer a:hover { color: #666; }
.cfh-footer a:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
.cfh-footer .cfh-footer__business { display: grid; grid-template-columns: 1.15fr 1fr 1fr; padding: 26px 0 30px; color: #666; }
.cfh-footer .cfh-footer__business li { list-style: none; border: 0; margin: 0; padding: 0 22px; text-align: center; overflow-wrap: anywhere; font-size: inherit; font-weight: 400; }
.cfh-footer .cfh-footer__business li:first-child { padding-left: 0; }
.cfh-footer .cfh-footer__business li:last-child { padding-right: 0; }
.cfh-footer .cfh-footer__business li + li { border-left: 1px solid #dedede; }
.cfh-footer .cfh-footer__copyright { margin: 0; border-top: 1px solid #dedede; padding: 18px 24px calc(18px + env(safe-area-inset-bottom, 0px)); background: #f5f5f5; color: #666; text-align: center; font-size: inherit; font-weight: 400; overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .cfh-footer { font-size: 12px; }
    .cfh-footer .cfh-footer__inner { padding: 32px max(20px, env(safe-area-inset-right, 0px)) 0 max(20px, env(safe-area-inset-left, 0px)); }
    .cfh-footer .cfh-footer__top { flex-direction: column; gap: 18px; padding-bottom: 24px; }
    .cfh-footer .cfh-footer__business { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .cfh-footer .cfh-footer__business li { padding: 0; }
    .cfh-footer .cfh-footer__business li + li { border-left: 0; }
    .cfh-footer .cfh-footer__copyright { padding: 20px max(20px, env(safe-area-inset-right, 0px)) calc(20px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); }
}
@media (max-width: 359px) {
    .cfh-footer .cfh-footer__links { grid-template-columns: repeat(2, max-content); justify-content: center; }
    .cfh-footer .cfh-footer__links li:nth-child(odd)::before { content: none; }
}
