/*
Theme Name: Das Fishing
Theme URI: https://das-fishing.de
Author: Das Fishing
Author URI: https://das-fishing.de
Description: Individuelles WordPress- und WooCommerce-Theme für Das Fishing.
Version: 2.6.4
Text Domain: das-fishing
*/

/* ==================================================
   Grundeinstellungen
================================================== */

:root {
    --df-background: #071014;
    --df-background-light: #0d181d;
    --df-card: #111d22;
    --df-border: rgba(255, 255, 255, 0.1);

    --df-text: #ffffff;
    --df-text-muted: #aebbc1;

    --df-primary: #00a6a6;
    --df-primary-dark: #007f82;
    --df-accent: #c7f000;

    --df-container: 1400px;
    --df-radius: 12px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--df-background);
    color: var(--df-text);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

ul,
ol {
    box-sizing: border-box;
}

.df-container {
    width: min(calc(100% - 40px), var(--df-container));
    margin-inline: auto;
}

.df-main {
    min-height: 60vh;
}

/* ==================================================
   Header
================================================== */

.df-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: #061014;
    border-top: 2px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid var(--df-border);
}

.df-header__inner {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 35px;
}

/* Logo */

.df-header__logo {
    width: 260px;
    flex: 0 0 260px;
}

.df-header__logo .custom-logo-link {
    display: flex;
    align-items: center;
    line-height: 0;
}

.df-header__logo .custom-logo {
    display: block;
    width: 260px !important;
    max-width: 260px !important;
    height: auto !important;
    max-height: 72px !important;
    object-fit: contain;
    object-position: left center;

    /* Schwarzes Logo in Weiß umwandeln */
    filter: brightness(0) invert(1);
}

.df-header__logo > a:not(.custom-logo-link) {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.df-header__logo > a:not(.custom-logo-link) strong {
    color: var(--df-primary);
}

/* Navigation */

.df-navigation {
    margin-left: auto;
    flex: 0 1 auto;
}

.df-navigation__menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 32px;

    margin: 0;
    padding: 0;
    list-style: none;
}

.df-navigation__menu li {
    position: relative;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

.df-navigation__menu a {
    position: relative;
    display: block;
    padding: 39px 0;

    color: var(--df-text);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.2px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;

    transition:
        color 180ms ease,
        opacity 180ms ease;
}

.df-navigation__menu a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 28px;

    height: 2px;
    background: var(--df-primary);

    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms ease;
}

.df-navigation__menu a:hover,
.df-navigation__menu .current-menu-item > a,
.df-navigation__menu .current_page_item > a {
    color: var(--df-primary);
}

.df-navigation__menu a:hover::after,
.df-navigation__menu .current-menu-item > a::after,
.df-navigation__menu .current_page_item > a::after {
    transform: scaleX(1);
}

/* Header-Symbole */

.df-header__actions {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    gap: 14px;
}

.df-header__icon,
.df-header__cart {
    position: relative;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    border: 1px solid var(--df-border);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.015);

    font-size: 15px;
    line-height: 1;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.df-header__icon:hover,
.df-header__cart:hover {
    color: var(--df-primary);
    border-color: var(--df-primary);
    background: rgba(0, 166, 166, 0.08);
    transform: translateY(-2px);
}

.df-header__cart-count {
    position: absolute;
    top: -5px;
    right: -5px;

    min-width: 20px;
    height: 20px;
    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #071014;
    background: var(--df-accent);
    border-radius: 999px;

    font-size: 11px;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
}
.df-header__cart-count:empty { display: none !important; }

/* ==================================================
   Hero-Bereich
================================================== */

.df-hero {
    position: relative;
    min-height: calc(100vh - 96px);
    min-height: 780px;

    display: flex;
    align-items: center;

    overflow: hidden;
    isolation: isolate;
    background: #071014;
}

.df-hero__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    background-image: url("assets/images/hero-home.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    transform: scale(1.01);
}

.df-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            90deg,
            rgba(3, 12, 16, 0.98) 0%,
            rgba(3, 12, 16, 0.93) 20%,
            rgba(3, 12, 16, 0.72) 43%,
            rgba(3, 12, 16, 0.20) 72%,
            rgba(3, 12, 16, 0.06) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3, 12, 16, 0.82) 0%,
            transparent 38%,
            rgba(3, 12, 16, 0.12) 100%
        );
}

.df-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;

    height: 180px;
    pointer-events: none;

    background: linear-gradient(
        to bottom,
        transparent,
        var(--df-background)
    );
}

.df-hero__container {
    position: relative;
    z-index: 2;

    padding-top: 80px;
    padding-bottom: 120px;
}

.df-hero__content {
    width: min(100%, 790px);
}

.df-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;

    margin: 0 0 24px;

    color: var(--df-accent);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 2.5px;
    line-height: 1.4;
    text-transform: uppercase;
}

.df-hero__eyebrow::before {
    content: "";
    width: 46px;
    height: 2px;
    flex: 0 0 auto;
    background: var(--df-accent);
}

.df-hero__title {
    max-width: 820px;
    margin: 0;

    color: var(--df-text);
    font-size: clamp(62px, 7.2vw, 118px);
    font-weight: 900;
    letter-spacing: -4px;
    line-height: 0.87;
    text-transform: uppercase;

    text-shadow: 0 8px 35px rgba(0, 0, 0, 0.4);
}

.df-hero__title span {
    display: block;
    margin-top: 12px;
    color: var(--df-primary);
}

.df-hero__description {
    max-width: 650px;
    margin: 34px 0 0;

    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(17px, 1.4vw, 21px);
    line-height: 1.7;
}

.df-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;

    margin-top: 38px;
}

/* Buttons */

.df-button {
    min-height: 56px;
    padding: 0 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    border: 1px solid transparent;
    border-radius: 7px;

    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.6px;
    line-height: 1;
    text-transform: uppercase;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease;
}

.df-button:hover {
    transform: translateY(-2px);
}

.df-button--primary {
    color: #ffffff;
    background: var(--df-primary);
    box-shadow: 0 12px 35px rgba(0, 166, 166, 0.25);
}

.df-button--primary:hover {
    color: #ffffff;
    background: var(--df-primary-dark);
    box-shadow: 0 16px 42px rgba(0, 166, 166, 0.35);
}

.df-button--secondary {
    color: #ffffff;
    background: rgba(7, 16, 20, 0.35);
    border-color: rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(8px);
}

.df-button--secondary:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.65);
}

/* Vorteile unter den Buttons */

.df-hero__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 0;

    margin-top: 58px;
}

.df-hero__benefit {
    min-width: 185px;
    padding: 0 28px;

    border-right: 1px solid rgba(255, 255, 255, 0.17);
}

.df-hero__benefit:first-child {
    padding-left: 0;
}

.df-hero__benefit:last-child {
    border-right: 0;
}

.df-hero__benefit strong,
.df-hero__benefit span {
    display: block;
}

.df-hero__benefit strong {
    margin-bottom: 3px;

    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-hero__benefit span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
}

/* Mehr-entdecken-Anzeige */

.df-hero__scroll {
    position: absolute;
    right: 30px;
    bottom: 45px;
    z-index: 3;

    display: flex;
    align-items: center;
    gap: 12px;

    color: rgba(255, 255, 255, 0.65);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    writing-mode: vertical-rl;

    transition: color 180ms ease;
}

.df-hero__scroll:hover {
    color: var(--df-accent);
}

/* ==================================================
   Bereich unter dem Hero
================================================== */

.df-home-intro {
    padding: 105px 0;
    text-align: center;
    background: var(--df-background);
}

.df-home-intro .df-container {
    max-width: 900px;
}

.df-section-eyebrow {
    margin: 0 0 12px;

    color: var(--df-primary);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.df-home-intro h2 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -1.5px;
    line-height: 1.05;
    text-transform: uppercase;
}

.df-home-intro p:last-child {
    max-width: 700px;
    margin: 24px auto 0;

    color: var(--df-text-muted);
    font-size: 18px;
}

/* ==================================================
   Allgemeine WordPress-Inhalte
================================================== */

.entry-content,
.page-content {
    color: var(--df-text-muted);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    color: var(--df-text);
}

.entry-content a,
.page-content a {
    color: var(--df-primary);
}

.entry-content a:hover,
.page-content a:hover {
    color: var(--df-accent);
}

/* ==================================================
   Footer CTA
================================================== */

.df-footer-cta {
    position: relative;
    padding: 52px 0;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(3, 12, 16, 0.94),
            rgba(3, 12, 16, 0.62)
        ),
        url("assets/images/hero-home.png");

    background-position: center 52%;
    background-size: cover;
    border-top: 1px solid var(--df-border);
    border-bottom: 1px solid var(--df-border);
}

.df-footer-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.df-footer-cta h2 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(30px, 3vw, 48px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.df-footer-cta p {
    margin: 10px 0 0;
    color: var(--df-text-muted);
}

.df-footer-cta__button {
    min-height: 58px;
    padding: 0 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex: 0 0 auto;

    color: #071014;
    background: var(--df-accent);
    border-radius: 5px;

    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;

    transition:
        transform 180ms ease,
        filter 180ms ease;
}

.df-footer-cta__button:hover {
    color: #071014;
    filter: brightness(1.08);
    transform: translateY(-2px);
}

/* ==================================================
   Footer
================================================== */

.df-footer {
    padding: 80px 0 25px;
    color: var(--df-text);
    background: #03090c;
    border-top: 0;
}

.df-footer__grid {
    display: grid;
    grid-template-columns: 1.65fr 0.8fr 0.9fr 1fr 1.25fr;
    gap: 55px;
}

.df-footer__logo {
    margin-bottom: 24px;
}

.df-footer__logo .custom-logo {
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    filter: brightness(0) invert(1);
}

.df-footer__brand p {
    max-width: 330px;
    margin: 0;
    color: var(--df-text-muted);
    font-size: 14px;
    line-height: 1.75;
}

.df-footer h4 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.df-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.df-footer li + li {
    margin-top: 9px;
}

.df-footer li,
.df-footer a {
    color: var(--df-text-muted);
    font-size: 13px;
}

.df-footer a:hover {
    color: var(--df-primary);
}

.df-footer__socials {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.df-footer__socials a {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;

    font-size: 10px;
    font-weight: 900;
}

.df-footer__socials a:hover {
    color: var(--df-primary);
    border-color: var(--df-primary);
}

.df-footer__payments {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 25px;
}

.df-footer__payments span {
    padding: 6px 9px;

    color: #ffffff;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid var(--df-border);
    border-radius: 4px;

    font-size: 10px;
    font-weight: 800;
}

.df-footer__bottom {
    margin-top: 65px;
    padding-top: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    color: rgba(255, 255, 255, 0.45);
    border-top: 1px solid var(--df-border);

    font-size: 12px;
    text-align: left;
}

@media screen and (max-width: 1100px) {
    .df-footer__grid {
        grid-template-columns: 1.5fr repeat(2, 1fr);
    }
}

@media screen and (max-width: 760px) {
    .df-footer-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .df-footer-cta__button {
        width: 100%;
    }

    .df-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 45px 30px;
    }
}

@media screen and (max-width: 520px) {
    .df-footer__grid {
        grid-template-columns: 1fr;
    }

    .df-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ==================================================
   WooCommerce Grundlagen
================================================== */

.woocommerce,
.woocommerce-page {
    color: var(--df-text);
}

.woocommerce .woocommerce-breadcrumb {
    color: var(--df-text-muted);
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--df-primary);
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product {
    width: auto;
    margin: 0;
    padding: 18px;

    background: var(--df-card);
    border: 1px solid var(--df-border);
    border-radius: var(--df-radius);

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 166, 166, 0.45);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
}

.woocommerce ul.products li.product img {
    border-radius: 8px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #ffffff;
    font-size: 17px;
}

.woocommerce ul.products li.product .price {
    color: var(--df-accent);
    font-weight: 900;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    color: #ffffff;
    background: var(--df-primary);
    border-radius: 6px;

    font-weight: 800;
    text-transform: uppercase;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    color: #ffffff;
    background: var(--df-primary-dark);
}

/* ==================================================
   Responsive: große Tablets
================================================== */

@media screen and (max-width: 1200px) {
    .df-header__inner {
        gap: 22px;
    }

    .df-header__logo {
        width: 210px;
        flex-basis: 210px;
    }

    .df-header__logo .custom-logo {
        width: 210px !important;
        max-width: 210px !important;
        max-height: 60px !important;
    }

    .df-navigation__menu {
        gap: 20px;
    }

    .df-navigation__menu a {
        font-size: 12px;
    }

    .df-hero__content {
        width: min(100%, 700px);
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ==================================================
   Responsive: Tablets
================================================== */

@media screen and (max-width: 1050px) {
    .df-header__logo {
        width: 180px;
        flex-basis: 180px;
    }

    .df-header__logo .custom-logo {
        width: 180px !important;
        max-width: 180px !important;
        max-height: 55px !important;
    }

    .df-navigation__menu {
        gap: 14px;
    }

    .df-navigation__menu a {
        font-size: 11px;
    }

    .df-header__actions {
        gap: 8px;
    }

    .df-header__icon,
    .df-header__cart {
        width: 38px;
        height: 38px;
    }

    .df-hero {
        min-height: 760px;
    }

    .df-hero__background {
        background-position: 62% center;
    }

    .df-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(3, 12, 16, 0.98) 0%,
                rgba(3, 12, 16, 0.89) 42%,
                rgba(3, 12, 16, 0.30) 100%
            ),
            linear-gradient(
                0deg,
                rgba(3, 12, 16, 0.82) 0%,
                transparent 45%
            );
    }

    .df-hero__title {
        letter-spacing: -3px;
    }
}

/* ==================================================
   Responsive: kleine Tablets und Smartphones
================================================== */

@media screen and (max-width: 850px) {
    .df-header__inner {
        min-height: 82px;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .df-header__logo {
        width: 190px;
        flex-basis: 190px;
    }

    .df-header__logo .custom-logo {
        width: 190px !important;
        max-width: 190px !important;
        max-height: 58px !important;
    }

    .df-navigation {
        order: 3;
        width: 100%;
        margin: 10px 0 0;
        overflow-x: auto;
    }

    .df-navigation__menu {
        justify-content: flex-start;
        gap: 24px;
        min-width: max-content;
    }

    .df-navigation__menu a {
        padding: 15px 0;
        font-size: 12px;
    }

    .df-navigation__menu a::after {
        bottom: 7px;
    }

    .df-header__actions {
        margin-left: auto;
    }

    .df-hero {
        min-height: 760px;
        align-items: flex-end;
    }

    .df-hero__background {
        background-position: 67% center;
    }

    .df-hero__overlay {
        background:
            linear-gradient(
                0deg,
                rgba(3, 12, 16, 0.99) 0%,
                rgba(3, 12, 16, 0.90) 48%,
                rgba(3, 12, 16, 0.22) 100%
            );
    }

    .df-hero__container {
        padding-top: 160px;
        padding-bottom: 75px;
    }

    .df-hero__eyebrow {
        font-size: 11px;
        letter-spacing: 1.7px;
    }

    .df-hero__eyebrow::before {
        width: 28px;
    }

    .df-hero__title {
        font-size: clamp(48px, 15vw, 76px);
        letter-spacing: -2px;
    }

    .df-hero__description {
        margin-top: 24px;
        font-size: 16px;
        line-height: 1.6;
    }

    .df-hero__buttons {
        align-items: stretch;
        flex-direction: column;
        margin-top: 30px;
    }

    .df-button {
        width: 100%;
    }

    .df-hero__benefits {
        display: none;
    }

    .df-hero__scroll {
        display: none;
    }

    .df-home-intro {
        padding: 75px 0;
    }

    .df-footer__grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==================================================
   Responsive: Smartphones
================================================== */

@media screen and (max-width: 520px) {
    .df-container {
        width: min(calc(100% - 28px), var(--df-container));
    }

    .df-header__logo {
        width: 155px;
        flex-basis: 155px;
    }

    .df-header__logo .custom-logo {
        width: 155px !important;
        max-width: 155px !important;
        max-height: 48px !important;
    }

    .df-header__icon,
    .df-header__cart {
        width: 36px;
        height: 36px;
    }

    .df-navigation__menu {
        gap: 20px;
    }

    .df-hero {
        min-height: 700px;
    }

    .df-hero__container {
        padding-top: 130px;
        padding-bottom: 55px;
    }

    .df-hero__title {
        font-size: 48px;
        line-height: 0.92;
    }

    .df-hero__title span {
        margin-top: 8px;
    }

    .df-hero__description {
        font-size: 15px;
    }

    .df-home-intro h2 {
        font-size: 38px;
    }

    .df-home-intro p:last-child {
        font-size: 16px;
    }

    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   Startseite: Produkte
================================================== */

.df-products-section {
    position: relative;
    padding: 110px 0 120px;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(0, 166, 166, 0.06),
            transparent 38%
        ),
        var(--df-background);
}

.df-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 42px;
}

.df-section-heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

.df-section-heading h2 span {
    color: var(--df-primary);
}

.df-section-link {
    min-height: 48px;
    padding: 0 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 0 0 auto;

    color: #ffffff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 6px;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.df-section-link:hover {
    color: var(--df-primary);
    background: rgba(0, 166, 166, 0.06);
    border-color: var(--df-primary);
    transform: translateY(-2px);
}

.df-product-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.df-product-card {
    position: relative;
    min-width: 0;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            rgba(255, 255, 255, 0)
        ),
        var(--df-card);

    border: 1px solid var(--df-border);
    border-radius: 10px;

    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;
}

.df-product-card:hover {
    transform: translateY(-7px);
    border-color: rgba(0, 166, 166, 0.55);
    box-shadow:
        0 22px 55px rgba(0, 0, 0, 0.32),
        0 0 0 1px rgba(0, 166, 166, 0.05);
}

.df-product-card__image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(255, 255, 255, 0.08),
            transparent 55%
        ),
        #172228;
}

.df-product-card__image a {
    width: 100%;
    height: 100%;
    display: block;
}

.df-product-card__image img {
    width: 100%;
    height: 100%;
    padding: 22px;
    object-fit: contain;

    transition: transform 350ms ease;
}

.df-product-card:hover .df-product-card__image img {
    transform: scale(1.06);
}

.df-product-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;

    min-height: 25px;
    padding: 0 9px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #071014;
    background: var(--df-accent);
    border-radius: 3px;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.6px;
    line-height: 1;
    text-transform: uppercase;
}

.df-product-card__badge--teal {
    color: #ffffff;
    background: var(--df-primary);
}

.df-product-card__content {
    flex: 1;
    padding: 20px;

    display: flex;
    flex-direction: column;
}

.df-product-card__category {
    min-height: 18px;
    margin: 0 0 8px;

    color: var(--df-primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}

.df-product-card__category a {
    color: inherit;
}

.df-product-card__title {
    margin: 0;
    min-height: 53px;

    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}

.df-product-card__title a {
    color: inherit;
}

.df-product-card__title a:hover {
    color: var(--df-primary);
}

.df-product-card__price {
    width: fit-content;
    min-width: 120px;
    margin: 18px auto;
    padding: 10px 18px;

    display: block;

    color: var(--df-accent);
    background: rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;

    font-size: 18px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
}

.df-product-card__price del {
    margin-right: 7px;
    color: rgba(255, 255, 255, 0.42);
    font-size: 13px;
    font-weight: 500;
}

.df-product-card__price ins {
    color: var(--df-accent);
    text-decoration: none;
}

.df-product-card__button {
    width: 100%;
    min-height: 46px;
    margin-top: auto;
    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    color: #ffffff !important;
    background: #091216 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 5px !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.45px;
    line-height: 1 !important;
    text-align: center;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease !important;
}

.df-product-card__button:hover {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

.df-product-card__cart-icon {
    display: inline-flex;
    flex: 0 0 auto;
}

.df-products-empty {
    padding: 70px 30px;
    text-align: center;
    background: var(--df-card);
    border: 1px solid var(--df-border);
    border-radius: var(--df-radius);
}

.df-products-empty p {
    margin: 0 0 25px;
    color: var(--df-text-muted);
}


/* ==================================================
   Startseite: Vorteile
================================================== */

.df-benefits-section {
    padding: 0 0 100px;
    background: var(--df-background);
}

.df-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.025),
            rgba(255, 255, 255, 0)
        ),
        #0b151a;

    border-top: 1px solid var(--df-border);
    border-bottom: 1px solid var(--df-border);
}

.df-benefit-card {
    position: relative;
    min-height: 145px;
    padding: 30px;

    display: flex;
    align-items: center;
    gap: 22px;
}

.df-benefit-card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 0;
    bottom: 30px;
    width: 1px;
    background: var(--df-border);
}

.df-benefit-card__icon {
    width: 55px;
    height: 55px;
    flex: 0 0 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--df-primary);
}

.df-benefit-card__icon svg {
    width: 100%;
    height: 100%;
}

.df-benefit-card h3 {
    margin: 0 0 6px;

    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.df-benefit-card p {
    margin: 0;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.55;
}

@media screen and (max-width: 1250px) {
    .df-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .df-product-card:nth-child(5) {
        display: none;
    }

    .df-benefit-card {
        padding: 25px 20px;
        gap: 15px;
    }

    .df-benefit-card__icon {
        width: 45px;
        height: 45px;
        flex-basis: 45px;
    }
}

@media screen and (max-width: 950px) {
    .df-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .df-product-card:nth-child(5) {
        display: flex;
    }

    .df-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .df-benefit-card:nth-child(2)::after {
        display: none;
    }

    .df-benefit-card:nth-child(-n + 2) {
        border-bottom: 1px solid var(--df-border);
    }
}

@media screen and (max-width: 650px) {
    .df-products-section {
        padding: 75px 0;
    }

    .df-section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .df-section-heading h2 {
        font-size: 40px;
    }

    .df-section-link {
        width: 100%;
    }

    .df-product-grid {
        grid-template-columns: 1fr;
    }

    .df-product-card__image {
        aspect-ratio: 4 / 3;
    }

    .df-product-card__title {
        min-height: auto;
    }

    .df-benefits-section {
        padding-bottom: 70px;
    }

    .df-benefits-grid {
        grid-template-columns: 1fr;
    }

    .df-benefit-card {
        min-height: auto;
        padding: 25px 20px;
        border-bottom: 1px solid var(--df-border);
    }

    .df-benefit-card:last-child {
        border-bottom: 0;
    }

    .df-benefit-card::after {
        display: none;
    }
}


/* ==================================================
   Startseite: Mehr als nur ein Shop
================================================== */

.df-about-section {
    position: relative;
    padding: 115px 0;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(0, 166, 166, 0.11),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #081216 0%,
            #0b171c 48%,
            #071014 100%
        );
    border-top: 1px solid var(--df-border);
    border-bottom: 1px solid var(--df-border);
}

.df-about-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.13;

    background-image:
        linear-gradient(
            120deg,
            transparent 0%,
            rgba(255, 255, 255, 0.05) 50%,
            transparent 100%
        );
}

.df-about {
    position: relative;
    z-index: 1;

    display: grid;
    grid-template-columns:
        minmax(260px, 0.9fr)
        minmax(390px, 1.35fr)
        minmax(290px, 0.8fr);
    align-items: center;
    gap: 70px;
}

.df-about__visual {
    position: relative;
    min-height: 380px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.df-about__fish {
    width: 115%;
    color: rgba(255, 255, 255, 0.13);
    transform: translateX(-9%);
}

.df-about__fish svg {
    display: block;
    width: 100%;
    height: auto;
}

.df-about__content h2 {
    max-width: 680px;
    margin: 0 0 30px;

    color: #ffffff;
    font-size: clamp(42px, 4.8vw, 72px);
    font-weight: 900;
    letter-spacing: -2.5px;
    line-height: 1;
    text-transform: uppercase;
}

.df-about__content h2 span {
    display: block;
    color: var(--df-primary);
}

.df-about__text {
    max-width: 700px;
    margin: 0 0 18px;

    color: var(--df-text-muted);
    font-size: 16px;
    line-height: 1.8;
}

.df-about__signature {
    margin-top: 32px;
    color: var(--df-accent);
    font-family: cursive;
    font-size: 28px;
    font-style: italic;
    line-height: 1.1;
}

.df-about__signature span {
    display: block;
    margin-top: 8px;

    color: var(--df-text-muted);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-about__features {
    padding-left: 45px;
    border-left: 1px solid var(--df-border);
}

.df-about-feature {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    align-items: flex-start;
}

.df-about-feature + .df-about-feature {
    margin-top: 30px;
}

.df-about-feature__icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--df-primary);
    background: rgba(0, 166, 166, 0.08);
    border: 1px solid rgba(0, 166, 166, 0.24);
    border-radius: 50%;

    font-size: 20px;
    font-weight: 900;
}

.df-about-feature h3 {
    margin: 2px 0 5px;

    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-about-feature p {
    margin: 0;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.6;
}

@media screen and (max-width: 1100px) {
    .df-about {
        grid-template-columns: 0.8fr 1.4fr;
        gap: 45px;
    }

    .df-about__features {
        grid-column: 1 / -1;
        padding: 45px 0 0;
        border-top: 1px solid var(--df-border);
        border-left: 0;

        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }

    .df-about-feature + .df-about-feature {
        margin-top: 0;
    }
}

@media screen and (max-width: 760px) {
    .df-about-section {
        padding: 80px 0;
    }

    .df-about {
        grid-template-columns: 1fr;
    }

    .df-about__visual {
        display: none;
    }

    .df-about__features {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 520px) {
    .df-about__content h2 {
        font-size: 40px;
    }

    .df-about__features {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   WooCommerce Einzelprodukt
================================================== */

.single-product .df-main {
    padding: 60px 0 0;
    background:
        radial-gradient(
            circle at 70% 10%,
            rgba(0, 166, 166, 0.07),
            transparent 30%
        ),
        var(--df-background);
}

.single-product div.product {
    width: min(calc(100% - 40px), var(--df-container));
    margin-inline: auto;
}

.single-product .woocommerce-breadcrumb {
    margin: 0 0 35px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 12px;
}

.single-product .woocommerce-breadcrumb a {
    color: var(--df-primary);
}

.single-product div.product::after {
    content: "";
    display: table;
    clear: both;
}

/* Produktgalerie */

.single-product div.product div.images {
    width: 54%;
    margin-bottom: 75px;
}

.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 38%,
            rgba(255, 255, 255, 0.08),
            transparent 55%
        ),
        #101b20;
    border: 1px solid var(--df-border);
    border-radius: 14px;
}

.single-product div.product div.images img {
    padding: 35px;
    object-fit: contain;
}

.single-product div.product div.images .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 14px;
}

.single-product div.product div.images .flex-control-thumbs li {
    width: auto;
    margin: 0;
}

.single-product div.product div.images .flex-control-thumbs img {
    padding: 10px;
    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 7px;
    opacity: 0.65;
}

.single-product div.product div.images .flex-control-thumbs img.flex-active,
.single-product div.product div.images .flex-control-thumbs img:hover {
    opacity: 1;
    border-color: var(--df-primary);
}

/* Produktinformationen rechts */

.single-product div.product div.summary {
    width: 40%;
    margin-bottom: 75px;
    padding: 10px 0 0 20px;
}

.single-product div.product .product_title {
    margin: 0 0 18px;

    color: #ffffff;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.02;
    text-transform: uppercase;
}

.single-product .woocommerce-product-rating {
    margin-bottom: 20px;
}

.single-product .star-rating {
    color: var(--df-accent);
}

.single-product div.product p.price,
.single-product div.product span.price {
    margin: 20px 0;

    color: var(--df-accent);
    font-size: 32px;
    font-weight: 900;
}

.single-product div.product p.price del,
.single-product div.product span.price del {
    color: rgba(255, 255, 255, 0.38);
    font-size: 18px;
}

.single-product div.product p.price ins,
.single-product div.product span.price ins {
    color: var(--df-accent);
    text-decoration: none;
}

.single-product .woocommerce-product-details__short-description {
    margin: 25px 0;
    color: var(--df-text-muted);
    font-size: 16px;
    line-height: 1.8;
}

/* Variationen */

.single-product .variations {
    margin: 25px 0;
}

.single-product .variations th,
.single-product .variations td {
    display: block;
    width: 100%;
    padding: 0;
    text-align: left;
}

.single-product .variations label {
    display: block;
    margin-bottom: 8px;

    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.single-product .variations select {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 6px;
}

.single-product .reset_variations {
    display: inline-block;
    margin-top: 8px;
    color: var(--df-primary);
    font-size: 12px;
}

/* Menge und Warenkorb */

.single-product div.product form.cart {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin: 30px 0 25px;
}

.single-product div.product form.cart .quantity {
    margin: 0;
}

.single-product div.product form.cart .qty {
    width: 82px;
    height: 56px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 6px;

    text-align: center;
}

.single-product div.product form.cart .single_add_to_cart_button {
    min-height: 56px;
    padding: 0 30px;

    flex: 1;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border-radius: 6px !important;

    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
    background: #d7ff19 !important;
}

/* Kleine Vorteile */

.df-single-benefits {
    padding: 22px;

    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.df-single-benefit {
    display: flex;
    align-items: center;
    gap: 11px;

    color: var(--df-text-muted);
    font-size: 13px;
}

.df-single-benefit + .df-single-benefit {
    margin-top: 11px;
}

.df-single-benefit__icon {
    color: var(--df-primary);
    font-weight: 900;
}

/* Tabs */

.single-product .woocommerce-tabs {
    clear: both;
    padding: 70px 0;
    border-top: 1px solid var(--df-border);
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 40px;
    margin: 0 0 40px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    padding: 0 0 12px !important;

    color: var(--df-text-muted) !important;
    border-bottom: 2px solid transparent;

    font-size: 13px;
    font-weight: 900 !important;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
    border-color: var(--df-primary);
}

.single-product .woocommerce-Tabs-panel {
    max-width: 950px;
    color: var(--df-text-muted);
    line-height: 1.8;
}

.single-product .woocommerce-Tabs-panel h2 {
    color: #ffffff;
    font-size: 28px;
    text-transform: uppercase;
}

/* Attributtabelle */

.single-product .woocommerce-product-attributes {
    overflow: hidden;
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
    padding: 15px 18px !important;
    color: var(--df-text-muted);
    background: #0c171c;
    border-color: var(--df-border) !important;
}

.single-product .woocommerce-product-attributes th {
    width: 32%;
    color: #ffffff;
}

/* Serviceleiste */

.df-product-service {
    clear: both;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    margin: 0 0 80px;
    background: #0b151a;
    border-top: 1px solid var(--df-border);
    border-bottom: 1px solid var(--df-border);
}

.df-product-service__item {
    position: relative;
    padding: 28px;
    text-align: center;
}

.df-product-service__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 24px;
    right: 0;
    bottom: 24px;
    width: 1px;
    background: var(--df-border);
}

.df-product-service__item strong,
.df-product-service__item span {
    display: block;
}

.df-product-service__item strong {
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-product-service__item span {
    margin-top: 4px;
    color: var(--df-text-muted);
    font-size: 12px;
}

/* Ähnliche Produkte */

.single-product .related.products,
.single-product .upsells.products {
    clear: both;
    padding-bottom: 110px;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
    margin-bottom: 35px;

    color: #ffffff;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 900;
    text-transform: uppercase;
}

/* Responsive Einzelprodukt */

@media screen and (max-width: 900px) {
    .single-product div.product div.images,
    .single-product div.product div.summary {
        float: none;
        width: 100%;
    }

    .single-product div.product div.summary {
        padding-left: 0;
    }

    .df-product-service {
        grid-template-columns: 1fr 1fr;
    }

    .df-product-service__item:nth-child(2)::after {
        display: none;
    }

    .df-product-service__item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--df-border);
    }
}

@media screen and (max-width: 600px) {
    .single-product .df-main {
        padding-top: 35px;
    }

    .single-product div.product {
        width: min(calc(100% - 28px), var(--df-container));
    }

    .single-product div.product .product_title {
        font-size: 38px;
    }

    .single-product div.product form.cart {
        flex-direction: column;
    }

    .single-product div.product form.cart .quantity,
    .single-product div.product form.cart .qty {
        width: 100%;
    }

    .single-product .woocommerce-tabs ul.tabs {
        flex-direction: column;
        gap: 14px;
    }

    .df-product-service {
        grid-template-columns: 1fr;
    }

    .df-product-service__item {
        border-bottom: 1px solid var(--df-border);
    }

    .df-product-service__item:last-child {
        border-bottom: 0;
    }

    .df-product-service__item::after {
        display: none;
    }
}

/* ==================================================
   Einzelprodukt: Layout-Korrekturen
================================================== */

.single-product .df-main {
    padding-top: 0;
}

/* WooCommerce-Hauptbereich */
.single-product .woocommerce {
    width: min(calc(100% - 40px), var(--df-container));
    margin-inline: auto;
    padding-top: 42px;
}

/* Produkt selbst darf nicht noch einmal eine eigene Breite erhalten */
.single-product div.product {
    width: 100%;
    margin-inline: 0;
}

/* Breadcrumbs direkt oberhalb von Bild und Produktinformationen */
.single-product .woocommerce-breadcrumb {
    width: 100%;
    margin: 0 0 32px;
    padding: 0;

    color: rgba(255, 255, 255, 0.48);
    font-size: 12px;
    line-height: 1.6;
}

.single-product .woocommerce-breadcrumb a {
    color: var(--df-primary);
}

.single-product .woocommerce-breadcrumb a:hover {
    color: var(--df-accent);
}

/* Oberen Produktbereich sauber ausrichten */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    margin-top: 0;
}

.single-product div.product div.images {
    width: 54%;
}

.single-product div.product div.summary {
    width: 40%;
    padding-left: 0;
}

/* ==================================================
   Einzelprodukt: Galerie
================================================== */

.single-product .woocommerce-product-gallery {
    position: relative;
}

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__wrapper {
    margin: 0;
}

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image {
    overflow: hidden;
    border-radius: 10px;
}

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image a {
    display: block;
    cursor: zoom-in;
}

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    padding: 28px;
    object-fit: contain;
}

/* WooCommerce-Slider sichtbar halten */
.single-product
.woocommerce-product-gallery
.flex-viewport {
    overflow: hidden;
    background: #111d22;
    border: 1px solid var(--df-border);
    border-radius: 12px;
}

