@import url('https://fonts.googleapis.com/css2?family=Gantari:ital,wght@0,100..900;1,100..900&family=Krona+One&display=swap');

:root {
    --ab-primary-blue: #0F1E6E;
    --ab-highlight-yellow: #ffdc00;
    --ab-rose: #FFCCD8;
    --ab-light-blue: #AACCED;
    --ab-light-green: #E6EBAF;
    --ab-white: #FFFFFF;
    --font-heading: 'Krona One', sans-serif;
    --font-body: 'Gantari', sans-serif;
}

/* --- BASIS LAYOUT --- */
body, .zpwrap, #root {
    font-family: var(--font-body) !important;
    font-weight: 400;
    color: var(--ab-primary-blue);
    -webkit-font-smoothing: antialiased;
}

p, li {
    font-family: var(--font-body) !important;
    font-weight: 400;
    color: var(--ab-primary-blue) !important;
}

p[style*="color"],
li[style*="color"],
.zpelem-text p[style*="color"],
.zpelem-text span[style*="color"],
.zpsection p span,
.zpsection li span {
    color: var(--ab-primary-blue) !important;
}

/* --- INLINE FARBEN ÜBERSCHREIBEN --- */
[style*="color:rgb(81, 58, 81)"],
[style*="color: rgb(81, 58, 81)"],
[style*="color:rgb(29, 56, 90)"],
[style*="color: rgb(29, 56, 90)"],
[style*="color:rgb(1, 58, 81)"],
[style*="color: rgb(1, 58, 81)"],
[style*="color:#013A51"],
[style*="color: #013A51"] {
    color: var(--ab-primary-blue) !important;
}

/* --- WEISSE HINTERGRÜNDE ENTFERNEN --- */
.zpsection [style*="background-color: rgb(255, 255, 255)"],
.zpsection [style*="background-color: #ffffff"],
.zpsection [style*="background-color: #FFFFFF"],
.zpsection [style*="background-color: white"],
.zphero [style*="background-color: rgb(255, 255, 255)"],
.zphero [style*="background-color: #ffffff"],
.zphero [style*="background-color: white"] {
    background-color: transparent !important;
}

.zpsection .zpelem-text,
.zpsection .zpheading,
.zphero .zpelem-text,
.zphero h1,
.zphero h2 {
    background-color: transparent !important;
    background: none !important;
}

.zpsection .zpelem-text p,
.zpsection .zpelem-text span,
.zpsection .zpelem-text strong,
.zpsection .zpelem-text em,
.zpsection .zpelem-text li,
.zpsection .zpheading p,
.zpsection .zpheading span,
.zphero .zpelem-text p,
.zphero .zpelem-text span,
.zphero h1 span,
.zphero h2 span,
.zpelem-button a span,
.zpbutton span,
button span,
.theme-button span {
    background-color: transparent !important;
    background: none !important;
}

/* --- ÜBERSCHRIFTEN: Krona One --- */
h1, h2, h3, h4, h5, .zpheading {
    font-family: var(--font-heading) !important;
    font-weight: 400 !important;
    letter-spacing: -0.5px;
    text-transform: none;
    color: var(--ab-primary-blue) !important;
    background-color: transparent !important;
    background: none !important;
}

h1 { font-size: 32px !important; }
h2 { font-size: 24px !important; }
h3 { font-size: 18px !important; }
h4 { font-size: 16px !important; }
h5 { font-size: 14px !important; }

.zpheading[style*="color"],
.zpheading span[style*="color"],
h1[style*="color"], h2[style*="color"],
h3[style*="color"], h4[style*="color"],
h5[style*="color"] {
    color: var(--ab-primary-blue) !important;
}

/* --- PRODUKTTITEL DETAILSEITE --- */
.theme-product-details-heading,
.theme-product-details-heading *,
h1.zpheading,
.theme-product-info-header-area h1,
.theme-product-info-header-area .zpheading {
    font-family: var(--font-heading) !important;
    font-weight: 400 !important;
    font-size: 32px !important;
    letter-spacing: -0.5px;
    color: var(--ab-primary-blue) !important;
}

/* --- PRODUKTNAMEN LISTE --- */
.theme-product-name,
.theme-product-name a,
.theme-product-name h6,
.theme-product-name h5,
.theme-product-name h4,
.theme-prod-box .theme-product-name,
.theme-prod-box .theme-product-name a,
.theme-prod-box .theme-product-name h6,
.theme-prod-box .theme-product-price {
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: normal;
    color: var(--ab-primary-blue) !important;
}

/* --- NAVIGATION --- */
.theme-menu a,
.theme-menu li,
.theme-menu ul,
.theme-menu span {
    font-size: 18px !important;
    font-family: var(--font-heading) !important;
    color: var(--ab-primary-blue) !important;
    background-color: transparent !important;
    background: none !important;
}

/* --- BUTTONS --- */
.zpbutton, button, .zpelem-button a, .zs-button,
.theme-button, a.theme-button, .theme-cart-button-text,
input[type="button"], input[type="submit"] {
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0.2px;
    display: inline-block;
    padding: 14px 35px !important;
    text-decoration: none !important;
    border: none !important;
    background-image: none !important;
}

