.elementor-6983 .elementor-element.elementor-element-5338afbc{--display:flex;--min-height:65px;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;box-shadow:0px 0px 7px 0px rgba(0,0,0,0.5);}.elementor-6983 .elementor-element.elementor-element-5338afbc:not(.elementor-motion-effects-element-type-background), .elementor-6983 .elementor-element.elementor-element-5338afbc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F2F2;}.elementor-6983 .elementor-element.elementor-element-32d2d3e2{margin:0px 240px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-nav-menu-horizontal-menu-item-margin:calc( 30px / 2 );}.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-3391af0-font-family ), work sens;font-size:var( --e-global-typography-3391af0-font-size );font-weight:var( --e-global-typography-3391af0-font-weight );text-transform:var( --e-global-typography-3391af0-text-transform );font-style:var( --e-global-typography-3391af0-font-style );text-decoration:var( --e-global-typography-3391af0-text-decoration );line-height:var( --e-global-typography-3391af0-line-height );letter-spacing:var( --e-global-typography-3391af0-letter-spacing );word-spacing:var( --e-global-typography-3391af0-word-spacing );}.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-2e24cfa );fill:var( --e-global-color-2e24cfa );padding-left:30px;padding-right:30px;padding-top:14px;padding-bottom:14px;}.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:30px;}.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu--dropdown{background-color:var( --e-global-color-101145a );border-style:double;}.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-6983 .elementor-element.elementor-element-c10bc82{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-6983 .elementor-element.elementor-element-c6fa7de{--spacer-size:100px;}.elementor-6983 .elementor-element.elementor-element-929fb10{--spacer-size:300px;}@media(min-width:768px){.elementor-6983 .elementor-element.elementor-element-5338afbc{--content-width:1600px;}.elementor-6983 .elementor-element.elementor-element-c10bc82{--content-width:1600px;}}@media(max-width:1024px){.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-3391af0-font-size );line-height:var( --e-global-typography-3391af0-line-height );letter-spacing:var( --e-global-typography-3391af0-letter-spacing );word-spacing:var( --e-global-typography-3391af0-word-spacing );}}@media(max-width:767px){.elementor-6983 .elementor-element.elementor-element-32d2d3e2 .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-3391af0-font-size );line-height:var( --e-global-typography-3391af0-line-height );letter-spacing:var( --e-global-typography-3391af0-letter-spacing );word-spacing:var( --e-global-typography-3391af0-word-spacing );}}/* Start custom CSS for nav-menu, class: .elementor-element-32d2d3e2 *//* Menülinks: Text + Icon rechts daneben */
.driem-account-menu .elementor-nav-menu > li > a::after {
    margin-left: 100px !important;
}

/* Altes Icon links deaktivieren */
.driem-account-menu .elementor-nav-menu > li > a::before {
    content: none !important;
    display: none !important;
}

/* Neues Icon rechts vom Text */
.driem-account-menu .elementor-nav-menu > li > a::after {
    content: "" !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;

    border-radius: 50% !important;
    background-color: #FAF8F6 !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;

    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,0.08),
        inset 0 1px 0 rgba(255,255,255,0.85) !important;

    transform: none !important;
}

