/* Shared header/footer only; no Woo content typography or layout selectors. */
#header .container{max-width:1440px;padding-left:60px;padding-right:60px}
#header .header-inner{gap:40px}
#header .logo{margin-right:60px}
#header .header-nav{justify-content:center}
#header .nav>li>a{font-family:commuters-sans,Arial,sans-serif;font-size:14px;color:#141414;font-weight:700}
#top-bar{background:#306e78;min-height:45px}
#top-bar .html{font:700 11px commuters-sans,Arial,sans-serif;color:white;letter-spacing:.3px}
#top-bar p{margin:0}
#wide-nav:has(.nav:empty){display:none}
#header .top-divider{display:none}
#logo img{width:100px;height:auto;max-height:none}
#header .header-main{background:white}
.footer-2{background:#eee5df!important;padding:65px 60px}
.footer-2 .row{max-width:none}
.footer-2 .widget{font:400 13px/1.6 commuters-sans,Arial,sans-serif}
.footer-2 a{color:#171715!important}
.footer-2 h3{font:400 28px ivypresto-headline,Georgia,serif}
.footer-2 .sa-footer-title{font-weight:700;font-size:14px}
.footer-2 .button{font-size:12px;border:1px solid #555;border-radius:0}
.absolute-footer{background:#eee5df!important;color:#171715!important;font-size:11px}
@media(max-width:849px){#header .container{padding-left:30px;padding-right:30px}
#header .header-inner{gap:12px}
#header .logo{margin:0}
#logo img{width:76px}
#top-bar{min-height:37px}
#top-bar .html{font-size:9px}
.footer-2{padding:45px 30px}
.footer-2 .row>.col{max-width:100%;flex-basis:100%;margin-bottom:24px}}
.footer-2{color:#171715}
#header .account-item .account-link span,#header .cart-item .cart-title{display:none}
#top-bar>.flex-row{justify-content:center}
#top-bar .flex-left,#top-bar .flex-right{flex:0}
#top-bar .flex-center{flex:1;justify-content:center}
#header .header-cart-title{display:none}
.sa-announcements{display:grid;place-items:center;height:22px;overflow:hidden;white-space:nowrap}
.sa-announcements span{grid-area:1/1;animation:sa-announcement 10s infinite}
.sa-announcements span:nth-child(2){animation-delay:-5s}
@keyframes sa-announcement{0%,45%{opacity:1;transform:translateY(0)}50%,95%{opacity:0;transform:translateY(-25px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sa-announcements{height:auto;display:flex;gap:16px;flex-wrap:wrap}
.sa-announcements span{animation:none}}
.sa-cart-helper{padding:18px;background:#f7f3f0}
/* Shared background is permitted; Woo typography/cards/controls remain parent-owned. */
body, body #main { background: #f7f3f0; }

/* Native, configurable Flatsome footer. Keep payment markup, never enable gateways. */
.absolute-footer { padding: 20px 60px; color: #171715 !important; }
.absolute-footer > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 28px;
    max-width: 1440px;
    padding: 0;
}
.absolute-footer > .container::before,
.absolute-footer > .container::after { content: none; }
.absolute-footer .footer-primary {
    order: 0;
    float: none;
    flex: 1 1 auto;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
}
.absolute-footer .footer-secondary {
    order: 1;
    float: none;
    flex: 0 1 auto;
    width: auto;
    margin: 0 12px 0 0;
    padding: 0;
    text-align: right;
}
.absolute-footer .copyright-footer { color: #171715; font-size: 12px; }
.absolute-footer .payment-icons {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: 0;
    opacity: 1;
}
.absolute-footer .payment-icons .payment-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 30px;
    padding: 3px 5px;
    margin: 0;
    color: #fff;
    background: #283a36;
    border-radius: 3px;
    opacity: 1;
}
.absolute-footer .payment-icons svg { max-width: 44px; height: 26px; opacity: 1; }
.absolute-footer .sa-payment-icons .payment-icon { min-width: 0; min-height: 0; padding: 0; background: transparent; border: 1px solid #c8ccc9; border-radius: 4px; overflow: hidden; }
.absolute-footer .sa-payment-icons img { display: block; width: 46px; height: 29px; margin: 0; object-fit: contain; }

@media (max-width: 849px) {
    .absolute-footer { padding: 20px 30px; }
    .absolute-footer > .container { flex-wrap: wrap; gap: 14px; }
    .absolute-footer .footer-primary,
    .absolute-footer .footer-secondary { flex: 1 1 100%; text-align: left; margin-right: 0; }
    .absolute-footer .payment-icons { justify-content: flex-start; }
    #main-menu .nav-sidebar > li > .sa-mobile-parent,
    .mobile-sidebar .nav-sidebar > li > .sa-mobile-parent {
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 15px 45px 15px 20px;
        min-height: 50px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        font-size: .8em;
        font-weight: 600;
        letter-spacing: .02em;
        line-height: 1.3;
        text-align: left;
        white-space: normal;
        box-shadow: none;
        cursor: pointer;
    }
    #main-menu .nav-uppercase > li > .sa-mobile-parent,
    .mobile-sidebar .nav-uppercase > li > .sa-mobile-parent { text-transform: uppercase; }
    .sa-mobile-parent:focus-visible { outline: 2px solid #306e78; outline-offset: -3px; }
    #main-menu .nav-sidebar > li.has-child,
    .mobile-sidebar .nav-sidebar > li.has-child { position: relative; }
    #main-menu .nav-sidebar > li > .sa-mobile-parent + .toggle,
    .mobile-sidebar .nav-sidebar > li > .sa-mobile-parent + .toggle {
        position: absolute;
        top: 0;
        right: 0;
        left: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 45px;
        height: 50px;
        min-height: 0;
        margin: 0;
        padding: 0;
        z-index: 2;
    }
}