.zpbutton.zpbutton-type-primary,
button.theme-button-primary,
.theme-button-primary,
.zpelem-button.theme-button-primary a {
    background-color: var(--ab-primary-blue) !important;
    color: var(--ab-white) !important;
}

.zpbutton.zpbutton-type-secondary,
button.zpbutton-type-secondary,
.zpelem-button.zpbutton-type-secondary a,
.zpelem-button a[style*="background-color"],
[data-element-id*="elm_"] .zpbutton {
    background-color: var(--ab-highlight-yellow) !important;
    color: var(--ab-primary-blue) !important;
}

.theme-button span,
.theme-cart-button-text,
a.theme-button span,
.zpbutton span {
    color: inherit !important;
    background-color: transparent !important;
}

/* --- PRODUKT HOVER / WARENKORB --- */
.theme-product-hover-view,
.theme-product-hover-view .theme-button,
.theme-product-hover-view a.theme-button,
.theme-cart-button-text,
.theme-product-quick-view-link,
.theme-product-quick-view-link span {
    color: var(--ab-white) !important;
}

/* --- HEADER --- */
.zpheader-style-01 {
    background-color: var(--ab-white) !important;
    border-bottom: 1px solid #eee;
}

/* --- FOOTER --- */
.theme-footer-area,
.theme-footer-area *,
footer,
footer * {
    background-color: var(--ab-primary-blue) !important;
    color: var(--ab-white) !important;
}

.theme-footer-area span[style*="color"],
.theme-footer-area a[style*="color"],
.theme-footer-area p[style*="color"],
footer span[style*="color"],
footer a[style*="color"],
footer p[style*="color"] {
    color: var(--ab-white) !important;
}

footer a:hover,
.theme-footer-area a:hover {
    color: var(--ab-highlight-yellow) !important;
}

/* --- KATEGORIE-BANNER --- */
.theme-category-name {
    background-color: transparent !important;
    background: none !important;
}

.theme-category-heading {
    background-color: transparent !important;
    background: none !important;
    color: var(--ab-white) !important;
}

/* --- PREISE --- */
/* Nettopreis */
.theme-prod-total-price,
.theme-prod-total-price * {
    font-family: var(--font-body) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--ab-primary-blue) !important;
}

/* Bruttopreis – ALLE Varianten */
.theme-product-short-description h1,
.theme-product-short-description h1 font,
.theme-product-short-description b h1,
.theme-product-short-description b h1 font,
.theme-product-short-description span[style*="font-size:24px"],
.theme-product-short-description span[style*="font-size: 24px"],
.theme-product-short-description p span[style*="font-weight:bold"],
.theme-product-short-description p span[style*="font-weight: bold"],
.theme-product-short-description font[size="5"],
.theme-product-short-description font[size="6"] {
    font-family: var(--font-body) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--ab-primary-blue) !important;
    letter-spacing: normal !important;
    line-height: normal !important;
}

/* Verhindert b-Tag den ganzen Text fett macht */
.theme-product-short-description b {
    font-weight: inherit !important;
}

/* Preis Übersichtsliste */
.theme-product-price,
.theme-product-price * {
    font-family: var(--font-body) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--ab-primary-blue) !important;
}

/* --- SPEZIELLE ANPASSUNGEN --- */
.zphero div[style*="background-color: #ffdc00"],
.zphero div[style*="background-color: rgb(255, 220, 0)"],
.zphero-banner-side-content {
    display: none !important;
}

.zphero-banner-content {
    width: 100% !important;
    max-width: 100% !important;
}

/* --- LOGIK-FIXES --- */
.no-padding { padding: 0 !important; margin-bottom: -10px; }
.theme-rating { display: none; }
.theme-product-media-container,
.theme-product-details-container { border: none !important; }
strong, b { font-weight: 700; }

/* --- HERO --- */
.zphero-slider-container,
.zphero-banner-style-15,
.zphero-section,
.zphero-banner {
    min-height: 500px !important;
    height: auto !important;
}

.zphero-video-container video {
    object-fit: cover !important;
}

.zphero h1, .zphero h2, .zphero h3,
.zphero .zpheading,
.zphero-banner-style-13 .zpheading,
.zphero-banner-style-15 .zpheading {
    color: var(--ab-primary-blue) !important;
    font-family: var(--font-heading) !important;
    font-weight: 400 !important;
}

/* --- HERO MOBILE --- */
@media (max-width: 768px) {
    .zphero-slider-container,
    .zphero-banner-style-15,
    .zphero-banner-style-13,
    .zphero-banner-style-13 .zphero-banner-content {
        min-height: 600px !important;
        padding-top: 200px !important;
        background-color: var(--ab-light-blue) !important;
    }

    .zphero h1, .zphero h2,
    .zphero .zpheading,
    .zphero-banner-style-13 .zpheading {
        font-size: 28px !important;
        line-height: 1.2 !important;
        color: var(--ab-primary-blue) !important;
    }

    .zphero p, .zphero .zpelem-text {
        font-size: 16px !important;
        line-height: 1.4 !important;
        color: var(--ab-primary-blue) !important;
    }
}