/**
 * Shop-Theme: schwarz + weiße Schrift (Header, Nav, Footer, Content).
 * Baut auf dem Website-Header-Layout (ff-header.css) auf – nur Farben/Logo.
 */

body.ff-shop-shell {
    background: #000 !important;
}

body.ff-shop-shell .ff-content-wrap {
    background: #000 !important;
}

/* Header-Stack schwarz (wie Website-Struktur, andere Farbe) */
body.ff-shop-shell .ff-header-stack {
    background: #000 !important;
}

body.ff-shop-shell .ff-header-stack .ff-header,
body.ff-shop-shell .ff-header-stack .ff-main-nav,
body.ff-shop-shell .ff-header-stack nav.ff-main-nav,
body.ff-shop-shell .ff-header-stack nav#ff-main-nav {
    background: #000 !important;
}

body.ff-shop-shell .ff-header-stack.ff-header--compact .ff-header {
    border-bottom-color: #333 !important;
}

body.ff-shop-shell .ff-header-stack .ff-main-nav,
body.ff-shop-shell .ff-header-stack nav.ff-main-nav,
body.ff-shop-shell .ff-header-stack nav#ff-main-nav {
    background: linear-gradient(to top, #333 2px, #000 2px) !important;
}

/* Logo mittig – Figma 429×34 px */
body.ff-shop-shell .ff-header-center {
    width: 429px !important;
    max-width: min(429px, calc(100vw - 128px)) !important;
}

body.ff-shop-shell .ff-header-inner .ff-logo-link {
    display: block;
    width: 429px;
    max-width: min(429px, calc(100vw - 128px));
}

body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--desktop,
body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--mobile {
    width: 429px !important;
    max-width: min(429px, calc(100vw - 128px)) !important;
    height: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: 1 !important;
}

