/*
Theme Name: Massak Theme
Theme URI: https://cubesites.de
Description: Individualisiertes Child-Theme für Massak Logistik basierend auf dem CUBESITES Core im Airbnb-Designsystem.
Author: CubeSites
Author URI: https://cubesites.de
Template: cubesites-theme
Version: 1.0.0
Text Domain: cubesites-massak
*/

:root {
    /* Airbnb Radius System */
    --airbnb-radius-sm: 8px;
    --airbnb-radius-md: 16px;
    --airbnb-radius-xl: 32px;
    --airbnb-radius-full: 9999px;

    /* Airbnb Elevation Shadow */
    --airbnb-shadow-card: rgba(0, 0, 0, 0.02) 0 0 0 1px, rgba(0, 0, 0, 0.04) 0 2px 6px 0, rgba(0, 0, 0, 0.1) 0 4px 8px 0;

    /* WooCommerce Form Variable Overrides */
    --wc-form-border-radius: 0;
}

/* ==========================================================================
   Global Canvas & Base Reset
   ========================================================================== */
body {
    background-color: var(--wp--preset--color--canvas, #ffffff);
    color: var(--wp--preset--color--ink, #222222);
    font-family: var(--wp--preset--font-family--system);
    -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   Minimal Layout Grid Container (Erlaubt 100% freies Gutenberg Styling)
   ========================================================================== */
.wp-block-query .wp-block-post-template,
.wc-block-grid__products,
ul.products,
.cs-airbnb-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 32px 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 32px 0;
}

@media (min-width: 576px) {

    .wp-block-query .wp-block-post-template,
    .wc-block-grid__products,
    ul.products,
    .cs-airbnb-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {

    .wp-block-query .wp-block-post-template,
    .wc-block-grid__products,
    ul.products,
    .cs-airbnb-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Individual Product Item in Loop */
.wp-block-post-template>li,
.wc-block-grid__product,
ul.products li.product,
.cs-airbnb-product-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Links inherit Block Editor text decorations & colors */
.wp-block-post-title a,
.wc-block-grid__product-title a,
ul.products li.product a {
    color: inherit;
    text-decoration: none;
}

/* ==========================================================================
   Global Form & Button Border-Radius Default
   (kein !important → Gutenberg-Editor kann per Block überschreiben)
   ========================================================================== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
textarea,
select,
.input-text,
.woocommerce-Input,
/* WooCommerce Blocks Checkout Felder */
.wc-block-components-text-input input,
.wc-block-components-text-input,
.wc-block-components-select select,
.wc-block-components-select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-textarea textarea,
.wc-block-components-form input,
.wc-block-components-form select,
.wc-block-components-form textarea,
/* WooCommerce Combobox Dropdowns (Land / Region, Bundesland) */
.wc-block-components-combobox,
.wc-block-components-combobox input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-country-input .wc-block-components-combobox,
.wc-block-components-state-input .wc-block-components-combobox,
.components-combobox-control,
.components-combobox-control input,
/* WordPress Login Input Felder */
.login input[type="text"],
.login input[type="password"],
.login form .input,
.login input.input {
    border-radius: 0 !important;
}

button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.button,
.wp-block-button__link,
.wp-element-button,
.woocommerce-button,
.wc-block-components-button,
.woocommerce-form-login .woocommerce-button,
.single_add_to_cart_button,
.wc-block-cart__submit-button,
.checkout-button,
.wc-block-checkout__actions_row button,
.login #wp-submit,
#wp-submit,
.login input[type="submit"],
.massak-btn,
.massak-btn-choice,
.massak-role-switch-link {
    border-radius: 0 !important;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ==========================================================================
   Global Filled Button Hover State: Universelle Hintergrund-Abdunklung
   ========================================================================== */
.button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.single_add_to_cart_button,
.woocommerce-form-login .woocommerce-button,
.login #wp-submit,
#wp-submit,
.massak-btn-ok,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block .wp-element-button {
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Hover- & Focus-Status für alle ausgefüllten Buttons:
   Dunkelt ausschließlich den Hintergrund im selben Farbton ab,
   während die Textfarbe gestochen scharf und reinweiß (#ffffff) bleibt! */
.wp-block-button:not(.is-style-outline)>.wp-block-button__link:not(.massak-btn-cancel):not(.cubesites-top-cart-banner__btn):hover,
.wp-element-button:not(.is-style-outline):not(.massak-btn-cancel):not(.cubesites-top-cart-banner__btn):not(.massak-role-switch-link):not(.cs-airbnb-pill):hover,
.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #payment #place_order:hover,
.single_add_to_cart_button:hover,
.woocommerce-form-login .woocommerce-button:hover,
.login #wp-submit:hover,
#wp-submit:hover,
.massak-btn-ok:hover,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block .wp-element-button:hover,
.wp-block-button:not(.is-style-outline)>.wp-block-button__link:not(.massak-btn-cancel):not(.cubesites-top-cart-banner__btn):focus-visible,
.wp-element-button:not(.is-style-outline):not(.massak-btn-cancel):not(.cubesites-top-cart-banner__btn):not(.massak-role-switch-link):not(.cs-airbnb-pill):focus-visible,
.woocommerce #payment #place_order:focus-visible,
.single_add_to_cart_button:focus-visible,
.massak-btn-ok:focus-visible,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block .wp-element-button:focus-visible {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
}

/* MiniCart Secondary/Outline Button: "Warenkorb anzeigen" / "Zum Warenkorb" -> Dunkel auf Hover */
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block .wp-element-button,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block a,
.wc-block-mini-cart__shopping-button a {
    background-color: transparent !important;
    border: 1.5px solid var(--wp--preset--color--ink, #222222) !important;
    color: var(--wp--preset--color--ink, #222222) !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block .wp-element-button:hover,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block a:hover,
.wc-block-mini-cart__shopping-button a:hover,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block .wp-element-button:focus-visible,
.wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block a:focus-visible,
.wc-block-mini-cart__shopping-button a:focus-visible {
    background-color: var(--wp--preset--color--ink, #222222) !important;
    border-color: var(--wp--preset--color--ink, #222222) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Product Badges: "ANGEBOT" (Sale - Rot) & "NICHT LIEFERBAR" (Dunkelgrau)
   ========================================================================== */
figure.wp-block-post-featured-image,
.wp-block-post-featured-image,
.wp-block-woocommerce-product-collection figure,
.wc-block-components-product-image,
.wc-block-grid__product-image,
.woocommerce-product-gallery,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__wrapper,
.wp-block-woocommerce-product-image-gallery,
.wp-block-woocommerce-product-gallery,
.wc-block-product-gallery,
.wc-block-product-gallery-large-image,
.wp-block-woocommerce-product-gallery-large-image,
.wc-block-product-gallery-large-image__container,
.wc-block-product-gallery-large-image__wrapper,
.wp-block-woocommerce-product-image {
    position: relative !important;
}

.massak-badge-sale,
.wc-block-components-product-sale-badge--align-left,
.wc-block-components-product-sale-badge--align-right,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale,
.onsale {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #dc2626 !important;
    /* Rote Signalfarbe */
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 6px 14px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    z-index: 10 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    border: none !important;
    margin: 0 !important;
    text-align: center !important;
}

.massak-badge-not-available {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: max-content !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #334155 !important;
    /* Dunkelgraue Labelfarbe */
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 6px 14px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    z-index: 10 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    border: none !important;
    margin: 0 !important;
    text-align: center !important;
}


.massak-badge-deadline {
    position: absolute !important;
    top: auto !important;
    bottom: 14px !important;
    left: 14px !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #0277bd !important;
    /* Hellblau (Material Light Blue 800) / WCAG 2.1 AA Kontrast 4.9:1 */
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 6px 14px !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    z-index: 10 !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    border: none !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Verhindert doppelte Badges, falls Theme/WooCommerce mehrere Hooks feuert */
.massak-badge-sale~.massak-badge-sale,
.onsale~.onsale,
.onsale~.massak-badge-sale,
.massak-badge-sale~.onsale,
.wc-block-components-product-sale-badge~.massak-badge-sale,
.massak-badge-sale~.wc-block-components-product-sale-badge,
.wc-block-product-gallery .massak-badge-sale,
.wp-block-woocommerce-product-gallery .massak-badge-sale,
.wc-block-product-gallery-large-image .massak-badge-sale,
.massak-badge-deadline~.massak-badge-deadline {
    display: none !important;
}

/* Detailseite (Single Product): Badge direkt unter dem Titel (im Textfluss statt im Bild) */
.massak-product-deadline-detail {
    margin: 10px 0 16px 0 !important;
    line-height: 1 !important;
    display: block !important;
}

.massak-badge-deadline--detail,
.massak-product-deadline-detail .massak-badge-deadline {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Detailseite: Im Galerie-Bild kein Deadline-Badge anzeigen (da unter dem Titel) */
.single-product .woocommerce-product-gallery .massak-badge-deadline,
.single-product .wc-block-product-gallery .massak-badge-deadline,
.single-product .wp-block-woocommerce-product-image-gallery .massak-badge-deadline,
.single-product .wc-block-product-gallery-large-image .massak-badge-deadline,
.has-delivery-deadline-product-page .wc-block-product-gallery .massak-badge-deadline,
.has-delivery-deadline-product-page .woocommerce-product-gallery .massak-badge-deadline {
    display: none !important;
}


/* Stacking: Falls ein Artikel nicht lieferbar UND im Angebot ist (Katalog & Einzelprodukt) */
.single-product .is-suspended-gallery .massak-badge-sale,
.single-product .massak-gallery--suspended .massak-badge-sale,
.is-suspended-gallery .massak-badge-sale,
.massak-gallery--suspended .massak-badge-sale,
.is-suspended-product-page .massak-badge-sale,
.is-suspended .massak-badge-sale,
.massak-product-suspended .massak-badge-sale,
li.product.is-suspended .massak-badge-sale,
li.product.massak-product-suspended .massak-badge-sale,
.wc-block-grid__product.is-suspended .massak-badge-sale,
.is-suspended .onsale,
.massak-product-suspended .onsale {
    top: 48px !important;
    right: 14px !important;
    left: auto !important;
}


/* ==========================================================================
   Product Prices: Streichpreis (Originalpreis) kleiner & dezent ausgegraut
   ========================================================================== */
.price del,
.wc-block-components-product-price del,
.wc-block-components-product-price__regular,
del.wc-block-components-product-price__regular,
.woocommerce-Price-amount del,
.wp-block-woocommerce-product-price del {
    font-size: 0.72em !important;
    color: var(--wp--preset--color--muted, #6A6A6A) !important;
    opacity: 0.65 !important;
    text-decoration: line-through !important;
    margin-right: 6px !important;
    font-weight: 400 !important;
    vertical-align: baseline !important;
}


.price ins,
.wc-block-components-product-price ins,
.wc-block-components-product-price__value--on-sale,
ins.wc-block-components-product-price__value,
.wp-block-woocommerce-product-price ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--ink, #222222) !important;
}

/* ==========================================================================
   Product Price Suffix (z. B. "inkl. MwSt.") auf der Einzelproduktseite
   Unter dem Preis & dezent kleiner in normaler Body-Textfarbe
   ========================================================================== */
.single-product .woocommerce-price-suffix,
.wp-block-woocommerce-product-price .woocommerce-price-suffix {
    display: block !important;
    font-size: 0.5em !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
}

/* ==========================================================================
   Kasse & Warenkorb: Steuerhinweis (inkl. ... € MwSt.) unter die Gesamtsumme
   ========================================================================== */
.woocommerce-checkout-review-order-table tr.order-total small.includes_tax,
.woocommerce-checkout #order_review .order-total small.includes_tax,
.cart_totals tr.order-total small.includes_tax {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    margin-top: 4px !important;
    text-align: inherit !important;
}

/* Warenkorb-Block (Gutenberg): Steuerhinweis einzeilig & sauber unter der Gesamtsumme */
.cs-adidas-cart .wc-block-components-totals-footer-item-tax,
.wc-block-components-totals-footer-item-tax {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    margin-top: 4px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.cs-adidas-cart .wc-block-components-totals-footer-item-tax *,
.wc-block-components-totals-footer-item-tax * {
    display: inline !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}


/* ==========================================================================
   Blassere Darstellung von Bildern nicht lieferbarer Artikel (Katalog & Einzelproduktseite)
   ========================================================================== */
li.product.is-suspended img,
li.product.massak-product-suspended img,
.wc-block-grid__product.is-suspended img,
.is-suspended-gallery img,
.massak-gallery--suspended img,
.is-suspended-product-page .woocommerce-product-gallery img,
.is-suspended-product-page .wp-block-woocommerce-product-image-gallery img,
.is-suspended-product-page .wp-block-woocommerce-product-gallery img,
.is-suspended-product-page .wc-block-product-gallery img,
.is-suspended-product-page .wc-block-product-gallery-large-image__image,
.is-suspended-product-page main .wp-block-woocommerce-product-image img,
.is-suspended-product-page main .wp-block-post-featured-image img {
    opacity: 0.55 !important;
    filter: grayscale(25%) saturate(0.7) brightness(1.02) !important;
    transition: opacity 0.3s ease, filter 0.3s ease !important;
}



/* Das Badge selbst bleibt voll deckend und gestochen scharf */
.is-suspended .massak-badge-not-available,
.massak-product-suspended .massak-badge-not-available,
.is-suspended-product-page .massak-badge-not-available,
.is-suspended-gallery .massak-badge-not-available,
.massak-gallery--suspended .massak-badge-not-available {
    opacity: 1 !important;
    filter: none !important;
}

/* ==========================================================================
   Airbnb Category Pill Strip Component
   ========================================================================== */
.cs-airbnb-category-pill-strip {
    display: flex !important;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    white-space: nowrap;
    padding: 8px 0 16px 0;
    margin-bottom: 24px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cs-airbnb-category-pill-strip::-webkit-scrollbar {
    display: none;
}

/* ==========================================================================
   Editorial Hero Header (Collage Style)
   ========================================================================== */
.cs-hero-editorial-section {
    position: relative;
    padding: 70px 20px;
    background-color: var(--wp--preset--color--hero-bg, #553b22);
    color: var(--wp--preset--color--hero-text, #ffffff);
    overflow: hidden;
    min-height: 560px;
}

.cs-hero-editorial-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap: 20px;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

@media (max-width: 1024px) {
    .cs-hero-editorial-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .cs-hero-collage-left,
    .cs-hero-collage-right {
        display: none;
    }
}

.cs-hero-collage-left {
    position: relative;
    height: 460px;
}

.cs-hero-img-top-left {
    width: 220px;
    height: 220px;
    position: absolute;
    top: 0;
    left: 20px;
    object-fit: cover;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
}

.cs-hero-img-bot-left-1 {
    width: 150px;
    height: 150px;
    position: absolute;
    bottom: 20px;
    left: 0;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cs-hero-img-bot-left-2 {
    width: 140px;
    height: 140px;
    position: absolute;
    bottom: 0;
    left: 110px;
    object-fit: cover;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

.cs-hero-center-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 10px;
}

.cs-hero-title {
    font-family: var(--wp--preset--font-family--serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(2.4rem, 4.5vw, 4rem);
    font-weight: 400;
    line-height: 1.1;
    margin: 0 0 18px 0;
    color: inherit;
}

.cs-hero-subtitle {
    font-size: 1.05rem;
    font-weight: 300;
    opacity: 0.9;
    margin: 0 0 28px 0;
    letter-spacing: 0.02em;
    color: inherit;
}

.cs-hero-btn-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 26px;
    border: 1px solid currentColor;
    border-radius: 0;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: inherit;
    text-decoration: none;
    transition: all 0.2s ease;
    background: transparent;
    cursor: pointer;
}

.cs-hero-btn-pill:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: inherit;
}

.cs-hero-collage-right {
    position: relative;
    height: 460px;
}

.cs-hero-img-top-right {
    width: 220px;
    height: 200px;
    position: absolute;
    top: -20px;
    right: 0;
    object-fit: cover;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
}

.cs-hero-img-bot-right {
    width: 210px;
    height: 210px;
    position: absolute;
    bottom: 20px;
    right: 50px;
    object-fit: cover;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

/* ==========================================================================
   Hide "Warenkorb anzeigen" Link (Mini Cart Drawer Active)
   ========================================================================== */
a.added_to_cart,
.added_to_cart,
.wc-forward.added_to_cart {
    display: none !important;
}

/* ==========================================================================
   Adidas Card Style for WooCommerce Cart (Cart Page ONLY - Mini Cart Untouched)
   ========================================================================== */

/* 1. Hide default table headers (PRODUKT / DETAILS / GESAMTSUMME) */
.cs-adidas-cart .wc-block-cart-items__header,
.cs-adidas-cart thead,
.wc-block-cart-items.is-style-adidas-card .wc-block-cart-items__header {
    display: none !important;
}

/* 2. Force Table and Body to 100% full width block */
.cs-adidas-cart table.wc-block-cart-items,
.cs-adidas-cart tbody,
.wc-block-cart-items.is-style-adidas-card table.wc-block-cart-items,
.wc-block-cart-items.is-style-adidas-card tbody {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

/* 3. Outer Card Container (Row) */
.cs-adidas-cart tr.wc-block-cart-items__row,
.wc-block-cart-items.is-style-adidas-card tr.wc-block-cart-items__row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0px !important;
    background-color: #ffffff !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    min-height: 180px !important;
    overflow: hidden !important;
}

/* 4. Flush Image TD Cell (Left Edge-to-Edge) */
.cs-adidas-cart td.wc-block-cart-item__image,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image {
    display: flex !important;
    align-items: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    flex-shrink: 0 !important;
}

.cs-adidas-cart td.wc-block-cart-item__image a,
.cs-adidas-cart td.wc-block-cart-item__image img,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image a,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image img {
    display: block !important;
    width: 180px !important;
    min-width: 180px !important;
    height: 100% !important;
    min-height: 180px !important;
    object-fit: cover !important;
    background-color: #ebecea !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. Product Info Cell (Middle Column) */
.cs-adidas-cart td.wc-block-cart-item__product,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__product {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 24px 60px 24px 24px !important;
    border: none !important;
    flex: 1 1 auto !important;
}

.cs-adidas-cart .wc-block-components-product-name,
.wc-block-cart-items.is-style-adidas-card a.wc-block-components-product-name {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #000000 !important;
    text-decoration: none !important;
    margin-bottom: 6px !important;
}

.cs-adidas-cart .wc-block-cart-item__prices,
.wc-block-cart-items.is-style-adidas-card .wc-block-cart-item__prices {
    font-size: 14px !important;
    color: #666666 !important;
    margin-bottom: 8px !important;
}

/* 6. Quantity Selector Container (Bottom Left of Info Box) */
.cs-adidas-cart .wc-block-cart-item__quantity,
.wc-block-cart-items.is-style-adidas-card .wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    margin-top: 16px !important;
}

.cs-adidas-cart .wc-block-components-quantity-selector,
.wc-block-cart-items.is-style-adidas-card .wc-block-components-quantity-selector {
    border: 1px solid #000000 !important;
    border-radius: 0px !important;
    background: #ffffff !important;
    height: 40px !important;
}

/* 7. Remove Link / Trash Icon (Positioned ABSOLUTE Top Right of Card Row) */
.cs-adidas-cart button.wc-block-cart-item__remove-link,
.wc-block-cart-items.is-style-adidas-card button.wc-block-cart-item__remove-link,
.wc-block-cart-items.is-style-adidas-card .wc-block-cart-item__remove-link {
    position: absolute !important;
    top: 20px !important;
    right: 24px !important;
    bottom: auto !important;
    left: auto !important;
    background: transparent !important;
    border: none !important;
    color: #000000 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 20 !important;
}

.cs-adidas-cart button.wc-block-cart-item__remove-link svg,
.wc-block-cart-items.is-style-adidas-card button.wc-block-cart-item__remove-link svg {
    width: 22px !important;
    height: 22px !important;
    fill: #000000 !important;
}

/* 8. Total Price Cell (Positioned ABSOLUTE Bottom Right of Card Row) */
.cs-adidas-cart td.wc-block-cart-item__total,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__total {
    position: absolute !important;
    bottom: 20px !important;
    right: 24px !important;
    top: auto !important;
    left: auto !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 20 !important;
    background: transparent !important;
}

.cs-adidas-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.cs-adidas-cart td.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1 !important;
}

/* ==========================================================================
   Adidas Card Style for WooCommerce Mini-Cart Drawer
   ========================================================================== */

/* 1. Hide product description & extra metadata & DUPLICATE IMAGES in Mini Cart */
.wc-block-mini-cart .wc-block-components-product-metadata,
.wc-block-mini-cart .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.wp-block-woocommerce-mini-cart-contents-block .wc-block-components-product-metadata,
.wc-block-mini-cart-contents .wc-block-components-product-metadata,
.wc-block-mini-cart .wc-block-cart-item__product img,
.wc-block-mini-cart__drawer .wc-block-cart-item__product img,
.wc-block-mini-cart-contents .wc-block-cart-item__product img {
    display: none !important;
}

/* 2. Mini-Cart Outer Card Container (Row) */
.wc-block-mini-cart .wc-block-cart-items__row,
.wc-block-mini-cart tr.wc-block-cart-items__row,
.wc-block-mini-cart__drawer .wc-block-cart-items__row,
.wc-block-mini-cart__drawer tr.wc-block-cart-items__row,
.wp-block-woocommerce-mini-cart-contents-block tr.wc-block-cart-items__row,
.wc-block-mini-cart-contents tr.wc-block-cart-items__row,
.wc-block-mini-cart-contents .wc-block-cart-items__row,
.wc-block-mini-cart-contents .wc-block-cart-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0px !important;
    background-color: #ffffff !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    min-height: 110px !important;
    overflow: hidden !important;
}

/* 3. Primary Flush Image in Mini-Cart (Left Edge-to-Edge) */
.wc-block-mini-cart td.wc-block-cart-item__image,
.wc-block-mini-cart .wc-block-cart-item__image,
.wc-block-mini-cart__drawer td.wc-block-cart-item__image,
.wc-block-mini-cart__drawer .wc-block-cart-item__image,
.wc-block-mini-cart-contents td.wc-block-cart-item__image,
.wc-block-mini-cart-contents .wc-block-cart-item__image {
    display: flex !important;
    align-items: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    flex-shrink: 0 !important;
}

.wc-block-mini-cart td.wc-block-cart-item__image a,
.wc-block-mini-cart td.wc-block-cart-item__image img,
.wc-block-mini-cart .wc-block-cart-item__image>img,
.wc-block-mini-cart__drawer td.wc-block-cart-item__image img,
.wc-block-mini-cart__drawer .wc-block-cart-item__image>img,
.wc-block-mini-cart-contents td.wc-block-cart-item__image img,
.wc-block-mini-cart-contents .wc-block-cart-item__image>img {
    display: block !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    height: 100% !important;
    min-height: 100px !important;
    object-fit: cover !important;
    background-color: #ebecea !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4. Product Info Cell in Mini-Cart */
.wc-block-mini-cart td.wc-block-cart-item__product,
.wc-block-mini-cart .wc-block-cart-item__product,
.wc-block-mini-cart__drawer td.wc-block-cart-item__product,
.wc-block-mini-cart__drawer .wc-block-cart-item__product,
.wc-block-mini-cart-contents td.wc-block-cart-item__product,
.wc-block-mini-cart-contents .wc-block-cart-item__product {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 12px 36px 12px 14px !important;
    border: none !important;
    flex: 1 1 auto !important;
    background-color: #ffffff !important;
    position: relative !important;
    z-index: 1 !important;
}

.wc-block-mini-cart .wc-block-components-product-name,
.wc-block-mini-cart__drawer .wc-block-components-product-name,
.wc-block-mini-cart-contents .wc-block-components-product-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    color: #000000 !important;
    text-decoration: none !important;
    margin-bottom: 4px !important;
}

.wc-block-mini-cart .wc-block-cart-item__prices,
.wc-block-mini-cart__drawer .wc-block-cart-item__prices,
.wc-block-mini-cart-contents .wc-block-cart-item__prices {
    font-size: 12px !important;
    color: #666666 !important;
    margin-bottom: 6px !important;
}

/* 5. Quantity Selector Container in Mini-Cart */
.wc-block-mini-cart .wc-block-cart-item__quantity,
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity,
.wc-block-mini-cart-contents .wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    margin-top: 6px !important;
}

.wc-block-mini-cart .wc-block-components-quantity-selector,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector,
.wc-block-mini-cart-contents .wc-block-components-quantity-selector {
    border: 1px solid #000000 !important;
    border-radius: 0px !important;
    background: #ffffff !important;
    height: 32px !important;
}

/* 6. Remove Link / Trash Icon in Mini-Cart (Positioned ABSOLUTE Top Right) */
.wc-block-mini-cart button.wc-block-cart-item__remove-link,
.wc-block-mini-cart .wc-block-cart-item__remove-link,
.wc-block-mini-cart__drawer button.wc-block-cart-item__remove-link,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link,
.wc-block-mini-cart-contents button.wc-block-cart-item__remove-link,
.wc-block-mini-cart-contents .wc-block-cart-item__remove-link {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    background: transparent !important;
    border: none !important;
    color: #000000 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 20 !important;
}

.wc-block-mini-cart button.wc-block-cart-item__remove-link svg,
.wc-block-mini-cart__drawer button.wc-block-cart-item__remove-link svg,
.wc-block-mini-cart-contents button.wc-block-cart-item__remove-link svg {
    width: 18px !important;
    height: 18px !important;
    fill: #000000 !important;
}

/* 7. Total Price Cell in Mini-Cart (Positioned ABSOLUTE Bottom Right) */
.wc-block-mini-cart td.wc-block-cart-item__total,
.wc-block-mini-cart .wc-block-cart-item__total,
.wc-block-mini-cart__drawer td.wc-block-cart-item__total,
.wc-block-mini-cart__drawer .wc-block-cart-item__total,
.wc-block-mini-cart-contents td.wc-block-cart-item__total,
.wc-block-mini-cart-contents .wc-block-cart-item__total {
    position: absolute !important;
    bottom: 10px !important;
    right: 12px !important;
    top: auto !important;
    left: auto !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 20 !important;
    background: transparent !important;
}

.wc-block-mini-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-mini-cart td.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-mini-cart__drawer .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-mini-cart__drawer td.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-mini-cart-contents .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-mini-cart-contents td.wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1 !important;
}

/* ==========================================================================
   Hide Product Description in All Adidas Cart Cards
   ========================================================================== */
.cs-adidas-cart .wc-block-components-product-metadata,
.cs-adidas-cart .wc-block-components-product-metadata__description,
.is-style-adidas-card .wc-block-components-product-metadata,
.is-style-adidas-card .wc-block-components-product-metadata__description {
    display: none !important;
}

/* ==========================================================================
   Breadcrumbs Left Alignment Guard
   ========================================================================== */
.cs-adidas-cart .woocommerce-breadcrumb,
.cs-adidas-cart .wc-block-breadcrumbs,
.cs-adidas-cart .wc-block-breadcrumbs__list,
.cs-adidas-cart nav.woocommerce-breadcrumb {
    margin-left: 0 !important;
    padding-left: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* ==========================================================================
   Responsive Mobile Media Query for Adidas Cart Page (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {

    .cs-adidas-cart tr.wc-block-cart-items__row,
    .wc-block-cart-items.is-style-adidas-card tr.wc-block-cart-items__row {
        min-height: 110px !important;
        margin-bottom: 16px !important;
    }

    .cs-adidas-cart td.wc-block-cart-item__image,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image {
        width: 110px !important;
        min-width: 110px !important;
        max-width: 110px !important;
    }

    .cs-adidas-cart td.wc-block-cart-item__image a,
    .cs-adidas-cart td.wc-block-cart-item__image img,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image a,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__image img {
        width: 110px !important;
        min-width: 110px !important;
        height: 100% !important;
        min-height: 110px !important;
    }

    .cs-adidas-cart td.wc-block-cart-item__product,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__product {
        padding: 12px 36px 12px 14px !important;
    }

    .cs-adidas-cart .wc-block-components-product-name,
    .wc-block-cart-items.is-style-adidas-card a.wc-block-components-product-name {
        font-size: 14px !important;
        margin-bottom: 4px !important;
    }

    .cs-adidas-cart .wc-block-cart-item__quantity,
    .wc-block-cart-items.is-style-adidas-card .wc-block-cart-item__quantity {
        margin-top: 10px !important;
    }

    .cs-adidas-cart .wc-block-components-quantity-selector,
    .wc-block-cart-items.is-style-adidas-card .wc-block-components-quantity-selector {
        height: 34px !important;
    }

    .cs-adidas-cart button.wc-block-cart-item__remove-link,
    .wc-block-cart-items.is-style-adidas-card button.wc-block-cart-item__remove-link {
        top: 12px !important;
        right: 14px !important;
    }

    .cs-adidas-cart td.wc-block-cart-item__total,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__total {
        bottom: 12px !important;
        right: 14px !important;
    }

    .cs-adidas-cart td.wc-block-cart-item__total .wc-block-components-product-price__value,
    .wc-block-cart-items.is-style-adidas-card td.wc-block-cart-item__total .wc-block-components-product-price__value {
        font-size: 15px !important;
    }
}

/* ==========================================================================
   Empty Cart 'Neu im Shop' Grid Alignment (Scoped to Empty Cart Block)
   ========================================================================== */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: none !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex: 0 0 220px !important;
    margin: 0 !important;
}

@media (max-width: 540px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        width: calc(50% - 12px) !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 1 1 calc(50% - 12px) !important;
    }
}

/* ==========================================================================
   Airbnb-Style Sticky Filter & Sort Bar
   ========================================================================== */
.cs-airbnb-sticky-filter-bar-wrapper {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    width: 100% !important;
    max-width: 100% !important;
    background-color: #ffffff !important;
    border-bottom: none !important;
    box-shadow: none;
    transition: background-color 0.3s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.3s cubic-bezier(0.2, 0, 0, 1);
    box-sizing: border-box !important;
}

.admin-bar .cs-airbnb-sticky-filter-bar-wrapper {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    .admin-bar .cs-airbnb-sticky-filter-bar-wrapper {
        top: 46px !important;
    }
}

.cs-airbnb-sticky-filter-bar-wrapper.is-stuck:not(.has-background) {
    background-color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    border-bottom: none !important;
}



.cs-airbnb-filter-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}




.cs-airbnb-filter-bar__divider {
    width: 1px !important;
    height: 28px !important;
    background-color: #dddddd !important;
    margin: 0 4px !important;
    display: block !important;
}

.cs-airbnb-filter-bar__left,
.cs-airbnb-filter-bar__right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.625rem !important;
    flex-wrap: nowrap !important;
}

.cs-airbnb-filter-bar__left {
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.cs-airbnb-filter-bar__left::-webkit-scrollbar {
    display: none !important;
}

.cs-airbnb-filter-bar__right {
    flex-shrink: 0 !important;
}

.cs-airbnb-pill-group {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
}

.cs-airbnb-pill-group::-webkit-scrollbar {
    display: none !important;
}

/* Airbnb Pill Styling (Supporting Native Gutenberg wp:button Blocks) */
.wp-block-button.cs-airbnb-pill {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.wp-block-button.cs-airbnb-pill .wp-block-button__link,
.wp-block-button.cs-airbnb-pill a.wp-element-button,
a.cs-airbnb-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 40px !important;
    padding: 0 18px !important;
    background-color: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #222222;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: all 0.2s cubic-bezier(0.2, 0, 0, 1) !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.wp-block-button.cs-airbnb-pill .wp-block-button__link:hover,
.wp-block-button.cs-airbnb-pill a.wp-element-button:hover,
a.cs-airbnb-pill:hover,
.cs-airbnb-pill--select:hover {
    border-color: var(--wp--preset--color--primary, #7F54B3) !important;
    background-color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.04) 0 2px 6px 0 !important;
    color: var(--wp--preset--color--ink, #222222);
}

.wp-block-button.cs-airbnb-pill.is-active .wp-block-button__link,
.wp-block-button.cs-airbnb-pill.is-active a.wp-element-button,
a.cs-airbnb-pill.is-active {
    border-color: var(--wp--preset--color--primary, #7F54B3) !important;
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: var(--wp--preset--color--canvas, #ffffff) !important;
}

.wp-block-button.cs-airbnb-pill.is-active .wp-block-button__link:hover,
.wp-block-button.cs-airbnb-pill.is-active a.wp-element-button:hover,
a.cs-airbnb-pill.is-active:hover {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.15) !important;
    color: var(--wp--preset--color--canvas, #ffffff) !important;
}

/* Dropdown / Select Pills */
.cs-airbnb-pill--select,
.wp-block-woocommerce-catalog-sorting {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    padding: 0 34px 0 14px !important;
    background-color: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    gap: 8px !important;
    max-width: 210px !important;
}

.cs-airbnb-pill--select.cs-airbnb-pill--sort {
    max-width: 230px !important;
}

.cs-airbnb-sort-icon {
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    color: #222222 !important;
    display: inline-block !important;
}

.cs-airbnb-pill--select form.woocommerce-ordering,
.wp-block-woocommerce-catalog-sorting form {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    overflow: hidden !important;
}

.cs-airbnb-pill--select select,
.cs-airbnb-pill--select form.woocommerce-ordering select.orderby,
.wp-block-woocommerce-catalog-sorting select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #222222 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 40px !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.cs-airbnb-chevron-icon {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    color: #222222 !important;
    transition: transform 0.2s ease !important;
}

.cs-airbnb-pill--select:hover .cs-airbnb-chevron-icon {
    transform: translateY(-50%) translateY(1px) !important;
}

@media (max-width: 768px) {
    .cs-airbnb-sticky-filter-bar-wrapper {
        width: 100% !important;
        margin: 0 auto !important;
    }

    .cs-airbnb-filter-bar {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.5rem !important;
        padding-top: 0.625rem !important;
        padding-bottom: 0.625rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
    }



    .cs-airbnb-filter-bar__left {
        flex: 1 1 auto !important;
        width: auto !important;
        gap: 0.5rem !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
    }

    .cs-airbnb-filter-bar__right {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    .cs-airbnb-filter-bar__divider {
        display: none !important;
    }

    /* Sort-Button: Icon-Only auf Mobile */
    .cs-airbnb-pill--sort {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        justify-content: center !important;
        align-items: center !important;
        position: relative !important;
        flex-shrink: 0 !important;
    }

    .cs-airbnb-pill--sort .cs-airbnb-sort-icon {
        display: block !important;
        margin: 0 auto !important;
        width: 18px !important;
        height: 18px !important;
        color: #222222 !important;
        pointer-events: none !important;
    }

    .cs-airbnb-pill--sort .cs-airbnb-sort-chevron {
        display: none !important;
    }

    .cs-airbnb-pill--sort form.woocommerce-ordering {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0 !important;
        cursor: pointer !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .cs-airbnb-pill--sort select.orderby {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0 !important;
        cursor: pointer !important;
        font-size: 16px !important;
    }
}


/* ==========================================================================
   Product Grid Airbnb Gap & Responsive Columns (Native Gutenberg Support)
   ========================================================================== */
.wp-block-woocommerce-product-collection .wc-block-product-template,
.wp-block-woocommerce-product-template,
ul.wc-block-product-template,
.wc-block-grid__products:not(.wp-block-woocommerce-empty-cart-block *) {
    display: grid !important;
    gap: 2.5rem 2rem !important;
    width: 100% !important;
}

/* Native Gutenberg & WooCommerce Columns Support (.has-X-columns, .columns-X, .has-X-column) */
.has-1-columns .wc-block-product-template,
.has-1-columns.wc-block-product-template,
.columns-1,
.has-1-column {
    grid-template-columns: repeat(1, 1fr) !important;
}

.has-2-columns .wc-block-product-template,
.has-2-columns.wc-block-product-template,
.columns-2,
.has-2-column {
    grid-template-columns: repeat(2, 1fr) !important;
}

.has-3-columns .wc-block-product-template,
.has-3-columns.wc-block-product-template,
.columns-3,
.has-3-column {
    grid-template-columns: repeat(3, 1fr) !important;
}

.has-4-columns .wc-block-product-template,
.has-4-columns.wc-block-product-template,
.columns-4,
.has-4-column {
    grid-template-columns: repeat(4, 1fr) !important;
}

.has-5-columns .wc-block-product-template,
.has-5-columns.wc-block-product-template,
.columns-5,
.has-5-column {
    grid-template-columns: repeat(5, 1fr) !important;
}

.has-6-columns .wc-block-product-template,
.has-6-columns.wc-block-product-template,
.columns-6,
.has-6-column {
    grid-template-columns: repeat(6, 1fr) !important;
}

/* Fallback for Gutenberg Product Collection when no explicit column class is present */
.wc-block-product-template:not([class*="columns"]):not([style*="grid-template-columns"]),
ul.wc-block-product-template:not([class*="columns"]):not([style*="grid-template-columns"]) {
    grid-template-columns: repeat(4, 1fr);
}

.wp-block-woocommerce-product-collection .wc-block-product-template li,
.wp-block-woocommerce-product-template li,
ul.wc-block-product-template li,
.wc-block-grid__product:not(.wp-block-woocommerce-empty-cart-block *) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

@media (max-width: 992px) {

    .wp-block-woocommerce-product-collection .wc-block-product-template,
    .wp-block-woocommerce-product-template,
    ul.wc-block-product-template,
    .wc-block-grid__products:not(.wp-block-woocommerce-empty-cart-block *) {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 2rem 1.5rem !important;
    }
}

@media (max-width: 576px) {

    .wp-block-woocommerce-product-collection .wc-block-product-template,
    .wp-block-woocommerce-product-template,
    ul.wc-block-product-template,
    .wc-block-grid__products:not(.wp-block-woocommerce-empty-cart-block *) {
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 1.5rem !important;
    }
}

/* Product Featured Image & Placeholder 100% Width Expansion (FSE / Gutenberg Native) */
.wp-block-woocommerce-product-collection .wp-block-post-featured-image,
.wp-block-woocommerce-product-collection .wp-block-post-featured-image a,
.wp-block-woocommerce-product-collection .wp-block-post-featured-image img,
.wc-block-product-template .wp-block-post-featured-image,
.wc-block-product-template .wp-block-post-featured-image a,
.wc-block-product-template .wp-block-post-featured-image img,
.wc-block-grid__product-image,
.wc-block-grid__product-image a,
.wc-block-grid__product-image img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 0 12px 0 !important;
}

/* Replace WooCommerce Grey Vector SVG Placeholder with WebP Image */
.wc-block-components-product-image__placeholder,
.wc-block-grid__product-image.wc-block-grid__product-image--placeholder,
.wp-block-post-featured-image:empty {
    background-image: url("/wp-content/uploads/woocommerce-placeholder.webp") !important;
    background-size: cover !important;
    background-position: center !important;
    width: 100% !important;
    display: block !important;
}

.wc-block-components-product-image__placeholder svg,
.wc-block-grid__product-image.wc-block-grid__product-image--placeholder svg {
    display: none !important;
}

/* ==========================================================================
   WooCommerce Checkout – Modernes 2-Spalten-Layout auf Desktop
   ========================================================================== */
@media (min-width: 992px) {
    form.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
        grid-template-rows: auto 1fr !important;
        column-gap: 48px !important;
        row-gap: 20px !important;
        align-items: start !important;
    }

    form.woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    form.woocommerce-checkout #customer_details .col-1,
    form.woocommerce-checkout #customer_details .col-2,
    form.woocommerce-checkout .woocommerce-billing-fields {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    form.woocommerce-checkout .woocommerce-billing-fields>h2,
    form.woocommerce-checkout .woocommerce-billing-fields>h3,
    form.woocommerce-checkout #customer_details h2,
    form.woocommerce-checkout #customer_details h3,
    form.woocommerce-checkout #order_review_heading {
        margin: 0 0 20px 0 !important;
        padding: 0 !important;
        font-size: 24px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        display: block !important;
    }

    form.woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }

    form.woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
}

/* ==========================================================================
   WooCommerce Bestellbestätigung – Modernes 2-Spalten-Layout
   ========================================================================== */
.cubesites-thankyou-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
    column-gap: 48px !important;
    row-gap: 24px !important;
    align-items: start !important;
    margin-top: 32px !important;
}

.cubesites-thankyou-grid-left {
    min-width: 0 !important;
    grid-column: 1 !important;
}

.cubesites-thankyou-grid-right {
    min-width: 0 !important;
    grid-column: 2 !important;
}

.cubesites-thankyou-grid-left .woocommerce-order-details {
    margin: 0 !important;
}

.cubesites-thankyou-grid-left .woocommerce-customer-details,
.woocommerce-customer-details,
section.woocommerce-customer-details {
    display: none !important;
}

@media (max-width: 991px) {
    form.woocommerce-checkout {
        display: block;
    }

    form.woocommerce-checkout #customer_details,
    form.woocommerce-checkout #customer_details .col-1,
    form.woocommerce-checkout #customer_details .col-2,
    form.woocommerce-checkout #order_review_heading,
    form.woocommerce-checkout #order_review {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }

    form.woocommerce-checkout #order_review_heading {
        margin-top: 32px !important;
    }

    .cubesites-thankyou-grid {
        display: block !important;
    }

    .cubesites-thankyou-grid-right {
        margin-top: 32px !important;
    }
}

/* ==========================================================================
   WooCommerce Core CSS Overrides – Border-Radius Reset
   ========================================================================== */

/* Bestelltabelle (Deine Bestellung / Warenkorb) */
.woocommerce table.shop_table {
    border-radius: 0 !important;
}

/* Zahlungsbereich (#payment Box) */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: #f7f7f7 !important;
    border-radius: 0 !important;
}

/* Select2 Dropdowns (WooCommerce klassisch) */
:where(.woocommerce) .select2-container .select2-dropdown,
:where(.woocommerce) .select2-container .select2-selection,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple,
.select2-dropdown {
    border-radius: 0 !important;
}

/* ==========================================================================
   Product Card Add-to-Cart Button Gap Fix
   ========================================================================== */
.wp-block-button.wc-block-components-product-button {
    gap: 0 !important;
}

.wp-block-button.wc-block-components-product-button a.added_to_cart,
.wp-block-button.wc-block-components-product-button .added_to_cart {
    margin-top: 6px !important;
    font-size: 13px !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   Gutenberg Block Style: Quadratische Paginierung (Square Buttons)
   ========================================================================== */
.is-style-square-buttons,
.is-style-square-pagination,
.is-style-cubesites-pill-pagination,
.wp-block-query-pagination,
.woocommerce-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    flex-wrap: wrap !important;
    border: none !important;
    padding: 0 !important;
}

.is-style-square-buttons .wp-block-query-pagination-numbers,
.is-style-square-buttons .page-numbers,
.is-style-square-pagination .wp-block-query-pagination-numbers,
.is-style-square-pagination .page-numbers,
.is-style-cubesites-pill-pagination .wp-block-query-pagination-numbers,
.is-style-cubesites-pill-pagination .page-numbers,
.wp-block-query-pagination .page-numbers,
.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-pagination ul.page-numbers li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Base button styles: Square, sharp corners (no border-radius), no shadow */
.wp-block-query-pagination a.wp-block-query-pagination-previous,
.wp-block-query-pagination a.wp-block-query-pagination-next,
.wp-block-query-pagination a.wp-block-query-pagination-numbers,
.wp-block-query-pagination span.wp-block-query-pagination-numbers,
.wp-block-query-pagination .page-numbers,
.is-style-square-buttons .page-numbers,
.is-style-square-pagination .page-numbers,
.is-style-cubesites-pill-pagination .page-numbers,
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
}

/* Remove double border on inner arrows/spans */
.wp-block-query-pagination a .wp-block-query-pagination-next-arrow,
.wp-block-query-pagination a .wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination a span,
.is-style-square-buttons a span,
.is-style-square-pagination a span,
.is-style-cubesites-pill-pagination a span,
.woocommerce-pagination ul.page-numbers li a span {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    display: inline !important;
    line-height: inherit !important;
}

/* Subtle Hover (No transform/jump, subtle tint only) */
.is-style-square-buttons a:hover,
.is-style-square-pagination a:hover,
.is-style-cubesites-pill-pagination a:hover,
.wp-block-query-pagination a:hover,
.woocommerce-pagination ul.page-numbers li a:hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Active / Current Page: Primary Color from theme.json */
.is-style-square-buttons .current,
.is-style-square-buttons span.current,
.is-style-square-pagination .current,
.is-style-square-pagination span.current,
.is-style-cubesites-pill-pagination .current,
.is-style-cubesites-pill-pagination span.current,
.wp-block-query-pagination span.current,
.wp-block-query-pagination a.current,
.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-pagination ul.page-numbers li a.current {
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    border-color: var(--wp--preset--color--primary, #7F54B3) !important;
    box-shadow: none !important;
    transform: none !important;
    border-radius: 0 !important;
    cursor: default !important;
}

/* Dots non-clickable */
.wp-block-query-pagination .page-numbers.dots,
.woocommerce-pagination ul.page-numbers li span.dots {
    border: 1px solid #e2e8f0 !important;
    background-color: #ffffff !important;
    color: #64748b !important;
    cursor: default !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Cart & Checkout Adjustments (B2C Notice Removal & Alignment)
   ========================================================================== */
.wc-block-cart__totals-shipping-note,
.wc-block-components-totals-shipping__note,
.wc-block-mini-cart__footer-shipping-note,
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator,
.shipping-calculator-button,
.woocommerce-cart-tax-and-shipping-note,
.wc-gzd-additional-info,
.shipping,
.woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce-form-coupon,
.wc-block-components-totals-coupon,
.wp-block-woocommerce-cart-order-summary-coupon-form-block {
    display: none !important;
}

/* Hide Unnecessary Billing Inputs in Classic Checkout Form */
#billing_first_name_field,
#billing_last_name_field,
#billing_email_field,
#billing_company_field,
#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_city_field,
#billing_state_field,
#billing_postcode_field,
#billing_phone_field,
.woocommerce-additional-fields,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce-column--shipping-address,
.woocommerce-order-received address,
.wc-block-order-confirmation-address-wrapper,
.woocommerce-customer-details {
    display: none !important;
}

/* Stammdaten des Bestellers Box (Primary Color, No Border-Radius, Compact Height) */
.cubesites-checkout-customer-box {
    background: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 20px 24px !important;
    margin-bottom: 24px !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    align-self: start !important;
    box-sizing: border-box !important;
}


.cubesites-checkout-customer-box h4,
.cubesites-checkout-customer-box div,
.cubesites-checkout-customer-box strong,
.cubesites-checkout-customer-box span,
.cubesites-checkout-customer-box p {
    color: #ffffff !important;
}

/* Leere durch wpautop generierte Paragraphen ausblenden */
.woocommerce p:empty,
form.woocommerce-checkout p:empty,
.cubesites-checkout-customer-box p:empty,
.col2-set p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}


/* Entferne doppelte Zahlungs-Hinweisbox im Checkout */
.woocommerce-checkout #payment .payment_box,
#payment .payment_box {
    display: none !important;
}

/* "Zahlungspflichtig bestellen" Button auf 100% volle Breite */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #place_order,
#place_order {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    border-radius: 0 !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Kasse & Formulare: Keine abgerundeten Ecken */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout button,
.woocommerce-checkout .woocommerce-input-wrapper input,
.cubesites-thankyou-customer-box {
    border-radius: 0 !important;
}


/* Button Click State: Keine Skalierung/Verkleinerung bei Klick (Originalzustand beibehalten) */
button:active,
input[type="submit"]:active,
.button:active,
.wp-element-button:active,
.wp-block-button__link:active,
.wc-block-components-product-button__button:active,
.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:active,
.single_add_to_cart_button:active {
    transform: none !important;
}

/* ==========================================================================
   Modern Add-to-Cart Feedback Toast Notification
   ========================================================================== */
.cubesites-cart-toast-container {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-width: calc(100vw - 40px);
}

.cubesites-cart-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #0f172a;
    color: #f8fafc;
    padding: 12px 16px;
    border-radius: 10px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    border-left: 4px solid #10b981;
    transform: translateY(20px) scale(0.96);
    opacity: 0;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    max-width: 440px;
}

.cubesites-cart-toast.is-visible {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.cubesites-cart-toast.is-hiding {
    transform: translateY(15px) scale(0.95);
    opacity: 0;
}

.cubesites-cart-toast__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    background: rgba(16, 185, 129, 0.15);
    border-radius: 50%;
}

.cubesites-cart-toast__body {
    flex: 1;
    min-width: 0;
}

.cubesites-cart-toast__msg {
    margin: 0 !important;
    color: #f1f5f9 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.cubesites-cart-toast__msg strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.cubesites-cart-toast__btn {
    flex-shrink: 0;
    background: #2563eb !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
    white-space: nowrap !important;
}

.cubesites-cart-toast__btn:hover {
    background: #1d4ed8 !important;
    color: #ffffff !important;
}

.cubesites-cart-toast__close {
    background: transparent !important;
    border: none !important;
    color: #94a3b8 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    padding: 0 4px !important;
    line-height: 1 !important;
    transition: color 0.15s ease !important;
}

.cubesites-cart-toast__close:hover {
    color: #ffffff !important;
}

@media (max-width: 600px) {
    .cubesites-cart-toast-container {
        bottom: 16px;
        right: 16px;
        left: 16px;
        max-width: none;
    }

    .cubesites-cart-toast {
        max-width: none;
        flex-wrap: wrap;
        gap: 10px;
    }
}

/* ==========================================================================
   Native WooCommerce Store Notices (Single Product & Global)
   ========================================================================== */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-message,
.wc-block-components-notice-banner.is-success {
    margin: 16px 0 !important;
    padding: 12px 18px !important;
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-left: 4px solid #16a34a !important;
    border-top: 1px solid #bbf7d0 !important;
    border-right: 1px solid #bbf7d0 !important;
    border-bottom: 1px solid #bbf7d0 !important;
    border-radius: 8px !important;
    color: #166534 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    box-shadow: 0 2px 8px rgba(22, 101, 52, 0.06) !important;
    animation: cubesitesNoticeFadeIn 0.35s ease forwards;
    transition: opacity 0.45s ease, transform 0.45s ease, max-height 0.45s ease, margin 0.45s ease, padding 0.45s ease;
}

@keyframes cubesitesNoticeFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.woocommerce-message.is-dismissing,
.wc-block-components-notice-banner.is-dismissing {
    opacity: 0 !important;
    transform: translateY(-6px) !important;
}

/* Button "Warenkorb anzeigen" in der Notiz */
.woocommerce-message .button,
.woocommerce-message a.button.wc-forward,
.woocommerce-message .wc-forward,
.wc-block-components-notice-banner__link {
    order: 2 !important;
    margin-left: auto !important;
    background: #16a34a !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 7px 14px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    float: none !important;
    display: inline-block !important;
    transition: background 0.15s ease !important;
    border: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce-message .button:hover,
.woocommerce-message a.button.wc-forward:hover,
.woocommerce-message .wc-forward:hover,
.wc-block-components-notice-banner__link:hover {
    background: #15803d !important;
    color: #ffffff !important;
}

.woocommerce-message::before {
    color: #16a34a !important;
    font-size: 18px !important;
    margin-right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    position: relative !important;
    left: auto !important;
    display: inline-flex !important;
}

/* ==========================================================================
   Zalando Lounge Style: Fixed Top Sticky Notification Bar
   ========================================================================== */
.cubesites-top-cart-banner {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999999 !important;
    background: var(--wp--preset--color--canvas, #FFFFFF) !important;
    border-bottom: 1px solid var(--wp--preset--color--hairline, #DDDDDD) !important;
    color: var(--wp--preset--color--body, #3F3F3F) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-100%) !important;
    opacity: 0 !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease !important;
    font-family: inherit !important;
    margin: 0 !important;
    pointer-events: auto !important;
}

body.admin-bar .cubesites-top-cart-banner {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar .cubesites-top-cart-banner {
        top: 46px !important;
    }
}

.cubesites-top-cart-banner.is-visible {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

.cubesites-top-cart-banner.is-dismissing {
    transform: translateY(-100%) !important;
    opacity: 0 !important;
    transition: transform 0.4s ease, opacity 0.3s ease !important;
}

.cubesites-top-cart-banner__container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cubesites-top-cart-banner__left {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14.5px;
    line-height: 1.4;
    color: var(--wp--preset--color--body, #3F3F3F) !important;
}

.cubesites-top-cart-banner__icon {
    flex-shrink: 0;
}

.cubesites-top-cart-banner__text {
    color: var(--wp--preset--color--body, #3F3F3F) !important;
}

.cubesites-top-cart-banner__text strong {
    font-weight: 700;
    color: var(--wp--preset--color--ink, #222222) !important;
}

.cubesites-top-cart-banner__right {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.cubesites-top-cart-banner__btn {
    text-decoration: none !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    padding: 8px 18px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    transition: opacity 0.15s ease !important;
}

.cubesites-top-cart-banner__btn:hover {
    transform: none !important;
    opacity: 0.9 !important;
}

.cubesites-top-cart-banner__close {
    background: transparent !important;
    border: none !important;
    color: var(--wp--preset--color--muted, #6A6A6A) !important;
    font-size: 22px !important;
    cursor: pointer !important;
    padding: 0 4px !important;
    line-height: 1 !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
}

.cubesites-top-cart-banner__close:hover {
    color: var(--wp--preset--color--ink, #222222) !important;
    transform: scale(1.1);
}

@media (max-width: 640px) {
    .cubesites-top-cart-banner__container {
        padding: 10px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .cubesites-top-cart-banner__right {
        width: 100%;
        justify-content: space-between;
    }
}

/* ==========================================================================
   My Account: Readonly Stammdaten-Felder
   ========================================================================== */
.woocommerce-EditAccountForm input[readonly],
.woocommerce-EditAccountForm input[readonly]:focus,
.woocommerce-EditAccountForm input:disabled,
.woocommerce-EditAccountForm input:disabled:focus {
    background-color: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    outline: none !important;
    user-select: text;
}

.cubesites-account-notice {
    background: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.cubesites-account-notice strong,
.cubesites-account-notice span,
.cubesites-account-notice p {
    color: #ffffff !important;
}

.cubesites-account-notice a {
    color: #ffffff !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.cubesites-account-notice a:hover {
    color: #ffffff !important;
    opacity: 0.9 !important;
}

/* ==========================================================================
   Deaktivierte "In den Warenkorb"-Buttons bei nicht lieferbaren Artikeln
   ========================================================================== */
.wc-block-components-product-button a.disabled,
.wc-block-components-product-button a.is-disabled,
.wc-block-components-product-button button:disabled,
.wc-block-components-product-button a[aria-disabled="true"],
.wc-block-grid__product-add-to-cart a.disabled,
.woocommerce ul.products li.product .button.disabled,
.woocommerce ul.products li.product a.button.disabled,
.woocommerce ul.products li.product a.add_to_cart_button.disabled,
.woocommerce a.button.disabled,
a.button.disabled.is-disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background-color: var(--wp--preset--color--muted, #6A6A6A) !important;
    border-color: var(--wp--preset--color--muted, #6A6A6A) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================================
   Hinweisbox für nicht lieferbare Artikel auf der Detailseite
   ========================================================================== */
.massak-suspended-notice {
    background: var(--wp--preset--color--primary, #7F54B3) !important;
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px 20px !important;
    margin: 16px 0 24px 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
}

.massak-suspended-notice::before,
.massak-suspended-notice::after {
    display: none !important;
    content: none !important;
}

.massak-suspended-notice strong,
.massak-suspended-notice span,
.massak-suspended-notice p {
    color: #ffffff !important;
}

.massak-suspended-notice a {
    color: #ffffff !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   B2B Bestellmodus Banner (Top Bar - Exakt wie Bild 1)
   ========================================================================== */
.massak-role-banner {
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: none !important;
    min-height: 0 !important;
}

.massak-role-banner br {
    display: none !important;
}

.massak-role-banner .massak-role-banner-text {
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.massak-role-banner .massak-role-banner-text strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.massak-role-banner a.massak-role-switch-link,
.massak-role-banner .wp-element-button.massak-role-switch-link {
    background-color: #ffffff !important;
    color: var(--wp--preset--color--ink, #222222) !important;
    border: none !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 7px 15px !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-shadow: none !important;
    vertical-align: middle !important;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.massak-role-banner a.massak-role-switch-link:hover,
.massak-role-banner a.massak-role-switch-link:focus-visible,
.massak-role-banner .wp-element-button.massak-role-switch-link:hover,
.massak-role-banner .wp-element-button.massak-role-switch-link:focus-visible {
    background-color: var(--wp--preset--color--surface-strong, #f2f2f2) !important;
    color: var(--wp--preset--color--ink, #222222) !important;
    transform: none !important;
}

/* ==========================================================================
   B2B Rollenwechsel: Inkompatibilitäts-Modal (Popup)
   ========================================================================== */
body.massak-modal-open {
    overflow: hidden !important;
}

.massak-role-modal[hidden] {
    display: none !important;
}

.massak-role-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 20px;
}

.massak-role-modal .massak-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 1;
}

.massak-role-modal .massak-modal-dialog {
    position: relative;
    z-index: 2;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
    max-width: 480px;
    width: 100%;
    padding: 28px 30px;
    box-sizing: border-box;
    font-family: inherit;
    animation: massakModalFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes massakModalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.96) translateY(8px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.massak-role-modal .massak-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eeeeee;
}

.massak-role-modal .massak-modal-title {
    font-size: 18px;
    font-weight: 700;
    color: #222222;
    margin: 0;
    line-height: 1.3;
}

.massak-role-modal .massak-modal-close {
    background: transparent !important;
    border: none !important;
    color: var(--wp--preset--color--ink, #222222) !important;
    cursor: pointer !important;
    padding: 6px !important;
    margin: -6px -6px -6px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    line-height: 1 !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

.massak-role-modal .massak-modal-close svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    fill: currentColor !important;
}

.massak-role-modal .massak-modal-close:hover {
    color: var(--wp--preset--color--primary, #7F54B3) !important;
    opacity: 0.8 !important;
}

.massak-role-modal .massak-modal-close:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary, #7F54B3) !important;
}

.massak-role-modal .massak-modal-body {
    margin-bottom: 24px;
}

.massak-role-modal .massak-modal-desc {
    font-size: 14px;
    color: #444444;
    line-height: 1.5;
    margin: 0 0 14px 0;
}

.massak-role-modal .massak-incompatible-items-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 180px;
    overflow-y: auto;
    border: none !important;
    background: #f7f7f7;
}

.massak-role-modal .massak-incompatible-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    font-size: 14px;
    color: #222222;
    border: none !important;
}

.massak-role-modal .massak-incompatible-item:last-child {
    border-bottom: none !important;
}

.massak-role-modal .massak-item-name {
    font-weight: 600;
    color: #222222;
}

.massak-role-modal .massak-item-qty {
    color: #666666;
    font-weight: 400;
    margin-left: 8px;
    white-space: nowrap;
}

.massak-role-modal .massak-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.massak-role-modal .massak-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 0 !important;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 1.4;
    font-family: inherit;
}

/* Abbrechen Button wie "Warenkorb anzeigen" im Mini-Cart */
.massak-role-modal .massak-btn-cancel {
    background: transparent !important;
    color: var(--wp--preset--color--ink, #222222) !important;
    border: 1px solid var(--wp--preset--color--ink, #222222) !important;
}

.massak-role-modal .massak-btn-cancel:hover,
.massak-role-modal .massak-btn-cancel:focus-visible {
    background: var(--wp--preset--color--ink, #222222) !important;
    color: #ffffff !important;
    border-color: var(--wp--preset--color--ink, #222222) !important;
    outline: none;
}

/* OK Button als WordPress Standard Primary Button */
.massak-role-modal .massak-btn-ok {
    background: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    border: 1px solid var(--wp--preset--color--primary, #7F54B3) !important;
}

.massak-role-modal .massak-btn-ok:hover,
.massak-role-modal .massak-btn-ok:focus-visible {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
    outline: none;
}



/* ==========================================================================
   B2B Auswahlseite: Bestellmodus wählen (Button Hover Fade-Effekt)
   ========================================================================== */
.massak-select-type-container {
    max-width: 520px;
    margin: 40px auto;
    padding: 40px;
    background: var(--wp--preset--color--canvas, #ffffff);
    border: 1px solid var(--wp--preset--color--hairline, #DDDDDD);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.massak-btn-choice {
    display: block;
    width: 100%;
    padding: 18px 20px;
    margin-bottom: 16px;
    background: var(--wp--preset--color--surface-soft, #f7f7f7);
    border: 1.5px solid var(--wp--preset--color--hairline, #dddddd);
    border-radius: 0;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    box-sizing: border-box;
}

.massak-btn-choice .massak-btn-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--wp--preset--color--ink, #222222);
    transition: color 0.25s ease;
}

.massak-btn-choice .massak-btn-desc {
    font-size: 13px;
    font-weight: 400;
    color: var(--wp--preset--color--muted, #6a6a6a);
    line-height: 1.4;
    transition: color 0.25s ease;
}

.massak-btn-choice:hover,
.massak-btn-choice:focus-visible {
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    border-color: var(--wp--preset--color--primary, #7F54B3) !important;
    transform: none !important;
    outline: none;
}

.massak-btn-choice:hover .massak-btn-title,
.massak-btn-choice:focus-visible .massak-btn-title,
.massak-btn-choice:hover .massak-btn-desc,
.massak-btn-choice:focus-visible .massak-btn-desc {
    color: #ffffff !important;
}

/* ==========================================================================
   Header & Selection Page Layout
   ========================================================================== */
header.wp-block-template-part,
.wp-block-template-part[data-area="header"],
footer.wp-block-template-part,
.wp-block-template-part[data-area="footer"] {
    width: 100% !important;
    max-width: 100% !important;
}

.massak-select-header>.wp-block-group {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

header .wc-block-customer-account,
header .wp-block-woocommerce-customer-account,
header .wc-block-mini-cart,
header .wp-block-woocommerce-mini-cart {
    display: inline-flex !important;
    align-items: center !important;
}

/* Logo Dimensions: Einheitliche Skalierung über Gutenberg-Breite (180px) ohne Höhenbeschneidung */
.wp-block-site-logo img,
.custom-logo-link img,
.custom-logo {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

.massak-select-header .custom-logo,
.massak-select-header .wp-block-site-logo img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
}

/* ==========================================================================
   WooCommerce Mein Konto (My Account) Layout & Bündige Content-Breite
   ========================================================================== */
.woocommerce-account .entry-content,
.woocommerce-account .wp-block-post-content {
    width: 100% !important;
}

.woocommerce-account .woocommerce {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    align-items: flex-start;
}


.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 220px;
    max-width: 220px;
    width: 100%;
    float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--wp--preset--color--ink, #222222);
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-radius: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--wp--preset--color--surface-soft, #f7f7f7);
    color: var(--wp--preset--color--ink, #222222);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
}


.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0%;
    min-width: 0;
    width: auto !important;
    float: none !important;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 1.5rem;
        padding-top: 1.25rem;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
    }
}

/* ==========================================================================
   Login-Formular (Full-Width Button & Primärfarbe)
   ========================================================================== */
.woocommerce form.login .woocommerce-form-login__submit,
.woocommerce form.login button[name="login"],
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-login button[name="login"] {
    width: 100% !important;
    display: block !important;
    float: none !important;
    background-color: var(--wp--preset--color--primary, #7F54B3) !important;
    border-color: var(--wp--preset--color--primary, #7F54B3) !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 13px 20px !important;
    min-height: 48px !important;
    height: auto !important;
    line-height: 1.4 !important;
    text-align: center !important;
    cursor: pointer !important;
    margin-top: 16px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.woocommerce form.login .woocommerce-form-login__submit:hover,
.woocommerce form.login button[name="login"]:hover,
.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-form-login button[name="login"]:hover {
    box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
}

.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce-form-login .woocommerce-form-login__rememberme {
    display: block !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    float: none !important;
}

.woocommerce form.login .lost_password a,
.woocommerce-form-login .lost_password a,
.woocommerce-account .lost_password a {
    color: var(--wp--preset--color--muted, #6A6A6A) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.woocommerce form.login .lost_password a:hover,
.woocommerce-form-login .lost_password a:hover,
.woocommerce-account .lost_password a:hover {
    color: var(--wp--preset--color--primary, #7F54B3) !important;
    text-decoration: underline !important;
}