/* Vorschaubilder */
.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    margin: 18px 0 0 !important;
    padding: 0 !important;
    list-style: none;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;

    overflow: hidden;
    background: #111d22;
    border: 1px solid var(--df-border);
    border-radius: 7px;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs li:hover {
    border-color: var(--df-primary);
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs img {
    width: 100%;
    height: 110px;
    padding: 8px;

    object-fit: contain;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    opacity: 0.68;

    cursor: pointer;
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

.single-product
.woocommerce-product-gallery
.flex-control-thumbs img:hover,
.single-product
.woocommerce-product-gallery
.flex-control-thumbs img.flex-active {
    opacity: 1;
    transform: scale(1.03);
}

/* ==================================================
   Einzelprodukt: Variationen und Farbauswahl
================================================== */

.single-product form.variations_form {
    width: 100%;
}

.single-product table.variations {
    width: 100%;
    margin: 28px 0 22px;
    border: 0;
}

.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations th,
.single-product table.variations td {
    display: block;
    width: 100%;
}

.single-product table.variations tr + tr {
    margin-top: 22px;
}

.single-product table.variations th,
.single-product table.variations td {
    padding: 0 !important;
    background: transparent;
    border: 0;
}

.single-product table.variations th.label {
    margin-bottom: 10px;
}

.single-product table.variations th.label label {
    margin: 0;

    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

/* Normale Dropdowns als Rückfalllösung */
.single-product table.variations select {
    width: 100%;
    height: 54px;
    padding: 0 44px 0 16px;

    color: #ffffff;
    background-color: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 7px;

    outline: none;
}

.single-product table.variations select:focus {
    border-color: var(--df-primary);
}

/* Häufige Variation-Swatches-Container */
.single-product .variable-items-wrapper,
.single-product .woo-variation-items-wrapper,
.single-product .cfvsw-swatches-container,
.single-product .thwvsf-wrapper-ul,
.single-product .rtwpvs-terms-wrapper {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

/* Text- und Größenfelder */
.single-product .variable-item,
.single-product .cfvsw-swatches-option,
.single-product .thwvsf-wrapper-item-li,
.single-product .rtwpvs-term {
    position: relative;

    min-width: 50px;
    min-height: 46px;
    margin: 0 !important;
    padding: 7px 14px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 6px !important;
    box-shadow: none !important;

    font-size: 13px;
    font-weight: 800;
    line-height: 1;

    cursor: pointer;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.single-product .variable-item:hover,
.single-product .cfvsw-swatches-option:hover,
.single-product .thwvsf-wrapper-item-li:hover,
.single-product .rtwpvs-term:hover {
    border-color: var(--df-primary) !important;
    transform: translateY(-2px);
}

/* Ausgewählte Variante */
.single-product .variable-item.selected,
.single-product .variable-item[aria-checked="true"],
.single-product .cfvsw-selected-swatch,
.single-product .cfvsw-swatches-option.cfvsw-selected-swatch,
.single-product .thwvsf-selected,
.single-product .rtwpvs-term.selected {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* Deaktivierte Varianten */
.single-product .variable-item.disabled,
.single-product .cfvsw-swatches-option.cfvsw-swatches-disabled,
.single-product .thwvsf-disabled,
.single-product .rtwpvs-term.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none;
}

/* Farbkreise */
.single-product .variable-item.color-variable-item,
.single-product .variable-item.image-variable-item {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 4px !important;
    border-radius: 50% !important;
}

.single-product .variable-item-span-color,
.single-product .variable-item-span-image {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border-radius: inherit;
}

/* Texte innerhalb der Felder */
.single-product .variable-item-contents,
.single-product .variable-item-span,
.single-product .cfvsw-swatch-inner {
    color: inherit !important;
    font: inherit;
}

/* Variationsergebnis */
.single-product .single_variation_wrap {
    margin-top: 22px;
}

.single-product .woocommerce-variation-price {
    margin-bottom: 18px;
}

.single-product .reset_variations {
    margin-top: 12px;
    color: var(--df-primary) !important;
    font-size: 12px;
}

/* ==================================================
   Einzelprodukt: Warenkorb
================================================== */

.single-product div.product form.cart,
.single-product div.product form.variations_form .woocommerce-variation-add-to-cart {
    width: 100%;
    margin: 24px 0 28px;

    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.single-product div.product form.cart .quantity,
.single-product
div.product
form.variations_form
.woocommerce-variation-add-to-cart
.quantity {
    width: 100%;
    margin: 0 !important;
}

.single-product div.product form.cart .qty {
    width: 100%;
    height: 58px;
    padding: 0 8px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 7px;

    font-size: 16px;
    font-weight: 800;
    text-align: center;
    outline: none;
}

.single-product div.product form.cart .qty:focus {
    border-color: var(--df-primary);
}

.single-product div.product form.cart .single_add_to_cart_button,
.single-product
div.product
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    width: 100%;
    min-height: 58px;
    margin: 0 !important;
    padding: 0 25px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 7px !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.7px;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase;

    box-shadow: 0 14px 35px rgba(199, 240, 0, 0.16);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        filter 180ms ease;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
    color: #071014 !important;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(199, 240, 0, 0.25);
}

/* Nicht verfügbare Auswahl */
.single-product
.single_add_to_cart_button.disabled,
.single-product
.single_add_to_cart_button.wc-variation-selection-needed {
    opacity: 0.42 !important;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none;
}

/* Size Guide */
.single-product .size-guide,
.single-product .size-chart,
.single-product .ct-size-guide,
.single-product [class*="size-guide"],
.single-product [class*="size-chart"] {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin: 8px 0 12px;
    color: var(--df-primary) !important;

    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.single-product .size-guide:hover,
.single-product .size-chart:hover,
.single-product [class*="size-guide"]:hover,
.single-product [class*="size-chart"]:hover {
    color: var(--df-accent) !important;
}

/* ==================================================
   Wishlist und Vergleich
================================================== */

.single-product .yith-wcwl-add-to-wishlist,
.single-product .woosc-btn,
.single-product .compare,
.single-product [class*="wishlist"],
.single-product [class*="compare"] {
    color: var(--df-text-muted);
}

.single-product .yith-wcwl-add-to-wishlist a,
.single-product .woosc-btn,
.single-product a.compare,
.single-product [class*="wishlist"] a,
.single-product [class*="compare"] a {
    color: var(--df-text-muted) !important;
}

.single-product .yith-wcwl-add-to-wishlist a:hover,
.single-product .woosc-btn:hover,
.single-product a.compare:hover,
.single-product [class*="wishlist"] a:hover,
.single-product [class*="compare"] a:hover {
    color: var(--df-primary) !important;
}

/* SVG-, FontAwesome- und Plugin-Icons */
.single-product .yith-wcwl-add-to-wishlist svg,
.single-product .woosc-btn svg,
.single-product .compare svg,
.single-product [class*="wishlist"] svg,
.single-product [class*="compare"] svg {
    fill: none !important;
    stroke: currentColor !important;
}

.single-product .yith-wcwl-add-to-wishlist i,
.single-product .woosc-btn i,
.single-product .compare i,
.single-product [class*="wishlist"] i,
.single-product [class*="compare"] i {
    color: currentColor !important;
}

/* Schwarze Bildicons notfalls weiß darstellen */
.single-product [class*="wishlist"] img,
.single-product [class*="compare"] img {
    filter: brightness(0) invert(1);
    opacity: 0.75;
}

@media screen and (max-width: 900px) {
    .single-product .woocommerce {
        width: min(calc(100% - 32px), var(--df-container));
    }

    .single-product div.product div.images,
    .single-product div.product div.summary {
        float: none;
        width: 100%;
    }

    .single-product div.product div.summary {
        margin-top: 45px;
    }
}

@media screen and (max-width: 600px) {
    .single-product .woocommerce {
        width: min(calc(100% - 24px), var(--df-container));
        padding-top: 28px;
    }

    .single-product
    .woocommerce-product-gallery
    .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    .single-product
    .woocommerce-product-gallery
    .flex-control-thumbs img {
        height: 80px;
    }

    .single-product div.product form.cart,
    .single-product
    div.product
    form.variations_form
    .woocommerce-variation-add-to-cart {
        grid-template-columns: 1fr;
    }

    .single-product div.product form.cart .qty {
        height: 52px;
    }

    .single-product div.product form.cart .single_add_to_cart_button {
        min-height: 56px;
    }
}

/* ==================================================
   Einzelprodukt: Breite und Warenkorb korrigieren
================================================== */

/* Gesamte Produktseite wieder kompakter */
.single-product .woocommerce {
    width: min(calc(100% - 48px), 1320px);
    margin-inline: auto;
    padding-top: 38px;
}

/* Breadcrumbs bleiben im Container */
.single-product .woocommerce-breadcrumb {
    width: 100%;
    margin: 0 0 28px;
}

/* Produktbereich nicht über die volle Seite ziehen */
.single-product div.product {
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
}

/* Linke und rechte Spalte ausgewogener */
.single-product div.product div.images {
    width: 56%;
    max-width: 720px;
    margin-bottom: 70px;
}

.single-product div.product div.summary {
    width: 39%;
    max-width: 500px;
    margin-bottom: 70px;
    padding-left: 20px;
}

/* Hauptbild nicht unnötig aufblasen */
.single-product
.woocommerce-product-gallery
.flex-viewport {
    max-height: 720px;
}

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image img {
    width: 100%;
    max-height: 700px;
    padding: 24px;
    object-fit: contain;
}

/* Varianten kompakter */
.single-product table.variations {
    max-width: 500px;
}

.single-product .variable-items-wrapper,
.single-product .woo-variation-items-wrapper,
.single-product .cfvsw-swatches-container,
.single-product .thwvsf-wrapper-ul,
.single-product .rtwpvs-terms-wrapper {
    gap: 8px;
}

.single-product .variable-item,
.single-product .cfvsw-swatches-option,
.single-product .thwvsf-wrapper-item-li,
.single-product .rtwpvs-term {
    min-width: 42px;
    min-height: 36px;
    padding: 6px 10px !important;
    font-size: 11px;
}

/* Warenkorb-Zeile sauber aufbauen */
.single-product div.product form.cart,
.single-product
div.product
form.variations_form
.woocommerce-variation-add-to-cart {
    width: 100%;
    max-width: 500px;
    margin: 22px 0 28px !important;

    display: flex !important;
    align-items: stretch;
    gap: 12px;
}

/* Menge */
.single-product div.product form.cart .quantity,
.single-product
div.product
form.variations_form
.woocommerce-variation-add-to-cart
.quantity {
    width: 82px !important;
    flex: 0 0 82px;
    margin: 0 !important;
}

.single-product div.product form.cart .qty {
    width: 82px !important;
    height: 54px !important;
    min-height: 54px;
    padding: 0 8px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;

    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

/* Warenkorb-Button */
.single-product div.product form.cart .single_add_to_cart_button,
.single-product
div.product
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    width: auto !important;
    min-width: 220px;
    min-height: 54px !important;
    height: 54px;
    flex: 1 1 auto;

    margin: 0 !important;
    padding: 0 28px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.6px;
    line-height: 1 !important;
    white-space: nowrap;
    text-align: center;
    text-transform: uppercase;

    box-shadow: 0 10px 28px rgba(199, 240, 0, 0.14);
}

/* Verhindert den schmalen Plugin-Button */
.single-product
.woocommerce-variation-add-to-cart
button.single_add_to_cart_button {
    float: none !important;
    position: static !important;
}

/* Mobile und Tablet */
@media screen and (max-width: 1000px) {
    .single-product .woocommerce {
        width: min(calc(100% - 36px), 900px);
    }

    .single-product div.product div.images,
    .single-product div.product div.summary {
        float: none;
        width: 100%;
        max-width: none;
    }

    .single-product div.product div.summary {
        margin-top: 42px;
        padding-left: 0;
    }
}

@media screen and (max-width: 600px) {
    .single-product .woocommerce {
        width: min(calc(100% - 24px), 600px);
    }

    .single-product div.product form.cart,
    .single-product
    div.product
    form.variations_form
    .woocommerce-variation-add-to-cart {
        max-width: none;
        flex-direction: column;
    }

    .single-product div.product form.cart .quantity,
    .single-product
    div.product
    form.variations_form
    .woocommerce-variation-add-to-cart
    .quantity {
        width: 100% !important;
        flex-basis: auto;
    }

    .single-product div.product form.cart .qty {
        width: 100% !important;
    }

    .single-product div.product form.cart .single_add_to_cart_button,
    .single-product
    div.product
    form.variations_form
    .woocommerce-variation-add-to-cart
    .single_add_to_cart_button {
        width: 100% !important;
        min-width: 0;
    }
}

/* ==================================================
   WooCommerce Shop und Produktarchive
================================================== */

.post-type-archive-product .df-main,
.tax-product_cat .df-main,
.tax-product_tag .df-main,
.tax-product_brand .df-main {
    padding: 55px 0 110px;
    background:
        radial-gradient(
            circle at 50% 0,
            rgba(0, 166, 166, 0.065),
            transparent 34%
        ),
        var(--df-background);
}

/* Gesamten WooCommerce-Shop mittig begrenzen */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce {
    width: min(calc(100% - 48px), var(--df-container));
    margin-inline: auto;
}

/* Breadcrumb über dem Shop */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb {
    margin: 0 0 45px;
    padding: 0;

    color: rgba(255, 255, 255, 0.45);
    font-size: 12px;
}

.post-type-archive-product .woocommerce-breadcrumb a,
.tax-product_cat .woocommerce-breadcrumb a,
.tax-product_tag .woocommerce-breadcrumb a,
.tax-product_brand .woocommerce-breadcrumb a {
    color: var(--df-primary);
}

/* Alte, ungestylte WooCommerce-Überschrift ausblenden */
.post-type-archive-product .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title,
.tax-product_brand .woocommerce-products-header__title {
    display: none;
}

/* Eigener Shop-Kopf */
.df-shop-heading {
    max-width: 780px;
    margin-bottom: 48px;
}

.df-shop-heading h1 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 900;
    letter-spacing: -2.5px;
    line-height: 0.95;
    text-transform: uppercase;
}

.df-shop-heading__description {
    max-width: 620px;
    margin: 20px 0 0;

    color: var(--df-text-muted);
    font-size: 17px;
    line-height: 1.7;
}

/* Ergebnisanzahl und Sortierung */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    float: none;
    margin: 0;
}

.woocommerce .woocommerce-result-count {
    color: var(--df-text-muted);
    font-size: 13px;
}

.woocommerce .woocommerce-ordering select {
    min-width: 220px;
    height: 46px;
    padding: 0 42px 0 15px;

    color: #ffffff;
    background-color: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;

    font-size: 13px;
    outline: none;
}

.woocommerce .woocommerce-ordering select:focus {
    border-color: var(--df-primary);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    display: block;
}

/* Ergebnis und Sortierung in einer Reihe */
.woocommerce:has(.woocommerce-result-count)
.woocommerce-result-count {
    float: left;
}

.woocommerce:has(.woocommerce-ordering)
.woocommerce-ordering {
    float: right;
}

/* Abstand vor den Produkten */
.woocommerce ul.products {
    clear: both;
    padding-top: 30px;
}

/* ==================================================
   Shop Produktkarten
================================================== */

.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;

    margin: 0 !important;
    padding: 35px 0 0 !important;
}

.post-type-archive-product ul.products::before,
.post-type-archive-product ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after,
.tax-product_tag ul.products::before,
.tax-product_tag ul.products::after {
    display: none !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    position: relative;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        var(--df-card);

    border: 1px solid var(--df-border);
    border-radius: 10px;

    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;
}

.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
.tax-product_tag ul.products li.product:hover,
.tax-product_brand ul.products li.product:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 166, 166, 0.55);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.3);
}

/* Produktbild */
.post-type-archive-product
ul.products
li.product
.woocommerce-loop-product__link,
.tax-product_cat
ul.products
li.product
.woocommerce-loop-product__link,
.tax-product_tag
ul.products
li.product
.woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.post-type-archive-product ul.products li.product img,
.tax-product_cat ul.products li.product img,
.tax-product_tag ul.products li.product img,
.tax-product_brand ul.products li.product img {
    width: 100% !important;
    height: 330px !important;
    margin: 0 !important;
    padding: 16px;

    object-fit: contain;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(255, 255, 255, 0.075),
            transparent 57%
        ),
        #172228;

    border-radius: 0;

    transition: transform 300ms ease;
}

.post-type-archive-product ul.products li.product:hover img,
.tax-product_cat ul.products li.product:hover img,
.tax-product_tag ul.products li.product:hover img {
    transform: scale(1.035);
}

/* Produkttitel */
.post-type-archive-product
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_cat
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_tag
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_brand
ul.products
li.product
.woocommerce-loop-product__title {
    min-height: 67px;
    margin: 0;
    padding: 20px 20px 8px !important;

    color: #ffffff;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.45;
}

/* Preis */
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.tax-product_brand ul.products li.product .price {
    margin: 0;
    padding: 0 20px 18px;

    color: var(--df-accent) !important;
    font-size: 18px !important;
    font-weight: 900;
}

.post-type-archive-product ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del,
.tax-product_tag ul.products li.product .price del {
    color: rgba(255, 255, 255, 0.4);
    font-size: 13px;
}

.post-type-archive-product ul.products li.product .price ins,
.tax-product_cat ul.products li.product .price ins,
.tax-product_tag ul.products li.product .price ins {
    color: var(--df-accent);
    text-decoration: none;
}

/* ==================================================
   Varianten im Produktkatalog ausblenden
================================================== */

.post-type-archive-product ul.products li.product .variations,
.post-type-archive-product ul.products li.product .variations_form,
.post-type-archive-product ul.products li.product .variable-items-wrapper,
.post-type-archive-product ul.products li.product .woo-variation-items-wrapper,
.post-type-archive-product ul.products li.product .cfvsw-swatches-container,
.post-type-archive-product ul.products li.product .thwvsf-wrapper-ul,
.post-type-archive-product ul.products li.product .rtwpvs-terms-wrapper,
.post-type-archive-product ul.products li.product [class*="swatch"],

.tax-product_cat ul.products li.product .variations,
.tax-product_cat ul.products li.product .variations_form,
.tax-product_cat ul.products li.product .variable-items-wrapper,
.tax-product_cat ul.products li.product .woo-variation-items-wrapper,
.tax-product_cat ul.products li.product [class*="swatch"],

.tax-product_tag ul.products li.product .variations,
.tax-product_tag ul.products li.product .variations_form,
.tax-product_tag ul.products li.product .variable-items-wrapper,
.tax-product_tag ul.products li.product [class*="swatch"] {
    display: none !important;
}

/* Shopkarten-Button */
.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.tax-product_brand ul.products li.product .button {
    width: calc(100% - 40px);
    min-height: 47px;
    margin: auto 20px 20px !important;
    padding: 0 16px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: #091216 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 5px !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.post-type-archive-product ul.products li.product .button:hover,
.tax-product_cat ul.products li.product .button:hover,
.tax-product_tag ul.products li.product .button:hover,
.tax-product_brand ul.products li.product .button:hover {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* AJAX-Hinweis nach dem Hinzufügen */
.woocommerce a.added_to_cart {
    margin: -10px 20px 20px;
    color: var(--df-primary);
    font-size: 12px;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 55px;
}

.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    justify-content: center;
    gap: 8px;

    margin: 0;
    padding: 0;

    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    width: 44px;
    height: 44px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    background: var(--df-card);
    border: 1px solid var(--df-border);
    border-radius: 5px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: #071014;
    background: var(--df-accent);
    border-color: var(--df-accent);
}

@media screen and (max-width: 1150px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 850px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: min(calc(100% - 32px), var(--df-container));
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none !important;
    }

    .woocommerce .woocommerce-ordering {
        margin-top: 16px;
    }

    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }
}

@media screen and (max-width: 540px) {
    .post-type-archive-product .df-main,
    .tax-product_cat .df-main,
    .tax-product_tag .df-main {
        padding-top: 35px;
    }

    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: min(calc(100% - 24px), var(--df-container));
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: 1fr;
    }

    .post-type-archive-product ul.products li.product img,
    .tax-product_cat ul.products li.product img,
    .tax-product_tag ul.products li.product img {
        height: 340px !important;
    }

    .df-shop-heading h1 {
        font-size: 44px;
    }
}

/* ==================================================
   Shop kompakt und mittig
================================================== */

/* Gesamter Shopbereich kompakter */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
}

/* Überschrift ebenfalls begrenzen */
.df-shop-heading {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 48px;
    text-align: center;
}

/* Breadcrumb mittig */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb {
    text-align: center;
}

/* Ergebnisanzahl und Sortierung */
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count {
    float: none !important;
    margin: 0;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    float: none !important;
    margin: 0;
}

.post-type-archive-product .woocommerce-notices-wrapper + .woocommerce-result-count,
.tax-product_cat .woocommerce-notices-wrapper + .woocommerce-result-count {
    display: inline-block;
}

/* Steuerleiste über den Produkten */
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-result-count,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-result-count,
.tax-product_brand .woocommerce-ordering {
    vertical-align: middle;
}

/* Produktgrid nicht auf volle Breite ziehen */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 300px) !important;
    justify-content: center;
    gap: 28px;

    width: 100%;
    margin: 0 auto !important;
    padding-top: 38px !important;
}

/* Produktkarte feste Breite */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    width: 300px !important;
    max-width: 300px;
    margin: 0 !important;
}

/* Bildbereich an Kartenbreite anpassen */
.post-type-archive-product ul.products li.product img,
.tax-product_cat ul.products li.product img,
.tax-product_tag ul.products li.product img,
.tax-product_brand ul.products li.product img {
    width: 100% !important;
    height: 300px !important;
    padding: 14px;
    object-fit: contain;
}

/* Kartentext kompakter */
.post-type-archive-product
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_cat
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_tag
ul.products
li.product
.woocommerce-loop-product__title,
.tax-product_brand
ul.products
li.product
.woocommerce-loop-product__title {
    min-height: 58px;
    padding: 18px 16px 8px !important;
    font-size: 15px !important;
}

/* Preis kompakter */
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.tax-product_brand ul.products li.product .price {
    padding: 0 16px 16px;
    font-size: 16px !important;
}

/* Button an Kartenbreite anpassen */
.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.tax-product_brand ul.products li.product .button {
    width: calc(100% - 32px);
    min-height: 44px;
    margin: auto 16px 16px !important;
}

/* Ergebnis und Sortierung als saubere Zeile */
.post-type-archive-product .woocommerce::after,
.tax-product_cat .woocommerce::after,
.tax-product_tag .woocommerce::after,
.tax-product_brand .woocommerce::after {
    content: "";
    display: table;
    clear: both;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    display: block;
    width: 240px;
    margin: 18px auto 0;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.tax-product_brand .woocommerce-ordering select {
    width: 100%;
}

/* ==================================================
   Responsive Shop
================================================== */

@media screen and (max-width: 1020px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: repeat(2, 300px) !important;
    }
}

@media screen and (max-width: 680px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: min(calc(100% - 24px), 420px);
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products {
        grid-template-columns: minmax(0, 360px) !important;
    }

    .post-type-archive-product ul.products li.product,
    .tax-product_cat ul.products li.product,
    .tax-product_tag ul.products li.product,
    .tax-product_brand ul.products li.product {
        width: 100% !important;
        max-width: 360px;
    }

    .post-type-archive-product ul.products li.product img,
    .tax-product_cat ul.products li.product img,
    .tax-product_tag ul.products li.product img,
    .tax-product_brand ul.products li.product img {
        height: 340px !important;
    }
}

/* ==================================================
   Shop: Ergebnisanzahl und Sortierung
================================================== */

/* Beide Elemente in einen sauberen Bereich holen */
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-result-count,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-result-count,
.tax-product_brand .woocommerce-ordering {
    float: none !important;
}

/* Ergebnisanzahl */
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count {
    width: fit-content;
    margin: 0 auto 14px !important;
    padding: 8px 14px;

    color: var(--df-text-muted);
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--df-border);
    border-radius: 999px;

    font-size: 11px;
    line-height: 1;
    text-align: center;
}

/* Sortierung */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    position: relative;

    width: 255px;
    margin: 0 auto 28px !important;
}

/* Eigenen Pfeil erzeugen */
.post-type-archive-product .woocommerce-ordering::after,
.tax-product_cat .woocommerce-ordering::after,
.tax-product_tag .woocommerce-ordering::after,
.tax-product_brand .woocommerce-ordering::after {
    content: "⌄";
    position: absolute;
    top: 50%;
    right: 16px;

    color: var(--df-primary);
    font-size: 18px;
    line-height: 1;

    pointer-events: none;
    transform: translateY(-58%);
}

/* Dropdown */
.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.tax-product_brand .woocommerce-ordering select {
    width: 100%;
    height: 48px;
    padding: 0 46px 0 16px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 7px;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    outline: none;
    cursor: pointer;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.post-type-archive-product .woocommerce-ordering select:hover,
.tax-product_cat .woocommerce-ordering select:hover,
.tax-product_tag .woocommerce-ordering select:hover,
.tax-product_brand .woocommerce-ordering select:hover {
    border-color: rgba(0, 166, 166, 0.55);
    background: #132127;
}

.post-type-archive-product .woocommerce-ordering select:focus,
.tax-product_cat .woocommerce-ordering select:focus,
.tax-product_tag .woocommerce-ordering select:focus,
.tax-product_brand .woocommerce-ordering select:focus {
    border-color: var(--df-primary);
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.12);
}

/* Abstand zum Produktgrid */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    padding-top: 0 !important;
}

.woocommerce-result-count {
    display: none !important;
}

/* ==================================================
   WooCommerce Warenkorb
================================================== */

.woocommerce-cart .df-main {
    padding: 70px 0 120px;
    background:
        radial-gradient(
            circle at 70% 10%,
            rgba(0, 166, 166, 0.07),
            transparent 30%
        ),
        var(--df-background);
}

/* Gesamter Warenkorb-Container */
.woocommerce-cart .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
}

/* Seitentitel */
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title {
    margin: 0 0 38px;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

/* ==================================================
   WooCommerce Meldungen
================================================== */

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
    position: relative;

    margin: 0 0 30px;
    padding: 20px 22px 20px 58px;

    color: var(--df-text-muted);
    background: #101b20;
    border: 1px solid var(--df-border);
    border-top: 1px solid var(--df-border);
    border-radius: 8px;

    font-size: 14px;
    line-height: 1.6;
}

.woocommerce-cart .woocommerce-error {
    color: #ffc5c5;
    background: rgba(185, 35, 45, 0.08);
    border-color: rgba(255, 80, 90, 0.35);
}

.woocommerce-cart .woocommerce-message {
    border-color: rgba(0, 166, 166, 0.4);
}

.woocommerce-cart .woocommerce-info {
    border-color: rgba(199, 240, 0, 0.3);
}

.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before {
    top: 50%;
    left: 22px;
    color: var(--df-primary);
    transform: translateY(-50%);
}

.woocommerce-cart .woocommerce-error::before {
    color: #ff5964;
}

/* ==================================================
   Warenkorb-Tabelle
================================================== */

.woocommerce-cart table.shop_table {
    width: 100%;
    margin: 0;
    overflow: hidden;

    color: var(--df-text);
    background: #0b151a;
    border: 1px solid var(--df-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
}

.woocommerce-cart table.shop_table th {
    padding: 18px 16px;

    color: #ffffff;
    background: #101b20;
    border-color: var(--df-border);

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.woocommerce-cart table.shop_table td {
    padding: 18px 16px;

    color: var(--df-text-muted);
    background: #0b151a;
    border-color: var(--df-border);

    vertical-align: middle;
}

.woocommerce-cart table.shop_table tr:last-child td {
    border-bottom: 0;
}

/* Produktbild */
.woocommerce-cart table.shop_table .product-thumbnail {
    width: 90px;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 68px;
    height: 68px;
    padding: 5px;

    object-fit: cover;
    background: #ffffff;
    border: 1px solid var(--df-border);
    border-radius: 6px;
}

/* Produktname */
.woocommerce-cart table.shop_table .product-name a {
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
}

.woocommerce-cart table.shop_table .product-name a:hover {
    color: var(--df-primary);
}

.woocommerce-cart table.shop_table .variation {
    margin-top: 8px;

    color: var(--df-text-muted);
    font-size: 12px;
}

.woocommerce-cart table.shop_table .variation dt,
.woocommerce-cart table.shop_table .variation dd {
    display: inline;
    float: none;
    margin: 0;
}

.woocommerce-cart table.shop_table .variation dt {
    color: rgba(255, 255, 255, 0.55);
    font-weight: 700;
}

.woocommerce-cart table.shop_table .variation dd + dt::before {
    content: " · ";
}

/* Preise */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    color: var(--df-accent);
    font-weight: 900;
}

/* Entfernen-Button */
.woocommerce-cart table.shop_table .product-remove {
    width: 54px;
    text-align: center;
}

.woocommerce-cart table.shop_table .product-remove a.remove {
    width: 34px;
    height: 34px;
    margin: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ff5964 !important;
    background: rgba(255, 89, 100, 0.08);
    border: 1px solid rgba(255, 89, 100, 0.24);
    border-radius: 50%;

    font-size: 20px;
    font-weight: 400;
    line-height: 1;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
    color: #ffffff !important;
    background: #d93542;
    border-color: #d93542;
    transform: scale(1.06);
}

/* ==================================================
   Mengenfeld
================================================== */

.woocommerce-cart table.shop_table .quantity {
    display: inline-flex;
}

.woocommerce-cart table.shop_table .qty {
    width: 74px;
    height: 44px;
    padding: 0 8px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 6px;

    font-size: 14px;
    font-weight: 800;
    text-align: center;
    outline: none;
}

.woocommerce-cart table.shop_table .qty:focus {
    border-color: var(--df-primary);
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.1);
}

/* ==================================================
   Gutschein und Warenkorb aktualisieren
================================================== */

.woocommerce-cart table.shop_table td.actions {
    padding: 16px;
    background: #0d181d;
}

.woocommerce-cart table.shop_table td.actions .coupon {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.woocommerce-cart table.shop_table td.actions .coupon label {
    display: none;
}

.woocommerce-cart table.shop_table td.actions .coupon .input-text {
    width: 210px;
    height: 48px;
    margin: 0;
    padding: 0 15px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 6px;

    font-size: 13px;
    outline: none;
}

.woocommerce-cart table.shop_table td.actions .coupon .input-text::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.woocommerce-cart table.shop_table td.actions .coupon .input-text:focus {
    border-color: var(--df-primary);
}

/* Allgemeine Warenkorb-Buttons */
.woocommerce-cart table.shop_table td.actions .button,
.woocommerce-cart .cart_totals .button {
    min-height: 48px;
    padding: 0 22px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: var(--df-primary) !important;
    border: 1px solid var(--df-primary) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px;
    line-height: 1 !important;
    text-transform: uppercase;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease,
        opacity 180ms ease;
}

.woocommerce-cart table.shop_table td.actions .button:hover {
    background: var(--df-primary-dark) !important;
    border-color: var(--df-primary-dark) !important;
    transform: translateY(-1px);
}

.woocommerce-cart table.shop_table td.actions button[name="update_cart"] {
    float: right;
}

/* Deaktivierter Aktualisieren-Button */
.woocommerce-cart table.shop_table td.actions .button:disabled,
.woocommerce-cart table.shop_table td.actions .button.disabled {
    color: rgba(255, 255, 255, 0.45) !important;
    background: rgba(0, 166, 166, 0.18) !important;
    border-color: rgba(0, 166, 166, 0.12) !important;
    opacity: 1;
    cursor: not-allowed;
    transform: none;
}

/* ==================================================
   Warenkorb-Summe
================================================== */

.woocommerce-cart .cart-collaterals {
    width: 100%;
    margin-top: 52px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: min(100%, 520px);
    margin-left: auto;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    margin: 0 0 20px;

    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    width: 100%;
    overflow: hidden;

    background: #0b151a;
    border: 1px solid var(--df-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 9px;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
    padding: 18px 16px;

    color: var(--df-text-muted);
    background: transparent;
    border-color: var(--df-border);
}

.woocommerce-cart .cart-collaterals .cart_totals table th {
    width: 42%;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.025);
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
    color: var(--df-accent);
    font-size: 21px;
    font-weight: 900;
}

.woocommerce-cart .cart-collaterals .cart_totals small {
    color: rgba(255, 255, 255, 0.52);
    font-size: 11px;
    line-height: 1.5;
}

/* ==================================================
   Gutscheine anzeigen
================================================== */

.woocommerce-cart .cart_totals button,
.woocommerce-cart .cart_totals input[type="button"],
.woocommerce-cart .cart_totals a:not(.checkout-button) {
    width: 100%;
    min-height: 48px;
    margin-top: 16px;
    padding: 0 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 6px;

    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.woocommerce-cart .cart_totals button:hover,
.woocommerce-cart .cart_totals input[type="button"]:hover,
.woocommerce-cart .cart_totals a:not(.checkout-button):hover {
    color: var(--df-primary);
    border-color: var(--df-primary);
}

/* ==================================================
   Zur Kasse
================================================== */

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    min-height: 60px;
    margin: 16px 0 0 !important;
    padding: 0 25px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 7px !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.6px;
    line-height: 1 !important;
    text-transform: uppercase;

    box-shadow: 0 14px 35px rgba(199, 240, 0, 0.15);

    transition:
        transform 180ms ease,
        filter 180ms ease,
        box-shadow 180ms ease;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    color: #071014 !important;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(199, 240, 0, 0.24);
}

/* ==================================================
   Leerer Warenkorb
================================================== */

.woocommerce-cart .cart-empty {
    margin: 0;
    padding: 55px 30px;

    color: var(--df-text-muted);
    background: #0b151a;
    border: 1px solid var(--df-border);
    border-radius: 10px;

    text-align: center;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
}

.woocommerce-cart .return-to-shop .button {
    min-height: 52px;
    padding: 0 25px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: var(--df-primary) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

/* ==================================================
   Responsive Warenkorb
================================================== */

@media screen and (max-width: 850px) {
    .woocommerce-cart .df-main {
        padding-top: 45px;
    }

    .woocommerce-cart .woocommerce {
        width: min(calc(100% - 30px), 760px);
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100%;
    }

    .woocommerce-cart table.shop_table td.actions .coupon {
        float: none;
        width: 100%;
    }

    .woocommerce-cart table.shop_table td.actions .coupon .input-text {
        flex: 1;
        width: auto;
    }

    .woocommerce-cart table.shop_table td.actions button[name="update_cart"] {
        float: none;
        width: 100%;
        margin-top: 12px !important;
    }
}

@media screen and (max-width: 768px) {
    /*
     * WooCommerce wandelt die Tabelle mobil in Karten um.
     */
    .woocommerce-cart table.shop_table_responsive tr {
        display: block;
        margin-bottom: 18px;

        background: #0b151a;
        border: 1px solid var(--df-border);
        border-radius: 8px;
    }

    .woocommerce-cart table.shop_table_responsive tr td {
        display: block;
        padding: 13px 15px;

        background: transparent;
        border-bottom: 1px solid var(--df-border);
        text-align: right !important;
    }

    .woocommerce-cart table.shop_table_responsive tr td:last-child {
        border-bottom: 0;
    }

    .woocommerce-cart table.shop_table_responsive tr td::before {
        color: #ffffff;
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .woocommerce-cart table.shop_table_responsive .product-thumbnail {
        display: block;
        width: 100%;
        text-align: center !important;
    }

    .woocommerce-cart table.shop_table_responsive .product-thumbnail::before {
        display: none;
    }

    .woocommerce-cart table.shop_table_responsive .product-thumbnail img {
        width: 110px;
        height: 110px;
    }

    .woocommerce-cart table.shop_table_responsive .product-remove {
        width: 100%;
    }

    .woocommerce-cart table.shop_table_responsive .product-remove::before {
        display: none;
    }

    .woocommerce-cart table.shop_table_responsive .product-remove a.remove {
        margin-left: auto;
    }
}

@media screen and (max-width: 520px) {
    .woocommerce-cart .woocommerce {
        width: min(calc(100% - 22px), 500px);
    }

    .woocommerce-cart table.shop_table td.actions .coupon {
        flex-direction: column;
    }

    .woocommerce-cart table.shop_table td.actions .coupon .input-text,
    .woocommerce-cart table.shop_table td.actions .coupon .button {
        width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals h2 {
        font-size: 23px;
    }
}

/* ==================================================
   WooCommerce Checkout
================================================== */

.woocommerce-checkout .df-main {
    padding: 70px 0 120px;
    background:
        radial-gradient(
            circle at 75% 8%,
            rgba(0, 166, 166, 0.07),
            transparent 32%
        ),
        var(--df-background);
}

.woocommerce-checkout .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
}

/* Seitentitel */

.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
    margin: 0 0 38px;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

/* ==================================================
   Checkout-Meldungen und Gutschein
================================================== */

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    position: relative;

    margin: 0 0 32px;
    padding: 20px 22px 20px 58px;

    color: var(--df-text-muted);
    background: #101b20;
    border: 1px solid var(--df-border);
    border-top: 1px solid var(--df-border);
    border-radius: 8px;

    font-size: 14px;
    line-height: 1.6;
}

.woocommerce-checkout .woocommerce-info {
    border-color: rgba(0, 166, 166, 0.38);
}

.woocommerce-checkout .woocommerce-error {
    color: #ffc5c5;
    background: rgba(185, 35, 45, 0.08);
    border-color: rgba(255, 80, 90, 0.35);
}

.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    top: 50%;
    left: 22px;
    color: var(--df-primary);
    transform: translateY(-50%);
}

.woocommerce-checkout .woocommerce-error::before {
    color: #ff5964;
}

.woocommerce-checkout .woocommerce-info a {
    color: #ffffff;
    font-weight: 800;
}

.woocommerce-checkout .woocommerce-info a:hover {
    color: var(--df-primary);
}

/* Aufklappbarer Gutscheinbereich */

.woocommerce-checkout form.checkout_coupon {
    margin: -15px 0 35px;
    padding: 24px;

    background: #0b151a;
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.woocommerce-checkout form.checkout_coupon p {
    color: var(--df-text-muted);
}

.woocommerce-checkout form.checkout_coupon .form-row {
    margin: 0;
}

.woocommerce-checkout form.checkout_coupon .input-text {
    height: 50px;
}

.woocommerce-checkout form.checkout_coupon button {
    min-height: 50px;
}

/* ==================================================
   Oberes Checkout-Layout
================================================== */

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.85fr);
    gap: 55px 65px;
    align-items: start;
}

.woocommerce-checkout #customer_details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 35px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none;
    width: 100%;
}

/* Rechnungsdaten und Zusatzinformationen als Karten */

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    padding: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.woocommerce-checkout h3 {
    margin: 0 0 25px;

    color: #ffffff;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: -0.3px;
    text-transform: uppercase;
}

.woocommerce-checkout #ship-to-different-address {
    margin-bottom: 20px;
}

.woocommerce-checkout #ship-to-different-address label {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ==================================================
   Eingabefelder
================================================== */

.woocommerce-checkout .form-row {
    margin: 0 0 20px;
}

.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 8px;

    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.25px;
}

.woocommerce-checkout .form-row label .required {
    color: var(--df-accent);
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;

    color: #ffffff;
    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 7px;

    font-size: 14px;
    outline: none;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.woocommerce-checkout textarea {
    min-height: 135px;
    padding-top: 14px;
    padding-bottom: 14px;
    resize: vertical;
}

.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    background: #132127;
    border-color: var(--df-primary);
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.1);
}

/* Browser-Autofill dunkel halten */

.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff;
    -webkit-box-shadow: 0 0 0 1000px #101b20 inset;
    transition: background-color 9999s ease-in-out 0s;
}

/* Select2, beispielsweise Land */

.woocommerce-checkout
.select2-container
.select2-selection--single {
    display: flex;
    align-items: center;
}

.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__rendered {
    padding: 0 35px 0 0;
    color: #ffffff;
    line-height: 50px;
}

.woocommerce-checkout
.select2-container
.select2-selection--single
.select2-selection__arrow {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.select2-dropdown {
    color: #ffffff;
    background: #101b20;
    border-color: var(--df-primary);
}

.select2-results__option {
    padding: 10px 14px;
}

.select2-container--default
.select2-results__option--highlighted[aria-selected] {
    color: #ffffff;
    background: var(--df-primary);
}

.select2-container--default
.select2-results__option[aria-selected="true"] {
    color: #ffffff;
    background: #17262d;
}

/* Zwei Felder nebeneinander */

.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.form-row-wide {
    grid-column: 1 / -1;
}

.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.form-row-first,
.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.form-row-last {
    width: 100%;
    float: none;
}

/* ==================================================
   Rechte Bestellspalte
================================================== */

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
    margin-bottom: -35px;
}

.woocommerce-checkout #order_review {
    position: sticky;
    top: 120px;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;
}

/* Bestelltabelle */

.woocommerce-checkout table.shop_table {
    width: 100%;
    margin: 0 0 28px;

    color: var(--df-text);
    background: transparent;
    border: 0;
    border-collapse: collapse;
    border-radius: 0;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    padding: 16px 0;

    color: var(--df-text-muted);
    background: transparent;
    border-color: var(--df-border);

    font-size: 13px;
    vertical-align: middle;
}

.woocommerce-checkout table.shop_table thead th {
    padding-top: 0;

    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.woocommerce-checkout table.shop_table thead th:last-child,
.woocommerce-checkout table.shop_table td:last-child {
    text-align: right;
}

.woocommerce-checkout table.shop_table .product-name {
    color: #ffffff;
    font-weight: 700;
}

.woocommerce-checkout table.shop_table .product-quantity {
    color: var(--df-text-muted);
}

.woocommerce-checkout table.shop_table .product-total {
    color: var(--df-accent);
    font-weight: 900;
}

.woocommerce-checkout table.shop_table tfoot th {
    color: #ffffff;
    font-weight: 800;
}

.woocommerce-checkout table.shop_table tfoot td {
    color: #ffffff;
    font-weight: 800;
}

.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td {
    padding-top: 20px;
    padding-bottom: 20px;
}

.woocommerce-checkout table.shop_table .order-total .amount {
    color: var(--df-accent);
    font-size: 21px;
    font-weight: 900;
}

/* Produktbild in der Bestellung, falls ein Plugin es einfügt */

.woocommerce-checkout table.shop_table img {
    width: 62px;
    height: 62px;
    margin-right: 12px;

    object-fit: cover;
    background: #ffffff;
    border-radius: 6px;

    vertical-align: middle;
}

/* Steuerhinweis */

.woocommerce-checkout .includes_tax,
.woocommerce-checkout .tax_label,
.woocommerce-checkout small {
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
}

/* ==================================================
   Zahlungsarten
================================================== */

.woocommerce-checkout #payment {
    color: var(--df-text);
    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 22px;
    border-color: var(--df-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods li + li {
    margin-top: 14px;
}

.woocommerce-checkout #payment ul.payment_methods label {
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
}

.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
    accent-color: var(--df-primary);
}

.woocommerce-checkout #payment div.payment_box {
    margin: 14px 0 0;
    padding: 16px;

    color: var(--df-text-muted);
    background: #0b151a;
    border: 1px solid var(--df-border);
    border-radius: 6px;

    font-size: 13px;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-checkout #payment .woocommerce-notice {
    margin: 0;
    padding: 18px;

    color: var(--df-text-muted);
    background: #0b151a;
    border: 1px solid rgba(0, 166, 166, 0.25);
    border-radius: 6px;
}

/* Keine Zahlungsarten verfügbar */

.woocommerce-checkout
#payment
.woocommerce-notice--info {
    color: var(--df-text-muted);
    background: rgba(0, 166, 166, 0.05);
    border-color: rgba(0, 166, 166, 0.3);
}

/* ==================================================
   Bedingungen und Datenschutz
================================================== */

.woocommerce-checkout #payment .place-order {
    padding: 22px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin-bottom: 18px;
    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.7;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-link {
    color: var(--df-primary);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 18px;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.6;
}

.woocommerce-checkout input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin-top: 2px;

    flex: 0 0 17px;
    accent-color: var(--df-primary);
}

/* ==================================================
   Kaufen-Button
================================================== */

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 60px;
    margin: 8px 0 0 !important;
    padding: 0 25px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 7px !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.7px;
    line-height: 1 !important;
    text-align: center;
    text-transform: uppercase;

    box-shadow: 0 14px 35px rgba(199, 240, 0, 0.15);

    transition:
        transform 180ms ease,
        filter 180ms ease,
        box-shadow 180ms ease;
}

.woocommerce-checkout #place_order:hover {
    color: #071014 !important;
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(199, 240, 0, 0.24);
}

/* ==================================================
   Plugin-Button: verfügbare Gutscheine
================================================== */