@media (min-width: 1025px) {
    body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--desktop {
        display: block !important;
        width: 429px !important;
        max-width: 429px !important;
        height: 34px !important;
    }

    body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--mobile {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--desktop {
        display: none !important;
    }

    body.ff-shop-shell .ff-header-inner .ff-logo-img.ff-logo-img--mobile {
        display: block !important;
        width: min(429px, calc(100vw - 48px)) !important;
        max-width: min(429px, calc(100vw - 48px)) !important;
        height: 34px !important;
        max-height: 34px !important;
    }
}

body.ff-shop-shell .ff-mobile-panel-header .ff-logo-img.ff-logo-img--panel {
    width: min(429px, calc(100vw - 96px)) !important;
    max-width: min(429px, calc(100vw - 96px)) !important;
    height: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    opacity: 1 !important;
}

/* Link links oben: Pfeil + Text (Roboto Condensed 15px) */
body.ff-shop-shell .ff-shop-website-link {
    display: inline-flex;
    align-items: center;
    color: #fff !important;
    text-decoration: none !important;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0;
}

body.ff-shop-shell .ff-shop-website-link__inner {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.ff-shop-shell .ff-shop-website-link__arrow {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: #fff;
    opacity: 1;
}

body.ff-shop-shell .ff-shop-website-link:hover,
body.ff-shop-shell .ff-shop-website-link:focus {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
}

body.ff-shop-shell .ff-shop-website-link:hover .ff-shop-website-link__arrow,
body.ff-shop-shell .ff-shop-website-link:focus .ff-shop-website-link__arrow {
    color: rgba(255, 255, 255, 0.85);
    opacity: 1;
}

/*
 * Main-Nav Shop – gleiche Typo/Hover-Logik wie Website (ff-header.css),
 * Farben weiß auf schwarz, Strich aktiv/hover weiß statt #B43526.
 */
body.ff-shop-shell .ff-main-nav ul.ff-menu.ff-menu-shop > li > a {
    color: #fff !important;
    font-weight: 400 !important;
    font-size: 17px !important;
    line-height: 24px !important;
    padding: 0 0 10px !important;
    transition: color 0.2s !important;
    white-space: nowrap !important;
    background-image: none !important;
}

body.ff-shop-shell .ff-main-nav ul.ff-menu.ff-menu-shop > li > a::after {
    content: attr(data-text) !important;
    display: block !important;
    font-weight: 600 !important;
    font-size: inherit !important;
    line-height: 24px !important;
    letter-spacing: inherit !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

@media (hover: hover) {
    body.ff-shop-shell .ff-main-nav ul.ff-menu.ff-menu-shop > li:hover > a {
        color: #fff !important;
        font-weight: 600 !important;
        background-image: linear-gradient(#fff, #fff) !important;
        background-size: 100% 2px !important;
        background-position: bottom center !important;
        background-repeat: no-repeat !important;
    }
}

body.ff-shop-shell .ff-main-nav ul.ff-menu.ff-menu-shop > li.current-menu-item > a {
    color: #fff !important;
    font-weight: 600 !important;
    position: relative;
    z-index: 2;
    background-image: linear-gradient(#fff, #fff) !important;
    background-size: 100% 2px !important;
    background-position: bottom center !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
    border-bottom: none !important;
}

body.ff-shop-shell .ff-main-nav .ff-menu-shop {
    justify-content: space-between !important;
}

body.ff-shop-shell .ff-mobile-menu.ff-mobile-menu-shop > li > a {
    color: #fff !important;
    font-size: 17px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
}

body.ff-shop-shell .ff-mobile-menu.ff-mobile-menu-shop > li.current-menu-item > a {
    font-weight: 600 !important;
    color: #fff !important;
    text-decoration: underline !important;
    text-decoration-color: #fff !important;
    text-underline-offset: 4px;
}

body.ff-shop-shell .ff-header .ff-header-icon,
body.ff-shop-shell .ff-header .ff-header-profile-link,
body.ff-shop-shell .ff-header-search-wrap .ff-header-icon.ff-header-search-trigger {
    color: #fff !important;
}

body.ff-shop-shell .ff-header-search-wrap .ff-header-icon.ff-header-search-trigger,
body.ff-shop-shell .ff-header-search-wrap .ff-header-icon.ff-header-search-trigger:hover {
    color: #fff !important;
}

body.ff-shop-shell .ff-header .ff-header-search-icon path {
    stroke: #fff !important;
}

body.ff-shop-shell .ff-header .ff-header-search-wrap.is-open .ff-header-search-panel {
    background-color: #fff !important;
}

body.ff-shop-shell .ff-header .ff-header-search-input {
    color: #000 !important;
}

/* Icons rechts: Lupe | Warenkorb | Profil – mittlerer Abstand */
body.ff-shop-shell .ff-header-right {
    gap: 5px !important;
    column-gap: 5px !important;
}

body.ff-shop-shell .ff-header-right .ff-header-search-wrap,
body.ff-shop-shell .ff-header-right .ff-header-search-shell {
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.ff-shop-shell #ff-header-search.ff-header-search-wrap:not(.is-open) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 24px !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

body.ff-shop-shell .ff-header-right .ff-header-search-trigger {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.ff-shop-shell .ff-header-right .ff-header-search-icon {
    width: 20px !important;
    height: 20px !important;
}

body.ff-shop-shell .ff-header-right .ff-header-profile-link.ff-header-icon.ff-profile-dual {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.ff-shop-shell .ff-shop-cart-link,
body.ff-shop-shell .ff-nav-reveal-right .ff-shop-cart-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.ff-shop-shell .ff-header-search-wrap.is-open {
    gap: 4px;
}

body.ff-shop-shell .ff-icon-cart {
    display: block;
    width: 19px;
    height: 19px;
}

body.ff-shop-shell .ff-header-stack.ff-header--compact-show-nav .ff-nav-reveal-right {
    gap: 5px !important;
    column-gap: 5px !important;
}

body.ff-shop-shell .ff-header .ff-icon-profile {
    filter: brightness(0) invert(1);
}

body.ff-shop-shell .ff-mobile-nav-toggle-img {
    filter: brightness(0) invert(1);
}

body.ff-shop-shell .ff-nav-reveal-left .ff-nav-mini-logo img {
    width: 429px;
    max-width: min(429px, 40vw);
    height: 34px;
    max-height: 34px;
    object-fit: contain;
    opacity: 1;
}

/* Footer schwarz, Text weiß */
html body.ff-shop-shell footer#ff-footer {
    background: #000 !important;
    color: #fff !important;
}

html body.ff-shop-shell footer#ff-footer .ff-footer-section-rule {
    background: #333 !important;
    border-color: #333 !important;
}

html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a,
html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a:link,
html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a:visited,
html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a:active,
html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a:focus,
html body.ff-shop-shell footer#ff-footer .ff-footer-links-row a:hover {
    color: #fff !important;
}

html body.ff-shop-shell footer#ff-footer .ff-footer-social a,
html body.ff-shop-shell footer#ff-footer .ff-footer-social svg {
    color: #fff !important;
    fill: #fff !important;
}

html body.ff-shop-shell footer#ff-footer .ff-footer-logo {
    max-width: min(429px, 90vw);
    height: auto;
    max-height: 34px;
}

html body.ff-shop-shell footer#ff-footer button.ff-scroll-top,
html body.ff-shop-shell footer#ff-footer button#ff-scroll-top {
    color: #fff !important;
    border-color: #fff !important;
}