/* Mein Konto Icon */
.driem-account-menu .elementor-nav-menu > li:nth-child(1) > a::after {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='4' stroke='%23292727' stroke-width='1.8'/%3E%3Cpath d='M4.5 20C5.6 15.8 8.4 13.5 12 13.5C15.6 13.5 18.4 15.8 19.5 20' stroke='%23292727' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

/* Warenkorb Icon */
.driem-account-menu .elementor-nav-menu > li:nth-child(2) > a::after {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.5 8.5H17.5L18.5 21H5.5L6.5 8.5Z' stroke='%23292727' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9 8.5V6.5C9 4.8 10.3 3.5 12 3.5C13.7 3.5 15 4.8 15 6.5V8.5' stroke='%23292727' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

/* Warenkorb Icon markieren, wenn Warenkorb gefüllt ist */
.driem-account-menu .elementor-nav-menu > li:nth-child(2) > a {
    position: relative !important;
}

.driem-cart-status-dot {
    display: none;

    position: absolute;
    top: 2px;
    right: 2px;

    width: 10px;
    height: 10px;

    background: #2ec45a;
    border: 2px solid #FAF8F6;
    border-radius: 50%;

    box-shadow: 0 2px 8px rgba(46, 196, 90, 0.45);

    z-index: 20;
}

.driem-account-menu.driem-cart-has-items .driem-cart-status-dot {
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c10bc82 *//* =========================
   DRIEM Warenkorb Seite
========================= */


/* =========================
   Grundlayout stabil bei Zoom
========================= */

.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 1600px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 10px 0 110px !important;

    display: grid !important;
    grid-template-columns: 970px 550px !important;
    column-gap: 80px !important;
    row-gap: 0 !important;

    justify-content: flex-start !important;
    align-items: flex-start !important;

    background: #FAF8F6 !important;
    color: #292727 !important;

    box-sizing: border-box !important;

    transform: none !important;

    position: relative !important;
    left: 0 !important;

    overflow: visible !important;
}

.woocommerce-cart .woocommerce *,
.woocommerce-cart .woocommerce *::before,
.woocommerce-cart .woocommerce *::after {
    box-sizing: border-box !important;
}

/* Wichtig für sticky: Elementor-/Wrapper dürfen nicht abschneiden */
body.woocommerce-cart,
.woocommerce-cart .elementor,
.woocommerce-cart .elementor-section,
.woocommerce-cart .elementor-container,
.woocommerce-cart .elementor-widget-container,
.woocommerce-cart .e-con,
.woocommerce-cart .e-con-inner {
    overflow: visible !important;
}


/* =========================
   WooCommerce Meldung über Warenliste
========================= */

.woocommerce-cart .woocommerce-notices-wrapper {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 970px !important;
    max-width: 970px !important;

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

.woocommerce-cart .woocommerce-notices-wrapper:empty {
    display: none !important;
}

/* Falls WooCommerce die Meldung direkt ausgibt */
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .woocommerce-error {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 970px !important;
    max-width: 970px !important;

    margin: 0 0 24px 0 !important;
}


/* =========================
   Linke Warenkorb-Liste
========================= */

.woocommerce-cart form.woocommerce-cart-form {
    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 970px !important;
    max-width: 970px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;
}


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

.woocommerce-cart table.shop_table {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    background: transparent !important;

    border: none !important;
    border-top: 1px solid rgba(41, 39, 39, 0.12) !important;
    border-radius: 0 !important;

    border-collapse: collapse !important;
}

/* Tabellenkopf */
.woocommerce-cart table.shop_table thead th {
    padding: 22px 14px !important;

    background: transparent !important;
    color: #292727 !important;

    border-bottom: 1px solid rgba(41, 39, 39, 0.16) !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

/* Überschrift "PRODUKT" über dem Produktbild anzeigen */
.woocommerce-cart table.cart thead th.product-thumbnail {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    text-align: left !important;
    padding-left: 0 !important;
}

.woocommerce-cart table.cart thead th.product-thumbnail::before {
    content: "PRODUKT" !important;
}

/* Überschrift "MATERIAL" über der Material-Spalte anzeigen */
.woocommerce-cart table.cart thead th.product-name {
    min-width: 220px !important;

    text-align: left !important;
    vertical-align: middle !important;

    font-size: 0 !important;
    color: transparent !important;
}

.woocommerce-cart table.cart thead th.product-name::before {
    content: "AUSWAHL" !important;

    display: inline-block !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;

    color: #292727 !important;
}

/* Tabellenzellen */
.woocommerce-cart table.shop_table td {
    padding: 28px 14px !important;

    background: transparent !important;
    color: #292727 !important;

    border-bottom: 1px solid rgba(41, 39, 39, 0.10) !important;

    font-size: 15px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}


/* =========================
   Produktbild / Produktinfos
========================= */

/* Produktbild-Spalte ausreichend breit halten */
.woocommerce-cart table.cart .product-thumbnail {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    text-align: left !important;
    vertical-align: top !important;
}

/* Produktname + Bild Wrapper aus PHP-Snippet */
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-media {
    width: 260px !important;
    max-width: 260px !important;

    display: block !important;

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

/* Produktname direkt über dem Produktbild */
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-title {
    width: 260px !important;
    max-width: 260px !important;

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

    text-align: left !important;
}

.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-title span,
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-title a {
    display: block !important;

    color: #292727 !important;

    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;

    text-decoration: none !important;
}

.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-title a:hover {
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

/* Bildfläche */
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-image-wrap {
    width: 260px !important;
    aspect-ratio: 2048 / 1365 !important;

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

    overflow: hidden !important;

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

/* Falls WooCommerce doch noch einen Link um das Produktbild ausgibt */
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-image-wrap a {
    width: 100% !important;
    height: 100% !important;

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

    pointer-events: none !important;
    cursor: default !important;
}

/* Produktbild */
.woocommerce-cart table.cart .product-thumbnail .driem-cart-product-image-wrap img {
    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;
}

/* Fallback für Produktbild, falls PHP-Wrapper einmal nicht greift */
.woocommerce-cart table.cart .product-thumbnail > img,
.woocommerce-cart table.cart .product-thumbnail > a > img,
.woocommerce-cart table.cart .product-thumbnail img.driem-cart-product-image {
    width: 260px !important;
    max-width: 260px !important;

    height: auto !important;
    max-height: none !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;
}

/* Produktinfo-Spalte = Material-Spalte */
.woocommerce-cart table.cart .product-name {
    min-width: 220px !important;
    vertical-align: top !important;
}

/* Original-Produktname in der Material-Spalte ausblenden, falls PHP-Filter einmal nicht greift */
.woocommerce-cart table.cart .product-name > a {
    display: none !important;
}

/* Materialbild im Warenkorb */
.woocommerce-cart table.cart .product-name img,
.woocommerce-cart table.cart .product-name .variation img {
    width: 120px !important;
    max-width: 120px !important;

    height: 120px !important;
    max-height: 120px !important;

    object-fit: cover !important;
    object-position: center center !important;

    display: block !important;

    margin: 0 0 8px 0 !important;
}

/* Material-Ausgabe sauber untereinander */
.woocommerce-cart table.cart .product-name dl.variation,
.woocommerce-cart table.cart .product-name dl.variation dt,
.woocommerce-cart table.cart .product-name dl.variation dd,
.woocommerce-cart table.cart .product-name dl.variation p {
    margin-left: 0 !important;
    padding-left: 0 !important;

    float: none !important;
    clear: both !important;
}

/* Material-Label */
.woocommerce-cart table.cart .product-name dl.variation dt {
    display: block !important;

    margin: 0 0 4px 0 !important;

    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;

    color: #292727 !important;
}

/* Material-Wert unter dem Bild halten */
.woocommerce-cart table.cart .product-name dl.variation dd {
    display: block !important;

    width: 120px !important;
    max-width: 120px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

.woocommerce-cart table.cart .product-name dl.variation dd p {
    display: block !important;

    width: 120px !important;
    max-width: 120px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}


/* =========================
   Entfernen Icon – elegant
========================= */

.woocommerce-cart table.cart .product-remove {
    width: 46px !important;
    padding-left: 0 !important;
    padding-right: 14px !important;
    text-align: center !important;
}

.woocommerce-cart table.cart .product-remove a.remove {
    width: 28px !important;
    height: 28px !important;

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

    position: relative !important;

    color: transparent !important;
    background: transparent !important;

    border: 1px solid rgba(41, 39, 39, 0.35) !important;
    border-radius: 50% !important;

    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    transition:
        border-color 0.22s ease,
        background 0.22s ease,
        transform 0.22s ease,
        opacity 0.22s ease !important;
}

/* eigenes feines X */
.woocommerce-cart table.cart .product-remove a.remove::before,
.woocommerce-cart table.cart .product-remove a.remove::after {
    content: "" !important;

    width: 11px !important;
    height: 1px !important;

    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    background: #292727 !important;
    border-radius: 999px !important;

    transform-origin: center !important;
}

.woocommerce-cart table.cart .product-remove a.remove::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.woocommerce-cart table.cart .product-remove a.remove::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover {
    color: transparent !important;
    background: #292727 !important;
    border-color: #292727 !important;

    opacity: 1 !important;
    transform: scale(1.04) !important;
}

/* X wird beim Hover weiß */
.woocommerce-cart table.cart .product-remove a.remove:hover::before,
.woocommerce-cart table.cart .product-remove a.remove:hover::after {
    background: #ffffff !important;
}

/* Fokus für Tastaturbedienung */
.woocommerce-cart table.cart .product-remove a.remove:focus-visible {
    outline: 2px solid rgba(41, 39, 39, 0.35) !important;
    outline-offset: 3px !important;
}


/* =========================
   Preis / Anzahl / Zwischensumme
========================= */

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-quantity,
.woocommerce-cart table.cart .product-subtotal {
    white-space: nowrap !important;
}

/* Menge */
.woocommerce-cart table.cart input.qty {
    width: 70px !important;
    height: 42px !important;

    background: #ffffff !important;
    color: #292727 !important;

    border: 1px solid rgba(41, 39, 39, 0.16) !important;
    border-radius: 0 !important;

    text-align: center !important;

    box-shadow: none !important;
}

.woocommerce-cart table.cart input.qty:focus {
    border-color: #292727 !important;
    outline: none !important;
    box-shadow: none !important;
}


/* =========================
   Gutschein / Aktionen
========================= */

.woocommerce-cart table.cart td.actions {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* Gutschein links */
.woocommerce-cart table.cart td.actions .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    float: left !important;
}

/* Gutscheinfeld */
.woocommerce-cart .coupon input.input-text {
    width: 240px !important;
    height: 42px !important;

    padding: 0 14px !important;

    background: #ffffff !important;
    color: #292727 !important;

    border: 1px solid rgba(41, 39, 39, 0.16) !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

.woocommerce-cart .coupon input.input-text:focus {
    border-color: #292727 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Warenkorb aktualisieren rechts */
.woocommerce-cart table.cart td.actions > button.button {
    float: right !important;
}


/* =========================
   Buttons allgemein
========================= */

.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button {
    background: #292727 !important;
    color: #ffffff !important;

    border: 1px solid #292727 !important;
    border-radius: 0 !important;

    padding: 14px 24px !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease !important;
}

.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover {
    background: #FAF8F6 !important;
    color: #292727 !important;

    transform: translateY(2px);
}


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

.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 2 !important;

    width: 550px !important;
    max-width: 550px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    position: sticky !important;
    top: 300px !important;
    align-self: flex-start !important;
    height: fit-content !important;
    z-index: 5 !important;
}

.woocommerce-cart .cart_totals {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    background: #ffffff !important;

    border: 1px solid rgba(41, 39, 39, 0.12) !important;
    border-radius: 0 !important;

    padding: 42px 44px !important;

    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.035) !important;
}

/* Überschrift */
.woocommerce-cart .cart_totals h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 36px !important;

    color: #292727 !important;
}

/* Summentabelle */
.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;

    margin: 0 !important;

    background: transparent !important;

    border: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 16px 0 !important;

    background: transparent !important;

    border-bottom: 1px solid rgba(41, 39, 39, 0.10) !important;

    font-size: 14px !important;
    line-height: 1.5 !important;

    color: #292727 !important;
}


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

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 38px 0 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;

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

    margin: 0 !important;

    background: #292727 !important;
    color: #ffffff !important;

    border: 1px solid #292727 !important;
    border-radius: 0 !important;

    padding: 18px 24px !important;

    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #FAF8F6 !important;
    color: #292727 !important;

    transform: translateY(2px);
}


/* =========================
   Hinweise / leerer Warenkorb
========================= */

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 18px 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;

    background: #ffffff !important;
    color: #292727 !important;

    border: 1px solid rgba(41, 39, 39, 0.14) !important;
    border-radius: 0 !important;

    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.035) !important;

    font-size: 15px !important;
    line-height: 1.55 !important;
}

.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-error::before {
    display: none !important;
    content: none !important;
}

/* Rückgängig-Link neutral und sichtbar */
.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-error a {
    display: inline-block !important;
    margin-left: auto !important;

    color: #292727 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-family: inherit !important;

    white-space: nowrap !important;
}


/* =========================
   WooCommerce Clearfix deaktivieren
========================= */

.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after,
.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after,
.woocommerce-cart form.woocommerce-cart-form::before,
.woocommerce-cart form.woocommerce-cart-form::after {
    content: none !important;
    display: none !important;
}


/* =========================
   DRIEM leerer Warenkorb
========================= */

/* Leerer Warenkorb: Layout sauber */
.woocommerce-cart .cart-empty {
    width: 100% !important;
    max-width: 520px !important;

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

    display: block !important;

    background: #ffffff !important;
    color: #292727 !important;

    border: 1px solid rgba(41, 39, 39, 0.14) !important;
    border-radius: 0 !important;

    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.035) !important;

    font-size: 16px !important;
    line-height: 1.5 !important;
}

/* "Zurück zum Shop" Button unter leerem Warenkorb */
.woocommerce-cart .return-to-shop {
    margin-top: 22px !important;
}

.woocommerce-cart .return-to-shop a.button {
    background: #292727 !important;
    color: #ffffff !important;

    border: 1px solid #292727 !important;
    border-radius: 0 !important;

    padding: 15px 26px !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
}

.woocommerce-cart .return-to-shop a.button:hover {
    background: #FAF8F6 !important;
    color: #292727 !important;
    transform: translateY(2px);
}

/* Leerer Warenkorb ganz links ausrichten */
.woocommerce-cart .woocommerce:has(.cart-empty) {
    display: block !important;

    width: 100% !important;
    max-width: 1600px !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    transform: none !important;
    left: 0 !important;

    text-align: left !important;
}

/* Meldung und leerer Warenkorb links halten */
.woocommerce-cart .woocommerce:has(.cart-empty) .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce:has(.cart-empty) .woocommerce-message,
.woocommerce-cart .woocommerce:has(.cart-empty) .woocommerce-info,
.woocommerce-cart .woocommerce:has(.cart-empty) .cart-empty {
    width: 520px !important;
    max-width: 520px !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    text-align: left !important;
}

/* Button ebenfalls links */
.woocommerce-cart .woocommerce:has(.cart-empty) .return-to-shop {
    width: 520px !important;
    max-width: 520px !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    text-align: left !important;
}

.woocommerce-cart .woocommerce:has(.cart-empty) .return-to-shop a.button {
    margin-left: 0 !important;
    margin-right: auto !important;
}


.woocommerce-cart .shipping-calculator-form #calc_shipping_country,
.woocommerce-cart .shipping-calculator-form #calc_shipping_state,
.woocommerce-cart .shipping-calculator-form .select2-selection__rendered {
    text-align: left !important;
    direction: ltr !important;
}


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

@media (max-width: 1100px) {
    .woocommerce-cart .woocommerce,
    .woocommerce-cart .woocommerce:has(.cart-empty) {
        display: block !important;

        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding: 50px 22px 80px !important;

        transform: none !important;
        left: 0 !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper,
    .woocommerce-cart .woocommerce > .woocommerce-message,
    .woocommerce-cart .woocommerce > .woocommerce-info,
    .woocommerce-cart .woocommerce > .woocommerce-error,
    .woocommerce-cart form.woocommerce-cart-form {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        float: none !important;
    }

    .woocommerce-cart .woocommerce-notices-wrapper {
        margin-bottom: 24px !important;
    }

    .woocommerce-cart .cart-collaterals {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 40px !important;

        float: none !important;

        position: static !important;
        top: auto !important;
        height: auto !important;
        z-index: auto !important;
    }

    .woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-cart table.cart .product-thumbnail,
    .woocommerce-cart table.cart thead th.product-thumbnail {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .woocommerce-cart table.cart .product-thumbnail .driem-cart-product-media,
    .woocommerce-cart table.cart .product-thumbnail .driem-cart-product-title,
    .woocommerce-cart table.cart .product-thumbnail .driem-cart-product-image-wrap {
        width: 220px !important;
        max-width: 220px !important;
    }

    .woocommerce-cart table.cart .product-name img,
    .woocommerce-cart table.cart .product-name .variation img {
        width: 100px !important;
        max-width: 100px !important;

        height: 100px !important;
        max-height: 100px !important;
    }

    .woocommerce-cart table.cart .product-name dl.variation dd,
    .woocommerce-cart table.cart .product-name dl.variation dd p {
        width: 100px !important;
        max-width: 100px !important;
    }

    .woocommerce-cart .woocommerce-message,
    .woocommerce-cart .woocommerce-info,
    .woocommerce-cart .woocommerce-error {
        display: block !important;
    }

    .woocommerce-cart .woocommerce-message a,
    .woocommerce-cart .woocommerce-info a,
    .woocommerce-cart .woocommerce-error a {
        display: inline-block !important;
        margin-left: 0 !important;
        margin-top: 10px !important;
    }
}

/* =========================
   Warenkorb: Materialbild & Materialtexte kleiner
========================= */

/* Materialbild kleiner */
.woocommerce-cart table.cart .product-name img,
.woocommerce-cart table.cart .product-name .variation img {
    width: 88px !important;
    max-width: 88px !important;

    height: 88px !important;
    max-height: 88px !important;

    margin-bottom: 6px !important;
}

/* Material-Labels, z.B. "Gewählter Stoff:" */
.woocommerce-cart table.cart .product-name dl.variation dt {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
}

/* Materialnamen / Werte, z.B. "S4.26", "Petrol" */
.woocommerce-cart table.cart .product-name dl.variation dd,
.woocommerce-cart table.cart .product-name dl.variation dd p {
    width: 88px !important;
    max-width: 88px !important;

    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* Abstand zwischen mehreren Materialangaben etwas reduzieren */
.woocommerce-cart table.cart .product-name dl.variation {
    font-size: 13px !important;
    line-height: 1.3 !important;
}

.woocommerce-cart table.cart .product-name dl.variation dt:not(:first-child) {
    margin-top: 8px !important;
}/* End custom CSS */