.woocommerce-checkout button[class*="coupon"],
.woocommerce-checkout a[class*="coupon"],
.woocommerce-checkout input[class*="coupon"],
.woocommerce-checkout .wc-block-components-totals-coupon-link {
    min-height: 48px;
    padding: 0 18px;

    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 6px !important;

    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.woocommerce-checkout button[class*="coupon"]:hover,
.woocommerce-checkout a[class*="coupon"]:hover {
    color: var(--df-primary) !important;
    border-color: var(--df-primary) !important;
}

/* ==================================================
   Checkout Responsive
================================================== */

@media screen and (max-width: 1000px) {
    .woocommerce-checkout .woocommerce {
        width: min(calc(100% - 32px), 850px);
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1;
    }

    .woocommerce-checkout #order_review_heading {
        margin-bottom: -20px;
    }

    .woocommerce-checkout #order_review {
        position: static;
    }
}

@media screen and (max-width: 650px) {
    .woocommerce-checkout .df-main {
        padding: 45px 0 80px;
    }

    .woocommerce-checkout .woocommerce {
        width: min(calc(100% - 24px), 600px);
    }

    .woocommerce-checkout
    .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout
    .woocommerce-billing-fields__field-wrapper
    .form-row-wide,
    .woocommerce-checkout
    .woocommerce-billing-fields__field-wrapper
    .form-row-first,
    .woocommerce-checkout
    .woocommerce-billing-fields__field-wrapper
    .form-row-last {
        grid-column: 1;
    }

    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        padding: 22px;
    }

    .woocommerce-checkout table.shop_table th,
    .woocommerce-checkout table.shop_table td {
        padding: 13px 0;
    }
}

/* ==================================================
   Checkout Inputs dunkler
================================================== */

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 7px !important;
}

/* Placeholder */
.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}

/* Focus */
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default .select2-selection--single:focus {
    color: #ffffff !important;
    background: #132127 !important;
    border-color: var(--df-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.10) !important;
    outline: none !important;
}

/* Select2 Text */
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #ffffff !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}

/* Select2 Pfeil */
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #ffffff transparent transparent transparent !important;
}

/* Dropdown Liste */
.select2-dropdown {
    background: #101b20 !important;
    border: 1px solid var(--df-primary) !important;
    color: #ffffff !important;
}

.select2-results__option {
    color: #ffffff !important;
    background: #101b20 !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--df-primary) !important;
    color: #ffffff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background: #17262d !important;
    color: #ffffff !important;
}

/* Browser-Autofill dunkel halten */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus,
.woocommerce-checkout textarea:-webkit-autofill,
.woocommerce-checkout select:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px #101b20 inset !important;
    box-shadow: 0 0 0 1000px #101b20 inset !important;
    transition: background-color 9999s ease-in-out 0s;
}

/* Standard Select optisch angleichen */
.woocommerce-checkout select {
    min-height: 52px;
    padding: 0 15px;
}

/* ==================================================
   Checkout Feinkorrekturen
================================================== */

/* Überschrift "Deine Bestellung" nicht mehr überlappen lassen */
.woocommerce-checkout #order_review_heading {
    margin: 28px 0 18px !important;
    position: relative;
    z-index: 2;
}

/* Order Review etwas sauberer abgrenzen */
.woocommerce-checkout #order_review {
    padding-top: 30px !important;
}

/* Bereich mit Checkbox / AGB sauber darstellen */
.woocommerce-checkout #payment .place-order {
    padding-top: 22px !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 18px 0 22px !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;

    width: 100%;
    margin: 0 !important;

    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.7;
    white-space: normal !important;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox span {
    display: block;
    flex: 1 1 auto;
    color: var(--df-text-muted);
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox a,
.woocommerce-checkout .woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-link {
    color: var(--df-primary);
    font-weight: 700;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox a:hover {
    color: var(--df-accent);
}

.woocommerce-checkout input#terms,
.woocommerce-checkout .woocommerce-form__input-checkbox {
    width: 18px !important;
    height: 18px !important;
    margin: 3px 0 0 0 !important;
    flex: 0 0 18px;
}

/* Pflichtstern sauber positionieren */
.woocommerce-checkout .validate-required .required {
    margin-left: 4px;
}

/* Mehr Luft vor "Zusätzliche Informationen" */
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 26px !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
    margin-bottom: 22px !important;
}

/* Falls dort noch ein leerer Block sitzt, etwas Abstand geben */
.woocommerce-checkout #customer_details > div + div {
    margin-top: 24px;
}

/* ==================================================
   Gutschein entfernen als rotes X
================================================== */

.woocommerce-checkout .cart-discount .woocommerce-remove-coupon {
    width: 24px;
    height: 24px;
    margin-left: 10px;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ff5964 !important;
    background: rgba(255, 89, 100, 0.08);
    border: 1px solid rgba(255, 89, 100, 0.28);
    border-radius: 50%;

    font-size: 0 !important;
    line-height: 1;
    text-decoration: none !important;
    vertical-align: middle;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.woocommerce-checkout .cart-discount .woocommerce-remove-coupon::before {
    content: "×";
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.woocommerce-checkout .cart-discount .woocommerce-remove-coupon:hover {
    color: #ffffff !important;
    background: #d93542;
    border-color: #d93542;
    transform: scale(1.06);
}

/* Gutschein-Zeile optisch etwas sauberer */
.woocommerce-checkout table.shop_table .cart-discount th,
.woocommerce-checkout table.shop_table .cart-discount td {
    vertical-align: middle;
}

/* ==================================================
   WooCommerce Mein Konto
================================================== */

.woocommerce-account .df-main,
.woocommerce-order-received .df-main,
.woocommerce-view-order .df-main {
    padding: 70px 0 120px;
    background:
        radial-gradient(
            circle at 75% 5%,
            rgba(0, 166, 166, 0.07),
            transparent 32%
        ),
        var(--df-background);
}

.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce,
.woocommerce-view-order .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
}

/* Seitentitel */

.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-order-received .entry-title,
.woocommerce-order-received .page-title {
    margin: 0 0 40px;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

/* ==================================================
   Konto-Navigation links
================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 250px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 12px;

    list-style: none;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
    margin-top: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 46px;
    padding: 0 15px;

    display: flex;
    align-items: center;

    color: var(--df-text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;

    font-size: 13px;
    font-weight: 800;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    color: #ffffff;
    background: rgba(0, 166, 166, 0.08);
    border-color: rgba(0, 166, 166, 0.25);
    transform: translateX(3px);
}

.woocommerce-account
.woocommerce-MyAccount-navigation
.is-active
a {
    color: #071014;
    background: var(--df-accent);
    border-color: var(--df-accent);
}

/* ==================================================
   Konto-Inhalt rechts
================================================== */

.woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: calc(100% - 285px);
    min-height: 330px;
    padding: 32px;

    color: var(--df-text-muted);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.woocommerce-account .woocommerce-MyAccount-content::after {
    content: "";
    display: table;
    clear: both;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    color: var(--df-text-muted);
    line-height: 1.75;
}

.woocommerce-account .woocommerce-MyAccount-content p:first-child {
    margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
    color: #ffffff;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--df-primary);
    font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
    color: var(--df-accent);
}

/* Überschriften innerhalb des Kontos */

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #ffffff;
    font-weight: 900;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
    margin: 0 0 26px;
    font-size: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 20px;
}

/* ==================================================
   Bestellungen-Tabelle
================================================== */

.woocommerce-account table.shop_table,
.woocommerce-view-order table.shop_table,
.woocommerce-order-received table.shop_table {
    width: 100%;
    margin: 0;

    color: var(--df-text);
    background: #0b151a;

    border: 1px solid var(--df-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 9px;
    overflow: hidden;
}

.woocommerce-account table.shop_table th,
.woocommerce-view-order table.shop_table th,
.woocommerce-order-received table.shop_table th {
    padding: 17px 15px;

    color: #ffffff;
    background: #101b20;
    border-color: var(--df-border);

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.woocommerce-account table.shop_table td,
.woocommerce-view-order table.shop_table td,
.woocommerce-order-received table.shop_table td {
    padding: 17px 15px;

    color: var(--df-text-muted);
    background: transparent;
    border-color: var(--df-border);

    vertical-align: middle;
}

.woocommerce-account table.shop_table td a,
.woocommerce-view-order table.shop_table td a,
.woocommerce-order-received table.shop_table td a {
    color: #ffffff;
}

.woocommerce-account table.shop_table td a:hover,
.woocommerce-view-order table.shop_table td a:hover,
.woocommerce-order-received table.shop_table td a:hover {
    color: var(--df-primary);
}

/* Bestellsumme */

.woocommerce-account table.shop_table .amount,
.woocommerce-view-order table.shop_table .amount,
.woocommerce-order-received table.shop_table .amount {
    color: var(--df-accent);
    font-weight: 900;
}

/* Anzeigen-Button */

.woocommerce-account table.shop_table .button,
.woocommerce-view-order table.shop_table .button {
    min-height: 42px;
    padding: 0 18px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: var(--df-primary) !important;
    border: 1px solid var(--df-primary) !important;
    border-radius: 6px !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase;
}

.woocommerce-account table.shop_table .button:hover,
.woocommerce-view-order table.shop_table .button:hover {
    background: var(--df-primary-dark) !important;
    border-color: var(--df-primary-dark) !important;
}

/* ==================================================
   Kontodetails und Adressformulare
================================================== */

.woocommerce-account form.edit-account,
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-address-fields {
    width: 100%;
}

.woocommerce-account .form-row {
    margin: 0 0 20px;
}

.woocommerce-account .form-row label,
.woocommerce-account fieldset label {
    display: block;
    margin-bottom: 8px;

    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.woocommerce-account .required {
    color: var(--df-accent);
}

/* Eingabefelder dunkel */

.woocommerce-account input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce-account
.select2-container
.select2-selection--single {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;

    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 7px !important;

    font-size: 14px;
    outline: none;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.woocommerce-account textarea {
    min-height: 130px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.woocommerce-account input::placeholder,
.woocommerce-account textarea::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.woocommerce-account input:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus {
    color: #ffffff !important;
    background: #132127 !important;
    border-color: var(--df-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.1) !important;
}

/* Autofill dunkel */

.woocommerce-account input:-webkit-autofill,
.woocommerce-account input:-webkit-autofill:hover,
.woocommerce-account input:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0 1000px #101b20 inset !important;
    box-shadow: 0 0 0 1000px #101b20 inset !important;
}

/* Passwort-Bereich */

.woocommerce-account fieldset {
    margin: 30px 0;
    padding: 25px;

    background: rgba(255, 255, 255, 0.018);
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.woocommerce-account fieldset legend {
    padding: 0 10px;

    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
}

.woocommerce-account .password-input {
    position: relative;
    display: block;
}

.woocommerce-account .show-password-input {
    top: 50% !important;
    right: 15px !important;

    color: var(--df-text-muted) !important;
    transform: translateY(-50%);
}

/* Formular-Hinweise */

.woocommerce-account em {
    color: var(--df-text-muted);
    font-size: 12px;
}

/* Speichern-Buttons */

.woocommerce-account button.button,
.woocommerce-account input.button {
    min-height: 50px;
    padding: 0 22px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: var(--df-primary) !important;
    border: 1px solid var(--df-primary) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover {
    background: var(--df-primary-dark) !important;
    border-color: var(--df-primary-dark) !important;
}

/* Zwei Felder nebeneinander */

.woocommerce-account .form-row-first,
.woocommerce-account .form-row-last {
    width: calc(50% - 11px);
}

.woocommerce-account .form-row-first {
    float: left;
}

.woocommerce-account .form-row-last {
    float: right;
}

/* ==================================================
   Adressen
================================================== */

.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.woocommerce-account .woocommerce-Address {
    float: none;
    width: 100%;
    padding: 25px;

    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.woocommerce-account .woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.woocommerce-account .woocommerce-Address-title h2 {
    margin: 0;
    font-size: 20px;
}

.woocommerce-account .woocommerce-Address-title .edit {
    padding: 7px 12px;

    color: var(--df-primary);
    border: 1px solid rgba(0, 166, 166, 0.3);
    border-radius: 5px;

    font-size: 11px;
    text-transform: uppercase;
}

.woocommerce-account address {
    margin-top: 20px;
    color: var(--df-text-muted);
    font-style: normal;
    line-height: 1.8;
}


/* ==================================================
   WooCommerce Hinweise
================================================== */

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-order-received .woocommerce-message,
.woocommerce-order-received .woocommerce-info,
.woocommerce-order-received .woocommerce-error {
    margin: 0 0 30px;
    padding: 18px 20px 18px 55px;

    color: var(--df-text-muted);
    background: #101b20;
    border: 1px solid var(--df-border);
    border-top: 1px solid var(--df-border);
    border-radius: 7px;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-order-received .woocommerce-message::before,
.woocommerce-order-received .woocommerce-info::before,
.woocommerce-order-received .woocommerce-error::before {
    top: 50%;
    left: 20px;
    color: var(--df-primary);
    transform: translateY(-50%);
}

/* ==================================================
   Konto Responsive
================================================== */

@media screen and (max-width: 900px) {
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        margin-top: 25px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 1 1 140px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li + li {
        margin-top: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation a {
        justify-content: center;
    }

    .woocommerce-order-received
    .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce-order-received
    .woocommerce-order-overview
    li:nth-child(2) {
        border-right: 0;
    }

    .woocommerce-order-received
    .woocommerce-order-overview
    li:nth-child(-n + 2) {
        border-bottom: 1px solid var(--df-border);
    }
}

@media screen and (max-width: 620px) {
    .woocommerce-account .df-main,
    .woocommerce-order-received .df-main {
        padding: 45px 0 80px;
    }

    .woocommerce-account .woocommerce,
    .woocommerce-order-received .woocommerce {
        width: min(calc(100% - 24px), 600px);
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 22px;
    }

    .woocommerce-account .form-row-first,
    .woocommerce-account .form-row-last {
        float: none;
        width: 100%;
    }

    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    .woocommerce-order-received
    .woocommerce-order-overview {
        grid-template-columns: 1fr;
    }

    .woocommerce-order-received
    .woocommerce-order-overview
    li {
        border-right: 0;
        border-bottom: 1px solid var(--df-border);
    }

    .woocommerce-order-received
    .woocommerce-order-overview
    li:last-child {
        border-bottom: 0;
    }
}

/* ==================================================
   Mein Konto: Bestelldetails und Adressen korrigieren
================================================== */

/* --------------------------------------------------
   Button in den Bestelldetails
-------------------------------------------------- */

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-view-order .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-order-details + .button,
.woocommerce-account a.button {
    min-width: 190px;
    min-height: 48px;
    padding: 0 22px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: var(--df-primary) !important;
    border: 1px solid var(--df-primary) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;

    opacity: 1 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-view-order .woocommerce-MyAccount-content .button:hover,
.woocommerce-account a.button:hover {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* Text innerhalb von Plugin-Buttons sichtbar halten */
.woocommerce-account .button span,
.woocommerce-view-order .button span {
    color: inherit !important;
    opacity: 1 !important;
}




/* --------------------------------------------------
   Bestelldetails sauber begrenzen
-------------------------------------------------- */

.woocommerce-view-order
.woocommerce-MyAccount-content
.woocommerce-order-details {
    width: 100%;
    margin-bottom: 45px;
}

.woocommerce-view-order
.woocommerce-MyAccount-content
.woocommerce-order-details
table.shop_table {
    width: 100%;
}

.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-column {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}


/* --------------------------------------------------
   Responsive
-------------------------------------------------- */

@media screen and (max-width: 760px) {
    .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-Addresses,
    .woocommerce-view-order
    .woocommerce-customer-details
    .woocommerce-columns {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-account
    .woocommerce-Address-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .woocommerce-account
    .woocommerce-Address-title
    .edit {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-content .button,
    .woocommerce-view-order .woocommerce-MyAccount-content .button,
    .woocommerce-account a.button {
        width: 100%;
    }
}

/* ==================================================
   Mein Konto: Adressen sauber nebeneinander
================================================== */

.woocommerce-account
.woocommerce-MyAccount-content
.u-columns.woocommerce-Addresses,
.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-Addresses {
    width: calc(100% + 25px) !important;
    max-width: none !important;

    margin: 30px 0 0 -25px !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 24px !important;

    position: static !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
}

/* Beide Adresskarten */
.woocommerce-account
.woocommerce-MyAccount-content
.u-columns.woocommerce-Addresses
> .u-column1,
.woocommerce-account
.woocommerce-MyAccount-content
.u-columns.woocommerce-Addresses
> .u-column2,
.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-Addresses
> .woocommerce-Address,
.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-Addresses
> .col-1,
.woocommerce-account
.woocommerce-MyAccount-content
.woocommerce-Addresses
> .col-2 {
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 0 !important;
    flex: 0 0 calc(50% - 12px) !important;

    margin: 0 !important;
    padding: 26px !important;

    position: static !important;
    float: none !important;
    clear: none !important;
    transform: none !important;

    display: flex !important;
    flex-direction: column !important;

    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;
}

/* Titelbereich */
.woocommerce-account
.woocommerce-Address
.woocommerce-Address-title {
    display: contents !important;
}

/* Überschrift */
.woocommerce-account
.woocommerce-Address
.woocommerce-Address-title
h2,
.woocommerce-account
.woocommerce-Address
.woocommerce-Address-title
h3 {
    order: 1;

    width: 100% !important;
    margin: 0 0 20px !important;

    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

/* Adresse */
.woocommerce-account
.woocommerce-Address
address {
    order: 2;
    flex: 1 1 auto !important;

    width: 100% !important;
    min-height: 110px;
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: var(--df-text-muted) !important;
    background: transparent !important;
    border: 0 !important;

    font-size: 15px;
    font-style: normal;
    line-height: 1.8;
}

/* Button unten */
.woocommerce-account
.woocommerce-Address
.woocommerce-Address-title
.edit {
    order: 3;

    width: 100% !important;
    min-height: 44px;
    margin: auto 0 0 !important;
    padding: 0 15px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: var(--df-primary) !important;
    background: rgba(0, 166, 166, 0.06) !important;
    border: 1px solid rgba(0, 166, 166, 0.35) !important;
    border-radius: 6px !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-align: center;
    text-transform: uppercase;
}

/* Hover */
.woocommerce-account
.woocommerce-Address
.woocommerce-Address-title
.edit:hover {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* Tablet und Smartphone */
@media screen and (max-width: 760px) {
    .woocommerce-account
    .woocommerce-MyAccount-content
    .u-columns.woocommerce-Addresses,
    .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-Addresses {
        width: 100% !important;
        margin-left: 0 !important;
        flex-direction: column !important;
    }

    .woocommerce-account
    .woocommerce-MyAccount-content
    .u-columns.woocommerce-Addresses
    > .u-column1,
    .woocommerce-account
    .woocommerce-MyAccount-content
    .u-columns.woocommerce-Addresses
    > .u-column2,
    .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-Addresses
    > .woocommerce-Address,
    .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-Addresses
    > .col-1,
    .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-Addresses
    > .col-2 {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
    }
}

/* ==================================================
   Header-Produktsuche
================================================== */

.df-search-toggle {
    padding: 0;
    cursor: pointer;
}

.df-search-toggle svg {
    display: block;
}

.df-product-search {
    position: absolute;
    top: 110px;
    left: 0;
    right: 0;
    z-index: 999;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);

    background: rgba(5, 14, 18, 0.98);
    border-bottom: 1px solid var(--df-border);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(14px);

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        visibility 180ms ease;
}

.df-product-search.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.df-product-search__inner {
    padding-top: 24px;
    padding-bottom: 24px;
}

.df-product-search__form {
    width: min(100%, 880px);
    min-height: 58px;
    margin-inline: auto;

    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;

    padding: 7px 8px 7px 18px;

    background: #101b20;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
}

.df-product-search__form:focus-within {
    border-color: var(--df-primary);
    box-shadow: 0 0 0 3px rgba(0, 166, 166, 0.1);
}

.df-product-search__icon {
    display: inline-flex;
    color: var(--df-primary);
}

.df-product-search__field {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0;

    color: #ffffff;
    background: transparent;
    border: 0;
    outline: 0;

    font-size: 15px;
}

.df-product-search__field::placeholder {
    color: rgba(255, 255, 255, 0.44);
}

.df-product-search__field::-webkit-search-cancel-button {
    display: none;
}

.df-product-search__submit {
    min-height: 44px;
    padding: 0 22px;

    color: #071014;
    background: var(--df-accent);
    border: 1px solid var(--df-accent);
    border-radius: 6px;

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;

    cursor: pointer;
    transition:
        filter 180ms ease,
        transform 180ms ease;
}

.df-product-search__submit:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.df-product-search__close {
    width: 44px;
    height: 44px;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--df-text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;

    font-size: 28px;
    line-height: 1;

    cursor: pointer;
}

.df-product-search__close:hover {
    color: #ffffff;
    border-color: var(--df-border);
    background: rgba(255, 255, 255, 0.04);
}

/* Produktsuchergebnisse wie Shop-Archive behandeln */
.search-results.post-type-archive-product .df-main,
.search-results .df-main {
    background: var(--df-background);
}

@media screen and (max-width: 850px) {
   .df-product-search {
        top: 130px;
    }

    .df-product-search__form {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .df-product-search__submit {
        grid-column: 1 / -1;
        width: 100%;
    }

    .df-product-search__close {
        grid-column: 3;
        grid-row: 1;
    }
}

@media screen and (max-width: 520px) {
   .df-product-search {
        top: 126px;
    }

    .df-product-search__inner {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .df-product-search__form {
        gap: 8px;
        padding: 7px;
    }
}


/* 2.5.4 – Produktsuche sitzt bewusst vollständig unter dem Header. */
body.admin-bar .df-product-search {
    top: 142px;
}
@media screen and (max-width: 850px) {
    body.admin-bar .df-product-search { top: 170px; }
}
@media screen and (max-width: 782px) {
    body.admin-bar .df-product-search { top: 180px; }
}
@media screen and (max-width: 520px) {
    body.admin-bar .df-product-search { top: 174px; }
}

/* Produkt-Suchergebnisse in den Shop-Container übernehmen */
.search-results .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
    padding: 60px 0 110px;
}

.search-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 300px) !important;
    justify-content: center;
    gap: 28px;

    margin: 0 auto !important;
}

.search-results ul.products li.product {
    width: 300px !important;
    max-width: 300px;
    margin: 0 !important;
}

/* ==================================================
   Produktsuche: Keine Treffer Meldung
================================================== */

.search-no-results .woocommerce,
.search-results .woocommerce {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;
    padding: 60px 0 110px;
}

/* WooCommerce-Hinweis mittig und passend zum Theme */
.search-no-results .woocommerce-info,
.search-no-results .woocommerce-message,
.search-no-results .woocommerce-error,
.search-results .woocommerce-info {
    width: min(100%, 760px);
    margin: 40px auto !important;
    padding: 22px 24px 22px 58px !important;

    color: var(--df-text-muted) !important;
    background: #101b20 !important;
    border: 1px solid rgba(0, 166, 166, 0.35) !important;
    border-top: 1px solid rgba(0, 166, 166, 0.35) !important;
    border-radius: 8px !important;

    font-size: 14px;
    line-height: 1.6;
    text-align: left;

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.search-no-results .woocommerce-info::before,
.search-no-results .woocommerce-message::before,
.search-no-results .woocommerce-error::before,
.search-results .woocommerce-info::before {
    top: 50% !important;
    left: 22px !important;

    color: var(--df-primary) !important;
    transform: translateY(-50%);
}

/* Verhindert volle Bildschirmbreite */
.search-no-results .woocommerce-notices-wrapper,
.search-results .woocommerce-notices-wrapper {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
}

/* Etwas mehr Höhe, damit der Footer nicht direkt hochrutscht */
.search-no-results .df-main {
    min-height: 520px;
}

/* ==================================================
   Bestellung erhalten: endgültiges Layout
================================================== */

/* Gesamten Inhalt sauber begrenzen */
body.woocommerce-order-received .woocommerce {
    width: min(calc(100% - 40px), 1180px) !important;
    margin-inline: auto !important;
}

/* ==================================================
   Bestellübersicht oben
================================================== */

body.woocommerce-order-received
ul.woocommerce-order-overview,
body.woocommerce-order-received
ul.order_details {
    width: 100% !important;
    margin: 0 0 60px !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;

    list-style: none !important;

    background: #0b151a !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}

/* WooCommerce-Floats vollständig entfernen */
body.woocommerce-order-received
ul.woocommerce-order-overview
li,
body.woocommerce-order-received
ul.order_details
li {
    float: none !important;
    clear: none !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 24px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    color: var(--df-text-muted) !important;
    background: transparent !important;

    border: 0 !important;
    border-right: 1px solid var(--df-border) !important;

    font-size: 10px !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
}

/* Letzte Spalte */
body.woocommerce-order-received
ul.woocommerce-order-overview
li:last-child,
body.woocommerce-order-received
ul.order_details
li:last-child {
    border-right: 0 !important;
}

/* Werte */
body.woocommerce-order-received
ul.woocommerce-order-overview
li strong,
body.woocommerce-order-received
ul.order_details
li strong {
    display: block !important;
    margin-top: 8px !important;

    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    text-transform: none !important;

    overflow-wrap: anywhere;
}

/* ==================================================
   Bestelldetails als echte Tabelle
================================================== */

body.woocommerce-order-received
.woocommerce-order-details {
    width: 100% !important;
    margin: 0 0 55px !important;
}

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table {
    width: 100% !important;
    margin: 0 !important;

    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    background: #0b151a !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}

/* Alle Zellen bekommen sichtbare Linien */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
th,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
td {
    padding: 18px 20px !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;

    border: 1px solid var(--df-border) !important;

    font-size: 13px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

/* Tabellenkopf */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
thead
th {
    color: #ffffff !important;
    background: #101b20 !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
}

/* Linke Spalte */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
th:first-child,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
td:first-child {
    width: 72% !important;
    text-align: left !important;
}

/* Rechte Spalte */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
th:last-child,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
td:last-child {
    width: 28% !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Gesamtsumme im Tabellenkopf */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
thead
th:last-child {
    color: var(--df-accent) !important;
}

/* Produktzeile */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tbody
td.product-name {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Preise */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
.amount {
    color: var(--df-accent) !important;
    font-weight: 900 !important;
}

/* Summenbereich links etwas dunkler */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot
th {
    color: #ffffff !important;
    background: #101b20 !important;

    font-weight: 900 !important;
    text-transform: uppercase !important;
}

/* Summenbereich rechts */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot
td {
    color: var(--df-accent) !important;
    background: #0b151a !important;

    font-weight: 900 !important;
}

/* Gesamtbetrag hervorheben */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot
tr:last-child
th,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot
tr:last-child
td {
    background: rgba(199, 240, 0, 0.04) !important;
}

/* ==================================================
   Rechnungsadresse
================================================== */

body.woocommerce-order-received
.woocommerce-customer-details
address {
    padding: 26px !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;

    font-style: normal !important;
    line-height: 1.8 !important;
}

/* ==================================================
   Responsive
================================================== */

@media screen and (max-width: 800px) {
    body.woocommerce-order-received
    ul.woocommerce-order-overview,
    body.woocommerce-order-received
    ul.order_details {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.woocommerce-order-received
    ul.woocommerce-order-overview
    li:nth-child(2),
    body.woocommerce-order-received
    ul.order_details
    li:nth-child(2) {
        border-right: 0 !important;
    }

    body.woocommerce-order-received
    ul.woocommerce-order-overview
    li:nth-child(-n + 2),
    body.woocommerce-order-received
    ul.order_details
    li:nth-child(-n + 2) {
        border-bottom: 1px solid var(--df-border) !important;
    }
}

@media screen and (max-width: 520px) {
    body.woocommerce-order-received
    ul.woocommerce-order-overview,
    body.woocommerce-order-received
    ul.order_details {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-order-received
    ul.woocommerce-order-overview
    li,
    body.woocommerce-order-received
    ul.order_details
    li {
        border-right: 0 !important;
        border-bottom: 1px solid var(--df-border) !important;
    }

    body.woocommerce-order-received
    ul.woocommerce-order-overview
    li:last-child,
    body.woocommerce-order-received
    ul.order_details
    li:last-child {
        border-bottom: 0 !important;
    }

    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    th,
    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    td {
        padding: 14px 12px !important;
        font-size: 12px !important;
    }

    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    th:first-child,
    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    td:first-child {
        width: 62% !important;
    }

    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    th:last-child,
    body.woocommerce-order-received
    .woocommerce-order-details
    table.shop_table
    td:last-child {
        width: 38% !important;
    }
}

/* WooCommerce-Clearfix bei Bestellübersicht deaktivieren */
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after,
.woocommerce-order-received ul.order_details::before,
.woocommerce-order-received ul.order_details::after {
    content: none !important;
    display: none !important;
}

/* ==================================================
   Header Kundenkonto Dropdown
================================================== */

.df-header,
.df-header__inner,
.df-header__actions {
    overflow: visible;
}

.df-header__actions {
    position: relative;
}

.df-account-menu {
    position: relative;
    flex: 0 0 auto;
}

/* Kundenkonto-Button */

.df-account-toggle {
    min-height: 44px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    color: #ffffff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 7px;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.35px;
    line-height: 1;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.df-account-toggle:hover,
.df-account-toggle[aria-expanded="true"] {
    color: var(--df-primary);
    background: rgba(0, 166, 166, 0.07);
    border-color: rgba(0, 166, 166, 0.45);
}

.df-account-toggle__icon,
.df-account-toggle__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.df-account-toggle__arrow {
    transition: transform 180ms ease;
}

.df-account-toggle[aria-expanded="true"]
.df-account-toggle__arrow {
    transform: rotate(180deg);
}

/* Dropdown */

.df-account-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    z-index: 10000;

    width: 290px;
    padding: 10px;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    color: var(--df-text);
    background: rgba(8, 18, 23, 0.99);
    border: 1px solid var(--df-border);
    border-radius: 10px;

    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.48),
        0 0 0 1px rgba(0, 166, 166, 0.03);

    transform: translateY(-8px);

    transition:
        visibility 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

.df-account-dropdown.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* Kleiner Pfeil oben */

.df-account-dropdown::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 28px;

    width: 12px;
    height: 12px;

    background: #081217;
    border-top: 1px solid var(--df-border);
    border-left: 1px solid var(--df-border);

    transform: rotate(45deg);
}

/* Kopfbereich */

.df-account-dropdown__header {
    position: relative;
    z-index: 1;

    padding: 16px;

    background: rgba(255, 255, 255, 0.025);
    border-radius: 7px;
}

.df-account-dropdown__header span,
.df-account-dropdown__header strong {
    display: block;
}

.df-account-dropdown__header span {
    margin-bottom: 4px;

    color: var(--df-text-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.df-account-dropdown__header strong {
    color: #ffffff;
    font-size: 15px;
}

/* Kontolinks */

.df-account-dropdown__navigation {
    padding: 8px 0;
}

.df-account-dropdown__navigation a {
    min-height: 45px;
    padding: 0 13px;

    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 9px;

    color: var(--df-text-muted);
    border: 1px solid transparent;
    border-radius: 6px;

    font-size: 12px;
    font-weight: 800;

    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.df-account-dropdown__navigation a:hover {
    color: #ffffff;
    background: rgba(0, 166, 166, 0.08);
    border-color: rgba(0, 166, 166, 0.18);
    transform: translateX(3px);
}

.df-account-dropdown__icon {
    color: var(--df-primary);
    font-size: 17px;
    text-align: center;
}

/* Abmelden */

.df-account-dropdown__footer {
    padding-top: 9px;
    border-top: 1px solid var(--df-border);
}

.df-account-dropdown__footer a {
    min-height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ff7a83;
    background: rgba(255, 89, 100, 0.06);
    border: 1px solid rgba(255, 89, 100, 0.16);
    border-radius: 6px;

    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-account-dropdown__footer a:hover {
    color: #ffffff;
    background: #d93542;
    border-color: #d93542;
}

/* Nicht angemeldet */

.df-account-dropdown__guest {
    padding: 15px 8px 5px;
}

.df-account-dropdown__guest p {
    margin: 0 0 15px;

    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.65;
}

.df-account-dropdown__login {
    min-height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #071014;
    background: var(--df-accent);
    border-radius: 6px;

    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-account-dropdown__login:hover {
    color: #071014;
    filter: brightness(1.08);
}

/* Responsive */

@media screen and (max-width: 1050px) {
    .df-account-toggle__label {
        display: none;
    }

    .df-account-toggle {
        width: 42px;
        padding: 0;
        border-radius: 50%;
    }

    .df-account-toggle__arrow {
        display: none;
    }
}

@media screen and (max-width: 520px) {
    .df-account-dropdown {
        position: fixed;
        top: 90px;
        left: 14px;
        right: 14px;

        width: auto;
    }

    .df-account-dropdown::before {
        display: none;
    }
}

/* ==================================================
   Kompaktes dynamisches Shop-Mega-Menü
================================================== */

.df-header__inner {
    position: relative;
}

.df-navigation,
.df-navigation__menu {
    position: static;
}

.df-mega-menu-item {
    position: static !important;
    display: flex;
    align-items: center;
}

.df-mega-toggle {
    width: 24px;
    height: 38px;
    margin-left: -7px;
    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--df-text-muted);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.df-mega-toggle:hover,
.df-mega-toggle[aria-expanded="true"] {
    color: var(--df-primary);
}

.df-mega-toggle svg {
    transition: transform 160ms ease;
}

.df-mega-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.df-shop-mega {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9000;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transform: translateY(-5px);

    transition:
        visibility 160ms ease,
        opacity 160ms ease,
        transform 160ms ease;
}

.df-shop-mega.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.df-shop-mega__inner {
    max-height: calc(100vh - 100px);
    overflow-y: auto;

    color: var(--df-text);
    background: rgba(7, 16, 20, 0.995);

    border: 1px solid var(--df-border);
    border-top: 2px solid var(--df-primary);
    border-radius: 0 0 9px 9px;

    box-shadow: 0 26px 65px rgba(0, 0, 0, 0.48);
}

.df-shop-mega__grid {
    padding: 16px 18px;

    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(190px, 1fr));

    align-items: start;
    gap: 14px 20px;
}

.df-shop-mega__column {
    min-width: 0;
}

.df-shop-mega__heading {
    min-height: 34px;
    padding: 0 2px 7px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;

    color: #ffffff;
    border-bottom: 1px solid rgba(0, 166, 166, 0.55);

    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.df-shop-mega__heading:hover {
    color: var(--df-primary);
}

.df-shop-mega__heading span:last-child {
    color: var(--df-primary);
}

.df-shop-mega__groups {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.df-shop-mega__group-title {
    padding: 6px 2px;

    display: block;

    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);

    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
}

.df-shop-mega__group-title:hover {
    color: var(--df-primary);
}

.df-shop-mega__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.df-shop-mega__links li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.045);
}

.df-shop-mega__links a {
    min-height: 27px;
    padding: 4px 4px 4px 12px;

    position: relative;
    display: flex;
    align-items: center;

    color: var(--df-text-muted);
    font-size: 11px;
    line-height: 1.35;
}

.df-shop-mega__links a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2px;

    width: 4px;
    height: 1px;

    background: var(--df-primary);
    transform: translateY(-50%);
}

.df-shop-mega__links a:hover {
    color: #ffffff;
    background: rgba(0, 166, 166, 0.055);
}

.df-shop-mega__single-link {
    min-height: 30px;
    padding: 6px 2px;

    display: inline-flex;
    align-items: center;

    color: var(--df-primary);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.df-shop-mega__bottom {
    padding: 10px 18px;

    display: flex;
    justify-content: flex-end;

    background: rgba(255, 255, 255, 0.018);
    border-top: 1px solid var(--df-border);
}

.df-shop-mega__bottom a {
    min-height: 36px;
    padding: 0 14px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    color: var(--df-primary);
    border: 1px solid rgba(0, 166, 166, 0.32);
    border-radius: 5px;

    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-shop-mega__bottom a:hover {
    color: #071014;
    background: var(--df-accent);
    border-color: var(--df-accent);
}

@media screen and (max-width: 900px) {
    .df-shop-mega {
        position: fixed;
        top: 120px;
        left: 14px;
        right: 14px;
        bottom: 14px;
    }

    .df-shop-mega__inner {
        max-height: 100%;
        border-radius: 9px;
    }
}

@media screen and (max-width: 560px) {
    .df-shop-mega__grid {
        grid-template-columns: 1fr;
    }

    .df-shop-mega__bottom a {
        width: 100%;
    }
}

/* ==================================================
   WooCommerce Hinweise im DAS-FISHING-Design
================================================== */

.woocommerce-info {
    position: relative;

    width: min(100%, 900px);
    margin: 24px auto !important;
    padding: 18px 22px 18px 56px !important;

    color: var(--df-text-muted) !important;
    background:
        linear-gradient(
            135deg,
            rgba(0, 166, 166, 0.07),
            transparent
        ),
        #101b20 !important;

    border: 1px solid rgba(0, 166, 166, 0.35) !important;
    border-top: 1px solid rgba(0, 166, 166, 0.35) !important;
    border-radius: 8px !important;

    font-size: 14px;
    line-height: 1.6;

    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
}

/* WooCommerce-Icon links */
.woocommerce-info::before {
    top: 50% !important;
    left: 21px !important;

    color: var(--df-primary) !important;
    transform: translateY(-50%);
}

/* Links in der Meldung */
.woocommerce-info a {
    color: var(--df-primary) !important;
    font-weight: 800;
}

.woocommerce-info a:hover {
    color: var(--df-accent) !important;
}

/* Button innerhalb einer Info-Meldung */
.woocommerce-info .button {
    min-height: 38px;
    padding: 0 14px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 5px !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

/* Verhindert die blaue WooCommerce-Standardlinie */
.woocommerce-info,
.woocommerce-info::before {
    border-top-color: rgba(0, 166, 166, 0.35) !important;
}

/* Mobil */
@media screen and (max-width: 600px) {
    .woocommerce-info {
        width: 100%;
        padding: 17px 16px 17px 48px !important;
        font-size: 13px;
    }

    .woocommerce-info::before {
        left: 17px !important;
    }
}

/* ==================================================
   About ohne Fischgrafik
================================================== */

.df-about {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    align-items: center;
    gap: 80px;
}

.df-about__visual,
.df-about__fish {
    display: none !important;
}

.df-about__content {
    max-width: 820px;
}

.df-about__content h2 {
    max-width: 820px;
}

.df-about__text {
    max-width: 760px;
}

.df-about__features {
    padding-left: 45px;
    border-left: 1px solid var(--df-border);
}

@media screen and (max-width: 900px) {
    .df-about {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .df-about__features {
        padding: 40px 0 0;
        border-top: 1px solid var(--df-border);
        border-left: 0;
    }
}

/* ==================================================
   Social Media
================================================== */

.df-social-section {
    position: relative;
    padding: 110px 0;

    background:
        radial-gradient(
            circle at 50% 0,
            rgba(0, 166, 166, 0.08),
            transparent 38%
        ),
        var(--df-background);

    border-bottom: 1px solid var(--df-border);
}

.df-social-header {
    max-width: 760px;
    margin: 0 auto 45px;
    text-align: center;
}

.df-social-header h2 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

.df-social-header h2 span {
    display: block;
    color: var(--df-primary);
}

.df-social-header > p:last-child {
    max-width: 650px;
    margin: 20px auto 0;

    color: var(--df-text-muted);
    font-size: 15px;
    line-height: 1.75;
}

.df-social-grid {
    max-width: 980px;
    margin-inline: auto;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.df-social-card {
    position: relative;
    min-height: 210px;
    padding: 32px;

    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 22px;

    color: var(--df-text);
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.028),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;

    transition:
        transform 200ms ease,
        border-color 200ms ease,
        box-shadow 200ms ease;
}

.df-social-card:hover {
    color: var(--df-text);
    border-color: var(--df-primary);
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.3);
}

.df-social-card__icon {
    width: 64px;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--df-primary);
    background: rgba(0, 166, 166, 0.08);
    border: 1px solid rgba(0, 166, 166, 0.25);
    border-radius: 50%;
}

.df-social-card__icon svg {
    width: 29px;
    height: 29px;
}

.df-social-card__content span {
    display: block;
    margin-bottom: 5px;

    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.df-social-card__content h3 {
    margin: 0;

    color: #ffffff;
    font-size: 25px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-social-card__content p {
    margin: 10px 0 0;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.65;
}

.df-social-card__arrow {
    color: var(--df-primary);
    font-size: 25px;
    transition: transform 180ms ease;
}

.df-social-card:hover .df-social-card__arrow {
    transform: translateX(4px);
}

@media screen and (max-width: 800px) {
    .df-social-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 520px) {
    .df-social-section {
        padding: 80px 0;
    }

    .df-social-card {
        grid-template-columns: 52px minmax(0, 1fr);
        padding: 24px 20px;
    }

    .df-social-card__icon {
        width: 52px;
        height: 52px;
    }

    .df-social-card__arrow {
        display: none;
    }
}

/* ==================================================
   Printful Size Guide im DAS-FISHING-Design
================================================== */

/* Hintergrund hinter dem Fenster */
.pf-size-guide-modal-wrapper {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;

    padding: 30px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(2, 8, 11, 0.82) !important;
    backdrop-filter: blur(8px);
}

/* Modal */
.pf-size-guide-modal {
    width: min(100%, 980px) !important;
    max-height: calc(100vh - 60px) !important;
    margin: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    color: var(--df-text-muted) !important;
    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(0, 166, 166, 0.08),
            transparent 30%
        ),
        #081216 !important;

    border: 1px solid var(--df-border) !important;
    border-top: 2px solid var(--df-primary) !important;
    border-radius: 12px !important;

    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6) !important;

    scrollbar-width: thin;
    scrollbar-color: var(--df-primary) #101b20;
}

.pf-size-guide-modal::-webkit-scrollbar {
    width: 8px;
}

.pf-size-guide-modal::-webkit-scrollbar-track {
    background: #101b20;
}

.pf-size-guide-modal::-webkit-scrollbar-thumb {
    background: var(--df-primary);
    border-radius: 20px;
}

/* ==================================================
   Kopfbereich
================================================== */

.pf-size-guide-modal__header {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;

    min-height: 70px !important;
    padding: 0 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    background: rgba(8, 18, 22, 0.98) !important;
    border-bottom: 1px solid var(--df-border) !important;
    backdrop-filter: blur(12px);
}

.pf-size-guide-modal__title {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}

/* Schließen-Button */
.pf-size-guide-modal__close {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 42px !important;

    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 50% !important;

    cursor: pointer !important;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease !important;
}

.pf-size-guide-modal__close:hover {
    background: #d93542 !important;
    border-color: #d93542 !important;
    transform: rotate(90deg) !important;
}

.pf-size-guide-modal__close img {
    width: 18px !important;
    height: 18px !important;

    filter: brightness(0) invert(1) !important;
}

/* Alte Clearfix-Elemente */
.pf-size-guide-modal-clear {
    display: none !important;
}

/* ==================================================
   Inhalt
================================================== */

.pf-size-guide-modal__content {
    padding: 26px !important;

    color: var(--df-text-muted) !important;
    background: transparent !important;
}

.pf-size-guide-modal__content h4 {
    margin: 24px 0 14px !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

.pf-size-guide-modal__content p {
    color: var(--df-text-muted) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.pf-size-guide-modal__content strong {
    color: #ffffff !important;
}

/* ==================================================
   Obere Tabs
================================================== */

.pf-product-size-guide__tabs {
    margin: 0 0 26px !important;
    padding: 0 !important;

    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;

    list-style: none !important;
}

.pf-product-size-guide__tab {
    min-height: 44px !important;
    padding: 0 18px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: var(--df-text-muted) !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 6px !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;

    cursor: pointer !important;
}

.pf-product-size-guide__tab:hover {
    color: #ffffff !important;
    border-color: var(--df-primary) !important;
}

.pf-product-size-guide__tab--active {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* ==================================================
   Messbereich
================================================== */

.pf-size-guide-modal-measurements {
    margin-top: 24px !important;
    padding: 24px !important;

    display: grid !important;
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) !important;
    gap: 30px !important;
    align-items: center !important;

    background: #0b151a !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;
}

.pf-size-guide-modal-measurements__image,
.pf-size-guide-modal-measurements__description {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.pf-size-guide-modal-measurements__image {
    padding: 16px !important;

    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 8px !important;
}

.pf-size-guide-modal-measurements__image img {
    width: 100% !important;
    max-height: 420px !important;
    margin: 0 auto !important;

    object-fit: contain !important;

    border-radius: 6px !important;
}

.pf-size-guide-modal-measurements__description p {
    margin: 0 0 10px !important;
}

.pf-size-guide-modal-measurements__description p strong {
    display: block !important;
    margin-top: 12px !important;

    color: var(--df-primary) !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

/* ==================================================
   Maßeinheiten-Tabs
================================================== */

.pf-size-guide-modal-size-chart__tabs {
    margin: 28px 0 12px !important;
    padding: 0 !important;

    display: flex !important;
    gap: 8px !important;

    list-style: none !important;
}

.pf-size-guide-modal-size-chart__tab {
    min-height: 38px !important;
    padding: 0 14px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: var(--df-text-muted) !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 5px !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;

    cursor: pointer !important;
}

.pf-size-guide-modal-size-chart__tab:hover {
    color: #ffffff !important;
    border-color: var(--df-primary) !important;
}

.pf-size-guide-modal-size-chart__tab--active {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* ==================================================
   Größentabelle
================================================== */

.pf-size-guide-modal-size-chart {
    margin-top: 26px !important;
}

.pf-size-guide-modal-size-chart > div {
    width: 100% !important;
}

.pf-size-guide-modal-size-chart__table {
    width: 100% !important;
    min-width: 560px !important;
    margin: 0 !important;

    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;

    border: 1px solid var(--df-border) !important;
}

/* Alle Tabellenzellen */
.pf-size-guide-modal-size-chart__table th,
.pf-size-guide-modal-size-chart__table td {
    padding: 14px 16px !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;

    border: 1px solid var(--df-border) !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Tabellenkopf */
.pf-size-guide-modal-size-chart__table thead td,
.pf-size-guide-modal-size-chart__table thead th {
    color: #ffffff !important;
    background: #101b20 !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Erste Spalte mit Größen */
.pf-size-guide-modal-size-chart__table th:first-child,
.pf-size-guide-modal-size-chart__table td:first-child {
    width: 25% !important;

    color: #ffffff !important;
    background: rgba(0, 166, 166, 0.08) !important;

    font-weight: 900 !important;
    text-align: left !important;
}

/* Abwechselnde Zeilen */
.pf-size-guide-modal-size-chart__table tbody tr:nth-child(even) td {
    background: #0e1a20 !important;
}

.pf-size-guide-modal-size-chart__table tbody tr:nth-child(even) td:first-child {
    background: rgba(0, 166, 166, 0.12) !important;
}

/* Hover */
.pf-size-guide-modal-size-chart__table tbody tr:hover td {
    color: #ffffff !important;
    background: rgba(0, 166, 166, 0.1) !important;
}

/* Tabellencontainer scrollbar */
.pf-size-guide-modal-size-chart [style*="overflow-x"] {
    overflow-x: auto !important;
    border-radius: 8px !important;

    scrollbar-width: thin;
    scrollbar-color: var(--df-primary) #101b20;
}

/* ==================================================
   Responsive
================================================== */

@media screen and (max-width: 760px) {
    .pf-size-guide-modal-wrapper {
        padding: 12px !important;
        align-items: flex-start !important;
    }

    .pf-size-guide-modal {
        max-height: calc(100vh - 24px) !important;
    }

    .pf-size-guide-modal__header {
        min-height: 62px !important;
        padding: 0 16px !important;
    }

    .pf-size-guide-modal__title {
        font-size: 20px !important;
    }

    .pf-size-guide-modal__content {
        padding: 18px !important;
    }

    .pf-size-guide-modal-measurements {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }

    .pf-product-size-guide__tabs {
        flex-direction: column !important;
    }

    .pf-product-size-guide__tab {
        width: 100% !important;
    }
}

@media screen and (max-width: 480px) {
    .pf-size-guide-modal-size-chart__table {
        min-width: 500px !important;
    }

    .pf-size-guide-modal-size-chart__table th,
    .pf-size-guide-modal-size-chart__table td {
        padding: 12px 10px !important;
        font-size: 12px !important;
    }
}

/* ==================================================
   Printful Size Guide – Layout-Korrektur
================================================== */

/* Modal wieder normal aufbauen */
.pf-size-guide-modal {
    width: min(1100px, calc(100vw - 40px)) !important;
    max-width: 1100px !important;
    height: auto !important;
    max-height: calc(100vh - 40px) !important;

    display: block !important;
}

/* Header waagerecht */
.pf-size-guide-modal__header {
    width: 100% !important;
    min-height: 68px !important;
    padding: 0 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    float: none !important;
}

.pf-size-guide-modal__title {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.pf-size-guide-modal__close {
    position: static !important;
    float: none !important;
}

/* Gesamter Inhaltsbereich */
.pf-size-guide-modal__content {
    width: 100% !important;
    padding: 24px !important;

    display: block !important;

    float: none !important;
    clear: both !important;
}

/* Plugin-Floats komplett zurücksetzen */
.pf-size-guide-modal__content > *,
.pf-size-guide-modal__content > div,
.pf-size-guide-modal__content ul,
.pf-size-guide-modal__content li,
.pf-size-guide-modal-measurements,
.pf-size-guide-modal-measurements__image,
.pf-size-guide-modal-measurements__description,
.pf-size-guide-modal-size-chart {
    float: none !important;
}

/* Obere Tabs direkt unter dem Header */
.pf-product-size-guide__tabs {
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;

    float: none !important;
}

.pf-product-size-guide__tab {
    width: auto !important;
    min-width: 180px !important;
    margin: 0 !important;
    padding: 0 18px !important;

    flex: 0 0 auto !important;
}

/* Überschrift und Einleitung */
.pf-size-guide-modal__content > div > h4 {
    width: 100% !important;
    margin: 0 0 14px !important;

    display: block !important;
    float: none !important;

    color: #ffffff !important;
    background: transparent !important;
}

.pf-size-guide-modal__content > div > div > p {
    max-width: 850px !important;
}

/* Messbereich – Bild links, Text rechts */
.pf-size-guide-modal-measurements {
    width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 22px !important;

    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: center !important;

    clear: both !important;
}

.pf-size-guide-modal-measurements__image {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 16px !important;
}

.pf-size-guide-modal-measurements__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 430px !important;

    display: block !important;
    object-fit: contain !important;
}

.pf-size-guide-modal-measurements__description {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
}

.pf-size-guide-modal-measurements__description p {
    width: 100% !important;
    max-width: 700px !important;
    margin: 0 0 12px !important;

    display: block !important;

    color: var(--df-text-muted) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.pf-size-guide-modal-measurements__description p strong {
    margin: 14px 0 4px !important;

    display: block !important;

    color: var(--df-primary) !important;
}

/* Tabelle immer unterhalb des Messbereichs */
.pf-size-guide-modal-size-chart {
    width: 100% !important;
    margin: 28px 0 0 !important;

    display: block !important;
    clear: both !important;
}

/* Einheiten-Tabs */
.pf-size-guide-modal-size-chart__tabs {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;

    float: none !important;
}

.pf-size-guide-modal-size-chart__tab {
    width: auto !important;
    min-width: 110px !important;
    margin: 0 !important;

    flex: 0 0 auto !important;
}

/* Tabellen-Scrollcontainer */
.pf-size-guide-modal-size-chart > div > div,
.pf-size-guide-modal-size-chart [style*="overflow-x"] {
    width: 100% !important;
    max-width: 100% !important;

    display: block !important;
    overflow-x: auto !important;

    float: none !important;
}

/* Tabelle über komplette Breite */
.pf-size-guide-modal-size-chart__table {
    width: 100% !important;
    min-width: 600px !important;
    max-width: none !important;
    margin: 0 !important;

    display: table !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.pf-size-guide-modal-size-chart__table thead {
    display: table-header-group !important;
}

.pf-size-guide-modal-size-chart__table tbody {
    display: table-row-group !important;
}

.pf-size-guide-modal-size-chart__table tr {
    width: auto !important;
    display: table-row !important;
}

.pf-size-guide-modal-size-chart__table th,
.pf-size-guide-modal-size-chart__table td {
    width: auto !important;
    height: auto !important;
    padding: 13px 16px !important;

    display: table-cell !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;
    border: 1px solid var(--df-border) !important;

    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Tabellenkopf */
.pf-size-guide-modal-size-chart__table thead td,
.pf-size-guide-modal-size-chart__table thead th {
    color: #ffffff !important;
    background: #101b20 !important;

    font-weight: 900 !important;
    text-transform: uppercase !important;
}

/* Größenspalte */
.pf-size-guide-modal-size-chart__table th:first-child,
.pf-size-guide-modal-size-chart__table td:first-child {
    width: 28% !important;

    color: #ffffff !important;
    background: rgba(0, 166, 166, 0.1) !important;

    font-weight: 900 !important;
    text-align: left !important;
}

/* Die anderen Spalten gleichmäßig */
.pf-size-guide-modal-size-chart__table th:not(:first-child),
.pf-size-guide-modal-size-chart__table td:not(:first-child) {
    width: 36% !important;
}

/* Clearfix des Plugins deaktivieren */
.pf-size-guide-modal-clear,
.pf-size-guide-modal-clear::before,
.pf-size-guide-modal-clear::after {
    display: none !important;
    content: none !important;
    clear: none !important;
}

/* ==================================================
   Responsive
================================================== */

@media screen and (max-width: 760px) {
    .pf-size-guide-modal-wrapper {
        padding: 10px !important;
    }

    .pf-size-guide-modal {
        width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px) !important;
    }

    .pf-size-guide-modal__content {
        padding: 18px !important;
    }

    .pf-product-size-guide__tabs {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .pf-product-size-guide__tab {
        width: 100% !important;
        min-width: 0 !important;
    }

    .pf-size-guide-modal-measurements {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .pf-size-guide-modal-measurements__image {
        max-width: 420px !important;
        margin: 0 auto !important;
    }
}

@media screen and (max-width: 520px) {
    .pf-size-guide-modal__header {
        padding: 0 15px !important;
    }

    .pf-size-guide-modal__title {
        font-size: 18px !important;
    }

    .pf-product-size-guide__tabs {
        grid-template-columns: 1fr !important;
    }

    .pf-size-guide-modal-size-chart__tabs {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .pf-size-guide-modal-size-chart__tab {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* ==================================================
   Size Guide – Tabs über der Linie + bessere Lesbarkeit
================================================== */

/* Tabs sauber oberhalb der Trennlinie halten */
.pf-product-size-guide__tabs,
.pf-size-guide-modal-size-chart__tabs {
    position: relative !important;
    z-index: 2 !important;

    margin-bottom: 0 !important;
    padding-bottom: 12px !important;

    border-bottom: 1px solid var(--df-border) !important;
}

/* Verhindert, dass die Linie durch die Buttons läuft */
.pf-product-size-guide__tab,
.pf-size-guide-modal-size-chart__tab {
    position: relative !important;
    z-index: 3 !important;

    border-bottom: 1px solid var(--df-border) !important;
}

/* Aktiver grüner Button: Text dunkel und gut lesbar */
.pf-product-size-guide__tab--active,
.pf-size-guide-modal-size-chart__tab--active {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* Auch beim Hover auf aktivem Button bleibt der Text lesbar */
.pf-product-size-guide__tab--active:hover,
.pf-size-guide-modal-size-chart__tab--active:hover {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

/* Hover bei inaktiven Buttons */
.pf-product-size-guide__tab:not(.pf-product-size-guide__tab--active):hover,
.pf-size-guide-modal-size-chart__tab:not(.pf-size-guide-modal-size-chart__tab--active):hover {
    color: #ffffff !important;
    background: rgba(0, 166, 166, 0.12) !important;
    border-color: var(--df-primary) !important;
}

/* Kleine Lücke zwischen Tabs und folgendem Inhalt */
.pf-product-size-guide__tabs + div {
    padding-top: 22px !important;
}

.pf-size-guide-modal-size-chart__tabs + div {
    margin-top: 12px !important;
}

/* ==================================================
   Produktkarten – Titel, Bewertung und Preis zentriert
================================================== */

/* Karteninhalt mittig */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}

/* Produkttitel */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

/* Bewertungsbereich zentriert */
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce-page ul.products li.product .woocommerce-product-rating {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    float: none !important;
    clear: both !important;
}

/* Sterne */
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating {
    width: 5.4em !important;
    height: 1em !important;
    margin: 0 auto !important;
    padding: 0 !important;

    display: block !important;
    float: none !important;
    overflow: hidden !important;

    color: var(--df-accent) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
}

/* Leere Sterne */
.woocommerce ul.products li.product .star-rating::before,
.woocommerce-page ul.products li.product .star-rating::before {
    color: rgba(255, 255, 255, 0.16) !important;
}

/* Gefüllte Sterne */
.woocommerce ul.products li.product .star-rating span::before,
.woocommerce-page ul.products li.product .star-rating span::before {
    color: var(--df-accent) !important;
}

/* Alles außer den Sternen in der Bewertung ausblenden */
.woocommerce ul.products li.product .woocommerce-product-rating > *:not(.star-rating),
.woocommerce-page ul.products li.product .woocommerce-product-rating > *:not(.star-rating),
.woocommerce ul.products li.product .product-rating-authenticity-status,
.woocommerce-page ul.products li.product .product-rating-authenticity-status,
.woocommerce ul.products li.product .woocommerce-review-link,
.woocommerce-page ul.products li.product .woocommerce-review-link {
    display: none !important;
}

/* Preis zentriert in dunkler Box */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    width: fit-content !important;
    min-width: 120px !important;
    margin: 15px auto 18px !important;
    padding: 10px 18px !important;

    display: block !important;
    clear: both !important;

    color: var(--df-accent) !important;
    background: rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;

    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
}
/* Alter Preis */
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    margin-right: 6px !important;
    color: var(--df-text-muted) !important;
    opacity: 0.7 !important;
    font-size: 12px !important;
}

/* Neuer Preis */
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
    color: var(--df-accent) !important;
    text-decoration: none !important;
}

/* Button unten halten */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    margin-top: auto !important;
}

/* ==================================================
   DAS-FISHING Über-uns-Seite
================================================== */

.df-about-page {
    overflow: hidden;
    color: var(--df-text);
    background: var(--df-background);
}

.df-about-page *,
.df-about-page *::before,
.df-about-page *::after {
    box-sizing: border-box;
}

/* ==================================================
   Hero
================================================== */

.df-about-page__hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;

    display: flex;
    align-items: center;

    background:
        url("https://das-fishing.de/wp-content/uploads/2026/07/DAS-FISHING.png")
        center 42% / cover no-repeat;
}

.df-about-page__hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3, 10, 13, 0.97) 0%,
            rgba(3, 10, 13, 0.82) 48%,
            rgba(3, 10, 13, 0.45) 100%
        ),
        linear-gradient(
            0deg,
            var(--df-background) 0%,
            transparent 28%
        );
}

.df-about-page__hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
    padding-top: 60px;
    padding-bottom: 60px;
}

.df-about-page__eyebrow {
    margin: 0 0 16px;

    color: var(--df-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.df-about-page__hero h1 {
    max-width: 900px;
    margin: 0;

    color: #ffffff;
    font-size: clamp(72px, 10vw, 145px);
    font-weight: 900;
    letter-spacing: -6px;
    line-height: 0.84;
    text-transform: uppercase;
}

.df-about-page__hero h1 span {
    color: var(--df-primary);
}

.df-about-page__intro {
    max-width: 650px;
    margin: 28px 0 0;

    color: rgba(255, 255, 255, 0.75);
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.5;
}

/* ==================================================
   Allgemeine Überschriften
================================================== */

.df-about-page h2 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(40px, 5vw, 70px);
    font-weight: 900;
    letter-spacing: -2.5px;
    line-height: 1;
    text-transform: uppercase;
}

.df-about-page h2 span {
    display: block;
    color: var(--df-primary);
}

.df-about-page__section-heading {
    max-width: 820px;
    margin: 0 auto 54px;
    text-align: center;
}

.df-about-page__section-heading > p:last-child {
    max-width: 700px;
    margin: 22px auto 0;

    color: var(--df-text-muted);
    font-size: 15px;
    line-height: 1.8;
}

/* ==================================================
   Geschichte
================================================== */

.df-about-page__story {
    padding: 115px 0;
}

.df-about-page__story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: 85px;
    align-items: center;
}

.df-about-page__story-content > p:not(.df-section-eyebrow) {
    max-width: 720px;
    margin: 22px 0 0;

    color: var(--df-text-muted);
    font-size: 15px;
    line-height: 1.85;
}

.df-about-page__story-content strong {
    color: #ffffff;
}

.df-about-page__quote {
    margin-top: 34px;
    padding: 25px 28px;

    background: rgba(0, 166, 166, 0.06);
    border: 1px solid rgba(0, 166, 166, 0.28);
    border-left: 4px solid var(--df-primary);
    border-radius: 7px;
}

.df-about-page__quote span,
.df-about-page__quote strong {
    display: block;
}

.df-about-page__quote span {
    margin-bottom: 6px;

    color: var(--df-text-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-about-page__quote strong {
    color: #ffffff;
    font-size: 23px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-about-page__story-image {
    position: relative;
    padding: 14px;

    background: #101b20;
    border: 1px solid var(--df-border);
    border-radius: 12px;
}

.df-about-page__story-image::before {
    content: "";
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: -1;

    width: 120px;
    height: 120px;

    border-top: 2px solid var(--df-primary);
    border-right: 2px solid var(--df-primary);
}

.df-about-page__story-image img {
    width: 100%;
    aspect-ratio: 4 / 3;

    display: block;
    object-fit: cover;

    border-radius: 8px;
}

/* ==================================================
   Werte
================================================== */

.df-about-page__identity {
    padding: 110px 0;

    background:
        radial-gradient(
            circle at 50% 0,
            rgba(0, 166, 166, 0.08),
            transparent 35%
        ),
        #081216;

    border-top: 1px solid var(--df-border);
    border-bottom: 1px solid var(--df-border);
}

.df-about-page__values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.df-about-value {
    position: relative;
    min-height: 285px;
    padding: 32px;
    overflow: hidden;

    background: #0d181d;
    border: 1px solid var(--df-border);
    border-radius: 10px;

    transition:
        transform 180ms ease,
        border-color 180ms ease;
}

.df-about-value:hover {
    border-color: var(--df-primary);
    transform: translateY(-5px);
}

.df-about-value__number {
    display: block;
    margin-bottom: 48px;

    color: var(--df-primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1px;
}

.df-about-value h3 {
    margin: 0;

    color: #ffffff;
    font-size: 25px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-about-value p {
    margin: 14px 0 0;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.7;
}

/* ==================================================
   Merchandise
================================================== */

.df-about-page__merch {
    padding: 115px 0;
}

.df-about-page__merch-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
    gap: 90px;
    align-items: center;
}

.df-about-page__merch-heading > p:not(.df-section-eyebrow) {
    max-width: 700px;
    margin: 22px 0 0;

    color: var(--df-text-muted);
    font-size: 15px;
    line-height: 1.8;
}

.df-about-page__merch-heading .df-button {
    margin-top: 30px;
}

.df-about-page__merch-features {
    display: grid;
    gap: 12px;
}

.df-about-merch-feature {
    padding: 20px;

    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 15px;

    background: #0d181d;
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

.df-about-merch-feature > span {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #071014;
    background: var(--df-accent);
    border-radius: 50%;

    font-size: 14px;
    font-weight: 900;
}

.df-about-merch-feature h3 {
    margin: 0;

    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-about-merch-feature p {
    margin: 6px 0 0;

    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.6;
}

/* ==================================================
   Social Media
================================================== */

.df-about-page__social {
    padding: 110px 0;

    background: #081216;
    border-top: 1px solid var(--df-border);
}

.df-about-page__social-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.df-about-social-card {
    min-height: 260px;
    padding: 28px;

    display: flex;
    flex-direction: column;

    color: var(--df-text);
    background:
        linear-gradient(
            145deg,
            rgba(0, 166, 166, 0.06),
            transparent 55%
        ),
        #0d181d;

    border: 1px solid var(--df-border);
    border-radius: 10px;

    transition:
        transform 180ms ease,
        border-color 180ms ease;
}

.df-about-social-card:hover {
    color: var(--df-text);
    border-color: var(--df-primary);
    transform: translateY(-5px);
}

.df-about-social-card__label {
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-about-social-card h3 {
    margin: 22px 0 0;

    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-about-social-card p {
    margin: 13px 0 24px;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.7;
}

.df-about-social-card strong {
    margin-top: auto;

    color: var(--df-primary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

/* ==================================================
   Abschluss
================================================== */

.df-about-page__closing {
    padding: 90px 0;
}

.df-about-page__closing-inner {
    padding: 60px 30px;

    text-align: center;

    background:
        radial-gradient(
            circle at center,
            rgba(0, 166, 166, 0.11),
            transparent 60%
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 12px;
}

.df-about-page__closing p {
    margin: 0 0 14px;

    color: var(--df-text-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.df-about-page__closing h2 span {
    margin-top: 8px;
    font-size: 0.42em;
    letter-spacing: 0;
}

/* ==================================================
   Responsive
================================================== */

@media screen and (max-width: 950px) {
    .df-about-page__story-grid,
    .df-about-page__merch-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .df-about-page__story-image {
        max-width: 720px;
    }

    .df-about-page__values,
    .df-about-page__social-grid {
        grid-template-columns: 1fr;
    }

    .df-about-value {
        min-height: 0;
    }

    .df-about-value__number {
        margin-bottom: 28px;
    }
}

@media screen and (max-width: 600px) {
    .df-about-page__hero {
        min-height: 430px;
    }

    .df-about-page__hero h1 {
        letter-spacing: -3px;
    }

    .df-about-page__story,
    .df-about-page__identity,
    .df-about-page__merch,
    .df-about-page__social {
        padding: 80px 0;
    }

    .df-about-page__story-grid,
    .df-about-page__merch-grid {
        gap: 40px;
    }

    .df-about-page__quote strong {
        font-size: 18px;
    }

    .df-about-value,
    .df-about-social-card {
        padding: 24px;
    }

    .df-about-page__closing {
        padding: 70px 0;
    }

    .df-about-page__closing-inner {
        padding: 45px 20px;
    }
}


/* ==================================================
   DAS-FISHING Kontaktseite
================================================== */

.df-contact-page {
    overflow: hidden;
    color: var(--df-text);
    background: var(--df-background);
}

.df-contact-page *,
.df-contact-page *::before,
.df-contact-page *::after {
    box-sizing: border-box;
}

/* Hero */

.df-contact-page__hero {
    position: relative;
    min-height: 420px;

    display: flex;
    align-items: center;

    background:
        url("https://das-fishing.de/wp-content/uploads/2026/07/DAS-FISHING.png")
        center 45% / cover no-repeat;
}

.df-contact-page__hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3, 10, 13, 0.97) 0%,
            rgba(3, 10, 13, 0.82) 50%,
            rgba(3, 10, 13, 0.5) 100%
        ),
        linear-gradient(
            0deg,
            var(--df-background) 0%,
            transparent 30%
        );
}

.df-contact-page__hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
    padding-top: 60px;
    padding-bottom: 60px;
}

.df-contact-page__eyebrow {
    margin: 0 0 14px;

    color: var(--df-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.df-contact-page__hero h1 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(70px, 9vw, 125px);
    font-weight: 900;
    letter-spacing: -5px;
    line-height: 0.9;
    text-transform: uppercase;
}

.df-contact-page__hero p:last-child {
    max-width: 650px;
    margin: 24px 0 0;

    color: rgba(255, 255, 255, 0.75);
    font-size: 18px;
    line-height: 1.65;
}

/* Hauptbereich */

.df-contact-page__main {
    padding: 110px 0;
}

.df-contact-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
    gap: 70px;
    align-items: start;
}

.df-contact-page__form-area h2 {
    margin: 0;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -2.5px;
    line-height: 1;
    text-transform: uppercase;
}

.df-contact-page__form-area h2 span {
    display: block;
    color: var(--df-primary);
}

.df-contact-page__lead {
    max-width: 720px;
    margin: 22px 0 32px;

    color: var(--df-text-muted);
    font-size: 15px;
    line-height: 1.8;
}

/* Formular-Karte */

.df-contact-page__form-card {
    padding: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 12px;

    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.2);
}

/* ==================================================
   SureForms
================================================== */

/* Hauptcontainer */
.df-contact-page__form-card .srfm-form,
.df-contact-page__form-card .sureforms-form,
.df-contact-page__form-card form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;

    color: var(--df-text) !important;
    background: transparent !important;
}

/* Feldergruppen */
.df-contact-page__form-card .srfm-block,
.df-contact-page__form-card .srfm-form-field,
.df-contact-page__form-card .sureforms-field {
    margin-bottom: 18px !important;
}

/* Labels */
.df-contact-page__form-card label,
.df-contact-page__form-card .srfm-label,
.df-contact-page__form-card .srfm-form-label {
    display: block !important;
    margin-bottom: 8px !important;

    color: #ffffff !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

/* Eingabefelder */
.df-contact-page__form-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.df-contact-page__form-card select,
.df-contact-page__form-card textarea {
    width: 100% !important;
    min-height: 50px !important;
    padding: 13px 15px !important;

    color: #ffffff !important;
    background: #101b20 !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 7px !important;

    font-size: 14px !important;
    line-height: 1.5 !important;

    outline: none !important;
    box-shadow: none !important;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease !important;
}

.df-contact-page__form-card textarea {
    min-height: 160px !important;
    resize: vertical !important;
}

/* Placeholder */
.df-contact-page__form-card input::placeholder,
.df-contact-page__form-card textarea::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}

/* Fokus */
.df-contact-page__form-card input:focus,
.df-contact-page__form-card select:focus,
.df-contact-page__form-card textarea:focus {
    background: #111f25 !important;
    border-color: var(--df-primary) !important;

    box-shadow:
        0 0 0 3px rgba(0, 166, 166, 0.1) !important;
}

/* Select-Pfeil */
.df-contact-page__form-card select {
    cursor: pointer !important;
}

/* Checkbox und Radio */
.df-contact-page__form-card input[type="checkbox"],
.df-contact-page__form-card input[type="radio"] {
    accent-color: var(--df-accent) !important;
}

/* Hilfs- und Beschreibungstexte */
.df-contact-page__form-card .srfm-description,
.df-contact-page__form-card .srfm-field-description,
.df-contact-page__form-card small {
    color: var(--df-text-muted) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

/* Pflichtstern */
.df-contact-page__form-card .srfm-required,
.df-contact-page__form-card .required {
    color: var(--df-accent) !important;
}

/* Absenden-Button */
.df-contact-page__form-card button[type="submit"],
.df-contact-page__form-card input[type="submit"],
.df-contact-page__form-card .srfm-submit-button {
    min-height: 48px !important;
    padding: 0 22px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #071014 !important;
    background: var(--df-accent) !important;

    border: 1px solid var(--df-accent) !important;
    border-radius: 6px !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;

    cursor: pointer !important;

    transition:
        transform 180ms ease,
        filter 180ms ease !important;
}

.df-contact-page__form-card button[type="submit"]:hover,
.df-contact-page__form-card input[type="submit"]:hover,
.df-contact-page__form-card .srfm-submit-button:hover {
    color: #071014 !important;
    filter: brightness(1.08) !important;
    transform: translateY(-2px) !important;
}

/* Fehlermeldungen */
.df-contact-page__form-card .srfm-error,
.df-contact-page__form-card .srfm-error-message,
.df-contact-page__form-card [class*="error"] {
    color: #ff7a83 !important;
}

/* Erfolgsmeldungen */
.df-contact-page__form-card .srfm-success,
.df-contact-page__form-card [class*="success"] {
    color: var(--df-accent) !important;
}

/* Sidebar */

.df-contact-page__sidebar {
    display: grid;
    gap: 20px;
}

.df-contact-info-card,
.df-contact-social {
    padding: 28px;

    background: #0b151a;
    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.df-contact-info-card__label {
    display: block;
    margin-bottom: 12px;

    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-contact-info-card h3,
.df-contact-social h3 {
    margin: 0;

    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.df-contact-info-card > p {
    margin: 15px 0 24px;

    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.7;
}

.df-contact-info-card__items {
    display: grid;
}

.df-contact-info-card__items > div {
    padding: 16px 0;

    border-top: 1px solid var(--df-border);
}

.df-contact-info-card__items strong,
.df-contact-info-card__items span {
    display: block;
}

.df-contact-info-card__items strong {
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-contact-info-card__items span {
    margin-top: 5px;

    color: var(--df-text-muted);
    font-size: 12px;
    line-height: 1.55;
}

/* Social Links */

.df-contact-social__grid {
    margin-top: 20px;

    display: grid;
    gap: 8px;
}

.df-contact-social__grid a {
    min-height: 62px;
    padding: 13px 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    color: var(--df-text);
    background: #101b20;

    border: 1px solid var(--df-border);
    border-radius: 7px;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms ease;
}

.df-contact-social__grid a:hover {
    color: var(--df-text);
    background: rgba(0, 166, 166, 0.07);
    border-color: var(--df-primary);
    transform: translateX(4px);
}

.df-contact-social__grid span {
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-contact-social__grid strong {
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    text-align: right;
    text-transform: uppercase;
}

/* Responsive */

@media screen and (max-width: 950px) {
    .df-contact-page__grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .df-contact-page__sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 700px) {
    .df-contact-page__sidebar {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    .df-contact-page__hero {
        min-height: 360px;
    }

    .df-contact-page__hero h1 {
        letter-spacing: -3px;
    }

    .df-contact-page__main {
        padding: 80px 0;
    }

    .df-contact-page__form-card,
    .df-contact-info-card,
    .df-contact-social {
        padding: 20px;
    }

    .df-contact-social__grid a {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .df-contact-social__grid strong {
        text-align: left;
    }
}

/* ==================================================
   Seitentitel auf Seite 68 und 75 entfernen
================================================== */

body.page-id-68 article.post-68 > h1:first-child,
body.page-id-41 article.post-41 > h1:first-child,
body.page-id-75 article.post-75 > h1:first-child {
    display: none !important;
}

/* Oberen Leerraum entfernen */
body.page-id-68 article.post-68,
body.page-id-41 article.post-41,
body.page-id-75 article.post-75 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-68 article.post-68 > div,
body.page-id-41 article.post-41 > div,
body.page-id-75 article.post-75 > div {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Eigener Seitenbereich direkt unter dem Header */
body.page-id-68 .df-contact-page,
body.page-id-41 .df-contact-page,
body.page-id-75 .df-about-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page-id-75 .df-about-page__story {
    padding: 35px 0 80px !important;
}


/* ==================================================
   Blogkarten – kompakter, mit Abstand und klarer Struktur
================================================== */

/* Abstand zwischen den Beiträgen */
.df-blog-list {
    display: grid !important;
    gap: 24px !important;
}

/* Einzelne Karte */
.df-blog-card {
    position: relative !important;

    width: 100% !important;
    max-width: 1180px !important;
    min-height: 0 !important;
    margin: 0 auto !important;

    display: block !important;
    overflow: hidden !important;

    background:
        linear-gradient(
            145deg,
            rgba(0, 166, 166, 0.035),
            transparent 55%
        ),
        #0b151a !important;

    border: 1px solid rgba(0, 166, 166, 0.28) !important;
    border-left: 4px solid var(--df-primary) !important;
    border-radius: 8px !important;

    box-shadow:
        0 0 0 1px rgba(0, 166, 166, 0.025),
        0 10px 28px rgba(0, 166, 166, 0.07) !important;

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease !important;
}

.df-blog-card:hover {
    transform: translateY(-3px) !important;

    border-color: rgba(199, 240, 0, 0.42) !important;

    box-shadow:
        0 0 0 1px rgba(199, 240, 0, 0.08),
        0 14px 34px rgba(0, 166, 166, 0.14) !important;
}

/* Dezenter Lichtakzent rechts oben */
.df-blog-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;

    width: 220px;
    height: 220px;

    background: radial-gradient(
        circle at top right,
        rgba(0, 166, 166, 0.09),
        transparent 70%
    );

    pointer-events: none;
}

/* Inhalt kompakter */
.df-blog-card__content {
    position: relative !important;
    z-index: 1 !important;

    min-height: 0 !important;
    padding: 24px 28px !important;

    display: block !important;
}

/* Kleine grüne Linie */
.df-blog-card__content::before {
    content: "";
    width: 54px !important;
    height: 3px !important;
    margin: 0 0 16px !important;

    display: block !important;

    background: var(--df-accent) !important;
    border-radius: 999px !important;
}

/* Meta */
.df-blog-card__meta {
    margin: 0 0 12px !important;

    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px 14px !important;
}

.df-blog-card__meta span {
    color: var(--df-primary) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Titel */
.df-blog-card__title {
    max-width: 850px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: clamp(24px, 2.5vw, 36px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.8px !important;
    line-height: 1.08 !important;
    text-transform: none !important;
}

/* Auszug */
.df-blog-card__excerpt {
    max-width: 820px !important;
    margin: 14px 0 0 !important;

    color: var(--df-text-muted) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

/* Link */
.df-blog-card__link {
    width: fit-content !important;
    margin: 18px 0 0 !important;
    padding-top: 12px !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    color: var(--df-accent) !important;
    border-top: 1px solid rgba(199, 240, 0, 0.18) !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
}

.df-blog-card__link:hover {
    color: #ffffff !important;
}

/* ==================================================
   Responsive
================================================== */

@media screen and (max-width: 700px) {
    .df-blog-list {
        gap: 18px !important;
    }

    .df-blog-card__content {
        padding: 22px 20px !important;
    }

    .df-blog-card__title {
        font-size: 24px !important;
    }

    .df-blog-card__excerpt {
        font-size: 13px !important;
    }
}

.df-blog-content {
    padding: 60px 0 100px !important;
}

@media screen and (max-width: 600px) {
    .df-blog-content {
        padding: 40px 0 75px !important;
    }
}

/* ==================================================
   WooCommerce Varianten-Dropdown im DAS-FISHING-Design
================================================== */

.woocommerce div.product form.cart .variations select,
.woocommerce-page div.product form.cart .variations select,
select#pa_grosse {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 42px 0 14px !important;

    color: #ffffff !important;
    background-color: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 7px !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;

    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;

    color-scheme: dark;
}

/* Optionen im geöffneten Dropdown */
.woocommerce div.product form.cart .variations select option,
.woocommerce-page div.product form.cart .variations select option,
select#pa_grosse option {
    color: #ffffff !important;
    background: #101b20 !important;
}

/* Fokus */
.woocommerce div.product form.cart .variations select:focus,
.woocommerce-page div.product form.cart .variations select:focus,
select#pa_grosse:focus {
    border-color: var(--df-primary) !important;

    box-shadow:
        0 0 0 3px rgba(0, 166, 166, 0.1) !important;
}

/* Platzhalter "Option auswählen" */
.woocommerce div.product form.cart .variations select option[value=""],
.woocommerce-page div.product form.cart .variations select option[value=""],
select#pa_grosse option[value=""] {
    color: var(--df-text-muted) !important;
}

/* ==================================================
   WooCommerce Erfolgsnachricht
================================================== */

.woocommerce-message {
    position: relative;

    width: min(100%, 1200px);
    margin: 24px auto !important;
    padding: 18px 22px 18px 58px !important;

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;

    color: var(--df-text-muted) !important;
    background:
        linear-gradient(
            135deg,
            rgba(0, 166, 166, 0.09),
            transparent 65%
        ),
        #0b151a !important;

    border: 1px solid rgba(0, 166, 166, 0.38) !important;
    border-top: 1px solid rgba(0, 166, 166, 0.38) !important;
    border-left: 4px solid var(--df-primary) !important;
    border-radius: 8px !important;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;

    box-shadow:
        0 0 0 1px rgba(0, 166, 166, 0.035),
        0 12px 32px rgba(0, 166, 166, 0.08) !important;
}

/* WooCommerce-Häkchen */
.woocommerce-message::before {
    top: 50% !important;
    left: 21px !important;

    color: var(--df-accent) !important;
    transform: translateY(-50%);
}

/* Warenkorb anzeigen */
.woocommerce-message .button,
.woocommerce-message .wc-forward {
    min-height: 40px;
    margin: 0 0 0 auto !important;
    padding: 0 16px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 5px !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.35px;
    text-transform: uppercase;

    transition:
        transform 180ms ease,
        filter 180ms ease !important;
}

.woocommerce-message .button:hover,
.woocommerce-message .wc-forward:hover {
    color: #071014 !important;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

@media screen and (max-width: 600px) {
    .woocommerce-message {
        padding: 17px 16px 17px 48px !important;
    }

    .woocommerce-message::before {
        left: 17px !important;
    }

    .woocommerce-message .button,
    .woocommerce-message .wc-forward {
        width: 100%;
        margin-left: 0 !important;
    }
}

/* ==================================================
   WooCommerce Block Checkout – DAS-FISHING
================================================== */

body.woocommerce-checkout {
    color: var(--df-text);
    background: var(--df-background) !important;
}

body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article.page {
    background: transparent !important;
}

/* Checkout-Hauptcontainer */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
    width: min(100%, 1250px) !important;
    max-width: 1250px !important;
    margin: 0 auto !important;
    padding: 60px 20px 100px !important;

    color: var(--df-text) !important;
    background: transparent !important;
}

/* Zweispaltiges Layout */
.wc-block-components-sidebar-layout {
    align-items: flex-start !important;
    gap: 34px !important;
}

.wc-block-components-main {
    width: calc(66.666% - 17px) !important;
    padding-right: 0 !important;
}

.wc-block-components-sidebar {
    width: calc(33.333% - 17px) !important;
    padding-left: 0 !important;
}

/* ==================================================
   Checkout Schritte
================================================== */

.wc-block-components-checkout-step {
    margin: 0 0 18px !important;
    padding: 24px !important;

    color: var(--df-text) !important;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.02),
            transparent 65%
        ),
        #0b151a !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 9px !important;

    box-shadow:
        0 0 0 1px rgba(0, 166, 166, 0.025),
        0 10px 28px rgba(0, 166, 166, 0.055) !important;
}

/* WooCommerce setzt teilweise inneres Padding */
.wc-block-components-checkout-step__container,
.wc-block-components-checkout-step__content {
    padding: 0 !important;
    color: var(--df-text) !important;
    background: transparent !important;
}

/* Überschriften */
.wc-block-components-checkout-step__heading-container {
    margin: 0 0 20px !important;
    padding: 0 0 14px !important;

    border-bottom: 1px solid rgba(0, 166, 166, 0.24) !important;
}

.wc-block-components-title,
.wc-block-components-checkout-step__title {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -0.25px;
    line-height: 1.25 !important;
    text-transform: uppercase;
}

/* ==================================================
   Checkout Eingabefelder
================================================== */

.wc-block-components-text-input,
.wc-blocks-components-select__container {
    margin-top: 0 !important;
}

/* Inputs und Selects */
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-blocks-components-select__select,
.wc-block-checkout textarea {
    min-height: 52px !important;
    padding: 20px 14px 8px !important;

    color: #ffffff !important;
    background: #101b20 !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 7px !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    outline: none !important;
    box-shadow: none !important;

    color-scheme: dark;
}

.wc-blocks-components-select__select {
    padding: 8px 42px 8px 14px !important;
}

/* Optionen im Länder-Dropdown */
.wc-blocks-components-select__select option {
    color: #ffffff !important;
    background: #101b20 !important;
}

/* Labels */
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
    color: var(--df-text-muted) !important;

    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Aktives Label */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label {
    color: var(--df-primary) !important;
}

/* Fokus */
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-checkout textarea:focus {
    border-color: var(--df-primary) !important;

    box-shadow:
        0 0 0 3px rgba(0, 166, 166, 0.1) !important;
}

/* Select-Pfeil */
.wc-blocks-components-select__expand {
    fill: var(--df-primary) !important;
}

/* ==================================================
   Adressformular
================================================== */

.wc-block-components-address-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

/* Felder über volle Breite */
.wc-block-components-address-form__country,
.wc-block-components-address-form__email,
.wc-block-components-address-form__address_1,
.wc-block-components-address-form__address_2,
.wc-block-components-address-form__phone {
    grid-column: 1 / -1 !important;
}

/* Wohnung/Suite Link */
.wc-block-components-address-form__address_2-toggle {
    grid-column: 1 / -1 !important;

    color: var(--df-primary) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.wc-block-components-address-form__address_2-toggle:hover {
    color: var(--df-accent) !important;
}

/* Adresskarte */
.wc-block-components-address-card {
    color: var(--df-text-muted) !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 7px !important;
}

.wc-block-components-address-card__edit {
    color: var(--df-primary) !important;
    font-weight: 800 !important;
}

/* ==================================================
   Checkout Bestellübersicht
================================================== */

.wc-block-checkout__sidebar {
    position: sticky !important;
    top: 110px !important;

    color: var(--df-text) !important;
}

.wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden;

    color: var(--df-text) !important;
    background:
        linear-gradient(
            145deg,
            rgba(0, 166, 166, 0.045),
            transparent 60%
        ),
        #0b151a !important;

    border: 1px solid var(--df-border) !important;
    border-top: 2px solid var(--df-primary) !important;
    border-radius: 9px !important;

    box-shadow:
        0 12px 32px rgba(0, 166, 166, 0.07) !important;
}

/* Titelzeile */
.wc-block-components-checkout-order-summary__title {
    padding: 19px 20px !important;

    color: #ffffff !important;
    background: #101b20 !important;
    border-bottom: 1px solid var(--df-border) !important;
}

.wc-block-components-checkout-order-summary__title-text {
    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.wc-block-components-checkout-order-summary__title-price {
    color: var(--df-accent) !important;
    font-weight: 900 !important;
}

.wc-block-components-checkout-order-summary__title-icon svg {
    fill: var(--df-primary) !important;
}

/* Inhalt */
.wc-block-components-checkout-order-summary__content {
    color: var(--df-text) !important;
    background: transparent !important;
}

/* Produkt */
.wc-block-components-order-summary-item {
    padding: 18px 20px !important;

    color: var(--df-text) !important;
    border-bottom: 1px solid var(--df-border) !important;
}

.wc-block-components-order-summary-item__image img {
    border: 1px solid var(--df-border) !important;
    border-radius: 6px !important;
}

.wc-block-components-order-summary-item__quantity {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 0 !important;

    font-weight: 900 !important;
}

.wc-block-components-product-name {
    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

.wc-block-components-product-details,
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
    color: var(--df-text-muted) !important;
    font-size: 11px !important;
}

/* Preise */
.wc-block-formatted-money-amount,
.wc-block-components-product-price__value {
    color: var(--df-accent) !important;
    font-weight: 900 !important;
}

/* ==================================================
   Gutschein und Summen
================================================== */

.wc-block-components-totals-wrapper {
    padding: 0 !important;

    color: var(--df-text) !important;
    background: transparent !important;
    border-top-color: var(--df-border) !important;
}

.wc-block-components-panel__button {
    padding: 16px 20px !important;

    color: var(--df-primary) !important;
    background: transparent !important;

    font-size: 12px !important;
    font-weight: 800 !important;
}

.wc-block-components-panel__button-icon {
    fill: var(--df-primary) !important;
}

.wc-block-components-totals-item {
    padding: 14px 20px !important;

    color: var(--df-text-muted) !important;
    border-top: 1px solid var(--df-border) !important;
}

.wc-block-components-totals-item__label {
    color: var(--df-text-muted) !important;
    font-weight: 700 !important;
}

.wc-block-components-totals-item__value {
    color: #ffffff !important;
    font-weight: 900 !important;
}

.wc-block-components-totals-footer-item {
    padding-top: 18px !important;
    padding-bottom: 18px !important;

    background: rgba(0, 166, 166, 0.055) !important;
}

.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item-tax-value {
    color: var(--df-accent) !important;
    font-size: 18px !important;
}

/* ==================================================
   Checkout Checkboxen und Germanized
================================================== */

.wc-block-checkout__order-notes,
.wc-gzd-checkboxes {
    margin: 0 0 18px !important;
    padding: 19px 22px !important;

    color: var(--df-text-muted) !important;
    background: #0b151a !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 8px !important;
}

.wc-block-components-checkbox label {
    color: var(--df-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.wc-block-components-checkbox a {
    color: var(--df-primary) !important;
    font-weight: 800 !important;
}

.wc-block-components-checkbox a:hover {
    color: var(--df-accent) !important;
}

.wc-block-components-checkbox__input {
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    accent-color: var(--df-accent) !important;
}

.wc-block-components-checkbox__input:checked {
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
}

.wc-block-components-checkbox__mark {
    fill: #071014 !important;
}

/* ==================================================
   Bestellung abschicken
================================================== */

.wc-block-checkout__actions {
    padding: 0 !important;
}

.wc-block-components-checkout-place-order-button {
    min-height: 54px !important;

    color: #071014 !important;
    background: var(--df-accent) !important;

    border: 1px solid var(--df-accent) !important;
    border-radius: 6px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.45px !important;
    text-transform: uppercase !important;

    box-shadow:
        0 10px 26px rgba(199, 240, 0, 0.12) !important;

    transition:
        transform 180ms ease,
        filter 180ms ease,
        box-shadow 180ms ease !important;
}

.wc-block-components-checkout-place-order-button:hover {
    color: #071014 !important;
    filter: brightness(1.07);
    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(199, 240, 0, 0.18) !important;
}

/* ==================================================
   Checkout Meldungen
================================================== */

.wc-block-components-notice-banner {
    color: var(--df-text-muted) !important;
    background: #101b20 !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 7px !important;
}

.wc-block-components-notice-banner.is-error {
    color: #ffb2b7 !important;
    background: rgba(217, 53, 66, 0.08) !important;
    border-color: rgba(217, 53, 66, 0.4) !important;
    border-left: 4px solid #d93542 !important;
}

.wc-block-components-notice-banner.is-error svg {
    fill: #ff7a83 !important;
}

.wc-block-components-notice-banner.is-success {
    background: rgba(0, 166, 166, 0.08) !important;
    border-color: rgba(0, 166, 166, 0.4) !important;
    border-left: 4px solid var(--df-primary) !important;
}

/* Kleinunternehmerhinweis */
.wc-gzd-small-business-info,
.wc-gzd-additional-wrapper {
    color: var(--df-text-muted) !important;
    background: transparent !important;
}

.wc-gzd-additional-info.small-business-info {
    margin: 0 !important;
    padding: 14px 20px !important;

    color: var(--df-text-muted) !important;
    background: rgba(255, 255, 255, 0.018) !important;
    border-top: 1px solid var(--df-border) !important;

    font-size: 11px !important;
    line-height: 1.55 !important;
}

/* ==================================================
   Checkout Responsive
================================================== */

@media screen and (max-width: 900px) {
    .wp-block-woocommerce-checkout,
    .wc-block-checkout {
        padding: 40px 16px 80px !important;
    }

    .wc-block-components-sidebar-layout {
        display: block !important;
    }

    .wc-block-components-main,
    .wc-block-components-sidebar {
        width: 100% !important;
    }

    .wc-block-checkout__sidebar {
        position: static !important;
        margin-top: 24px !important;
    }
}

@media screen and (max-width: 600px) {
    .wc-block-components-checkout-step {
        padding: 19px 16px !important;
    }

    .wc-block-components-address-form {
        grid-template-columns: 1fr !important;
    }

    .wc-block-components-address-form > * {
        grid-column: 1 / -1 !important;
    }

    .wc-block-components-title,
    .wc-block-components-checkout-step__title {
        font-size: 16px !important;
    }
}

/* ==================================================
   Checkout – Bestellübersicht dunkel + Gutscheinabstand
================================================== */

/* Hellen Produktbereich komplett abdunkeln */
.wc-block-components-checkout-order-summary__content,
.wc-block-components-order-summary,
.wc-block-components-order-summary__content,
.wc-block-components-order-summary-item,
.wp-block-woocommerce-checkout-order-summary-cart-items-block {
    color: var(--df-text) !important;
    background: #0b151a !important;
}

/* Einzelnes Produkt */
.wc-block-components-order-summary-item {
    padding: 18px 20px !important;
    border-bottom: 1px solid var(--df-border) !important;
}

/* Produktbild */
.wc-block-components-order-summary-item__image img {
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
    border-radius: 6px !important;
}

/* Produktname */
.wc-block-components-product-name {
    color: #ffffff !important;
}

/* Einzelpreis und Gesamtpreis */
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item .wc-block-formatted-money-amount {
    color: var(--df-accent) !important;
}

/* Variante wie Größe */
.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
    color: var(--df-text-muted) !important;
}

/* Gutscheinbereich */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-components-totals-coupon {
    background: #0b151a !important;
}

/* Geöffneter Gutscheininhalt */
.wc-block-components-totals-coupon__content {
    padding: 0 16px 18px !important;
    background: #0b151a !important;
}

/* Etwas Luft unter dem Gutscheinformular */
.wc-block-components-totals-coupon__content form,
.wc-block-components-totals-coupon__form {
    margin-bottom: 14px !important;
}

/* Gutschein-Eingabefeld */
.wc-block-components-totals-coupon__input input {
    color: #ffffff !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
}

/* Gutschein anwenden */
.wc-block-components-totals-coupon__button {
    color: var(--df-text-muted) !important;
    background: #101b20 !important;
    border: 1px solid var(--df-border) !important;
}

/* Abstand vor Zwischensumme */
.wp-block-woocommerce-checkout-order-summary-subtotal-block {
    margin-top: 14px !important;
    border-top: 1px solid var(--df-border) !important;
}

.df-footer__withdrawal {
    list-style: none !important;
    margin-top: 14px !important;
}

.df-footer__withdrawal::marker {
    content: "";
}

.df-footer__withdrawal-button {
    min-height: 44px;
    padding: 0 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    background: rgba(0, 166, 166, 0.08);
    border: 1px solid var(--df-primary) !important;
    border-radius: 6px;

    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.df-footer__withdrawal-button:hover {
    color: #071014 !important;
    background: var(--df-accent);
    border-color: var(--df-accent) !important;
}
/* ==================================================
   Widerrufsseite / WPForms #335
================================================== */

/* Ganze Seite */
body.page-id-338 .df-main {
    padding: 75px 0 120px;

    background:
        radial-gradient(
            circle at 70% 8%,
            rgba(0, 166, 166, 0.08),
            transparent 32%
        ),
        var(--df-background);
}

/* WordPress-Seitencontainer */
body.page-id-338 article.post-338 {
    width: min(calc(100% - 40px), 900px);
    margin-inline: auto;
}

/* Überschrift */
body.page-id-338 article.post-338 > h1 {
    margin: 0 0 38px;

    color: #ffffff;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1;
    text-transform: uppercase;
}

/* Akzent unter Überschrift */
body.page-id-338 article.post-338 > h1::after {
    content: "";
    display: block;

    width: 72px;
    height: 3px;
    margin-top: 18px;

    background: var(--df-primary);
    border-radius: 10px;
}


/* ==================================================
   Formular-Karte
================================================== */

body.page-id-338 #wpforms-335 {
    margin: 0 !important;
    padding: 34px !important;

    color: var(--df-text-muted);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a !important;

    border: 1px solid var(--df-border) !important;
    border-radius: 12px !important;

    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.28),
        0 0 0 1px rgba(0, 166, 166, 0.02);
}


/* ==================================================
   Felder-Abstände
================================================== */

body.page-id-338 #wpforms-335 .wpforms-field {
    margin: 0 0 24px !important;
    padding: 0 !important;
}


/* ==================================================
   Labels
================================================== */

body.page-id-338 #wpforms-335 .wpforms-field-label {
    display: block !important;
    margin: 0 0 9px !important;

    color: #ffffff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.45px;
    line-height: 1.4 !important;
    text-transform: uppercase;
}

/* Pflichtstern */
body.page-id-338 #wpforms-335 .wpforms-required-label {
    color: var(--df-accent) !important;
}


/* ==================================================
   Textfelder
================================================== */

body.page-id-338 #wpforms-335 input[type="text"],
body.page-id-338 #wpforms-335 input[type="email"],
body.page-id-338 #wpforms-335 input[type="tel"],
body.page-id-338 #wpforms-335 textarea,
body.page-id-338 #wpforms-335 select {

    width: 100% !important;
    max-width: none !important;

    color: #ffffff !important;
    background: #101b20 !important;

    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 7px !important;

    font-size: 14px !important;
    font-weight: 500;

    outline: none !important;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

/* Einzeilige Felder */
body.page-id-338 #wpforms-335 input[type="text"],
body.page-id-338 #wpforms-335 input[type="email"],
body.page-id-338 #wpforms-335 input[type="tel"],
body.page-id-338 #wpforms-335 select {
    min-height: 54px !important;
    padding: 0 16px !important;
}

/* Textarea */
body.page-id-338 #wpforms-335 textarea {
    min-height: 150px !important;
    padding: 15px 16px !important;

    resize: vertical;
}


/* Placeholder */
body.page-id-338 #wpforms-335 input::placeholder,
body.page-id-338 #wpforms-335 textarea::placeholder {
    color: rgba(255, 255, 255, 0.38) !important;
}


/* Focus */
body.page-id-338 #wpforms-335 input[type="text"]:focus,
body.page-id-338 #wpforms-335 input[type="email"]:focus,
body.page-id-338 #wpforms-335 input[type="tel"]:focus,
body.page-id-338 #wpforms-335 textarea:focus,
body.page-id-338 #wpforms-335 select:focus {

    color: #ffffff !important;
    background: #132127 !important;

    border-color: var(--df-primary) !important;

    box-shadow:
        0 0 0 3px rgba(0, 166, 166, 0.11) !important;
}


/* ==================================================
   Browser Autofill dunkel
================================================== */

body.page-id-338 #wpforms-335 input:-webkit-autofill,
body.page-id-338 #wpforms-335 input:-webkit-autofill:hover,
body.page-id-338 #wpforms-335 input:-webkit-autofill:focus {

    -webkit-text-fill-color: #ffffff !important;

    -webkit-box-shadow:
        0 0 0 1000px #101b20 inset !important;

    box-shadow:
        0 0 0 1000px #101b20 inset !important;

    transition: background-color 9999s ease-in-out 0s;
}


/* ==================================================
   DSGVO Checkbox
================================================== */

body.page-id-338 #wpforms-335 .wpforms-field-gdpr-checkbox {

    padding: 18px !important;

    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--df-border);
    border-radius: 8px;
}

body.page-id-338 #wpforms-335 .wpforms-field-gdpr-checkbox ul {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.page-id-338 #wpforms-335 .wpforms-field-gdpr-checkbox li {
    margin: 0 !important;
}

body.page-id-338 #wpforms-335 .wpforms-field-gdpr-checkbox input[type="checkbox"] {

    width: 18px !important;
    height: 18px !important;

    margin: 3px 10px 0 0 !important;

    accent-color: var(--df-primary);
}

body.page-id-338 #wpforms-335 .wpforms-field-label-inline {

    color: var(--df-text-muted) !important;

    font-size: 13px !important;
    line-height: 1.65 !important;
}


/* ==================================================
   Absenden-Button
================================================== */

body.page-id-338 #wpforms-335 .wpforms-submit-container {
    margin-top: 10px !important;
    padding: 0 !important;
}

body.page-id-338 #wpforms-335 button.wpforms-submit {

    width: 100% !important;
    min-height: 58px !important;

    margin: 0 !important;
    padding: 0 28px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #071014 !important;
    background: var(--df-accent) !important;

    border: 1px solid var(--df-accent) !important;
    border-radius: 7px !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.7px;
    line-height: 1 !important;

    text-transform: uppercase;

    box-shadow:
        0 14px 35px rgba(199, 240, 0, 0.15);

    cursor: pointer;

    transition:
        transform 180ms ease,
        filter 180ms ease,
        box-shadow 180ms ease;
}

body.page-id-338 #wpforms-335 button.wpforms-submit:hover {

    color: #071014 !important;
    background: var(--df-accent) !important;

    filter: brightness(1.08);

    transform: translateY(-2px);

    box-shadow:
        0 18px 42px rgba(199, 240, 0, 0.25);
}


/* Button während Übermittlung */
body.page-id-338 #wpforms-335 button.wpforms-submit:disabled {
    opacity: 0.55;
    cursor: wait;
    transform: none;
}


/* ==================================================
   WPForms Fehler
================================================== */

body.page-id-338 #wpforms-335 label.wpforms-error,
body.page-id-338 #wpforms-335 em.wpforms-error,
body.page-id-338 #wpforms-335 .wpforms-error {

    color: #ff7a83 !important;

    font-size: 12px !important;
    font-weight: 700 !important;
}

body.page-id-338 #wpforms-335 input.wpforms-error,
body.page-id-338 #wpforms-335 textarea.wpforms-error {

    border-color: rgba(255, 89, 100, 0.65) !important;

    box-shadow:
        0 0 0 3px rgba(255, 89, 100, 0.08) !important;
}


/* ==================================================
   Erfolgreiche Übermittlung
================================================== */

body.page-id-338 #wpforms-335 .wpforms-confirmation-container-full,
body.page-id-338 .wpforms-confirmation-container-full {

    margin: 0 !important;
    padding: 24px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            rgba(0, 166, 166, 0.12),
            transparent
        ),
        #101b20 !important;

    border: 1px solid rgba(0, 166, 166, 0.45) !important;
    border-radius: 8px !important;

    font-size: 14px;
    line-height: 1.7;

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.2);
}

body.page-id-338 .wpforms-confirmation-container-full p {
    margin: 0 !important;
    color: #ffffff !important;
}


/* ==================================================
   WPForms Spinner
================================================== */

body.page-id-338 #wpforms-335 .wpforms-submit-spinner {
    margin-left: 12px !important;
    filter: brightness(0);
}


/* ==================================================
   Mobile
================================================== */

@media screen and (max-width: 650px) {

    body.page-id-338 .df-main {
        padding: 45px 0 80px;
    }

    body.page-id-338 article.post-338 {
        width: min(calc(100% - 24px), 600px);
    }

    body.page-id-338 article.post-338 > h1 {
        margin-bottom: 28px;

        font-size: 42px;
        letter-spacing: -1.3px;
    }

    body.page-id-338 #wpforms-335 {
        padding: 22px !important;
        border-radius: 9px !important;
    }

    body.page-id-338 #wpforms-335 .wpforms-field {
        margin-bottom: 20px !important;
    }

    body.page-id-338 #wpforms-335 textarea {
        min-height: 130px !important;
    }

    body.page-id-338 #wpforms-335 button.wpforms-submit {
        min-height: 56px !important;
    }
}

/* ==================================================
   Zahlung & Versand
================================================== */

.df-shipping-payment {
    padding: 80px 0 120px;

    background:
        radial-gradient(
            circle at 65% 5%,
            rgba(0, 166, 166, 0.07),
            transparent 30%
        ),
        var(--df-background);
}

.df-shipping-payment__grid {
    width: min(calc(100% - 40px), 1180px);
    margin-inline: auto;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.df-shipping-payment__card {
    padding: 32px;

    color: var(--df-text-muted);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.025),
            transparent
        ),
        #0b151a;

    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.df-shipping-payment__card > h2 {
    margin: 0 0 24px;

    color: #ffffff;

    font-size: 30px;
    font-weight: 900;
    letter-spacing: -0.8px;
    line-height: 1;
    text-transform: uppercase;
}

.df-shipping-payment__card > h2::after {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin-top: 14px;

    background: var(--df-primary);
    border-radius: 10px;
}

.df-shipping-payment__intro {
    margin: 0 0 28px;

    color: var(--df-text-muted);

    font-size: 14px;
    line-height: 1.75;
}


/* Zahlungsarten */

.df-payment-list {
    border-top: 1px solid var(--df-border);
}

.df-payment-item {
    padding: 18px 0;

    border-bottom: 1px solid var(--df-border);
}

.df-payment-item h3 {
    margin: 0 0 5px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 900;
}

.df-payment-item p {
    margin: 0;

    color: var(--df-text-muted);

    font-size: 13px;
    line-height: 1.65;
}


/* Versand-Blöcke */

.df-shipping-section {
    padding: 22px 0;

    border-bottom: 1px solid var(--df-border);
}

.df-shipping-section:first-of-type {
    padding-top: 0;
}

.df-shipping-section h3 {
    margin: 0 0 10px;

    color: #ffffff;

    font-size: 15px;
    font-weight: 900;
    line-height: 1.3;
    text-transform: uppercase;
}

.df-shipping-section p {
    margin: 0 0 12px;

    color: var(--df-text-muted);

    font-size: 13px;
    line-height: 1.7;
}

.df-shipping-section p:last-child {
    margin-bottom: 0;
}

.df-shipping-section strong {
    color: #ffffff;
}

.df-shipping-section a {
    color: var(--df-primary);
}

.df-shipping-section a:hover {
    color: var(--df-accent);
}


/* Hinweisbox */

.df-shipping-payment__notice {
    margin-top: 25px;
    padding: 18px 20px;

    background:
        linear-gradient(
            135deg,
            rgba(0, 166, 166, 0.08),
            transparent
        ),
        #101b20;

    border: 1px solid rgba(0, 166, 166, 0.3);
    border-radius: 7px;
}

.df-shipping-payment__notice strong {
    display: block;

    margin-bottom: 6px;

    color: var(--df-primary);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.df-shipping-payment__notice p {
    margin: 0;

    color: var(--df-text-muted);

    font-size: 12px;
    line-height: 1.7;
}


/* Responsive */

@media screen and (max-width: 850px) {
    .df-shipping-payment__grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 520px) {
    .df-shipping-payment {
        padding: 50px 0 80px;
    }

    .df-shipping-payment__grid {
        width: min(calc(100% - 24px), 600px);
    }

    .df-shipping-payment__card {
        padding: 22px;
    }

    .df-shipping-payment__card > h2 {
        font-size: 25px;
    }
}
/* ==================================================
   Shop Navigation 2.0: skalierbares Mega-Menü + Sidebar
================================================== */

/* Mega-Menü als kompakter Kategorien-Browser */
.df-shop-mega__inner {
    max-height: min(720px, calc(100vh - 110px));
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.df-shop-mega__topbar {
    min-height: 82px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #0a151a;
    border-bottom: 1px solid var(--df-border);
}

.df-shop-mega__topbar > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.df-shop-mega__topbar strong {
    color: #ffffff;
    font-size: 17px;
    line-height: 1.25;
}

.df-shop-mega__eyebrow {
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.df-shop-mega__search {
    width: min(360px, 42%);
    height: 44px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--df-text-muted);
    background: #071014;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 7px;
}

.df-shop-mega__search:focus-within {
    border-color: var(--df-primary);
    box-shadow: 0 0 0 3px rgba(0,166,166,.10);
}

.df-shop-mega__search input {
    width: 100%;
    min-width: 0;
    padding: 0;
    color: #ffffff;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 12px;
}

.df-shop-mega__search input::placeholder {
    color: rgba(255,255,255,.42);
}

.df-shop-mega__browser {
    min-height: 0;
    flex: 1;
    display: grid;
    grid-template-columns: 245px minmax(0, 1fr);
}

.df-shop-mega__rail {
    min-height: 0;
    padding: 10px;
    overflow-y: auto;
    background: #081216;
    border-right: 1px solid var(--df-border);
}

.df-shop-mega__tab {
    width: 100%;
    min-height: 43px;
    padding: 8px 10px 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--df-text-muted);
    background: transparent;
    border: 0;
    border-radius: 5px;
    text-align: left;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
    transition: color 160ms ease, background-color 160ms ease;
}

.df-shop-mega__tab:hover,
.df-shop-mega__tab.is-active {
    color: #ffffff;
    background: rgba(0,166,166,.10);
}

.df-shop-mega__tab.is-active {
    box-shadow: inset 3px 0 0 var(--df-primary);
}

.df-shop-mega__tab-count {
    min-width: 26px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.55);
    background: rgba(255,255,255,.055);
    border-radius: 999px;
    font-size: 9px;
}

.df-shop-mega__panes {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    background: rgba(7,16,20,.995);
}

.df-shop-mega__pane {
    display: none;
    padding: 20px 22px 24px;
}

.df-shop-mega__pane.is-active {
    display: block;
}

.df-shop-mega__pane-head {
    margin-bottom: 18px;
    padding-bottom: 14px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.df-shop-mega__pane-head > div {
    min-width: 0;
}

.df-shop-mega__pane-head span {
    display: block;
    margin-bottom: 3px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-shop-mega__pane-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 23px;
    line-height: 1.1;
    text-transform: uppercase;
}

.df-shop-mega__pane-head > a {
    flex: 0 0 auto;
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-shop-mega__groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.df-shop-mega__group {
    min-width: 0;
    padding: 13px;
    background: rgba(255,255,255,.018);
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 7px;
}

.df-shop-mega__group[hidden] {
    display: none !important;
}

.df-shop-mega__group-title {
    min-height: 30px;
    padding: 0 0 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #ffffff;
    border-bottom: 1px solid rgba(0,166,166,.38);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.df-shop-mega__group-title span:last-child {
    color: var(--df-primary);
}

.df-shop-mega__links {
    margin: 7px 0 0;
}

.df-shop-mega__links li + li {
    border-top: 0;
}

.df-shop-mega__links a {
    min-height: 25px;
    padding: 4px 3px 4px 11px;
    font-size: 10px;
}

.df-shop-mega__empty {
    padding: 30px;
    color: var(--df-text-muted);
    background: rgba(255,255,255,.02);
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 8px;
}

.df-shop-mega__empty p {
    margin: 0 0 12px;
}

.df-shop-mega__empty a {
    color: var(--df-primary);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-shop-mega__empty--main {
    margin: 18px;
}

.df-shop-mega__bottom {
    flex: 0 0 auto;
    min-height: 58px;
    padding: 10px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.df-shop-mega__bottom > span {
    color: rgba(255,255,255,.42);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Shop Layout mit Kategorien-Sidebar */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce {
    width: min(calc(100% - 40px), 1400px);
}

.df-shop-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.df-shop-content {
    min-width: 0;
}

.df-shop-content .df-shop-heading {
    max-width: 820px;
    margin: 0 0 32px;
    text-align: left;
}

.df-shop-content .df-shop-heading h1 {
    font-size: clamp(42px, 4.6vw, 68px);
}

.df-shop-content .woocommerce-ordering {
    margin: 0 0 24px auto !important;
}

.df-shop-sidebar {
    min-width: 0;
}

.df-shop-sidebar__sticky {
    position: sticky;
    top: 22px;
    max-height: calc(100vh - 44px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,166,166,.42) transparent;
    background: #0b161b;
    border: 1px solid var(--df-border);
    border-radius: 10px;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

.df-shop-sidebar__head {
    padding: 19px 18px 15px;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--df-border);
}

.df-shop-sidebar__head strong {
    color: #ffffff;
    font-size: 19px;
    line-height: 1.15;
    text-transform: uppercase;
}

.df-shop-sidebar__eyebrow {
    margin-bottom: 2px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-shop-sidebar__all {
    min-height: 46px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #ffffff;
    border-bottom: 1px solid var(--df-border);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-shop-sidebar__all span:last-child {
    color: var(--df-primary);
}

.df-shop-sidebar__all:hover,
.df-shop-sidebar__all.is-active {
    background: rgba(0,166,166,.08);
}

.df-shop-sidebar__tree {
    padding: 7px;
}

.df-shop-cat {
    display: block;
    border-radius: 6px;
}

.df-shop-cat + .df-shop-cat {
    margin-top: 3px;
}

.df-shop-cat summary,
.df-shop-cat--single {
    min-height: 43px;
    padding: 8px 9px 8px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #ffffff;
    border-radius: 5px;
    list-style: none;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.25;
    text-transform: uppercase;
    cursor: pointer;
}

.df-shop-cat summary::-webkit-details-marker {
    display: none;
}

.df-shop-cat summary:hover,
.df-shop-cat[open] > summary,
.df-shop-cat--single:hover,
.df-shop-cat--single.is-active {
    background: rgba(255,255,255,.045);
}

.df-shop-cat[open] > summary {
    color: var(--df-primary);
}

.df-shop-cat__count {
    min-width: 25px;
    height: 21px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.055);
    border-radius: 999px;
    font-size: 9px;
}

.df-shop-cat__children {
    margin: 2px 0 7px 10px;
    padding: 3px 0 4px 10px;
    border-left: 1px solid rgba(0,166,166,.28);
}

.df-shop-cat__overview {
    display: block;
    padding: 7px 7px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-shop-cat__branch > a {
    min-height: 32px;
    padding: 5px 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--df-text-muted);
    border-radius: 4px;
    font-size: 10px;
    line-height: 1.3;
}

.df-shop-cat__branch > a:hover,
.df-shop-cat__branch.is-active > a,
.df-shop-cat__overview.is-active {
    color: #ffffff;
    background: rgba(0,166,166,.075);
}

.df-shop-cat__grandchildren {
    padding: 2px 0 4px 10px;
}

.df-shop-cat__grandchildren a {
    display: block;
    padding: 4px 6px;
    color: rgba(255,255,255,.50);
    font-size: 9px;
    line-height: 1.25;
}

.df-shop-cat__grandchildren a:hover,
.df-shop-cat__grandchildren a.is-active {
    color: var(--df-primary);
}

/* Produktgrid passt sich flexibel an die verbleibende Breite an */
.df-shop-content ul.products,
.post-type-archive-product .df-shop-content ul.products,
.tax-product_cat .df-shop-content ul.products,
.tax-product_tag .df-shop-content ul.products,
.tax-product_brand .df-shop-content ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: stretch;
    gap: 22px;
    width: 100%;
}

.df-shop-content ul.products li.product,
.post-type-archive-product .df-shop-content ul.products li.product,
.tax-product_cat .df-shop-content ul.products li.product,
.tax-product_tag .df-shop-content ul.products li.product,
.tax-product_brand .df-shop-content ul.products li.product {
    width: auto !important;
    max-width: none;
}

.df-shop-content ul.products li.product img {
    height: 290px !important;
}

@media screen and (max-width: 1180px) {
    .df-shop-mega__groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .df-shop-layout {
        grid-template-columns: 235px minmax(0, 1fr);
        gap: 24px;
    }

    .df-shop-content ul.products,
    .post-type-archive-product .df-shop-content ul.products,
    .tax-product_cat .df-shop-content ul.products,
    .tax-product_tag .df-shop-content ul.products,
    .tax-product_brand .df-shop-content ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 900px) {
    .df-shop-mega {
        top: 105px;
    }

    .df-shop-mega__inner {
        max-height: 100%;
    }

    .df-shop-mega__topbar {
        min-height: auto;
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .df-shop-mega__search {
        width: 100%;
    }

    .df-shop-mega__browser {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .df-shop-mega__groups {
        grid-template-columns: 1fr;
    }

    .df-shop-layout {
        grid-template-columns: 1fr;
    }

    .df-shop-sidebar__sticky {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .df-shop-sidebar__tree {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
    }

    .df-shop-cat + .df-shop-cat {
        margin-top: 0;
    }
}

@media screen and (max-width: 620px) {
    .df-shop-mega__browser {
        display: block;
        overflow-y: auto;
    }

    .df-shop-mega__rail {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--df-border);
    }

    .df-shop-mega__tab {
        width: auto;
        min-width: 145px;
        flex: 0 0 auto;
    }

    .df-shop-mega__tab.is-active {
        box-shadow: inset 0 -2px 0 var(--df-primary);
    }

    .df-shop-mega__pane {
        padding: 16px;
    }

    .df-shop-mega__pane-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .df-shop-mega__bottom > span {
        display: none;
    }

    .df-shop-mega__bottom a {
        width: 100%;
    }

    .df-shop-sidebar__tree {
        grid-template-columns: 1fr;
    }

    .df-shop-content .df-shop-heading {
        text-align: center;
    }

    .df-shop-content .woocommerce-ordering {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .df-shop-content ul.products,
    .post-type-archive-product .df-shop-content ul.products,
    .tax-product_cat .df-shop-content ul.products,
    .tax-product_tag .df-shop-content ul.products,
    .tax-product_brand .df-shop-content ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

.df-shop-sidebar__mobile-toggle {
    display: none;
}

@media screen and (max-width: 900px) {
    .df-shop-sidebar__head {
        position: relative;
        padding-right: 170px;
    }

    .df-shop-sidebar__mobile-toggle {
        position: absolute;
        top: 50%;
        right: 14px;
        min-height: 34px;
        padding: 0 10px;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #ffffff;
        background: #081216;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 5px;
        transform: translateY(-50%);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .df-shop-sidebar__mobile-toggle span:last-child {
        color: var(--df-primary);
        transition: transform 160ms ease;
    }

    .df-shop-sidebar.is-open .df-shop-sidebar__mobile-toggle span:last-child {
        transform: rotate(180deg);
    }

    .df-shop-sidebar:not(.is-open) .df-shop-sidebar__all,
    .df-shop-sidebar:not(.is-open) .df-shop-sidebar__tree {
        display: none;
    }
}

@media screen and (max-width: 520px) {
    .df-shop-sidebar__head {
        padding-right: 14px;
    }

    .df-shop-sidebar__mobile-toggle {
        position: static;
        margin-top: 10px;
        transform: none;
        align-self: flex-start;
    }
}

/* ==================================================
   Shop Navigation 3.0: mehrstufige Angelshop-Navigation
================================================== */
.df-shop-mega__inner--cascade {
    overflow: visible;
    max-height: none;
}

.df-cascade-nav {
    position: relative;
    padding: 12px 14px 14px;
    background: #081216;
    border-bottom: 1px solid var(--df-border);
}

.df-cascade-menu,
.df-cascade-submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.df-cascade-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 6px;
}

.df-cascade-item {
    position: relative;
    min-width: 0;
}

.df-cascade-menu > .df-cascade-item {
    flex: 1 1 170px;
    max-width: 245px;
}

.df-cascade-row {
    position: relative;
    min-height: 46px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 5px;
    transition: background-color 150ms ease, border-color 150ms ease;
}


.df-cascade-row > a {
    min-width: 0;
    flex: 1;
    padding: 0 10px 0 12px;
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.df-cascade-row > a:hover,
.df-cascade-row > a:focus-visible,
.df-cascade-item.is-expanded > .df-cascade-row > a {
    box-shadow: inset 0 -2px 0 var(--df-primary);
}

.df-cascade-expand {
    width: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--df-primary);
    background: transparent;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.07);
    font-size: 20px;
    line-height: 1;
}

.df-cascade-item:hover > .df-cascade-row,
.df-cascade-item:focus-within > .df-cascade-row,
.df-cascade-item.is-expanded > .df-cascade-row {
    background: rgba(0,166,166,.12);
    border-color: rgba(0,166,166,.4);
}


.df-cascade-submenu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    left: 0;
    width: 245px;
    display: none;
    padding: 5px;
    background: #e5e5e5;
    border: 1px solid #c9c9c9;
    border-radius: 4px;
    box-shadow: 0 14px 32px rgba(0,0,0,.32);
}

.df-cascade-submenu .df-cascade-submenu {
    top: -6px;
    left: calc(100% + 5px);
}

.df-cascade-item:hover > .df-cascade-submenu,
.df-cascade-item:focus-within > .df-cascade-submenu,
.df-cascade-item.is-expanded > .df-cascade-submenu {
    display: block;
}

.df-cascade-submenu .df-cascade-item + .df-cascade-item,
.df-cascade-overview + .df-cascade-item {
    border-top: 1px solid #c8c8c8;
}

.df-cascade-submenu .df-cascade-row {
    min-height: 39px;
    background: transparent;
    border: 0;
    border-radius: 2px;
}


.df-cascade-submenu .df-cascade-row > a {
    padding: 8px 9px;
    color: #333;
    font-size: 12px;
    font-weight: 700;
    text-transform: none;
}

.df-cascade-submenu .df-cascade-expand {
    color: #222;
    border-left: 0;
    font-size: 20px;
}

.df-cascade-submenu .df-cascade-item:hover > .df-cascade-row,
.df-cascade-submenu .df-cascade-item:focus-within > .df-cascade-row,
.df-cascade-submenu .df-cascade-item.is-expanded > .df-cascade-row {
    background: #d3d3d3;
}

.df-cascade-overview a {
    position: relative;
    min-height: 38px;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #111;
    background: rgba(0,166,166,.08);
    font-size: 11px;
    font-weight: 900;
}

.df-cascade-overview a:hover,
.df-cascade-overview a:focus-visible {
    background: rgba(0,166,166,.17);
}

.df-cascade-overview a:hover,
.df-cascade-overview a:focus-visible {
    box-shadow: inset 0 -2px 0 var(--df-primary);
}

.df-cascade-no-results {
    padding: 22px;
    color: var(--df-text-muted);
    text-align: center;
    font-size: 12px;
}

.df-cascade-item[hidden] {
    display: none !important;
}

/* Sidebar unterstützt beliebig tiefe Kategorie-Ebenen. */
.df-shop-cat .df-shop-cat {
    margin-top: 2px;
}

.df-shop-cat__children > .df-shop-cat--single {
    min-height: 31px;
    padding: 5px 7px;
    color: var(--df-text-muted);
    font-size: 10px;
    font-weight: 700;
    text-transform: none;
}

.df-shop-cat__children > .df-shop-cat > summary {
    min-height: 32px;
    padding: 5px 7px;
    color: var(--df-text-muted);
    font-size: 10px;
    font-weight: 750;
    text-transform: none;
}

.df-shop-cat__chevron {
    flex: 0 0 auto;
    color: var(--df-primary);
    font-size: 17px;
    transition: transform 150ms ease;
}

.df-shop-cat[open] > summary > .df-shop-cat__chevron {
    transform: rotate(90deg);
}

.df-shop-cat__children .df-shop-cat__children {
    margin-left: 8px;
    padding-left: 8px;
}

.df-shop-cat__overview {
    border-radius: 4px;
}

@media screen and (min-width: 901px) {
    .df-cascade-menu > .df-cascade-item:nth-last-child(-n+2) > .df-cascade-submenu {
        left: auto;
        right: 0;
    }

    .df-cascade-menu > .df-cascade-item:nth-last-child(-n+2) > .df-cascade-submenu .df-cascade-submenu {
        left: auto;
        right: calc(100% + 5px);
    }
}

@media screen and (max-width: 900px) {
    .df-shop-mega__inner--cascade {
        max-height: 100%;
        overflow-y: auto;
    }

    .df-cascade-nav {
        padding: 9px;
    }

    .df-cascade-menu {
        display: block;
    }

    .df-cascade-menu > .df-cascade-item {
        max-width: none;
    }

    .df-cascade-menu > .df-cascade-item + .df-cascade-item {
        margin-top: 5px;
    }

    .df-cascade-submenu,
    .df-cascade-submenu .df-cascade-submenu {
        position: static;
        width: auto;
        margin: 3px 0 6px 12px;
        padding: 3px;
        box-shadow: none;
    }

    .df-cascade-item:hover > .df-cascade-submenu,
    .df-cascade-item:focus-within > .df-cascade-submenu {
        display: none;
    }

    .df-cascade-item.is-expanded > .df-cascade-submenu {
        display: block;
    }

    .df-cascade-expand[aria-expanded="true"] {
        transform: rotate(90deg);
    }
}

@media screen and (max-width: 560px) {
    .df-shop-mega__topbar strong {
        font-size: 15px;
    }

    .df-cascade-row > a {
        font-size: 10px;
    }
}


/* =========================================================
   Shop Navigation 4.0: Kategorie-Landingpages ohne Sidebar
   ========================================================= */

/* Die frühere linke Kategorien-Sidebar wird nicht mehr verwendet. */
.df-shop-sidebar,
.df-shop-layout > .df-shop-sidebar {
    display: none !important;
}

/* Falls ein alter Wrapper aus Cache/Markup vorhanden ist, bleibt der Inhalt vollbreit. */
.df-shop-layout {
    display: block !important;
    width: 100%;
}

.df-shop-content {
    width: 100% !important;
    min-width: 0;
}

.df-category-landing {
    width: 100%;
    margin: 22px 0 42px;
}

.df-category-landing__head {
    max-width: 760px;
    margin: 0 auto 22px;
    text-align: center;
}

.df-category-landing__eyebrow {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--df-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.df-category-landing__head h2 {
    margin: 0;
    color: var(--df-text);
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.05;
}

.df-category-landing__head p {
    margin: 10px 0 0;
    color: var(--df-text-muted);
    font-size: 14px;
}

.df-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.df-category-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--df-border);
    border-radius: 10px;
    background: var(--df-surface);
    color: var(--df-text);
    text-decoration: none !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.df-category-card:hover,
.df-category-card:focus-visible {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--df-primary) 72%, var(--df-border));
    box-shadow: 0 18px 40px rgba(0, 0, 0, .24);
    outline: none;
}

.df-category-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background:
        radial-gradient(circle at 70% 20%, rgba(0, 214, 216, .12), transparent 38%),
        #eef1f2;
}

.df-category-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    background: linear-gradient(to top, rgba(4, 18, 22, .22), transparent);
    pointer-events: none;
}

.df-category-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    padding: 12px;
    transition: transform 220ms ease;
}

.df-category-card:hover .df-category-card__media img {
    transform: scale(1.035);
}

.df-category-card__body {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "title arrow"
        "meta arrow";
    align-items: center;
    gap: 3px 14px;
    min-height: 76px;
    padding: 14px 17px;
    border-top: 1px solid var(--df-border);
    background: var(--df-surface);
}

.df-category-card__title {
    grid-area: title;
    min-width: 0;
    color: var(--df-text);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.15;
}

.df-category-card__meta {
    grid-area: meta;
    color: var(--df-text-muted);
    font-size: 11px;
    font-weight: 700;
}

.df-category-card__arrow {
    grid-area: arrow;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--df-primary) 54%, var(--df-border));
    border-radius: 7px;
    color: var(--df-primary);
    font-size: 18px;
    font-weight: 900;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.df-category-card:hover .df-category-card__arrow {
    transform: translateX(2px);
    background: var(--df-primary);
    color: #031013;
}

/* Produktbereich unter den Kategorien wieder über die volle Shopbreite. */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    width: 100%;
}

@media screen and (max-width: 900px) {
    .df-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

@media screen and (max-width: 560px) {
    .df-category-landing {
        margin: 16px 0 28px;
    }

    .df-category-landing__head {
        margin-bottom: 16px;
        text-align: left;
    }

    .df-category-landing__head p {
        font-size: 13px;
    }

    .df-category-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .df-category-card {
        display: grid;
        grid-template-columns: 132px minmax(0, 1fr);
    }

    .df-category-card__media {
        aspect-ratio: auto;
        min-height: 112px;
    }

    .df-category-card__body {
        min-height: 112px;
        border-top: 0;
        border-left: 1px solid var(--df-border);
        padding: 12px 13px;
    }
}

/* =========================================================
   Shop Werbe-Slider
   ========================================================= */
.df-shop-slider {
    position: relative;
    width: min(100%, 1400px);
    margin: 22px auto 34px;
    overflow: hidden;
    background: #081216;
    border: 1px solid var(--df-border);
    border-radius: 10px;
}

.df-shop-slider__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 4.5;
    min-height: 180px;
    max-height: 430px;
}

.df-shop-slider__track {
    position: relative;
    width: 100%;
    height: 100%;
}

.df-shop-slider__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(2%);
    transition: opacity 600ms ease, transform 600ms ease, visibility 600ms ease;
}

.df-shop-slider__slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.df-shop-slider__link,
.df-shop-slider__image {
    display: block;
    width: 100%;
    height: 100%;
}

.df-shop-slider__image {
    object-fit: cover;
}

.df-shop-slider__link:focus-visible {
    outline: 2px solid var(--df-primary);
    outline-offset: -4px;
}

.df-shop-slider__arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 44px;
    height: 54px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(7, 16, 20, .78);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 6px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 30px;
    line-height: 1;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.df-shop-slider__arrow:hover,
.df-shop-slider__arrow:focus-visible {
    color: var(--df-primary);
    background: rgba(7,16,20,.96);
    border-color: rgba(0,166,166,.65);
}

.df-shop-slider__arrow--prev { left: 14px; }
.df-shop-slider__arrow--next { right: 14px; }

.df-shop-slider__dots {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    background: rgba(7,16,20,.72);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    transform: translateX(-50%);
}

.df-shop-slider__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    background: rgba(255,255,255,.42);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: width 180ms ease, background-color 180ms ease;
}

.df-shop-slider__dot.is-active {
    width: 26px;
    background: var(--df-primary);
}

@media (max-width: 760px) {
    .df-shop-slider {
        margin: 16px auto 24px;
        border-radius: 7px;
    }

    .df-shop-slider__viewport {
        aspect-ratio: 16 / 7;
        min-height: 150px;
    }

    .df-shop-slider__arrow {
        width: 38px;
        height: 46px;
        font-size: 26px;
    }

    .df-shop-slider__arrow--prev { left: 8px; }
    .df-shop-slider__arrow--next { right: 8px; }

    .df-shop-slider__dots {
        bottom: 9px;
    }
}

@media (max-width: 480px) {
    .df-shop-slider__viewport {
        aspect-ratio: 4 / 2.15;
    }

    .df-shop-slider__arrow {
        width: 34px;
        height: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .df-shop-slider__slide,
    .df-shop-slider__dot,
    .df-shop-slider__arrow {
        transition: none !important;
    }
}


/* =========================================================
   Shop 1.4.1: breites, klassisches Katalog-Layout
   ========================================================= */

/* Shoparchive nutzen dieselbe breite Inhaltskante wie Header/Mega-Menü. */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce {
    width: min(calc(100% - 40px), var(--df-container)) !important;
    max-width: var(--df-container) !important;
    margin-inline: auto !important;
}

.post-type-archive-product .df-main,
.tax-product_cat .df-main,
.tax-product_tag .df-main,
.tax-product_brand .df-main {
    padding-top: 28px !important;
}

/* Klassischer Breadcrumb links oben statt zentriert. */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb {
    width: 100%;
    margin: 0 0 24px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 12px;
}

/* Auf der eigentlichen Shop-Übersicht wird kein künstlicher SHOP-Hero gezeigt. */
.post-type-archive-product .df-shop-heading {
    display: none !important;
}

/* Kategorieüberschriften bleiben vorhanden, aber deutlich sachlicher. */
.tax-product_cat .df-shop-heading,
.tax-product_tag .df-shop-heading,
.tax-product_brand .df-shop-heading {
    max-width: none !important;
    margin: 0 0 26px !important;
    text-align: left !important;
}

.tax-product_cat .df-shop-heading .df-section-eyebrow,
.tax-product_tag .df-shop-heading .df-section-eyebrow,
.tax-product_brand .df-shop-heading .df-section-eyebrow,
.tax-product_cat .df-shop-heading__description,
.tax-product_tag .df-shop-heading__description,
.tax-product_brand .df-shop-heading__description {
    display: none !important;
}

.tax-product_cat .df-shop-heading h1,
.tax-product_tag .df-shop-heading h1,
.tax-product_brand .df-shop-heading h1 {
    font-size: clamp(28px, 3vw, 42px) !important;
    letter-spacing: -1px !important;
    line-height: 1.1 !important;
    text-transform: none !important;
}

/* Werbeslider, Landing-Kategorien und Produktbereich dürfen die volle Inhaltsbreite nutzen. */
.df-shop-slider,
.df-category-landing,
.df-shop-content {
    width: 100% !important;
    max-width: none !important;
}

/* WooCommerce-Sortierung wie in klassischen Shops oben rechts. */
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    float: right !important;
    display: block !important;
    width: 250px !important;
    margin: 0 0 24px auto !important;
}

.post-type-archive-product .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select,
.tax-product_tag .woocommerce-ordering select,
.tax-product_brand .woocommerce-ordering select {
    width: 100% !important;
}

/* Produktanzahl bleibt bewusst ausgeblendet, die Sortierung räumt danach sauber auf. */
.post-type-archive-product .woocommerce-ordering + ul.products,
.tax-product_cat .woocommerce-ordering + ul.products,
.tax-product_tag .woocommerce-ordering + ul.products,
.tax-product_brand .woocommerce-ordering + ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    clear: both !important;
}

/* Keine 300px-Insel mehr: vier flexible Karten über die verfügbare Breite. */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-product_brand ul.products li.product {
    width: 100% !important;
    max-width: none !important;
}

.post-type-archive-product ul.products li.product img,
.tax-product_cat ul.products li.product img,
.tax-product_tag ul.products li.product img,
.tax-product_brand ul.products li.product img {
    height: clamp(260px, 22vw, 340px) !important;
}

/* Kategorie-Landing ebenfalls breiter und sauber im Raster. */
.df-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

@media screen and (max-width: 1180px) {
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products,
    .df-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 820px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: min(calc(100% - 28px), var(--df-container)) !important;
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products,
    .df-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering,
    .tax-product_tag .woocommerce-ordering,
    .tax-product_brand .woocommerce-ordering {
        width: min(100%, 280px) !important;
    }
}

@media screen and (max-width: 520px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: calc(100% - 20px) !important;
    }

    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .tax-product_tag ul.products,
    .tax-product_brand ul.products,
    .df-category-grid {
        grid-template-columns: 1fr !important;
    }

    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering,
    .tax-product_tag .woocommerce-ordering,
    .tax-product_brand .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
    }
}


/* =========================================================
   Shop 1.4.2: Slider bündig + klassische Toolbar
   ========================================================= */

/* Slider beginnt direkt unter dem Header und exakt an dessen Inhaltskanten. */
.post-type-archive-product .df-main,
.tax-product_cat .df-main,
.tax-product_tag .df-main,
.tax-product_brand .df-main {
    padding-top: 0 !important;
}

.post-type-archive-product .df-shop-slider,
.tax-product_cat .df-shop-slider,
.tax-product_tag .df-shop-slider,
.tax-product_brand .df-shop-slider {
    width: calc(100% - 32px) !important;
    max-width: 1200px !important;
    margin: 0 auto 24px !important;
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

/* Breadcrumb links und Sortierung bilden auf der Shop-Hauptseite eine Zeile. */
.post-type-archive-product .woocommerce-breadcrumb {
    float: left !important;
    width: auto !important;
    max-width: calc(100% - 290px);
    min-height: 44px;
    margin: 0 0 24px !important;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.post-type-archive-product .woocommerce-ordering {
    float: right !important;
    width: 250px !important;
    margin: 0 0 24px auto !important;
}

/* Text-Overlay im Werbeslider. */
.df-shop-slider__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(3,10,13,.86) 0%, rgba(3,10,13,.60) 31%, rgba(3,10,13,.16) 62%, rgba(3,10,13,0) 82%);
}

.df-shop-slider__overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.df-shop-slider__content {
    width: min(620px, 55%);
    padding: clamp(24px, 4vw, 64px);
    pointer-events: auto;
}

.df-shop-slider__title {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3.2vw, 54px);
    font-weight: 950;
    letter-spacing: -1.5px;
    line-height: .98;
    text-transform: uppercase;
}

.df-shop-slider__text {
    max-width: 560px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(13px, 1.15vw, 17px);
    line-height: 1.55;
}

.df-shop-slider__button {
    min-height: 44px;
    margin-top: 22px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #071014;
    background: var(--df-accent);
    border: 1px solid var(--df-accent);
    border-radius: 5px;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    transition: transform 160ms ease, filter 160ms ease;
}

.df-shop-slider__button:hover,
.df-shop-slider__button:focus-visible {
    color: #071014;
    transform: translateY(-1px);
    filter: brightness(1.08);
}

@media screen and (max-width: 760px) {
    .post-type-archive-product .df-shop-slider,
    .tax-product_cat .df-shop-slider,
    .tax-product_tag .df-shop-slider,
    .tax-product_brand .df-shop-slider {
        margin-bottom: 18px !important;
        border-radius: 0 0 6px 6px;
    }

    .post-type-archive-product .woocommerce-breadcrumb {
        float: none !important;
        width: 100% !important;
        max-width: none;
        min-height: 0;
        margin-bottom: 12px !important;
    }

    .post-type-archive-product .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    .df-shop-slider__slide::after {
        background: linear-gradient(90deg, rgba(3,10,13,.88) 0%, rgba(3,10,13,.55) 62%, rgba(3,10,13,.12) 100%);
    }

    .df-shop-slider__content {
        width: 78%;
        padding: 22px 52px 22px 22px;
    }

    .df-shop-slider__title {
        font-size: clamp(22px, 7vw, 34px);
    }

    .df-shop-slider__text {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.4;
    }

    .df-shop-slider__button {
        min-height: 40px;
        margin-top: 14px;
        padding: 0 14px;
        font-size: 10px;
    }
}

@media screen and (max-width: 480px) {
    .df-shop-slider__content {
        width: 84%;
        padding: 18px 42px 18px 16px;
    }

    .df-shop-slider__text {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}


/* =========================================================
   Shop 1.4.4: einheitliche 1200px-Inhaltsachse
   ========================================================= */

/* Slider, Toolbar, Kategorien und Produktgrid liegen exakt auf einer Linie. */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce {
    width: calc(100% - 32px) !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
}

.post-type-archive-product .df-shop-slider,
.tax-product_cat .df-shop-slider,
.tax-product_tag .df-shop-slider,
.tax-product_brand .df-shop-slider,
.post-type-archive-product .df-shop-content,
.tax-product_cat .df-shop-content,
.tax-product_tag .df-shop-content,
.tax-product_brand .df-shop-content,
.post-type-archive-product .df-category-landing,
.tax-product_cat .df-category-landing,
.tax-product_tag .df-category-landing,
.tax-product_brand .df-category-landing {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Der Slider übernimmt die Breite seines 1200px-Wrappers, ohne eigene Außenkante. */
.post-type-archive-product .df-shop-slider,
.tax-product_cat .df-shop-slider,
.tax-product_tag .df-shop-slider,
.tax-product_brand .df-shop-slider {
    width: 100% !important;
}

/* Breadcrumb und Sortierung exakt an denselben Außenkanten. */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb {
    margin-left: 0 !important;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    margin-right: 0 !important;
}

/* Produktlisten dürfen niemals über die gemeinsame 1200px-Achse hinauslaufen. */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products,
.df-category-grid {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media screen and (max-width: 820px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: calc(100% - 24px) !important;
    }
}

@media screen and (max-width: 520px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce {
        width: calc(100% - 16px) !important;
    }
}


/* =========================================================
   Shop 1.4.5: gemeinsame 1400px-Achse + Toolbar innen
   ========================================================= */

/* Eine gemeinsame Inhaltsachse für Slider, Shop und Kategorien. */
.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-product_brand .woocommerce,
.post-type-archive-product .df-shop-slider,
.tax-product_cat .df-shop-slider,
.tax-product_tag .df-shop-slider,
.tax-product_brand .df-shop-slider,
.post-type-archive-product .df-shop-content,
.tax-product_cat .df-shop-content,
.tax-product_tag .df-shop-content,
.tax-product_brand .df-shop-content,
.post-type-archive-product .df-category-landing,
.tax-product_cat .df-category-landing,
.tax-product_tag .df-category-landing,
.tax-product_brand .df-category-landing,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products,
.df-category-grid {
    width: calc(100% - 32px) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Der Slider sitzt exakt auf derselben linken/rechten Kante. */
.post-type-archive-product .df-shop-slider,
.tax-product_cat .df-shop-slider,
.tax-product_tag .df-shop-slider,
.tax-product_brand .df-shop-slider {
    width: calc(100% - 32px) !important;
    max-width: 1400px !important;
}

/* Breadcrumb links und Sortierung rechts liegen innerhalb derselben 1400px-Achse. */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb {
    float: left !important;
    width: auto !important;
    max-width: calc(100% - 340px) !important;
    margin-left: max(16px, calc((100% - 1400px) / 2)) !important;
    margin-right: 0 !important;
}

.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering,
.tax-product_brand .woocommerce-ordering {
    float: right !important;
    width: 250px !important;
    margin-left: 0 !important;
    margin-right: max(16px, calc((100% - 1400px) / 2)) !important;
}

/* Nach der Toolbar startet das Produktgrid sauber in einer neuen Zeile. */
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.tax-product_brand ul.products,
.post-type-archive-product .df-category-landing,
.tax-product_cat .df-category-landing {
    clear: both;
}

@media screen and (max-width: 820px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce,
    .post-type-archive-product .df-shop-slider,
    .tax-product_cat .df-shop-slider,
    .tax-product_tag .df-shop-slider,
    .tax-product_brand .df-shop-slider,
    .post-type-archive-product .df-shop-content,
    .tax-product_cat .df-shop-content,
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .df-category-grid {
        width: calc(100% - 24px) !important;
    }

    .post-type-archive-product .woocommerce-breadcrumb,
    .tax-product_cat .woocommerce-breadcrumb,
    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering {
        float: none !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media screen and (max-width: 520px) {
    .post-type-archive-product .woocommerce,
    .tax-product_cat .woocommerce,
    .tax-product_tag .woocommerce,
    .tax-product_brand .woocommerce,
    .post-type-archive-product .df-shop-slider,
    .tax-product_cat .df-shop-slider,
    .post-type-archive-product .df-shop-content,
    .tax-product_cat .df-shop-content,
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products,
    .df-category-grid,
    .post-type-archive-product .woocommerce-breadcrumb,
    .tax-product_cat .woocommerce-breadcrumb,
    .post-type-archive-product .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering {
        width: calc(100% - 16px) !important;
    }
}


/* =========================================================
   Shop Mega Menu 5.0: dunkler Kategorien-Browser
   ========================================================= */
.df-shop-mega {
    left: 50% !important;
    right: auto !important;
    width: min(1400px, calc(100vw - 32px)) !important;
    transform: translate(-50%, -5px) !important;
}

.df-shop-mega.is-open {
    transform: translate(-50%, 0) !important;
}

.df-shop-mega__inner--modern {
    max-height: min(720px, calc(100vh - 110px));
    overflow: hidden;
    background: #071014;
    border: 1px solid rgba(255,255,255,.10);
    border-top: 2px solid var(--df-primary);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 26px 70px rgba(0,0,0,.48);
}

.df-shop-mega__topbar--modern {
    min-height: 74px;
    padding: 14px 18px;
    background: #0a151a;
}

.df-modern-mega {
    min-height: 390px;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
}

.df-modern-mega__rail {
    min-height: 0;
    padding: 10px;
    overflow-y: auto;
    background: #081216;
    border-right: 1px solid rgba(255,255,255,.08);
}

.df-modern-mega__tab {
    position: relative;
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: rgba(255,255,255,.78);
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.065);
    text-align: left;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15px;
    text-transform: uppercase;
    transition: color 150ms ease, background-color 150ms ease;
}

.df-modern-mega__tab::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -1px;
    height: 2px;
    background: var(--df-primary);
    opacity: 0;
    transform: scaleX(.45);
    transition: opacity 150ms ease, transform 150ms ease;
}

.df-modern-mega__tab:hover,
.df-modern-mega__tab:focus-visible,
.df-modern-mega__tab.is-active {
    color: #fff;
    background: rgba(0,166,166,.08);
}

.df-modern-mega__tab:hover::after,
.df-modern-mega__tab:focus-visible::after,
.df-modern-mega__tab.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.df-modern-mega__tab > span:last-child {
    color: var(--df-primary);
    font-size: 18px;
    font-weight: 500;
}

.df-modern-mega__all {
    min-height: 44px;
    margin-top: 10px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--df-primary);
    border: 1px solid rgba(0,166,166,.22);
    border-radius: 5px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-modern-mega__all:hover {
    color: #fff;
    background: rgba(0,166,166,.10);
    border-color: rgba(0,166,166,.45);
}

.df-modern-mega__content {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    background:
        radial-gradient(circle at 90% 0, rgba(0,166,166,.055), transparent 34%),
        #0a1419;
}

.df-modern-mega__panel {
    padding: 22px 26px 26px;
}

.df-modern-mega__panel[hidden] {
    display: none !important;
}

.df-modern-mega__panel-head {
    margin-bottom: 20px;
    padding-bottom: 15px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.df-modern-mega__panel-head > div > span {
    display: block;
    margin-bottom: 3px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.df-modern-mega__panel-head h3 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    line-height: 1.1;
    text-transform: uppercase;
}

.df-modern-mega__panel-head > a {
    flex: 0 0 auto;
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-modern-mega__panel-head > a:hover {
    color: #fff;
}

.df-modern-mega__groups {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 28px;
    align-items: start;
}

.df-mega-group {
    min-width: 0;
}

.df-mega-group__title {
    position: relative;
    min-height: 34px;
    padding: 0 0 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.10);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-mega-group__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 34px;
    height: 2px;
    background: var(--df-primary);
    transition: width 160ms ease;
}

.df-mega-group__title:hover::after {
    width: 70px;
}

.df-mega-group__title > span {
    color: var(--df-primary);
}

.df-mega-group__links {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

.df-mega-group__links li + li {
    margin-top: 1px;
}

.df-mega-group__links a,
.df-mega-group__single {
    min-height: 31px;
    padding: 6px 0;
    display: flex;
    align-items: center;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    font-weight: 650;
    transition: color 150ms ease, transform 150ms ease;
}

.df-mega-group__links a:hover,
.df-mega-group__single:hover {
    color: #fff;
    transform: translateX(3px);
}

.df-mega-group__single {
    color: var(--df-text-muted);
}

.df-mega-panel__empty {
    grid-column: 1 / -1;
    padding: 28px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 6px;
}

.df-mega-panel__empty p {
    margin: 0 0 12px;
    color: var(--df-text-muted);
}

.df-mega-panel__empty a {
    color: var(--df-primary);
    font-weight: 900;
    text-transform: uppercase;
}

.df-modern-mega__no-results {
    padding: 35px;
    color: var(--df-text-muted);
    text-align: center;
}

.df-modern-mega__tab[hidden] {
    display: none !important;
}

@media screen and (max-width: 1180px) {
    .df-modern-mega__groups {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 900px) {
    .df-shop-mega {
        top: 100px !important;
        left: 14px !important;
        right: 14px !important;
        bottom: 14px !important;
        width: auto !important;
        transform: translateY(-5px) !important;
    }

    .df-shop-mega.is-open {
        transform: translateY(0) !important;
    }

    .df-shop-mega__inner--modern {
        max-height: 100%;
        overflow-y: auto;
        border-radius: 8px;
    }

    .df-shop-mega__topbar--modern {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .df-shop-mega__search {
        width: 100%;
    }

    .df-modern-mega {
        display: block;
        min-height: auto;
    }

    .df-modern-mega__rail {
        max-height: none;
        overflow: visible;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .df-modern-mega__content {
        overflow: visible;
    }

    .df-modern-mega__groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 560px) {
    .df-modern-mega__panel {
        padding: 18px 14px 22px;
    }

    .df-modern-mega__panel-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .df-modern-mega__panel-head h3 {
        font-size: 20px;
    }

    .df-modern-mega__groups {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* =========================================================
   Shop Mega-Menü 5.1: breite Kategoriematrix + Markenleiste
   ========================================================= */
.df-shop-mega__inner--modern {
    max-height: min(760px, calc(100vh - 105px));
    overflow-y: auto;
}

.df-modern-mega {
    display: block;
    min-height: 0;
}

.df-modern-mega__rail {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0 18px;
    overflow: visible;
    background: #081216;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.df-modern-mega__tab {
    width: auto;
    min-height: 48px;
    padding: 0 15px;
    flex: 0 0 auto;
    border-bottom: 0;
    font-size: 10px;
    white-space: nowrap;
}

.df-modern-mega__tab::after {
    left: 15px;
    right: 15px;
    bottom: 0;
}

.df-modern-mega__tab > span:last-child {
    display: none;
}

.df-modern-mega__all {
    min-height: 48px;
    margin: 0 0 0 auto;
    padding: 0 15px;
    border: 0;
    border-radius: 0;
}

.df-modern-mega__content {
    overflow: visible;
    background: #0a1419;
}

.df-modern-mega__panel {
    padding: 18px 24px 20px;
}

.df-modern-mega__panel-head {
    margin-bottom: 16px;
    padding-bottom: 12px;
    align-items: center;
}

.df-modern-mega__panel-head > div > span {
    display: none;
}

.df-modern-mega__panel-head h3 {
    font-size: 19px;
    letter-spacing: .1px;
    text-transform: none;
}

.df-modern-mega__groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(255,255,255,.07);
}

.df-mega-group {
    padding: 18px 22px 20px 0;
    min-height: 145px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.df-mega-group:nth-child(3n+2),
.df-mega-group:nth-child(3n+3) {
    padding-left: 22px;
    border-left: 1px solid rgba(255,255,255,.08);
}

.df-mega-group__title {
    min-height: auto;
    padding: 0 0 11px;
    border-bottom: 0;
    font-size: 15px;
    font-weight: 800;
    text-transform: none;
}

.df-mega-group__title::after,
.df-mega-group__title > span {
    display: none;
}

.df-mega-group__links {
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 1px;
}

.df-mega-group__links li + li {
    margin-top: 0;
}

.df-mega-group__links a,
.df-mega-group__single {
    min-height: 29px;
    padding: 4px 0;
    color: rgba(255,255,255,.70);
    font-size: 11px;
    font-weight: 600;
    transform: none;
}

.df-mega-group__links a:hover,
.df-mega-group__single:hover {
    color: var(--df-primary);
    transform: none;
}

.df-mega-group__more a {
    color: #fff;
    font-weight: 900;
}

.df-mega-brands {
    padding-top: 16px;
}

.df-mega-brands > strong {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.df-mega-brands__list {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 6px;
}

.df-mega-brand {
    min-width: 0;
    height: 58px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.8);
    background: #f5f5f5;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
    overflow: hidden;
    text-align: center;
    font-size: 10px;
    font-weight: 800;
    transition: border-color 150ms ease, transform 150ms ease;
}

.df-mega-brand:hover {
    border-color: var(--df-primary);
    transform: translateY(-1px);
}

.df-mega-brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.df-mega-brand span {
    color: #171717;
}

@media screen and (max-width: 1180px) {
    .df-modern-mega__groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .df-mega-group:nth-child(n) {
        padding-left: 0;
        padding-right: 20px;
        border-left: 0;
    }

    .df-mega-group:nth-child(even) {
        padding-left: 20px;
        border-left: 1px solid rgba(255,255,255,.08);
    }

    .df-mega-brands__list {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media screen and (max-width: 900px) {
    .df-modern-mega__rail {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 8px;
    }

    .df-modern-mega__tab,
    .df-modern-mega__all {
        width: 100%;
        margin: 0;
        justify-content: space-between;
        border-bottom: 1px solid rgba(255,255,255,.06);
    }

    .df-modern-mega__groups {
        grid-template-columns: 1fr;
    }

    .df-mega-group:nth-child(n) {
        min-height: 0;
        padding: 16px 0;
        border-left: 0;
    }

    .df-mega-brands__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 560px) {
    .df-modern-mega__rail {
        grid-template-columns: 1fr;
    }

    .df-mega-group__links {
        grid-template-columns: 1fr;
    }

    .df-mega-brands__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   Shop Mega-Menü 5.2: kompakt für sehr große Sortimente
   ========================================================= */
.df-shop-mega__inner--modern {
    max-height: min(680px, calc(100vh - 100px));
}

.df-modern-mega__panel {
    padding: 12px 20px 14px;
}

.df-modern-mega__panel-head {
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.df-modern-mega__panel-head h3 {
    margin: 0;
    font-size: 16px;
}

.df-modern-mega__groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}

.df-mega-group {
    min-height: 0;
    padding: 10px 18px 11px 0;
}

.df-mega-group:nth-child(3n+2),
.df-mega-group:nth-child(3n+3) {
    padding-left: 18px;
}

.df-mega-group__title {
    padding: 0 0 5px;
    font-size: 13px;
    line-height: 1.25;
}

.df-mega-group__links {
    column-gap: 18px;
    row-gap: 0;
}

.df-mega-group__links a,
.df-mega-group__single {
    min-height: 22px;
    padding: 2px 0;
    font-size: 10.5px;
    line-height: 1.35;
}

.df-mega-group__more a {
    padding-top: 3px;
}

/* Marken gehören in den Shop, nicht in das Mega-Menü. */
.df-modern-mega .df-mega-brands {
    display: none !important;
}

/* =========================================================
   Markenübersicht unter dem Shop
   ========================================================= */
.df-shop-brands {
    width: min(1400px, calc(100% - 32px));
    margin: 36px auto 8px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.09);
}

.df-shop-brands__head {
    margin-bottom: 16px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}

.df-shop-brands__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.df-shop-brands__head h2 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.1;
}

.df-shop-brands__count {
    color: var(--df-text-muted);
    font-size: 11px;
    font-weight: 700;
}

.df-shop-brands__grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
}

.df-shop-brand {
    min-width: 0;
    min-height: 92px;
    padding: 9px 10px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #fff;
    background: #0d181d;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 5px;
    transition: border-color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.df-shop-brand:hover,
.df-shop-brand:focus-visible {
    color: #fff;
    background: #101f25;
    border-color: rgba(0,166,166,.55);
    transform: translateY(-1px);
}

.df-shop-brand__logo {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    background: #f4f4f4;
    border-radius: 3px;
    overflow: hidden;
}

.df-shop-brand__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.df-shop-brand__fallback {
    color: #151515;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.df-shop-brand__name {
    max-width: 100%;
    overflow: hidden;
    color: rgba(255,255,255,.75);
    font-size: 9.5px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media screen and (max-width: 1180px) {
    .df-shop-brands__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media screen and (max-width: 900px) {
    .df-modern-mega__panel { padding: 12px 14px; }
    .df-mega-group:nth-child(n) { padding: 9px 0; }
    .df-shop-brands__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media screen and (max-width: 560px) {
    .df-shop-brands { width: min(100% - 24px, 1400px); }
    .df-shop-brands__head { align-items: flex-start; flex-direction: column; gap: 5px; }
    .df-shop-brands__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* =========================================================
   Shop Mega-Menü 6.0: kompakter Fachhandels-Katalog
   ========================================================= */
.df-shop-mega {
    width: min(1400px, calc(100vw - 32px)) !important;
}

.df-shop-mega__inner--modern {
    max-height: min(610px, calc(100vh - 105px));
    overflow-y: auto;
    background: #081216;
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 24px 60px rgba(0,0,0,.52);
}

.df-shop-mega__topbar--modern {
    min-height: 58px;
    padding: 10px 18px;
    background: #09151a;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.df-shop-mega__topbar--modern > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.df-shop-mega__topbar--modern .df-shop-mega__eyebrow {
    margin: 0;
    font-size: 8px;
    letter-spacing: 1.15px;
}

.df-shop-mega__topbar--modern strong {
    font-size: 15px;
    line-height: 1;
}

.df-shop-mega__search {
    width: min(330px, 35vw);
    min-height: 38px;
}

.df-modern-mega__rail {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    padding: 0 12px;
    background: #071116;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.df-modern-mega__tab {
    min-height: 42px;
    padding: 0 13px;
    font-size: 9.5px;
    letter-spacing: .05px;
    text-transform: uppercase;
}

.df-modern-mega__tab::after {
    left: 13px;
    right: 13px;
    height: 2px;
}

.df-modern-mega__tab:hover,
.df-modern-mega__tab:focus-visible,
.df-modern-mega__tab.is-active {
    background: rgba(0,166,166,.055);
}

.df-modern-mega__all {
    min-height: 42px;
    padding: 0 12px;
    font-size: 9px;
}

.df-modern-mega__content {
    background: #0a1419;
}

.df-modern-mega__panel {
    padding: 13px 18px 16px;
}

.df-modern-mega__panel-head {
    min-height: 36px;
    margin: 0 0 8px;
    padding: 0 0 8px;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.df-modern-mega__panel-head h3 {
    font-size: 15px;
    font-weight: 900;
}

.df-modern-mega__panel-head > a {
    font-size: 8.5px;
}

.df-modern-mega__groups {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 0;
}

.df-mega-direct-links {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 7px;
    border-bottom: 1px solid rgba(255,255,255,.075);
}

.df-mega-direct-links a {
    min-width: 0;
    min-height: 34px;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: rgba(255,255,255,.78);
    border-right: 1px solid rgba(255,255,255,.07);
    font-size: 10.5px;
    font-weight: 750;
    transition: color 140ms ease, background-color 140ms ease;
}

.df-mega-direct-links a:nth-child(4n) {
    border-right: 0;
}

.df-mega-direct-links a:hover,
.df-mega-direct-links a:focus-visible {
    color: #fff;
    background: rgba(0,166,166,.07);
}

.df-mega-direct-links a span:last-child {
    color: var(--df-primary);
}

.df-mega-group {
    min-height: 0 !important;
    padding: 10px 14px 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.df-mega-group:nth-child(4n+2),
.df-mega-group:nth-child(4n+3),
.df-mega-group:nth-child(4n+4) {
    padding-left: 14px !important;
    border-left: 1px solid rgba(255,255,255,.07) !important;
}

.df-mega-group__title {
    min-height: 25px;
    padding: 0 0 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: none;
}

.df-mega-group__title::after {
    display: none;
}

.df-mega-group__title > span {
    display: inline;
    color: var(--df-primary);
    font-size: 12px;
}

.df-mega-group__links {
    margin: 1px 0 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 0;
}

.df-mega-group__links a,
.df-mega-group__single {
    min-height: 21px;
    padding: 2px 0;
    color: rgba(255,255,255,.62);
    font-size: 10px;
    font-weight: 550;
    line-height: 1.3;
    transform: none !important;
}

.df-mega-group__links a:hover,
.df-mega-group__single:hover {
    color: var(--df-primary);
}

.df-mega-group__more a {
    color: rgba(255,255,255,.9);
    font-weight: 850;
}

.df-mega-panel__empty {
    grid-column: 1 / -1;
    padding: 10px 0;
    background: transparent;
    border: 0;
}

.df-mega-panel__empty a {
    font-size: 10px;
}

/* Produkt-Breadcrumb niemals am linken Browserrand anzeigen. */
.single-product .woocommerce-breadcrumb {
    width: min(1320px, calc(100% - 48px)) !important;
    max-width: 1320px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
}

@media screen and (max-width: 1180px) {
    .df-modern-mega__groups,
    .df-mega-direct-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .df-mega-group:nth-child(n) {
        padding: 9px 12px 9px 0 !important;
        border-left: 0 !important;
    }
    .df-mega-group:nth-child(3n+2),
    .df-mega-group:nth-child(3n+3) {
        padding-left: 12px !important;
        border-left: 1px solid rgba(255,255,255,.07) !important;
    }
    .df-mega-direct-links a:nth-child(4n) { border-right: 1px solid rgba(255,255,255,.07); }
    .df-mega-direct-links a:nth-child(3n) { border-right: 0; }
}

@media screen and (max-width: 900px) {
    .df-shop-mega__topbar--modern > div {
        display: block;
    }
    .df-shop-mega__search { width: 100%; }
    .df-modern-mega__rail {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        padding: 6px;
    }
    .df-modern-mega__groups,
    .df-mega-direct-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .df-mega-group:nth-child(n) {
        padding: 9px 10px 9px 0 !important;
        border-left: 0 !important;
    }
    .df-mega-group:nth-child(even) {
        padding-left: 10px !important;
        border-left: 1px solid rgba(255,255,255,.07) !important;
    }
}

@media screen and (max-width: 560px) {
    .df-modern-mega__groups,
    .df-mega-direct-links {
        grid-template-columns: 1fr;
    }
    .df-mega-group:nth-child(n) {
        padding: 9px 0 !important;
        border-left: 0 !important;
    }
    .df-mega-group__links {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .df-mega-direct-links a {
        border-right: 0 !important;
    }
    .single-product .woocommerce-breadcrumb {
        width: min(100% - 28px, 1320px) !important;
    }
}


/* =========================================================
   1.6.1 Shop Feinschliff: heller, klarer, professioneller
   ========================================================= */

/* Mega-Menü weniger düster, aber weiterhin passend zum Theme. */
.df-shop-mega__inner--modern {
    background: #0c1a20 !important;
    border-color: rgba(125, 177, 190, .20) !important;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .38) !important;
}

.df-shop-mega__topbar--modern {
    background: #102129 !important;
    border-bottom-color: rgba(125, 177, 190, .18) !important;
}

.df-modern-mega__rail {
    background: #0e1f26 !important;
    border-bottom-color: rgba(125, 177, 190, .16) !important;
}

.df-modern-mega__tab:hover,
.df-modern-mega__tab:focus-visible,
.df-modern-mega__tab.is-active {
    background: rgba(0, 190, 190, .10) !important;
}

.df-modern-mega__content {
    background: #12242b !important;
}

.df-modern-mega__panel-head,
.df-modern-mega__groups,
.df-mega-direct-links,
.df-mega-group {
    border-color: rgba(145, 184, 193, .15) !important;
}

.df-mega-group__title {
    color: #f8fbfc !important;
}

.df-mega-group__links a,
.df-mega-group__single {
    color: rgba(230, 241, 244, .78) !important;
}

.df-mega-group__links a:hover,
.df-mega-group__single:hover,
.df-mega-group__links a:focus-visible,
.df-mega-group__single:focus-visible {
    color: #12c4c4 !important;
}

.df-mega-direct-links a {
    color: rgba(240, 248, 250, .86) !important;
    border-color: rgba(145, 184, 193, .14) !important;
}

.df-mega-direct-links a:hover,
.df-mega-direct-links a:focus-visible {
    background: rgba(0, 190, 190, .10) !important;
}

/* Shop-Flächen etwas heller staffeln, damit Produkte besser getrennt sind. */
.post-type-archive-product .df-main,
.tax-product_cat .df-main,
.tax-product_tag .df-main,
.tax-pwb-brand .df-main,
.tax-product_brand .df-main {
    background: #08161b;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.tax-pwb-brand ul.products li.product,
.tax-product_brand ul.products li.product {
    background: #13252c !important;
    border-color: rgba(147, 186, 196, .18) !important;
}

.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
.tax-product_tag ul.products li.product:hover,
.tax-pwb-brand ul.products li.product:hover,
.tax-product_brand ul.products li.product:hover {
    background: #172c34 !important;
    border-color: rgba(0, 190, 190, .48) !important;
}

/* Produktsicherheit sauber als lesbarer Informationsbereich. */
.woocommerce-Tabs-panel--product_safety .wc-gzd-product-safety,
.woocommerce-Tabs-panel--product_safety .wc-gzd-additional-info,
.woocommerce-Tabs-panel--product_safety .manufacturer {
    color: #d4e2e6;
}

.woocommerce-Tabs-panel--product_safety .manufacturer,
.woocommerce-Tabs-panel--product_safety .wc-gzd-safety-instructions,
.woocommerce-Tabs-panel--product_safety .wc-gzd-product-safety-attachments {
    max-width: 820px;
    margin: 14px 0 18px;
    padding: 18px 20px;
    background: #102128;
    border: 1px solid rgba(145, 184, 193, .16);
    border-radius: 7px;
    line-height: 1.7;
}

.woocommerce-Tabs-panel--product_safety a {
    color: #16c7c7;
}

/* Markenbereich sichtbar heller vom restlichen Shop absetzen. */
.df-shop-brands {
    margin-top: 46px;
    padding: 26px;
    background: #102128;
    border: 1px solid rgba(145, 184, 193, .16);
    border-radius: 8px;
}

.df-shop-brand {
    background: #162a32 !important;
    border-color: rgba(145, 184, 193, .18) !important;
}

.df-shop-brand:hover,
.df-shop-brand:focus-visible {
    background: #1a323b !important;
}

@media screen and (max-width: 560px) {
    .df-shop-brands {
        padding: 18px 14px;
    }
}


/* =========================================================
   1.6.2 Mega-Menü & Marken: kompakter und klarer
   ========================================================= */

/* Im Inhaltsbereich keine wiederholte Kategorie-Überschrift mehr. */
.df-modern-mega__panel-head {
    display: none !important;
}

/* Die Kategorien starten direkt nach der oberen Hauptkategorie-Leiste. */
.df-modern-mega__content {
    padding-top: 0 !important;
}

.df-modern-mega__panel {
    padding-top: 16px !important;
}

.df-modern-mega__groups {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Kein "Alle Produkte"-Block im Mega-Menü. */
.df-modern-mega__all {
    display: none !important;
}

/* Markenbereich: nur Logos, keine Namen oder Zähler. */
.df-shop-brands {
    width: min(100% - 40px, 1400px) !important;
    margin: 52px auto 0 !important;
    padding: 30px 30px 34px !important;
}

.df-shop-brands__head {
    display: block !important;
    margin: 0 0 22px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid rgba(145, 184, 193, .18);
}

.df-shop-brands__head h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(24px, 2.2vw, 34px) !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    letter-spacing: -.45px !important;
    text-transform: none !important;
}

.df-shop-brands__eyebrow,
.df-shop-brands__count,
.df-shop-brand__name,
.df-shop-brand__fallback {
    display: none !important;
}

.df-shop-brands__grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(120px, 1fr)) !important;
    gap: 12px !important;
}

.df-shop-brand {
    min-height: 92px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f7f9f9 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 5px !important;
    transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease !important;
}

.df-shop-brand:hover,
.df-shop-brand:focus-visible {
    background: #ffffff !important;
    border-color: rgba(0, 190, 190, .62) !important;
    transform: translateY(-2px);
}

.df-shop-brand__logo {
    width: 100% !important;
    height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.df-shop-brand__logo img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
}

@media screen and (max-width: 1100px) {
    .df-shop-brands__grid {
        grid-template-columns: repeat(5, minmax(110px, 1fr)) !important;
    }
}

@media screen and (max-width: 760px) {
    .df-shop-brands {
        width: min(100% - 24px, 1400px) !important;
        padding: 22px 18px 26px !important;
    }

    .df-shop-brands__grid {
        grid-template-columns: repeat(3, minmax(90px, 1fr)) !important;
    }
}

@media screen and (max-width: 480px) {
    .df-shop-brands__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   Shop Kategorien 1.6.3: doppelte Kategorieüberschrift entfernen
   ========================================================= */
.tax-product_cat .df-shop-heading {
    display: none !important;
}


/* ==================================================
   Germanized Lieferzeit im Shop ausblenden
================================================== */
/*
 * Die Lieferzeit bleibt im Backend/Germanized erhalten, wird im Frontend
 * aber weder auf Produktkarten noch auf der Einzelproduktseite ausgegeben.
 */
.woocommerce .delivery-time-info,
.woocommerce-page .delivery-time-info,
.woocommerce .wc-gzd-additional-info.delivery-time-info,
.woocommerce-page .wc-gzd-additional-info.delivery-time-info,
.single-product .delivery-time-info,
.single-product .wc-gzd-additional-info.delivery-time-info {
    display: none !important;
}

/* =========================================================
   1.7.0 Shop UX: Filter, Produktkarten, Live-Suche
   ========================================================= */

/* Filterbutton sitzt direkt bei der Sortierung, keine dauerhafte Sidebar. */
.df-filter-toggle {
    float: right;
    min-height: 46px;
    margin: 0 12px 26px 0;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #f7fbfc;
    background: #102128;
    border: 1px solid rgba(145,184,193,.24);
    border-radius: 7px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.df-filter-toggle:hover,
.df-filter-toggle:focus-visible { border-color: rgba(0,190,190,.62); background: #142930; }
.df-filter-toggle__icon { color: var(--df-primary); font-size: 15px; }
.df-filter-toggle__count {
    min-width: 20px; height: 20px; padding: 0 5px;
    display: inline-flex; align-items: center; justify-content: center;
    color: #061114; background: var(--df-accent); border-radius: 999px;
    font-size: 10px;
}

.df-filter-backdrop {
    position: fixed; inset: 0; z-index: 10980;
    background: rgba(2,8,11,.64); opacity: 0;
    transition: opacity 180ms ease;
}
.df-filter-backdrop.is-open { opacity: 1; }
.df-shop-filter {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 10990;
    width: min(430px, 92vw); overflow-y: auto;
    color: #eaf3f5; background: #102128;
    border-left: 1px solid rgba(145,184,193,.22);
    box-shadow: -24px 0 60px rgba(0,0,0,.42);
    transform: translateX(102%); transition: transform 220ms ease;
}
.df-shop-filter.is-open { transform: translateX(0); }
html.df-filter-open { overflow: hidden; }
.df-shop-filter__head {
    padding: 24px 24px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
    border-bottom: 1px solid rgba(145,184,193,.17);
}
.df-shop-filter__head small { display: block; margin-bottom: 4px; color: var(--df-primary); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.df-shop-filter__head strong { color: #fff; font-size: 22px; }
.df-shop-filter__close { width: 42px; height: 42px; color: #fff; background: #0a171c; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; cursor: pointer; font-size: 26px; }
.df-shop-filter__form { padding: 6px 24px 28px; }
.df-filter-group { margin: 0; padding: 22px 0; border: 0; border-bottom: 1px solid rgba(145,184,193,.14); }
.df-filter-group legend { margin-bottom: 13px; color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.df-filter-price { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.df-filter-price label span { display: block; margin-bottom: 6px; color: rgba(230,241,244,.65); font-size: 10px; }
.df-filter-price input,
.df-filter-group select {
    width: 100%; min-height: 44px; padding: 0 12px; color: #fff; background: #08161b;
    border: 1px solid rgba(145,184,193,.22); border-radius: 5px; font-size: 14px;
}
.df-filter-check { min-height: 40px; display: flex; align-items: center; gap: 10px; color: #d9e6e9; font-size: 13px; cursor: pointer; }
.df-filter-check input { width: 18px; height: 18px; accent-color: #00bebe; }
.df-shop-filter__actions { padding-top: 24px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; }
.df-shop-filter__actions a,
.df-shop-filter__actions button { min-height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.df-shop-filter__actions a { color: #d8e4e7; border: 1px solid rgba(145,184,193,.24); }
.df-shop-filter__actions button { color: #061114; background: var(--df-accent); border: 1px solid var(--df-accent); cursor: pointer; }

/* Professionellere Produktkarten mit Marke und klaren Zuständen. */
ul.products li.product { position: relative; overflow: hidden; }
.df-loop-brand {
    display: block; margin: 2px 14px 5px; color: var(--df-primary);
    font-size: 9px; font-weight: 900; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase;
}
.df-product-badge {
    position: absolute; top: 12px; left: 12px; z-index: 4;
    min-height: 25px; padding: 0 9px; display: inline-flex; align-items: center;
    border-radius: 4px; font-size: 9px; font-weight: 900; text-transform: uppercase;
}
.df-product-badge--new { color: #061114; background: var(--df-accent); }
ul.products li.product .star-rating { margin: 7px auto 8px !important; color: #c9ff00 !important; font-size: 11px !important; }
ul.products li.product .woocommerce-loop-product__title { min-height: 42px; }
ul.products li.product:hover img { transform: scale(1.025); }
ul.products li.product img { transition: transform 220ms ease; }

/* Live-Suche unter dem Suchfeld. */
.df-product-search__inner { position: relative; }
.df-live-search {
    margin-top: 10px; padding: 16px; color: #e8f2f4; background: #102128;
    border: 1px solid rgba(145,184,193,.22); border-radius: 8px;
    box-shadow: 0 22px 50px rgba(0,0,0,.38);
}
.df-live-search__section + .df-live-search__section { margin-top: 16px; padding-top: 15px; border-top: 1px solid rgba(145,184,193,.14); }
.df-live-search__heading { display: block; margin-bottom: 9px; color: #fff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.df-live-search__products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.df-live-product { min-width: 0; padding: 7px; display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: center; gap: 10px; color: #fff; background: #0a191f; border: 1px solid rgba(145,184,193,.12); border-radius: 5px; }
.df-live-product:hover { border-color: rgba(0,190,190,.5); background: #13272e; }
.df-live-product img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; }
.df-live-product span { min-width: 0; }
.df-live-product strong { display: block; overflow: hidden; color: #fff; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.df-live-product small { display: block; margin-top: 4px; color: #c9ff00; font-size: 11px; font-weight: 900; }
.df-live-search__links { display: flex; flex-wrap: wrap; gap: 7px; }
.df-live-search__link { padding: 8px 10px; display: inline-flex; align-items: center; gap: 8px; color: #e9f3f5; background: #0a191f; border: 1px solid rgba(145,184,193,.12); border-radius: 4px; font-size: 11px; }
.df-live-search__link small { color: var(--df-primary); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.df-live-search__link:hover { border-color: rgba(0,190,190,.5); }
.df-live-search__empty { padding: 14px; color: rgba(230,241,244,.68); text-align: center; font-size: 12px; }

@media screen and (max-width: 760px) {
    .df-filter-toggle { float: none; margin: 0 8px 18px 0; }
    .df-live-search__products { grid-template-columns: 1fr; }
    .df-shop-filter__actions { grid-template-columns: 1fr; }
}

/* =========================================================
   DAS-FISHING 1.8.0 – Produkt, Warenkorb & Checkout
   ========================================================= */

/* Gemeinsame Breite für Conversion-Seiten */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.single-product .woocommerce {
    width: min(calc(100% - 48px), 1320px);
}

/* Bestellfortschritt */
.df-checkout-steps {
    margin: 0 0 34px;
    padding: 13px 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    background: #102027;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 9px;
}
.df-checkout-step {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}
.df-checkout-step__number {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    font-size: 11px;
}
.df-checkout-step.is-active { color: #fff; }
.df-checkout-step.is-active .df-checkout-step__number {
    color: #061216;
    background: var(--df-accent);
    border-color: var(--df-accent);
}
.df-checkout-step.is-complete { color: var(--df-primary); }
.df-checkout-step.is-complete .df-checkout-step__number {
    border-color: var(--df-primary);
    color: var(--df-primary);
}

/* Produktdetail: bessere Hierarchie */
.single-product div.product div.summary {
    padding: 8px 0 0 42px;
}
.df-product-kicker {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 13px;
    color: rgba(255,255,255,.52);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
}
.df-product-kicker__brand {
    color: var(--df-primary);
}
.df-product-kicker span + span::before {
    content: '';
    width: 3px;
    height: 3px;
    margin-right: 13px;
    display: inline-block;
    vertical-align: middle;
    background: rgba(255,255,255,.26);
    border-radius: 50%;
}
.df-product-status {
    width: fit-content;
    margin: 8px 0 16px;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #dfffc4;
    background: rgba(118,195,71,.08);
    border: 1px solid rgba(118,195,71,.22);
    border-radius: 6px;
    font-size: 11px;
}
.df-product-status.is-unavailable {
    color: #ffc5c5;
    background: rgba(255,89,100,.07);
    border-color: rgba(255,89,100,.22);
}
.df-product-status__dot {
    width: 7px;
    height: 7px;
    background: #78c846;
    border-radius: 50%;
}
.df-product-status.is-unavailable .df-product-status__dot { background: #ff5964; }
.single-product .df-single-benefits {
    margin-top: 20px;
    background: #102027;
    border-color: rgba(255,255,255,.10);
}
.single-product .woocommerce-tabs {
    margin-top: 54px;
    padding-top: 0;
    border-top: 1px solid rgba(255,255,255,.10);
}
.single-product .woocommerce-tabs ul.tabs {
    gap: 26px;
}
.single-product .woocommerce-Tabs-panel {
    max-width: 980px;
    color: #c6d1d6;
    line-height: 1.75;
}
.single-product .related.products,
.single-product .upsells.products {
    margin-top: 70px;
    padding-top: 34px;
    border-top: 1px solid rgba(255,255,255,.10);
}

/* Warenkorb zweigeteilt und ruhiger */
.woocommerce-cart .cart-collaterals {
    margin-top: 34px;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    width: min(100%, 540px);
}
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
    background: #102027;
    border-color: rgba(255,255,255,.10);
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td.actions {
    background: #13262e;
}
.woocommerce-cart table.shop_table td {
    background: #102027;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title {
    font-size: clamp(32px, 4vw, 48px);
    letter-spacing: -1px;
}

/* Checkout seriöser, weniger riesig */
.woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr);
    gap: 44px;
}
.woocommerce-checkout #order_review {
    top: 100px;
}
.woocommerce-checkout #order_review_heading {
    font-size: 20px;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
    box-shadow: 0 14px 35px rgba(0,0,0,.10);
}
.woocommerce-checkout .form-row label {
    color: #dfe8eb;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    background: #0b181e;
}

/* Vertrauen nach Warenkorb / Checkout */
.df-checkout-trust {
    width: 100%;
    margin: 38px auto 0;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    background: #102027;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 9px;
}
.df-checkout-trust > div {
    padding: 4px 22px;
}
.df-checkout-trust > div + div {
    border-left: 1px solid rgba(255,255,255,.10);
}
.df-checkout-trust strong,
.df-checkout-trust span { display: block; }
.df-checkout-trust strong {
    margin-bottom: 4px;
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
}
.df-checkout-trust span {
    color: rgba(255,255,255,.55);
    font-size: 11px;
}

@media (max-width: 900px) {
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce,
    .single-product .woocommerce { width: min(calc(100% - 28px), 1320px); }
    .woocommerce-checkout form.checkout { display: block; }
    .woocommerce-checkout #order_review_heading { margin: 38px 0 16px; }
    .woocommerce-checkout #order_review { position: static; }
    .single-product div.product div.summary { padding-left: 0; }
    .df-checkout-trust { grid-template-columns: 1fr; }
    .df-checkout-trust > div { padding: 12px 4px; }
    .df-checkout-trust > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.10); }
}
@media (max-width: 560px) {
    .df-checkout-steps { padding: 8px; }
    .df-checkout-step { gap: 6px; font-size: 9px; }
    .df-checkout-step__number { width: 22px; height: 22px; flex-basis: 22px; }
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review { padding: 20px; }
}


/* =========================================================
   DAS-FISHING 1.8.1 – Warenkorb / Checkout Feinschliff
   ========================================================= */

/* Erfolgs-/Informationsmeldung auf Produktseiten auf die volle
   Shopbreite ausrichten. */
.single-product .woocommerce-message,
.single-product .woocommerce-error,
.single-product .woocommerce-info,
.single-product .woocommerce-notices-wrapper {
    width: min(calc(100% - 48px), 1400px) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Der eigentliche Hinweis soll die Wrapperbreite komplett ausnutzen. */
.single-product .woocommerce-notices-wrapper > .woocommerce-message,
.single-product .woocommerce-notices-wrapper > .woocommerce-error,
.single-product .woocommerce-notices-wrapper > .woocommerce-info {
    width: 100% !important;
    max-width: none !important;
}

/* Klassischer Warenkorb: CTA klar als primäre Aktion zeigen. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    color: #071014 !important;
    background: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
    box-shadow: 0 12px 30px rgba(199, 240, 0, .16) !important;
}

/* WooCommerce Block-Warenkorb: "Weiter zur Kasse" ebenfalls als
   eindeutigen grünen Primärbutton auszeichnen. */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    min-height: 58px !important;
    color: #071014 !important;
    background: var(--df-accent) !important;
    border: 1px solid var(--df-accent) !important;
    border-radius: 6px !important;
    font-weight: 900 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 30px rgba(199, 240, 0, .16) !important;
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    color: #071014 !important;
    filter: brightness(1.07);
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(199, 240, 0, .22) !important;
}

/* Block-Checkout deutlich näher unter den Header holen. Der alte Aufbau
   addierte Seiten- und Block-Padding und erzeugte dadurch viel Leerraum. */
body.woocommerce-checkout .df-main {
    padding-top: 18px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
    width: min(calc(100% - 48px), 1320px) !important;
    max-width: 1320px !important;
    margin-top: 0 !important;
    padding-top: 18px !important;
}

/* Express-Kasse nicht zusätzlich nach unten drücken. */
body.woocommerce-checkout .wc-block-components-express-payment,
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule,
body.woocommerce-checkout .wc-block-checkout__express-payment {
    margin-top: 0 !important;
}

@media screen and (max-width: 900px) {
    .single-product .woocommerce-message,
    .single-product .woocommerce-error,
    .single-product .woocommerce-info,
    .single-product .woocommerce-notices-wrapper {
        width: min(calc(100% - 28px), 1400px) !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout {
        width: min(calc(100% - 28px), 1320px) !important;
        padding-top: 10px !important;
    }
}


/* =========================================================
   DAS-FISHING 1.9.0 – Sendungsverfolgung
   ========================================================= */
.df-order-tracking {
    width: min(calc(100% - 48px), 1320px);
    margin: 30px auto;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    background: #102027;
    border: 1px solid rgba(255,255,255,.10);
    border-left: 3px solid var(--df-accent);
    border-radius: 8px;
}
.df-order-tracking__icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: #071014;
    background: var(--df-accent);
    border-radius: 50%;
    font-size: 20px;
    font-weight: 900;
}
.df-order-tracking__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: var(--df-accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .7px;
    text-transform: uppercase;
}
.df-order-tracking h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 20px;
}
.df-order-tracking__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 20px;
    color: rgba(255,255,255,.68);
    font-size: 12px;
}
.df-order-tracking__meta strong { color: #fff; }
.df-order-tracking__button {
    min-height: 44px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #071014 !important;
    background: var(--df-accent);
    border: 1px solid var(--df-accent);
    border-radius: 5px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .35px;
    text-transform: uppercase;
}
.df-order-tracking__button:hover {
    color: #071014 !important;
    filter: brightness(1.06);
}

@media (max-width: 760px) {
    .df-order-tracking {
        width: min(calc(100% - 28px), 1320px);
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 18px;
    }
    .df-order-tracking__button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* =========================================================
   Vorkasse / Banküberweisung: Verwendungszweck
   ========================================================= */
.df-bacs-checkout-hint {
    margin: 12px 0 0 !important;
    padding: 11px 13px;
    color: #dce5e8;
    background: rgba(199, 240, 0, .07);
    border-left: 3px solid var(--df-accent);
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.55;
}

.df-bacs-reference {
    width: min(calc(100% - 40px), 1400px);
    margin: 20px auto 28px;
    padding: 20px 22px;
    color: #eef3f5;
    background: linear-gradient(135deg, rgba(199,240,0,.09), rgba(14,27,33,.96) 48%);
    border: 1px solid rgba(199, 240, 0, .32);
    border-left: 4px solid var(--df-accent);
    border-radius: 8px;
}

.df-bacs-reference__label {
    margin-bottom: 5px;
    color: #aebbc1;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.df-bacs-reference__number {
    margin-bottom: 7px;
    color: var(--df-accent);
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 900;
    line-height: 1.15;
}

.df-bacs-reference p {
    margin: 0;
    color: #c9d3d7;
    font-size: 14px;
    line-height: 1.6;
}

.df-bacs-reference p strong {
    color: #fff;
}

@media screen and (max-width: 600px) {
    .df-bacs-reference {
        width: calc(100% - 28px);
        padding: 17px 16px;
    }
}

/* =========================================================
   DAS-FISHING 2.1.0 – Shopkomfort
   ========================================================= */

/* Sortierung + Filter sitzen als ein gemeinsamer Block innerhalb der 1400px Shoplinie. */
.df-shop-controls {
    width: min(calc(100% - 40px), 1400px);
    margin: 0 auto 22px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    clear: both;
}
.df-shop-controls .woocommerce-ordering {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.df-shop-controls .df-filter-toggle {
    float: none !important;
    margin: 0 !important;
    min-height: 44px;
}
@media (max-width: 700px) {
    .df-shop-controls { width: calc(100% - 28px); justify-content: stretch; }
    .df-shop-controls .woocommerce-ordering { flex: 1 1 auto; }
    .df-shop-controls .woocommerce-ordering select { width: 100%; }
    .df-shop-controls .df-filter-toggle { flex: 0 0 auto; }
}

/* Lagerstatus */
.df-stock-status,
.df-card-stock {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b7c5ca;
    font-size: 12px;
    font-weight: 800;
}
.df-stock-status { margin: 10px 0 15px; }
.df-card-stock { margin: 7px auto 2px; justify-content: center; font-size: 10px; }
.df-stock-status > span,
.df-card-stock > span {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #28c889;
    box-shadow: 0 0 0 3px rgba(40,200,137,.1);
}
.df-stock-status.is-low,
.df-card-stock.is-low { color: #ffd56a; }
.df-stock-status.is-low > span,
.df-card-stock.is-low > span { background: #ffbd3e; box-shadow: 0 0 0 3px rgba(255,189,62,.1); }
.df-stock-status.is-unavailable,
.df-card-stock.is-unavailable { color: #ff8f96; }
.df-stock-status.is-unavailable > span,
.df-card-stock.is-unavailable > span { background: #f35e68; box-shadow: 0 0 0 3px rgba(243,94,104,.1); }

/* Merkliste */
.df-wishlist-button {
    min-height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #c7d2d6;
    background: #0b171c;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 5px;
    cursor: pointer;
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.df-wishlist-button > span:first-child { color: var(--df-primary); font-size: 18px; line-height: 1; }
.df-wishlist-button:hover,
.df-wishlist-button:focus-visible { color: #fff; border-color: rgba(0,190,190,.55); background: #12272e; }
.df-wishlist-button.is-active { color: #fff; border-color: rgba(199,240,0,.45); }
.df-wishlist-button.is-active > span:first-child { color: var(--df-accent); }
ul.products li.product .df-wishlist-button { width: calc(100% - 24px); margin: 8px 12px 12px; }
.single-product .summary .df-wishlist-button { margin: 0 0 18px; }

.df-wishlist-page,
.df-404,
.df-accessories { padding-top: 56px; padding-bottom: 80px; }
.df-wishlist-head > span,
.df-accessories__head > span,
.df-404__hero > span,
.df-404__section-head > span {
    color: var(--df-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.df-wishlist-head h1,
.df-404__hero h1 { margin: 8px 0 10px; color: #fff; font-size: clamp(34px, 5vw, 64px); line-height: 1; }
.df-wishlist-head p,
.df-404__hero p { max-width: 720px; color: #aebcc2; line-height: 1.65; }
.df-wishlist-page ul.products { margin-top: 34px !important; }
.df-wishlist-empty { margin-top: 35px; padding: 34px; background: #102027; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; }
.df-wishlist-empty strong { display:block; color:#fff; font-size:22px; }
.df-wishlist-empty p { color:#aebcc2; }
.df-wishlist-empty a { display:inline-flex; min-height:42px; padding:0 16px; align-items:center; color:#071014; background:var(--df-accent); border-radius:5px; font-weight:900; text-transform:uppercase; font-size:10px; }

/* Geteilter Warenkorb */
.df-share-cart {
    width: 100%;
    margin: 22px 0 10px;
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    background: #102027;
    border: 1px solid rgba(0,190,190,.24);
    border-radius: 7px;
}
.df-share-cart > div:first-child strong { display:block; color:#fff; font-size:15px; }
.df-share-cart > div:first-child span { display:block; margin-top:3px; color:#9eafb6; font-size:12px; }
.df-share-cart__button,
.df-share-cart__copy {
    min-height: 42px;
    padding: 0 15px;
    color: #071014;
    background: var(--df-accent);
    border: 1px solid var(--df-accent);
    border-radius: 5px;
    cursor: pointer;
    font-weight: 900;
    font-size: 10px;
    text-transform: uppercase;
}
.df-share-cart__result { grid-column: 1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.df-share-cart__result[hidden] { display:none; }
.df-share-cart__result input { min-height:42px; width:100%; padding:0 12px; color:#dce5e8; background:#091419; border:1px solid rgba(255,255,255,.12); border-radius:5px; font-size:13px; }
.df-share-cart__status { grid-column:1/-1; margin:0; color:#aebcc2; font-size:11px; }
@media (max-width:650px) {
    .df-share-cart { grid-template-columns:1fr; }
    .df-share-cart__button { width:100%; }
    .df-share-cart__result { grid-template-columns:1fr; }
}

/* Passende Produkte / Zubehör */
.df-accessories { padding-top: 38px; border-top: 1px solid rgba(255,255,255,.08); }
.df-accessories__head { margin-bottom: 24px; }
.df-accessories__head h2,
.df-404__section-head h2 { margin: 5px 0 6px; color:#fff; font-size:clamp(26px,3vw,38px); }
.df-accessories__head p { margin:0; color:#9eafb6; }

/* 404 */
.df-404__hero {
    padding: 54px;
    background: radial-gradient(circle at 85% 15%, rgba(0,190,190,.11), transparent 35%), #102027;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
}
.df-404__search { max-width:760px; margin-top:26px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.df-404__search input { min-height:50px; padding:0 16px; color:#fff; background:#081419; border:1px solid rgba(255,255,255,.14); border-radius:5px; font-size:16px; }
.df-404__search button,
.df-404__actions a.is-primary { color:#071014; background:var(--df-accent); border-color:var(--df-accent); }
.df-404__search button { min-height:50px; padding:0 20px; border:1px solid var(--df-accent); border-radius:5px; font-weight:900; text-transform:uppercase; cursor:pointer; }
.df-404__actions { margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.df-404__actions a { min-height:42px; padding:0 15px; display:inline-flex; align-items:center; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:5px; font-size:10px; font-weight:900; text-transform:uppercase; }
.df-404__products { padding-top:54px; }
.df-404__section-head { margin-bottom:24px; }
@media (max-width:650px) {
    .df-404__hero { padding:28px 20px; }
    .df-404__search { grid-template-columns:1fr; }
}

.df-shop-width { width: min(calc(100% - 40px), 1400px); margin-inline: auto; }
.df-header__wishlist {
    position: relative;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--df-text-muted);
    border: 1px solid var(--df-border);
    border-radius: 50%;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
.df-header__wishlist:hover { color:#fff; border-color:rgba(0,190,190,.48); background:rgba(0,190,190,.06); }
.df-header__wishlist-count {
    position:absolute; top:-5px; right:-4px;
    width:17px; min-width:17px; height:17px; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    color:#071014; background:var(--df-accent); border-radius:999px;
    font-size:9px; font-weight:900; line-height:17px; text-align:center;
}
.df-header__wishlist-count:empty { display:none; }


/* =========================================================
   DAS-FISHING 2.1.1 – kompakte Merkliste, Cart Share & Cross-Sells
   ========================================================= */

/* Auf Shop- und Kategorieseiten keine Lagerzeile unter jeder Karte. */
.woocommerce-shop .df-card-stock,
.tax-product_cat .df-card-stock,
.tax-pwb-brand .df-card-stock,
.df-wishlist-page .df-card-stock { display: none !important; }

/* Merkliste bewusst kompakter als der normale Shop. */
.df-wishlist-page { padding-top: 34px; padding-bottom: 70px; }
.df-wishlist-head {
    padding-bottom: 18px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.df-wishlist-head h1 { margin: 4px 0 5px; font-size: clamp(30px, 3.4vw, 46px); }
.df-wishlist-head p { margin: 0; font-size: 14px; }
.df-wishlist-head small { color: #8fa3aa; font-size: 11px; font-weight: 800; }
.df-wishlist-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.df-wishlist-card {
    min-width: 0;
    overflow: hidden;
    background: #102027;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    transition: transform .18s ease, border-color .18s ease;
}
.df-wishlist-card:hover { transform: translateY(-2px); border-color: rgba(0,190,190,.42); }
.df-wishlist-card__image {
    aspect-ratio: 1 / 1;
    display: block;
    overflow: hidden;
    background: #0a151a;
}
.df-wishlist-card__image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.df-wishlist-card__body { padding: 14px; }
.df-wishlist-card__title {
    min-height: 42px;
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.4;
}
.df-wishlist-card__price { margin-top: 9px; color: var(--df-accent); font-size: 17px; font-weight: 900; }
.df-wishlist-card__actions { margin-top: 14px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.df-wishlist-card__primary {
    min-height: 40px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #081419;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 5px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}
.df-wishlist-card__primary:hover { color: #071014; background: var(--df-accent); border-color: var(--df-accent); }
.df-wishlist-card .df-wishlist-button { min-width: 42px; width: 42px; margin: 0; padding: 0; }
.df-wishlist-card .df-wishlist-button__text { display: none; }
.df-wishlist-card .df-wishlist-button > span:first-child { font-size: 16px; }
@media (max-width: 1050px) { .df-wishlist-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px) { .df-wishlist-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) {
    .df-wishlist-head { align-items: start; flex-direction: column; gap: 6px; }
    .df-wishlist-grid { grid-template-columns: 1fr; }
}

/* Geteilten Warenkorb sowohl beim klassischen Cart als auch beim Cart Block sichtbar halten. */
.wp-block-woocommerce-cart .df-share-cart,
.woocommerce-cart .df-share-cart {
    width: min(100%, 1400px);
    margin: 22px auto 10px;
}
.df-share-cart__result input { user-select: all; }

/* WooCommerce Cross-Sells im Warenkorb dezenter und passend zum Theme. */
.woocommerce-cart .cross-sells,
.wp-block-woocommerce-cart .wc-block-cart__cross-sells,
.wc-block-components-product-collection[data-block-name*="cross"] {
    width: min(100%, 1400px);
    margin: 34px auto 0 !important;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.woocommerce-cart .cross-sells > h2,
.wp-block-woocommerce-cart .wc-block-cart__cross-sells-title,
.wc-block-components-product-collection[data-block-name*="cross"] h2 {
    margin: 0 0 16px !important;
    color: #fff !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}
.woocommerce-cart .cross-sells > h2::before,
.wp-block-woocommerce-cart .wc-block-cart__cross-sells-title::before {
    content: 'PASSEND DAZU';
    display: block;
    margin-bottom: 5px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
}
.woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 14px !important;
}
.woocommerce-cart .cross-sells ul.products li.product {
    margin: 0 !important;
    padding-bottom: 10px !important;
}
.woocommerce-cart .cross-sells ul.products li.product img { aspect-ratio: 1/1; object-fit: cover; }
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title { font-size: 12px !important; }
@media (max-width: 800px) { .woocommerce-cart .cross-sells ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }


/* =========================================================
   DAS-FISHING 2.2.0 – kompakte Merkliste & Shop-Kategorie-Hub
   ========================================================= */

/* Die Shop-Startseite ist eine echte Einstiegsseite. Die Produktliste bleibt
   auf Kategorien, Suche, Marken und gefilterten Ansichten beschränkt. */
.woocommerce-shop .df-shop-controls,
.woocommerce-shop ul.products,
.woocommerce-shop .woocommerce-pagination,
.woocommerce-shop .woocommerce-result-count {
    display: none !important;
}

.df-shop-hub {
    width: min(calc(100% - 40px), 1400px);
    margin: 20px auto 54px;
}
.df-shop-hub__head {
    margin-bottom: 22px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}
.df-shop-hub__head span {
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.df-shop-hub__head h1 {
    margin: 5px 0 5px;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.05;
}
.df-shop-hub__head p {
    max-width: 700px;
    margin: 0;
    color: #9fb0b7;
    font-size: 13px;
    line-height: 1.6;
}
.df-shop-hub__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.df-shop-hub-card {
    position: relative;
    min-width: 0;
    aspect-ratio: 1.42 / 1;
    overflow: hidden;
    display: block;
    background: #102027;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 9px;
    transition: transform .18s ease, border-color .18s ease;
}
.df-shop-hub-card:hover,
.df-shop-hub-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(0,190,190,.45);
}
.df-shop-hub-card__media,
.df-shop-hub-card__media img {
    width: 100%;
    height: 100%;
    display: block;
}
.df-shop-hub-card__media img {
    object-fit: cover;
    transition: transform .25s ease;
}
.df-shop-hub-card:hover .df-shop-hub-card__media img { transform: scale(1.025); }
.df-shop-hub-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(4,12,15,.15) 62%, rgba(4,12,15,.88) 100%);
    pointer-events: none;
}
.df-shop-hub-card__label {
    position: absolute;
    z-index: 2;
    left: 16px;
    bottom: 15px;
    min-height: 42px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #071014;
    background: var(--df-accent);
    border-radius: 5px;
    font-size: 13px;
    font-weight: 900;
}
.df-shop-hub-card__label b { font-size: 17px; line-height: 1; }
.df-shop-hub-card__badge {
    position: absolute;
    z-index: 3;
    top: 13px;
    right: 13px;
    padding: 6px 9px;
    color: #071014;
    background: var(--df-accent);
    border-radius: 4px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

/* Merkliste bewusst kürzer und leichter als normale Shop-Karten. */
.df-wishlist-grid {
    grid-template-columns: repeat(auto-fill, minmax(205px, 235px));
    gap: 14px;
    justify-content: start;
}
.df-wishlist-card {
    width: 100%;
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}
.df-wishlist-card.is-removing {
    opacity: 0;
    transform: scale(.96);
    pointer-events: none;
}
.df-wishlist-card__image { aspect-ratio: 4 / 3; }
.df-wishlist-card__body { padding: 11px; }
.df-wishlist-card__title {
    min-height: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 12px;
    line-height: 1.35;
}
.df-wishlist-card__price {
    margin-top: 7px;
    font-size: 15px;
}
.df-wishlist-card__actions {
    margin-top: 10px;
    gap: 6px;
}
.df-wishlist-card__primary {
    min-height: 36px;
    padding: 0 9px;
    font-size: 8px;
}
.df-wishlist-card .df-wishlist-button {
    min-width: 36px;
    width: 36px;
    min-height: 36px;
    height: 36px;
}
.df-wishlist-card .df-wishlist-button > span:first-child { font-size: 15px; }

@media (max-width: 900px) {
    .df-shop-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .df-shop-hub { margin-top: 12px; }
    .df-shop-hub__grid { grid-template-columns: 1fr; gap: 12px; }
    .df-shop-hub-card { aspect-ratio: 1.55 / 1; }
    .df-wishlist-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 420px) {
    .df-wishlist-grid { grid-template-columns: 1fr; }
}


/* =========================================================
   DAS-FISHING 2.3.0 – Shop-Hub exakt im 1400px Raster
   ========================================================= */
.woocommerce-shop .df-shop-hub,
.woocommerce-shop .df-shop-hub__head,
.woocommerce-shop .df-shop-hub__grid {
    box-sizing: border-box;
}
.woocommerce-shop .df-shop-hub {
    max-width: 1400px !important;
    width: min(calc(100% - 40px), 1400px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.df-shop-hub-card__badge.is-beliebt,
.df-shop-hub-card__badge.is-bestseller { color:#fff; background:#e63b19; }
.df-shop-hub-card__badge.is-sale { color:#fff; background:#d93542; }
.df-shop-hub-card__badge.is-tipp { color:#071014; background:#34d6cf; }
@media (max-width: 600px) {
    .woocommerce-shop .df-shop-hub { width: calc(100% - 28px) !important; }
}


/* =========================================================
   DAS-FISHING 2.3.1 – Abstand zwischen Breadcrumb und Shop-Hub
   ========================================================= */
.woocommerce-shop .woocommerce-breadcrumb {
    margin-bottom: 0 !important;
}

.woocommerce-shop .df-shop-hub {
    margin-top: 34px !important;
}

.woocommerce-shop .df-shop-hub__head {
    margin-top: 0;
}

@media (max-width: 600px) {
    .woocommerce-shop .df-shop-hub {
        margin-top: 24px !important;
    }
}


/* =========================================================
   DAS-FISHING 2.3.2 – Shop-Hub sauber unter dem Breadcrumb
   ========================================================= */
/* Der Breadcrumb der Shop-Startseite ist historisch gefloatet. Ohne clear
   kann der Shop-Hub rechts daneben hochrutschen. Der Hub beginnt jetzt
   garantiert in einer neuen Zeile mit einem sichtbaren Abstand. */
.woocommerce-shop .df-shop-hub {
    clear: both !important;
    display: block !important;
    margin-top: 0 !important;
    padding-top: 30px !important;
}

.woocommerce-shop .df-shop-hub__head {
    display: block !important;
    margin: 0 0 24px !important;
}

@media (max-width: 600px) {
    .woocommerce-shop .df-shop-hub {
        padding-top: 22px !important;
    }
}


/* =========================================================
   DAS-FISHING 2.3.3 – leere Shopansichten
   ========================================================= */
.df-empty-shop {
    width: min(1400px, calc(100% - 40px));
    margin: 28px auto 90px;
    padding: 28px 30px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    color: #fff;
    background: linear-gradient(135deg, rgba(15,36,43,.96), rgba(8,22,28,.96));
    border: 1px solid rgba(0,194,194,.22);
    border-radius: 10px;
    box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.df-empty-shop__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0,194,194,.36);
    border-radius: 50%;
    color: var(--df-primary);
    font-size: 30px;
    line-height: 1;
}
.df-empty-shop__eyebrow {
    display: block;
    margin-bottom: 5px;
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}
.df-empty-shop h2 { margin: 0 0 6px; font-size: clamp(20px,2vw,28px); line-height: 1.1; }
.df-empty-shop p { max-width: 760px; margin: 0; color: var(--df-text-muted); font-size: 13px; line-height: 1.55; }
.df-empty-shop__actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.df-empty-shop__actions a { min-height:42px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:5px; font-size:10px; font-weight:900; text-transform:uppercase; }
.df-empty-shop__primary { color:#071014 !important; background:var(--df-accent); border:1px solid var(--df-accent); }
.df-empty-shop__secondary { color:#fff !important; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.025); }
.df-empty-shop__primary:hover { filter:brightness(1.06); }
.df-empty-shop__secondary:hover { border-color:rgba(0,194,194,.45); color:var(--df-primary) !important; }
@media (max-width:760px){
  .df-empty-shop{width:min(100% - 28px,1400px);grid-template-columns:44px 1fr;padding:22px 18px;margin-top:20px;}
  .df-empty-shop__icon{width:44px;height:44px;font-size:24px;}
  .df-empty-shop__actions{grid-column:1/-1;justify-content:stretch;}
  .df-empty-shop__actions a{flex:1 1 160px;}
}

/* =========================================================
   DAS-FISHING 2.4.0 – Newsletter, Footer-Widgets, leere Kategorien
   ========================================================= */

/* Leere Kategorie muss die gefloatete Breadcrumb-Zeile vollständig verlassen. */
.tax-product_cat .df-empty-shop,
.tax-product_tag .df-empty-shop,
.tax-pwb-brand .df-empty-shop,
.tax-product_brand .df-empty-shop,
.post-type-archive-product .df-empty-shop {
    clear: both !important;
    float: none !important;
    width: min(calc(100% - 40px), 1400px) !important;
    max-width: 1400px !important;
    margin: 28px auto 90px !important;
}

/* Newsletter ersetzt die frühere große Shop-CTA. */
.df-footer-cta {
    padding: 46px 0;
}

.df-footer-cta__inner--newsletter {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    align-items: center;
    gap: 64px;
}

.df-footer-newsletter__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.df-footer-newsletter__copy h2 {
    max-width: 650px;
    font-size: clamp(28px, 3vw, 46px);
    line-height: 1.02;
}

.df-footer-newsletter__copy p {
    max-width: 610px;
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
}

.df-footer-newsletter__form-wrap {
    min-width: 0;
}

.df-footer-newsletter__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 5px;
    background: rgba(5, 17, 22, .88);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 7px;
    backdrop-filter: blur(8px);
}

.df-footer-newsletter__field input {
    min-width: 0;
    min-height: 50px;
    padding: 0 15px;
    color: #fff;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 14px;
}

.df-footer-newsletter__field input::placeholder {
    color: #8ea0a7;
}

.df-footer-newsletter__field:focus-within {
    border-color: rgba(0,194,194,.65);
    box-shadow: 0 0 0 2px rgba(0,194,194,.08);
}

.df-footer-newsletter__field button {
    min-height: 50px;
    padding: 0 20px;
    color: #071014;
    background: var(--df-accent);
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-footer-newsletter__privacy {
    margin: 9px 4px 0 !important;
    color: #83969d !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

.df-footer-newsletter__privacy a {
    color: var(--df-primary);
}

.df-newsletter-feedback {
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1.45;
}
.df-newsletter-feedback.is-success { color:#d9f8ee; background:rgba(20,156,111,.14); border:1px solid rgba(39,205,150,.30); }
.df-newsletter-feedback.is-info { color:#d7e8ee; background:rgba(0,166,166,.10); border:1px solid rgba(0,194,194,.24); }
.df-newsletter-feedback.is-error { color:#ffd7da; background:rgba(210,54,70,.12); border:1px solid rgba(230,78,91,.28); }

/* Widgets sollen sich wie native Footer-Spalten verhalten. */
.df-footer__widget-column .widget + .widget {
    margin-top: 28px;
}
.df-footer__widget-column .widget_nav_menu ul,
.df-footer__widget-column .wp-block-navigation,
.df-footer__widget-column .wp-block-page-list,
.df-footer__widget-column .wp-block-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.df-footer__widget-column .wp-block-heading {
    margin: 0 0 22px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
}

@media screen and (max-width: 900px) {
    .df-footer-cta__inner--newsletter {
        grid-template-columns: 1fr;
        gap: 26px;
    }
}

@media screen and (max-width: 600px) {
    .df-footer-cta { padding: 36px 0; }
    .df-footer-newsletter__field { grid-template-columns: 1fr; gap: 5px; }
    .df-footer-newsletter__field button { width: 100%; }
    .tax-product_cat .df-empty-shop,
    .tax-product_tag .df-empty-shop,
    .tax-pwb-brand .df-empty-shop,
    .tax-product_brand .df-empty-shop,
    .post-type-archive-product .df-empty-shop {
        width: calc(100% - 28px) !important;
    }
}

/* =========================================================
   Mobile UX 2.5.0 – Navigation, Shop, Produkt, Konto, Footer
   ========================================================= */
.df-mobile-menu-toggle,
.df-mobile-nav-backdrop { display: none; }

@media screen and (max-width: 900px) {
    :root { --df-mobile-gutter: 16px; }
    html { scroll-padding-top: 76px; }
    body.df-mobile-menu-open { overflow: hidden; touch-action: none; }

    .df-container {
        width: calc(100% - (var(--df-mobile-gutter) * 2));
    }

    /* Header wird auf Mobil wirklich als App-Bar behandelt. */
    .df-header {
        position: sticky;
        top: 0;
        z-index: 12000;
        background: rgba(6,16,20,.985);
        backdrop-filter: blur(12px);
    }
    body.admin-bar .df-header { top: 32px; }
    .df-header__inner {
        min-height: 72px;
        gap: 10px;
    }
    .df-header__logo {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
    .df-header__logo .custom-logo {
        width: 190px !important;
        max-width: 52vw !important;
        max-height: 52px !important;
    }

    .df-mobile-menu-toggle {
        order: 20;
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        padding: 0;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        color: #fff;
        background: #0b171c;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 50%;
        z-index: 12020;
    }
    .df-mobile-menu-toggle span {
        width: 18px;
        height: 2px;
        display: block;
        background: currentColor;
        border-radius: 2px;
        transition: transform .2s ease, opacity .2s ease;
    }
    .df-mobile-menu-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .df-mobile-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
    .df-mobile-menu-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .df-header__actions {
        order: 10;
        margin-left: auto;
        gap: 7px;
    }
    .df-account-menu { display: none; }
    .df-header__wishlist,
    .df-search-toggle,
    .df-header__cart {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px;
    }

    /* Vollwertiger Offcanvas-Drawer statt zusammengequetschter Desktop-Navigation. */
    .df-navigation {
        position: fixed !important;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 12010;
        width: min(88vw, 390px);
        margin: 0 !important;
        padding: 88px 18px 28px;
        display: block;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #081216;
        border-left: 1px solid rgba(255,255,255,.10);
        box-shadow: -28px 0 70px rgba(0,0,0,.5);
        transform: translateX(105%);
        visibility: hidden;
        transition: transform .24s ease, visibility .24s ease;
    }
    body.admin-bar .df-navigation { top: 46px; padding-top: 76px; }
    .df-navigation.is-mobile-open {
        transform: translateX(0);
        visibility: visible;
    }
    .df-mobile-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 12000;
        width: 100%;
        height: 100%;
        padding: 0;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(0,0,0,.64);
        border: 0;
        transition: opacity .2s ease, visibility .2s ease;
    }
    .df-mobile-nav-backdrop.is-visible { visibility: visible; opacity: 1; }

    .df-navigation__menu {
        width: 100%;
        display: block !important;
    }
    .df-navigation__menu > li {
        width: 100%;
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .df-navigation__menu > li > a {
        min-height: 54px;
        padding: 0 4px !important;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        color: #fff;
        font-size: 14px;
        letter-spacing: .45px;
    }
    .df-navigation__menu > li > a::after {
        left: 0;
        right: auto;
        bottom: 0;
        width: 42px;
    }
    .df-navigation__menu .current-menu-item > a,
    .df-navigation__menu .current_page_item > a { color: var(--df-primary); }

    .df-mega-menu-item { display: flex !important; position: relative !important; }
    .df-mega-toggle {
        width: 52px !important;
        height: 54px !important;
        margin: 0 !important;
        flex: 0 0 52px;
        border-left: 1px solid rgba(255,255,255,.08) !important;
    }

    /* Shop-Kategorien werden im Drawer zu einem kompakten Akkordeon-Browser. */
    .df-shop-mega {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        flex: 0 0 100%;
        margin: 0 !important;
        transform: none !important;
        display: none;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    .df-shop-mega.is-open { display: block; transform: none !important; }
    .df-shop-mega__inner--modern {
        max-height: none !important;
        overflow: visible !important;
        margin: 0 0 12px;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .df-shop-mega__topbar--modern {
        min-height: 0;
        padding: 14px 0 10px !important;
        background: transparent !important;
        border: 0 !important;
    }
    .df-shop-mega__topbar--modern > div { display: none !important; }
    .df-shop-mega__search {
        width: 100% !important;
        min-height: 44px;
        background: #0c1a20 !important;
    }
    .df-modern-mega__rail {
        margin: 8px 0 0;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        background: transparent !important;
        border: 0 !important;
    }
    .df-modern-mega__tab {
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 10px !important;
        justify-content: space-between !important;
        color: rgba(255,255,255,.82) !important;
        background: rgba(255,255,255,.025) !important;
        border-bottom: 1px solid rgba(255,255,255,.07) !important;
        font-size: 11px !important;
    }
    .df-modern-mega__tab > span:last-child { display: inline !important; }
    .df-modern-mega__tab.is-active { color: #fff !important; background: rgba(0,166,166,.12) !important; }
    .df-modern-mega__content {
        margin-top: 8px;
        overflow: visible !important;
        background: transparent !important;
    }
    .df-modern-mega__panel { padding: 8px 2px 12px !important; }
    .df-modern-mega__groups {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
    .df-mega-group {
        padding: 0 10px;
        background: #0b171c;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 6px;
    }
    .df-mega-group__title { min-height: 42px; font-size: 11px; }
    .df-mega-group__links { margin: 2px 0 8px; }
    .df-mega-group__links a,
    .df-mega-group__single { min-height: 38px; font-size: 12px; }

    /* Shop Toolbar / Slider / Karten */
    .df-shop-slider,
    .df-shop-slider-wrap,
    .df-shop-hub,
    .woocommerce .df-shop-toolbar,
    .woocommerce-notices-wrapper,
    .df-brand-overview,
    .df-empty-shop {
        width: calc(100% - (var(--df-mobile-gutter) * 2)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .df-shop-toolbar,
    .woocommerce .df-shop-toolbar {
        gap: 8px !important;
        align-items: stretch !important;
        flex-wrap: wrap !important;
    }
    .woocommerce-ordering { flex: 1 1 190px !important; width: auto !important; margin: 0 !important; }
    .df-filter-toggle { flex: 0 0 auto; min-height: 44px; }

    .df-shop-slider { border-radius: 7px !important; overflow: hidden; }
    .df-shop-slider__slide { min-height: 0 !important; aspect-ratio: 16/7; }
    .df-shop-slider__content { padding: 24px !important; max-width: 72% !important; }
    .df-shop-slider__content h2 { font-size: clamp(24px, 8vw, 38px) !important; }

    .df-shop-hub__grid,
    .df-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
    .df-shop-hub-card { min-height: 230px !important; }

    /* Produktlisten sind auf Mobil 2-spaltig, aber wirklich kompakt. */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 10px !important;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12px !important; line-height: 1.35 !important; }
    .woocommerce ul.products li.product .price { font-size: 16px !important; }
    .df-product-wishlist { min-height: 38px !important; font-size: 9px !important; }

    /* Produktdetail: Bild und Kaufbereich sauber untereinander. */
    .single-product div.product {
        width: calc(100% - (var(--df-mobile-gutter) * 2)) !important;
        margin-inline: auto !important;
    }
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary {
        float: none !important;
        width: 100% !important;
        margin: 0 0 24px !important;
    }
    .single-product div.product .summary .product_title { font-size: clamp(30px, 10vw, 46px) !important; }
    .single-product .woocommerce-tabs ul.tabs { display: flex !important; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
    .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display:none; }

    /* Warenkorb / Checkout / Konto */
    .woocommerce-cart .wp-block-woocommerce-cart,
    .woocommerce-checkout .wp-block-woocommerce-checkout,
    .woocommerce-account .woocommerce {
        width: calc(100% - (var(--df-mobile-gutter) * 2)) !important;
        margin-inline: auto !important;
    }
    .woocommerce-account .woocommerce { display:block !important; }
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content { width:100% !important; float:none !important; }
    .woocommerce-MyAccount-navigation ul { display:flex; gap:6px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
    .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
    .woocommerce-MyAccount-navigation a { min-height:42px; display:flex; align-items:center; padding:0 12px !important; }

    /* Footer */
    .df-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 28px 18px !important; }
}

@media screen and (max-width: 782px) {
    body.admin-bar .df-header { top: 46px; }
}

@media screen and (max-width: 620px) {
    :root { --df-mobile-gutter: 14px; }
    .df-header__inner { min-height: 66px; }
    .df-header__logo .custom-logo { width: 165px !important; max-width: 45vw !important; }
    .df-header__wishlist { display: none !important; }
    .df-mobile-menu-toggle,
    .df-search-toggle,
    .df-header__cart { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }

    .df-navigation { width: min(92vw, 360px); padding: 78px 14px 22px; }
    body.admin-bar .df-navigation { padding-top: 72px; }

    .df-shop-slider__slide { aspect-ratio: 4/3; }
    .df-shop-slider__content { max-width: 86% !important; padding: 20px !important; }
    .df-shop-slider__content p { font-size: 13px !important; }

    .df-shop-hub__grid,
    .df-category-grid { grid-template-columns: 1fr !important; }
    .df-shop-hub-card { min-height: 220px !important; }

    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; }
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product { padding: 7px !important; border-radius: 7px !important; }
    .woocommerce ul.products li.product img { margin-bottom: 8px !important; }
    .woocommerce ul.products li.product .button { min-height: 38px !important; padding-inline: 6px !important; font-size: 8px !important; }
    .woocommerce ul.products li.product .df-product-wishlist span:last-child { display:none; }

    .df-filter-drawer { width: min(92vw, 380px) !important; }
    .df-wishlist-page { padding-top: 30px !important; }
    .df-wishlist-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
    .df-wishlist-card { min-width:0; }

    .df-footer__grid { grid-template-columns: 1fr !important; }
    .df-footer-newsletter__field { grid-template-columns: 1fr !important; }

    .woocommerce-order-received ul.woocommerce-order-overview,
    .woocommerce-order-received ul.order_details { grid-template-columns:1fr !important; }
}

@media screen and (max-width: 390px) {
    .df-header__logo .custom-logo { width: 142px !important; max-width: 40vw !important; }
    .df-header__actions { gap: 5px; }
    .df-search-toggle { display:none !important; }
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .df-wishlist-grid { grid-template-columns: 1fr !important; }
}


/* =========================================================
   Mobile Navigation 2.5.1 – stabiler Left-Offcanvas Drawer
   ========================================================= */
@media screen and (max-width: 900px) {
    /* backdrop-filter erzeugt in manchen Browsern einen Containing Block für
       fixed-Kinder. Der Drawer sitzt im Header, deshalb hier bewusst deaktiviert. */
    .df-header {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .df-navigation {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: min(88vw, 390px) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 92px 20px 30px !important;
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        background: #081216 !important;
        border: 0 !important;
        border-right: 1px solid rgba(255,255,255,.10) !important;
        box-shadow: 28px 0 70px rgba(0,0,0,.52) !important;
        transform: translate3d(-105%,0,0) !important;
        visibility: hidden !important;
        opacity: 1 !important;
        pointer-events: none !important;
        transition: transform .26s cubic-bezier(.22,.61,.36,1), visibility .26s ease !important;
        z-index: 13020 !important;
    }

    body.admin-bar .df-navigation {
        top: 46px !important;
        height: calc(100dvh - 46px) !important;
        max-height: calc(100dvh - 46px) !important;
        padding-top: 80px !important;
    }

    .df-navigation.is-mobile-open {
        transform: translate3d(0,0,0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .df-mobile-nav-backdrop {
        z-index: 13000 !important;
        background: rgba(0,0,0,.70) !important;
    }

    /* Toggle bleibt über Drawer/Backdrop erreichbar. */
    .df-mobile-menu-toggle {
        position: relative !important;
        z-index: 13040 !important;
    }

    /* Alte responsive Navigation vollständig neutralisieren. */
    .df-navigation .df-navigation__menu,
    .df-navigation__menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        list-style: none !important;
    }

    .df-navigation__menu > li {
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        white-space: normal !important;
        border-bottom: 1px solid rgba(255,255,255,.09) !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .df-navigation__menu > li > a {
        min-height: 56px !important;
        padding: 0 4px !important;
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        letter-spacing: .35px !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .df-navigation__menu > li > a::after {
        bottom: 0 !important;
        width: 38px !important;
    }

    .df-navigation__menu > li.current-menu-item > a,
    .df-navigation__menu > li.current_page_item > a,
    .df-navigation__menu > li > a:hover {
        color: var(--df-primary) !important;
    }

    .df-mega-menu-item {
        position: relative !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .df-mega-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Der Shop-Browser bleibt Teil des linken Drawers. */
    .df-shop-mega {
        width: 100% !important;
        flex-basis: 100% !important;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar .df-navigation {
        top: 46px !important;
        height: calc(100dvh - 46px) !important;
    }
}


/* =========================================================
   DAS-FISHING 2.5.2 – Mobile Drawer + Checkout Korrekturen
   ========================================================= */
@media screen and (max-width: 900px) {
    /* Der Drawer wird per JS direkt unter <body> verschoben und darf dadurch
       von keinem Header-/Theme-Stacking-Context mehr verdeckt werden. */
    body > .df-navigation.df-mobile-ported {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: min(88vw, 390px) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        padding: 78px 18px 28px !important;
        overflow: auto !important;
        background: #071115 !important;
        border-right: 1px solid rgba(0,194,194,.22) !important;
        box-shadow: 32px 0 90px rgba(0,0,0,.72) !important;
        transform: translate3d(-105%,0,0) !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 2147483001 !important;
    }
    body > .df-navigation.df-mobile-ported.is-mobile-open {
        transform: translate3d(0,0,0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    body.admin-bar > .df-navigation.df-mobile-ported {
        top: 46px !important;
        height: calc(100dvh - 46px) !important;
        max-height: calc(100dvh - 46px) !important;
    }
    body > .df-mobile-nav-backdrop.df-mobile-ported {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: rgba(2,8,11,.78) !important;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        z-index: 2147483000 !important;
    }
    body.admin-bar > .df-mobile-nav-backdrop.df-mobile-ported { top: 46px !important; }

    .df-mobile-drawer-close {
        position: absolute;
        top: 18px;
        right: 16px;
        width: 44px;
        height: 44px;
        display: inline-grid;
        place-items: center;
        color: #fff;
        background: #0d1a20;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 50%;
        cursor: pointer;
        z-index: 4;
    }
    .df-mobile-drawer-close::before,
    .df-mobile-drawer-close::after {
        content: '';
        position: absolute;
        width: 18px;
        height: 2px;
        background: currentColor;
        border-radius: 2px;
    }
    .df-mobile-drawer-close::before { transform: rotate(45deg); }
    .df-mobile-drawer-close::after { transform: rotate(-45deg); }

    /* Das ursprüngliche Hamburger-X bleibt im Header ein Hamburger.
       Geschlossen wird im Drawer selbst. */
    body.df-mobile-menu-open .df-mobile-menu-toggle span:nth-child(1),
    body.df-mobile-menu-open .df-mobile-menu-toggle span:nth-child(3) { transform:none !important; }
    body.df-mobile-menu-open .df-mobile-menu-toggle span:nth-child(2) { opacity:1 !important; }

    /* WooCommerce Block Checkout: auf Smartphones volle nutzbare Breite. */
    body.woocommerce-checkout .df-main,
    body.woocommerce-checkout main,
    body.woocommerce-checkout article.page,
    body.woocommerce-checkout .entry-content,
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout {
        padding: 22px var(--df-mobile-gutter,16px) 64px !important;
    }
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-main,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
    body.woocommerce-checkout .wc-gzd-checkboxes,
    body.woocommerce-checkout .wc-block-checkout__order-notes {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wc-block-components-address-form {
        width: 100% !important;
        grid-template-columns: 1fr 1fr !important;
    }
    body.woocommerce-checkout .wc-block-components-address-form > * { min-width:0 !important; }
    body.woocommerce-checkout .wc-block-components-text-input,
    body.woocommerce-checkout .wc-blocks-components-select__container,
    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-blocks-components-select__select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

@media screen and (max-width: 600px) {
    body > .df-navigation.df-mobile-ported {
        width: min(92vw, 370px) !important;
        padding: 72px 14px 22px !important;
    }
    body.woocommerce-checkout .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .wc-block-checkout {
        padding: 14px 12px 54px !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 18px 14px !important;
        border-radius: 8px !important;
    }
    body.woocommerce-checkout .wc-block-components-address-form {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    body.woocommerce-checkout .wc-block-components-address-form > * {
        grid-column: 1 / -1 !important;
    }
    body.woocommerce-checkout .wc-block-components-title,
    body.woocommerce-checkout .wc-block-components-checkout-step__title {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }
    body.woocommerce-checkout .wc-block-components-text-input input,
    body.woocommerce-checkout .wc-block-components-address-form input,
    body.woocommerce-checkout .wc-blocks-components-select__select,
    body.woocommerce-checkout .wc-block-checkout textarea {
        min-height: 54px !important;
        font-size: 16px !important;
    }
}


/* =========================================================
   Mobile Feinschliff 2.5.3 – Kontakt + Produktlisten
   ========================================================= */
@media screen and (max-width: 620px) {
    /* Kontaktseite: keine schmale Desktop-Spalte auf dem Handy. */
    .df-contact-page,
    .df-contact-page__main,
    .df-contact-page__main > .df-container,
    .df-contact-page__grid,
    .df-contact-page__form-area,
    .df-contact-page__form-card,
    body.page-id-68 .df-contact-page,
    body.page-id-41 .df-contact-page {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .df-contact-page__main {
        padding: 52px 0 !important;
    }

    .df-contact-page__main > .df-container,
    .df-contact-page .df-container {
        width: calc(100% - 28px) !important;
        margin-inline: auto !important;
    }

    .df-contact-page__grid {
        display: block !important;
    }

    .df-contact-page__form-area h2 {
        font-size: clamp(34px, 11vw, 48px) !important;
        letter-spacing: -1.5px !important;
    }

    .df-contact-page__lead {
        max-width: none !important;
        margin: 16px 0 24px !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .df-contact-page__form-card {
        padding: 18px !important;
        margin: 0 !important;
        border-radius: 10px !important;
    }

    .df-contact-page__form-card form,
    .df-contact-page__form-card .wpforms-container,
    .df-contact-page__form-card .wpforms-form,
    .df-contact-page__form-card .srfm-form,
    .df-contact-page__form-card .sureforms-form {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .df-contact-page__form-card input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    .df-contact-page__form-card select,
    .df-contact-page__form-card textarea {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Shop/Kategorien: auf Smartphones genau eine Karte pro Zeile.
       Durch die volle Breite wirken Karten nicht mehr schmal und langgezogen. */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
    }

    .woocommerce ul.products li.product img,
    .woocommerce-page ul.products li.product img {
        width: 100% !important;
        max-height: 330px !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px !important;
        margin-top: 4px !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        min-width: 110px !important;
        margin: 10px auto 12px !important;
        padding: 8px 14px !important;
        font-size: 16px !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .woocommerce ul.products li.product .df-product-wishlist,
    .woocommerce-page ul.products li.product .df-product-wishlist {
        width: 100% !important;
        min-height: 42px !important;
        font-size: 9px !important;
    }

    .woocommerce ul.products li.product .df-product-wishlist span:last-child,
    .woocommerce-page ul.products li.product .df-product-wishlist span:last-child {
        display: inline !important;
    }
}


/* =========================================================
   Desktop Header Alignment 2.5.5
   ========================================================= */
@media screen and (min-width: 901px) {
    /* Mobile controls must never leak into the desktop header. */
    .df-mobile-menu-toggle,
    .df-mobile-nav-backdrop,
    .df-mobile-drawer-close {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }

    .df-mobile-menu-toggle span,
    .df-mobile-menu-toggle::before,
    .df-mobile-menu-toggle::after {
        display: none !important;
        content: none !important;
    }

    .df-header__inner {
        min-height: 92px;
        display: grid !important;
        grid-template-columns: 260px minmax(0, 1fr) auto;
        align-items: center !important;
        column-gap: 30px;
    }

    .df-header__logo {
        width: 260px !important;
        min-width: 260px;
        flex: none !important;
        align-self: center;
    }

    .df-navigation {
        width: 100%;
        margin: 0 !important;
        align-self: center;
        justify-self: stretch;
    }

    .df-navigation__menu {
        min-height: 46px;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 30px;
    }

    .df-navigation__menu > li {
        min-height: 46px;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .df-navigation__menu > li > a {
        min-height: 46px;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }

    /* One clean active/hover line underneath every desktop nav link. */
    .df-navigation__menu > li > a::after {
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 2px !important;
        height: 2px !important;
    }

    .df-mega-menu-item {
        min-height: 46px;
        display: flex !important;
        align-items: center !important;
    }

    .df-mega-toggle {
        width: 18px !important;
        height: 46px !important;
        margin: 0 0 0 2px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .df-header__actions {
        margin: 0 !important;
        align-self: center;
        justify-self: end;
        display: flex !important;
        align-items: center !important;
    }
}

@media screen and (min-width: 901px) and (max-width: 1200px) {
    .df-header__inner {
        grid-template-columns: 210px minmax(0, 1fr) auto;
        column-gap: 20px;
    }
    .df-header__logo { width: 210px !important; min-width: 210px; }
    .df-navigation__menu { gap: 18px; }
}

/* ==================================================
   Leerer Warenkorb 2.0 – kompakt, hilfreich, DAS-FISHING
================================================== */
.woocommerce-cart .df-empty-cart {
    width: min(calc(100% - 40px), 1400px);
    margin: 0 auto 70px;
}

.df-empty-cart__hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 26px 28px;
    background: linear-gradient(135deg, rgba(0, 166, 166, .08), transparent 52%), #0e1b21;
    border: 1px solid rgba(0, 166, 166, .28);
    border-radius: 12px;
}

.df-empty-cart__icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: var(--df-primary);
    background: rgba(0, 166, 166, .08);
    border: 1px solid rgba(0, 166, 166, .35);
    border-radius: 50%;
}

.df-empty-cart__eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.df-empty-cart__copy h2,
.df-empty-cart__recommend-head h3 {
    margin: 0;
    color: #fff;
    font-weight: 900;
    line-height: 1.08;
}

.df-empty-cart__copy h2 { font-size: clamp(24px, 2.5vw, 34px); }
.df-empty-cart__recommend-head h3 { font-size: clamp(22px, 2vw, 28px); }

.df-empty-cart__copy p {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--df-text-muted);
    font-size: 13px;
    line-height: 1.6;
}

.df-empty-cart__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.df-empty-cart__button {
    min-height: 44px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #fff;
    background: #091419;
    border: 1px solid var(--df-border);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-empty-cart__button--primary {
    color: #071014;
    background: var(--df-accent);
    border-color: var(--df-accent);
}

.df-empty-cart__cats {
    margin: 14px 0 34px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.df-empty-cart__cats-label {
    margin-right: 3px;
    color: var(--df-text-muted);
    font-size: 11px;
    font-weight: 800;
}

.df-empty-cart__cats a {
    padding: 7px 10px;
    color: #dfe9ec;
    background: rgba(255,255,255,.025);
    border: 1px solid var(--df-border);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.df-empty-cart__cats a:hover {
    color: var(--df-primary);
    border-color: rgba(0,166,166,.42);
}

.df-empty-cart__recommend-head {
    margin: 0 0 16px;
    padding-bottom: 14px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--df-border);
}

.df-empty-cart__recommend-head > a {
    color: var(--df-primary);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.df-empty-cart__products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.df-empty-cart-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    background: #0e1a20;
    border: 1px solid var(--df-border);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 160ms ease, transform 160ms ease;
}

.df-empty-cart-card:hover {
    border-color: rgba(0,166,166,.38);
    transform: translateY(-2px);
}

.df-empty-cart-card__image {
    height: 100%;
    min-height: 110px;
    background: #081216;
}

.df-empty-cart-card__image img {
    width: 100%;
    height: 100%;
    min-height: 110px;
    object-fit: cover;
    display: block;
}

.df-empty-cart-card__body { padding: 12px; min-width: 0; }
.df-empty-cart-card__title {
    display: block;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.35;
}
.df-empty-cart-card__price {
    margin-top: 7px;
    color: var(--df-accent);
    font-size: 13px;
    font-weight: 900;
}
.df-empty-cart-card__link {
    display: inline-block;
    margin-top: 8px;
    color: var(--df-primary);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

@media screen and (max-width: 1050px) {
    .df-empty-cart__hero { grid-template-columns: auto minmax(0, 1fr); }
    .df-empty-cart__actions { grid-column: 1 / -1; justify-content: flex-start; padding-left: 86px; }
    .df-empty-cart__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 620px) {
    .woocommerce-cart .df-empty-cart { width: min(calc(100% - 24px), 1400px); margin-bottom: 45px; }
    .df-empty-cart__hero { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
    .df-empty-cart__icon { width: 52px; height: 52px; }
    .df-empty-cart__actions { grid-column: auto; padding-left: 0; display: grid; grid-template-columns: 1fr; }
    .df-empty-cart__button { width: 100%; }
    .df-empty-cart__recommend-head { align-items: flex-start; flex-direction: column; }
    .df-empty-cart__products { grid-template-columns: 1fr; }
    .df-empty-cart-card { grid-template-columns: 88px minmax(0, 1fr); }
    .df-empty-cart-card__image,
    .df-empty-cart-card__image img { min-height: 100px; }
}


/* =========================================================
   DAS-FISHING 2.6.0 – visuelle Shop-Kacheln
   ========================================================= */
.df-shop-hub{width:min(1400px,calc(100% - 32px));margin-inline:auto!important;clear:both}
.df-shop-hub__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;width:100%;margin:0!important}
.df-shop-hub-card{position:relative!important;display:block!important;min-width:0;aspect-ratio:1.25/1;min-height:330px;overflow:hidden!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px!important;background:#0c171c!important;text-decoration:none!important;isolation:isolate}
.df-shop-hub-card__media{position:absolute!important;inset:0;display:block!important;z-index:-3}
.df-shop-hub-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;transition:transform .35s ease,filter .35s ease}
.df-shop-hub-card:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(5,12,15,.02) 30%,rgba(5,12,15,.2) 56%,rgba(5,12,15,.94) 100%)}
.df-shop-hub-card__content{position:absolute;left:24px;right:22px;bottom:20px;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-template-areas:"title arrow" "desc arrow";gap:4px 14px;align-items:end}
.df-shop-hub-card__title{grid-area:title;color:#fff;font-size:clamp(24px,1.8vw,32px);font-weight:900;line-height:1.05;letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.df-shop-hub-card__description{grid-area:desc;margin-top:5px;max-width:92%;color:rgba(255,255,255,.9);font-size:14px;line-height:1.45}
.df-shop-hub-card__arrow{grid-area:arrow;align-self:end;justify-self:end;color:var(--df-accent);font-size:32px;line-height:1;font-weight:400}
.df-shop-hub-card__badge{position:absolute!important;top:16px!important;right:16px!important;left:auto!important;z-index:5;padding:7px 10px!important;border-radius:6px!important;color:#fff!important;background:#e83a20!important;font-size:10px!important;font-weight:900!important;line-height:1!important;letter-spacing:.04em;text-transform:uppercase}
.df-shop-hub-card__badge.is-neu{color:#071014!important;background:var(--df-accent)!important}
@media(hover:hover) and (pointer:fine){.df-shop-hub-card:hover{border-color:rgba(0,196,196,.52)!important}.df-shop-hub-card:hover .df-shop-hub-card__media img{transform:scale(1.035);filter:brightness(1.04)}}
@media(max-width:1000px){.df-shop-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.df-shop-hub-card{min-height:300px}}
@media(max-width:620px){.df-shop-hub{width:min(100% - 24px,1400px)}.df-shop-hub__grid{grid-template-columns:1fr!important;gap:14px!important}.df-shop-hub-card{aspect-ratio:1.5/1;min-height:250px;border-radius:9px!important}.df-shop-hub-card__content{left:18px;right:16px;bottom:15px;grid-template-columns:minmax(0,1fr) 36px}.df-shop-hub-card__title{font-size:22px}.df-shop-hub-card__description{font-size:13px}.df-shop-hub-card__arrow{font-size:28px}}


/* =========================================================
   DAS-FISHING v2.6.1 – Shop-Karten: Textzone wie Referenz
   ========================================================= */
.df-shop-hub-card::before{
    background:
        linear-gradient(180deg,
            rgba(4,10,13,0) 0%,
            rgba(4,10,13,.03) 38%,
            rgba(4,10,13,.28) 58%,
            rgba(4,10,13,.78) 76%,
            rgba(4,10,13,.97) 100%) !important;
}
.df-shop-hub-card::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:31%;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(7,16,20,0),rgba(7,16,20,.7) 36%,rgba(7,16,20,.98) 100%);
}
.df-shop-hub-card__content{
    left:22px !important;
    right:20px !important;
    bottom:18px !important;
    min-height:88px;
    grid-template-columns:minmax(0,1fr) 40px !important;
    grid-template-areas:"title arrow" "desc arrow" !important;
    align-content:end;
    align-items:end;
    row-gap:7px !important;
}
.df-shop-hub-card__title{
    font-size:clamp(23px,1.65vw,30px) !important;
    line-height:1.04 !important;
}
.df-shop-hub-card__description{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin:0 !important;
    max-width:90% !important;
    color:rgba(255,255,255,.88) !important;
    font-size:14px !important;
    line-height:1.4 !important;
    min-height:1.4em;
}
.df-shop-hub-card__arrow{
    padding-bottom:2px;
    font-size:30px !important;
}
@media(max-width:620px){
    .df-shop-hub-card::after{height:38%}
    .df-shop-hub-card__content{left:17px!important;right:15px!important;bottom:14px!important;min-height:76px}
    .df-shop-hub-card__description{font-size:13px!important;max-width:92%!important}
}


/* =========================================================
   DAS-FISHING v2.6.2 – Shop-Karten Overlay + Admin-Fix
   ========================================================= */
/* Verhindert den horizontalen dunklen Streifen im oberen Bildbereich.
   Das Bild liegt jetzt normal auf Ebene 0, der Verlauf nur darüber. */
.df-shop-hub-card{
    isolation:isolate;
}
.df-shop-hub-card__media{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
}
.df-shop-hub-card__media img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.df-shop-hub-card::before{
    z-index:1!important;
    background:linear-gradient(180deg,
        rgba(4,10,13,0) 0%,
        rgba(4,10,13,0) 42%,
        rgba(4,10,13,.16) 58%,
        rgba(4,10,13,.68) 78%,
        rgba(4,10,13,.96) 100%)!important;
}
.df-shop-hub-card::after{
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:36%!important;
    z-index:2!important;
    background:linear-gradient(180deg,
        rgba(7,16,20,0) 0%,
        rgba(7,16,20,.52) 36%,
        rgba(7,16,20,.94) 76%,
        #071014 100%)!important;
}
.df-shop-hub-card__content{z-index:3!important}
.df-shop-hub-card__badge{z-index:4!important}

@media(max-width:620px){
    .df-shop-hub-card::after{height:43%!important}
}
