/* Modern cart – shared by the two product plugins */
body.cartui-modern .content-area,
body.cartui-modern .site-main,
body.cartui-modern article,
body.cartui-modern .entry-content-wrap,
body.cartui-modern .entry-content{width:100%!important;max-width:none!important}
body.cartui-modern .entry-content-wrap{padding-left:0!important;padding-right:0!important}
body.cartui-modern .entry-header,body.cartui-modern .entry-title{display:none!important}
body.cartui-modern .woocommerce{width:calc(100% - 64px)!important;max-width:var(--global-content-width, 1480px)!important;margin:0 auto!important;padding:56px 0 80px!important;box-sizing:border-box}
.cartui-header{width:100%;margin:0 0 64px}.cartui-header__eyebrow{display:inline-block;margin:0 0 14px;padding:4px 7px;background:#E8ECF7;color:#2E4396;font-size:10px;line-height:1;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.cartui-header__title{margin:0 0 12px!important;color:#202A3A;font-size:38px!important;line-height:1.15;font-weight:700}.cartui-header__text{margin:0!important;color:#6F798A;font-size:15px;line-height:1.6}
.cartui-columns{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start!important}
.cartui-columns form.woocommerce-cart-form{grid-column:1;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;align-self:start!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.cartui-filled .woocommerce-cart-form h1,body.cartui-filled .woocommerce-cart-form h2,body.cartui-filled .woocommerce-cart-form h3,body.cartui-filled .woocommerce-cart-form .screen-reader-text,body.cartui-filled .woocommerce-cart-form .woocommerce-cart-title,body.cartui-filled .woocommerce-cart-form .cart-title,body.cartui-filled .cartui-columns>h1,body.cartui-filled .cartui-columns>h2,body.cartui-filled .cartui-columns>h3{display:none!important}
body.cartui-filled .woocommerce-cart-form,body.cartui-filled .cart-collaterals{margin-top:0!important;padding-top:0!important;align-self:start!important}
body.cartui-filled .woocommerce-cart-form table.shop_table.cart{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}body.cartui-filled .shop_table.cart thead{display:none!important}body.cartui-filled .shop_table.cart tbody{display:flex!important;flex-direction:column;width:100%;gap:18px}
body.cartui-filled .shop_table.cart tr.cart_item{position:relative;width:100%;padding:24px;box-sizing:border-box;background:#fff;border:1px solid #E5E9F0!important;border-radius:12px;box-shadow:0 4px 18px rgba(31,41,55,.10);transition:box-shadow .2s ease,transform .2s ease}body.cartui-filled .shop_table.cart tr.cart_item:hover{box-shadow:0 10px 28px rgba(46,67,150,.18);transform:translateY(-2px)}body.cartui-filled .shop_table.cart tr.cart_item td{width:auto!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;box-sizing:border-box}
.cartui-badge{display:inline-flex;align-items:center;margin:0 0 7px;padding:4px 8px;border-radius:999px;font-size:9px;line-height:1;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.cartui-badge--seminar{background:#E8ECF7;color:#2E4396}.cartui-badge--article{background:#EAF5EC;color:#3D7A4C}.cartui-product__name,.cartui-product__name a{color:#202A3A;font-size:16px;line-height:1.35;font-weight:700;text-decoration:none}.cartui-product__name a:hover{color:#2E4396}
body.cartui-filled tr.cartui-item--seminar{display:grid!important;grid-template-columns:minmax(0,1fr) 130px;grid-template-areas:"product remove" "price subtotal";column-gap:24px}body.cartui-filled .cartui-item--seminar .product-thumbnail,body.cartui-filled .cartui-item--seminar .product-quantity{display:none!important}body.cartui-filled .cartui-item--seminar .product-name{display:block!important;grid-area:product;min-width:0;padding-right:12px!important}
.cartui-seminar-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:20px;width:100%;margin-top:9px;color:#6F798A;font-size:12px;line-height:1.4}.cartui-seminar-meta__date,.cartui-seminar-meta__location{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cartui-seminar-meta__date{flex:0 0 auto}.cartui-seminar-meta__location{flex:1 1 auto;min-width:0;overflow:hidden}.cartui-seminar-meta__location>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cartui-icon{display:inline-block;width:15px;height:15px;flex:0 0 15px;background-repeat:no-repeat;background-position:center;background-size:contain}.cartui-icon--calendar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v3M17 2v3M3 9h18M5 4h14a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z' fill='none' stroke='%236F798A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.cartui-icon--location{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z' fill='none' stroke='%236F798A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='none' stroke='%236F798A' stroke-width='1.7'/%3E%3C/svg%3E")}.cartui-seminar-company{display:flex;align-items:center;justify-content:flex-start;width:100%;margin-top:7px;color:#596578;font-size:12px;line-height:1.4;white-space:nowrap;text-align:left}.cartui-seminar-company strong{margin-left:4px;color:#202A3A;font-weight:700}
body.cartui-filled .cartui-item--seminar .product-name dl.variation{display:block;width:calc(100% + 154px);margin:18px 0 0!important;padding:16px 0 16px!important;border-top:1px solid #E3E7ED;border-bottom:1px solid #E3E7ED;color:#6F798A;font-size:12px;line-height:1.45;box-sizing:border-box}body.cartui-filled .cartui-item--seminar dl.variation dt:has(.cartui-participant-number){float:left;clear:left;width:32px;margin:7px 0 0!important;padding:0!important;font-size:0!important;line-height:24px}body.cartui-filled .cartui-participant-number{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#E8ECF7;color:#2E4396;font-size:11px!important;line-height:1;font-weight:700}body.cartui-filled .cartui-item--seminar dl.variation dd:has(.cartui-participant-name){display:block;min-height:24px;margin:7px 0 0 34px!important;padding:0!important}body.cartui-filled .cartui-participant-name{display:inline-flex;align-items:center;min-height:24px;color:#202A3A;font-size:13px;line-height:1.3;font-weight:500}
body.cartui-filled .cartui-item--seminar .product-price{display:block!important;grid-area:price;margin-top:0;padding-top:16px!important;border-top:0!important}body.cartui-filled .cartui-item--seminar .product-subtotal{display:block!important;grid-area:subtotal;align-self:end;margin-top:0;padding-top:16px!important;border-top:0!important;text-align:right}
body.cartui-filled tr.cartui-item--rental,body.cartui-filled tr.cartui-item--product{display:grid!important;grid-template-columns:120px minmax(0,1fr) 130px;grid-template-areas:"image product remove" "image product remove" "quantity quantity quantity" "price price subtotal";column-gap:22px}body.cartui-filled .cartui-item--rental .product-thumbnail,body.cartui-filled .cartui-item--product .product-thumbnail{display:block!important;grid-area:image}.cartui-image{width:120px;height:120px;overflow:hidden;border-radius:10px;background:#F3F5F8}.cartui-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover}body.cartui-filled .cartui-item--rental .product-name,body.cartui-filled .cartui-item--product .product-name{display:block!important;grid-area:product;padding-right:12px!important}body.cartui-filled .cartui-item--rental .product-name dl.variation,body.cartui-filled .cartui-item--product .product-name dl.variation{margin:7px 0 0!important;color:#6F798A;font-size:12px;line-height:1.45}body.cartui-filled .cartui-item--rental .product-name dl.variation dt,body.cartui-filled .cartui-item--product .product-name dl.variation dt{float:left;clear:left;margin:0 4px 0 0!important;padding:0!important;color:#596578;font-weight:700}body.cartui-filled .cartui-item--rental .product-name dl.variation dd,body.cartui-filled .cartui-item--product .product-name dl.variation dd{margin:0!important;padding:0!important;color:#6F798A}body.cartui-filled .product-name dl.variation p{margin:0!important}
body.cartui-filled .cartui-item--rental .product-quantity,body.cartui-filled .cartui-item--product .product-quantity{display:block!important;grid-area:quantity;margin-top:18px;padding-top:15px!important;border-top:1px solid #E3E7ED!important}.cartui-quantity{display:flex;align-items:center;gap:12px}.cartui-quantity:before{content:"Menge";color:#6F798A;font-size:12px}.cartui-quantity .quantity{display:inline-flex!important;align-items:center;overflow:hidden;margin:0;border-radius:7px;background:#F1F2F4}.cartui-qty-button{width:34px;height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#ECEDEF!important;color:#202A3A!important;font-size:18px;line-height:1;cursor:pointer;box-shadow:none!important;transition:background-color .2s ease,color .2s ease}.cartui-qty-button:hover{background:#E1E4E9!important;color:#2E4396!important;transform:none!important;box-shadow:none!important}.cartui-quantity .qty{width:42px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 4px!important;border:0!important;border-left:1px solid #D8DCE3!important;border-right:1px solid #D8DCE3!important;border-radius:0!important;background:#fff!important;color:#202A3A;font-size:13px;text-align:center;box-shadow:none!important;-moz-appearance:textfield}.cartui-quantity .qty::-webkit-inner-spin-button,.cartui-quantity .qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
body.cartui-filled .cartui-item--rental .product-price,body.cartui-filled .cartui-item--product .product-price{display:block!important;grid-area:price;margin-top:14px;padding-top:15px!important;border-top:1px solid #E3E7ED!important}body.cartui-filled .cartui-item--rental .product-subtotal,body.cartui-filled .cartui-item--product .product-subtotal{display:block!important;grid-area:subtotal;align-self:end;margin-top:14px;padding-top:15px!important;border-top:1px solid #E3E7ED!important;text-align:right}.cartui-price{display:flex;align-items:center;gap:4px;color:#6F798A;font-size:12px;line-height:1.4}.cartui-subtotal{color:#202A3A;font-size:17px;line-height:1.3;font-weight:700;white-space:nowrap}
body.cartui-filled .shop_table.cart .product-remove{display:block!important;grid-area:remove;justify-self:end;align-self:start}.cartui-remove{width:auto!important;height:auto!important;min-height:0!important;display:inline-flex!important;align-items:center;gap:5px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#6F798A!important;font-size:12px!important;line-height:1.2!important;font-weight:400!important;text-decoration:none!important;box-shadow:none!important}.cartui-remove:hover{background:transparent!important;color:#2E4396!important;transform:none!important;box-shadow:none!important}.cartui-remove__icon{font-size:17px;line-height:1}
body.cartui-filled .shop_table.cart tr:not(.cart_item){display:block!important;width:100%}body.cartui-filled .shop_table.cart td.actions{display:block!important;width:100%!important;padding:0!important;border:0!important;background:transparent!important}body.cartui-filled .shop_table.cart .coupon{display:none!important}body.cartui-filled button[name="update_cart"]{float:right!important;margin-top:2px;min-height:38px;padding:0 14px;border:0!important;border-radius:6px;background:#D5DBE4;color:#202A3A;font-size:12px;font-weight:600;opacity:1!important;box-shadow:none!important}
body.cartui-filled button[name="update_cart"]:disabled{background:#E2E6EC!important;color:#596578!important;opacity:1!important;cursor:not-allowed} body.cartui-filled button[name="update_cart"]:not(:disabled){background:#CBD3DF!important;color:#202A3A!important;cursor:pointer}
body.cartui-filled .cartui-columns .cart-collaterals{grid-column:2;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;align-self:start!important}body.cartui-filled .cart-collaterals .cart_totals{display:flex;flex-direction:column;width:100%!important;max-width:none!important;margin:0!important;padding:26px!important;float:none!important;box-sizing:border-box;background:#fff;border:1px solid #E5E9F0;border-radius:12px;box-shadow:0 4px 18px rgba(31,41,55,.10);transition:box-shadow .2s ease,transform .2s ease}body.cartui-filled .cart-collaterals .cart_totals:hover{box-shadow:0 10px 28px rgba(46,67,150,.18);transform:translateY(-2px)}body.cartui-filled .cart_totals h2{order:0;margin:0 0 14px!important;color:#202A3A;font-size:20px!important;line-height:1.3;font-weight:700}.cartui-summary-meta{order:1;margin:0 0 6px}.cartui-summary-meta>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 0;color:#596578;font-size:12px;line-height:1.4}.cartui-summary-meta strong{color:#596578;font-weight:500}body.cartui-filled .cart_totals table.shop_table{order:2;width:100%!important;margin:0!important;border:0!important;border-collapse:collapse!important;background:transparent!important}body.cartui-filled .cart_totals table.shop_table tr{border-bottom:1px solid #DDE2EA}body.cartui-filled .cart_totals table.shop_table th,body.cartui-filled .cart_totals table.shop_table td{padding:11px 0!important;border:0!important;background:transparent!important;color:#596578;font-size:12px;line-height:1.4}body.cartui-filled .cart_totals table.shop_table th{width:58%;text-align:left;font-weight:500}body.cartui-filled .cart_totals table.shop_table td{width:42%;text-align:right;font-weight:500}body.cartui-filled .cart_totals .order-total th,body.cartui-filled .cart_totals .order-total td{padding-top:15px!important;padding-bottom:15px!important;color:#202A3A;font-size:16px;font-weight:700}body.cartui-filled .cart_totals .order-total .amount{color:#202A3A;font-size:18px;font-weight:700}body.cartui-filled .wc-proceed-to-checkout{order:3;margin:0!important;padding:20px 0 0!important}.checkout-button{width:100%!important;min-height:46px;display:flex!important;align-items:center;justify-content:center;margin:0!important;padding:0 18px!important;box-sizing:border-box;background:#2E4396!important;border:0!important;border-radius:6px!important;color:#fff!important;font-size:13px!important;line-height:1!important;font-weight:600!important;text-decoration:none!important;box-shadow:none!important}.cartui-checkout-note{margin-top:13px;color:#7C8594;font-size:10px;line-height:1.4;text-align:center}.cartui-continue{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;text-align:center}.cartui-continue a{color:#2E4396;font-size:12px;font-weight:600;text-decoration:none;text-align:center}.cartui-continue a:hover{text-decoration:underline}.cross-sells{display:none!important}
/* Empty cart */
body.cartui-empty .woocommerce{max-width:var(--global-content-width, 1480px)!important}.cartui-empty-wrap .cartui-header{margin-bottom:56px}.cartui-empty-card{max-width:760px;margin:0 auto;padding:46px 40px;text-align:center;background:#fff;border:0;border-radius:14px;box-shadow:none;transition:none}.cartui-empty-card:hover{box-shadow:none;transform:none}.cartui-empty-card__icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#E8ECF7;position:relative}.cartui-empty-card__icon:before{content:"";position:absolute;inset:19px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.3 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6' fill='none' stroke='%232E4396' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='20' r='1' fill='%232E4396'/%3E%3Ccircle cx='18' cy='20' r='1' fill='%232E4396'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}.cartui-empty-card h2{margin:0 0 10px;color:#202A3A;font-size:28px}.cartui-empty-card p{margin:0;color:#6F798A;font-size:14px}.cartui-empty-card__actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.cartui-empty-card__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border:2px solid #2E4396;border-radius:6px;color:#2E4396;text-decoration:none;font-weight:600;transition:box-shadow .2s ease,transform .2s ease,background .2s ease}.cartui-empty-card__button--primary{background:#2E4396;color:#fff}.cartui-empty-card__button:hover{box-shadow:0 10px 28px rgba(46,67,150,.18);transform:translateY(-2px)}.cartui-empty-card__button--primary:hover,.cartui-empty-card__button--primary:focus{color:#fff!important;background:#2E4396!important}
@media(max-width:1100px){.cartui-columns{grid-template-columns:1fr;gap:24px}.cartui-columns form.woocommerce-cart-form,.cartui-columns .cart-collaterals{grid-column:1!important;width:100%!important}.cartui-seminar-meta{flex-wrap:wrap}.cartui-seminar-meta__location{white-space:normal;overflow:visible}.cartui-seminar-meta__location>span:last-child{overflow:visible;text-overflow:initial;white-space:normal}}
@media(max-width:767px){body.cartui-modern .woocommerce{width:calc(100% - 40px)!important;padding-top:36px!important;padding-bottom:60px!important}.cartui-header{margin-bottom:40px}.cartui-header__title{font-size:30px!important}body.cartui-filled tr.cartui-item--seminar{grid-template-columns:1fr;grid-template-areas:"product" "price" "subtotal";padding:20px}.cartui-seminar-meta{flex-direction:column;align-items:flex-start;gap:6px}.cartui-seminar-company{justify-content:flex-start}body.cartui-filled tr.cartui-item--rental,body.cartui-filled tr.cartui-item--product{grid-template-columns:82px minmax(0,1fr);grid-template-areas:"image product" "quantity quantity" "price subtotal";column-gap:16px;padding:20px}.cartui-image{width:82px;height:82px}body.cartui-filled .shop_table.cart .product-remove{position:absolute;top:18px;right:18px;z-index:3}body.cartui-filled .shop_table.cart .product-name{padding-right:70px!important}body.cartui-filled .cart-collaterals .cart_totals{padding:22px 20px!important}body.cartui-filled button[name="update_cart"]{width:100%;float:none!important;margin-top:8px}.cartui-empty-card{padding:34px 22px}.cartui-empty-card__actions{flex-direction:column}.cartui-empty-card__button{width:100%;box-sizing:border-box}}

/* =========================================================
   Modern cart – reference layout fine tuning
   ========================================================= */
body.cartui-modern .woocommerce{
    max-width:var(--global-content-width, 1480px)!important;
    padding-top:60px!important;
    padding-bottom:88px!important;
}
.cartui-header{margin-bottom:68px}
.cartui-header__eyebrow{
    margin-bottom:16px;
    padding:4px 7px;
    font-size:10px;
    letter-spacing:.14em;
}
.cartui-header__title{
    margin-bottom:13px!important;
    font-size:40px!important;
    line-height:1.12;
    color:#202A3A;
}
.cartui-header__text{
    font-size:16px;
    line-height:1.55;
    color:#6F798A;
}
.cartui-columns{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:32px;
}
body.cartui-filled .shop_table.cart tbody{gap:20px}
body.cartui-filled .shop_table.cart tr.cart_item{
    padding:28px;
    border-color:#E3E7ED!important;
    border-radius:12px;
    box-shadow:0 4px 18px rgba(31,41,55,.10);
}
.cartui-badge{
    margin-bottom:8px;
    padding:4px 9px;
    font-size:10px;
    letter-spacing:.06em;
}
.cartui-product__name,.cartui-product__name a{
    font-size:17px;
    line-height:1.35;
    color:#202A3A;
}
.cartui-seminar-meta{
    margin-top:9px;
    gap:20px;
    font-size:13px;
    line-height:1.45;
    color:#6F798A;
}
.cartui-icon{
    width:16px;
    height:16px;
    flex-basis:16px;
}
.cartui-seminar-company{
    margin-top:7px;
    font-size:13px;
    line-height:1.45;
    color:#596578;
}
body.cartui-filled .cartui-item--seminar .product-name dl.variation{
    width:calc(100% + 158px);
    margin-top:19px!important;
    padding:16px 0 16px!important;
    border-top-color:#DDE2EA;
    border-bottom-color:#DDE2EA;
    font-size:13px;
    line-height:1.45;
}
body.cartui-filled .cartui-item--seminar dl.variation dt:has(.cartui-participant-number){
    width:34px;
    margin-top:8px!important;
    line-height:26px;
}
body.cartui-filled .cartui-participant-number{
    width:25px;
    height:25px;
    font-size:12px!important;
}
body.cartui-filled .cartui-item--seminar dl.variation dd:has(.cartui-participant-name){
    min-height:25px;
    margin:8px 0 0 35px!important;
}
body.cartui-filled .cartui-participant-name{
    min-height:25px;
    font-size:14px;
    color:#202A3A;
}
body.cartui-filled .cartui-item--seminar .product-price,
body.cartui-filled .cartui-item--seminar .product-subtotal{
    padding-top:17px!important;
}
body.cartui-filled tr.cartui-item--rental,
body.cartui-filled tr.cartui-item--product{
    grid-template-columns:130px minmax(0,1fr) 130px;
    column-gap:22px;
}
.cartui-image{
    width:130px;
    height:130px;
    border-radius:10px;
}
body.cartui-filled .cartui-item--rental .product-name dl.variation,
body.cartui-filled .cartui-item--product .product-name dl.variation{
    margin-top:8px!important;
    font-size:13px;
    line-height:1.45;
}
body.cartui-filled .cartui-item--rental .product-quantity,
body.cartui-filled .cartui-item--product .product-quantity{
    margin-top:20px;
    padding-top:17px!important;
    border-top-color:#DDE2EA!important;
}
.cartui-quantity{gap:12px}
.cartui-quantity:before{
    font-size:13px;
    color:#6F798A;
}
.cartui-qty-button{
    width:36px;
    height:38px;
    min-height:38px;
    font-size:18px;
}
.cartui-quantity .qty{
    width:44px!important;
    height:38px!important;
    min-height:38px!important;
    font-size:14px;
}
body.cartui-filled .cartui-item--rental .product-price,
body.cartui-filled .cartui-item--product .product-price,
body.cartui-filled .cartui-item--rental .product-subtotal,
body.cartui-filled .cartui-item--product .product-subtotal{
    margin-top:16px;
    padding-top:17px!important;
    border-top-color:#DDE2EA!important;
}
.cartui-price{
    font-size:13px;
    line-height:1.45;
    color:#6F798A;
}
.cartui-subtotal{
    font-size:18px;
    line-height:1.25;
    color:#202A3A;
}
.cartui-remove{
    font-size:13px!important;
    color:#6F798A!important;
}
.cartui-remove__icon{font-size:18px}
body.cartui-filled .cart-collaterals .cart_totals{
    padding:28px!important;
    border-color:#E3E7ED;
    border-radius:12px;
    box-shadow:0 4px 18px rgba(31,41,55,.10);
}
body.cartui-filled .cart_totals h2{
    margin-bottom:16px!important;
    font-size:22px!important;
    line-height:1.25;
    color:#202A3A;
}
.cartui-summary-meta{margin-bottom:7px}
.cartui-summary-meta>div{
    padding:8px 0;
    font-size:13px;
    line-height:1.4;
    color:#596578;
}
body.cartui-filled .cart_totals table.shop_table th,
body.cartui-filled .cart_totals table.shop_table td{
    padding:13px 0!important;
    font-size:13px;
    line-height:1.4;
    color:#596578;
}
body.cartui-filled .cart_totals .order-total th,
body.cartui-filled .cart_totals .order-total td{
    padding-top:17px!important;
    padding-bottom:17px!important;
    font-size:18px;
    color:#202A3A;
}
body.cartui-filled .cart_totals .order-total .amount{
    font-size:20px;
    color:#202A3A;
}
body.cartui-filled .wc-proceed-to-checkout{padding-top:22px!important}
.checkout-button{
    min-height:48px;
    font-size:14px!important;
    border-radius:6px!important;
}
.cartui-checkout-note{
    margin-top:14px;
    font-size:11px;
    line-height:1.45;
    color:#7C8594;
}
.cartui-continue{margin-top:15px}
.cartui-continue a{
    font-size:13px;
    color:#2E4396;
}
@media(max-width:767px){
    body.cartui-modern .woocommerce{padding-top:40px!important;padding-bottom:64px!important}
    .cartui-header{margin-bottom:42px}
    .cartui-header__title{font-size:32px!important}
    .cartui-header__text{font-size:15px}
    body.cartui-filled .shop_table.cart tr.cart_item{padding:20px}
    body.cartui-filled tr.cartui-item--rental,
    body.cartui-filled tr.cartui-item--product{grid-template-columns:86px minmax(0,1fr)}
    .cartui-image{width:86px;height:86px}
}

/* =========================================================
   MODERN CART – ARTIKEL-CARD DREISPALTIG
   Linke Spalte: Produktbild
   Mittlere Spalte: Produktdaten, Menge, Einzelpreis
   Rechte Spalte: Entfernen / Positionssumme
   ========================================================= */

body.cartui-filled tr.cartui-item--rental,
body.cartui-filled tr.cartui-item--product {
    grid-template-columns: 130px minmax(0, 1fr) 130px;
    grid-template-areas:
        "image product remove"
        "image quantity quantity"
        "image price subtotal";
    column-gap: 22px;
    row-gap: 0;
    align-items: start;
}

body.cartui-filled .cartui-item--rental .product-thumbnail,
body.cartui-filled .cartui-item--product .product-thumbnail {
    grid-area: image;
    align-self: start;
}

body.cartui-filled .cartui-item--rental .product-name,
body.cartui-filled .cartui-item--product .product-name {
    grid-area: product;
    min-width: 0;
    padding-right: 12px !important;
    text-align: left !important;
}

body.cartui-filled .cartui-item--rental .product-name dl.variation,
body.cartui-filled .cartui-item--product .product-name dl.variation {
    text-align: left !important;
}

body.cartui-filled .cartui-item--rental .product-quantity,
body.cartui-filled .cartui-item--product .product-quantity {
    grid-area: quantity;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 16px 0 !important;
    border-top: 1px solid #E5E7EB !important;
    border-bottom: 1px solid #E5E7EB !important;
    text-align: left !important;
    box-sizing: border-box;
}

body.cartui-filled .cartui-item--rental .cartui-quantity,
body.cartui-filled .cartui-item--product .cartui-quantity {
    justify-content: flex-start;
    text-align: left;
}

body.cartui-filled .cartui-item--rental .product-price,
body.cartui-filled .cartui-item--product .product-price {
    grid-area: price;
    margin: 0 !important;
    padding: 16px 0 0 !important;
    border-top: 0 !important;
    text-align: left !important;
}

body.cartui-filled .cartui-item--rental .cartui-price,
body.cartui-filled .cartui-item--product .cartui-price {
    justify-content: flex-start;
    text-align: left;
}

body.cartui-filled .cartui-item--rental .product-subtotal,
body.cartui-filled .cartui-item--product .product-subtotal {
    grid-area: subtotal;
    align-self: end;
    margin: 0 !important;
    padding: 16px 0 0 !important;
    border-top: 0 !important;
    text-align: right !important;
}

@media (max-width: 767px) {
    body.cartui-filled tr.cartui-item--rental,
    body.cartui-filled tr.cartui-item--product {
        grid-template-columns: 82px minmax(0, 1fr);
        grid-template-areas:
            "image product"
            "quantity quantity"
            "price subtotal";
        column-gap: 16px;
    }

    body.cartui-filled .cartui-item--rental .product-quantity,
    body.cartui-filled .cartui-item--product .product-quantity {
        margin-top: 16px !important;
    }
}

/* =========================================================
   Artikel-Card – Trennlinien ober- und unterhalb der Menge
   Je 16px Abstand zwischen Linie und Mengeninhalt
   ========================================================= */
body.cartui-filled .cartui-item--rental .product-quantity,
body.cartui-filled .cartui-item--product .product-quantity {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    border-top: 1px solid #E5E7EB !important;
    border-bottom: 1px solid #E5E7EB !important;
    box-sizing: border-box;
}

/* =========================================================
   Artikel-Card – Mengenbereich: spezifische Border-Regeln
   Überschreibt den allgemeinen td { border:0 !important; } Reset.
   ========================================================= */
body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-quantity,
body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-quantity {
    grid-area: quantity;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 16px 0 !important;
    border-top: 1px solid #E5E7EB !important;
    border-bottom: 1px solid #E5E7EB !important;
    text-align: left !important;
    box-sizing: border-box;
}

/* =========================================================
   Artikel-Card – Preiszeile mit 16px Abstand
   ========================================================= */
body.cartui-filled .cartui-item--rental .product-price,
body.cartui-filled .cartui-item--product .product-price {
    padding-top: 0 !important;
}

body.cartui-filled .cartui-item--rental .cartui-price,
body.cartui-filled .cartui-item--product .cartui-price {
    margin-top: 16px !important;
}

/* =========================================================
   Alle Warenkorb Produkt-Cards – Entfernen-Link
   ========================================================= */
body.cartui-filled .woocommerce .shop_table.cart tr.cart_item a.remove,
body.cartui-filled .woocommerce .shop_table.cart tr.cart_item a.cartui-remove {
    color: #6b7280 !important;
    background: transparent !important;
}

body.cartui-filled .woocommerce .shop_table.cart tr.cart_item a.remove:hover,
body.cartui-filled .woocommerce .shop_table.cart tr.cart_item a.cartui-remove:hover {
    color: #B42318 !important;
    background: #FDECEC !important;
}

/* Seminar-Card – Teilnehmer horizontal exakt ausrichten */
body.cartui-filled .cartui-item--seminar dl.variation dt:has(.cartui-participant-number){
    display:flex!important;
    align-items:center!important;
    float:left;
}
body.cartui-filled .cartui-item--seminar dl.variation dd:has(.cartui-participant-name){
    display:flex!important;
    align-items:center!important;
}
body.cartui-filled .cartui-participant-number,
body.cartui-filled .cartui-participant-name{
    align-self:center!important;
}

/* =========================================================
   Seminar-Card – Teilnehmer exakt auf einer horizontalen Achse
   ========================================================= */
body.cartui-filled .cartui-item--seminar dl.variation dt:has(.cartui-participant-number),
body.cartui-filled .cartui-item--seminar dl.variation dd:has(.cartui-participant-name) {
    min-height: 24px !important;
    height: 24px !important;
    align-items: center !important;
    box-sizing: border-box;
}
body.cartui-filled .cartui-item--seminar .cartui-participant-number,
body.cartui-filled .cartui-item--seminar .cartui-participant-name {
    height: 24px !important;
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

/* Seminar-Card – Preiszeile 16px Abstand nach oben */
body.cartui-filled .cartui-item--seminar .product-price {
    padding-top: 0 !important;
}
body.cartui-filled .cartui-item--seminar .cartui-price {
    margin-top: 16px !important;
}


/* Warenkorb-Produktpreise folgen der Preis-Darstellung des jeweiligen Plugins. */
.cartui-price--formatted,
.cartui-subtotal--formatted{
    display:flex!important;
    flex-direction:column;
    gap:2px;
}
.cartui-price--formatted{align-items:flex-start!important}
.cartui-subtotal--formatted{align-items:flex-end!important;text-align:right}
.cartui-price__main,
.cartui-price__secondary,
.cartui-subtotal__main,
.cartui-subtotal__secondary{
    display:block;
    white-space:nowrap;
}
.cartui-price__secondary,
.cartui-subtotal__secondary{
    font-size:11px;
    line-height:1.35;
    font-weight:400;
    color:#6F798A;
}
.cartui-price__suffix,
.cartui-subtotal__suffix{
    font-size:.88em;
    font-weight:400;
    white-space:nowrap;
}
.cartui-subtotal__main{font-size:18px;font-weight:700;color:#202A3A}
.cartui-subtotal__secondary{font-size:11px}
.cartui-price--rental-breakdown .woocommerce-Price-amount{white-space:nowrap}

/* Cart header eyebrow: no background */
.cartui-header__eyebrow{background:transparent!important;padding-left:0!important;padding-right:0!important;}

/* =========================================================
   Warenkorb – Tablet / Mobile responsive Feinabstimmung
   ========================================================= */
@media (max-width: 1100px) {
    body.cartui-modern .cartui-columns {
        grid-template-columns: minmax(0,1fr) !important;
    }
    body.cartui-modern .cart-collaterals,
    body.cartui-modern .cart-collaterals .cart_totals {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 767px) {
    /* Seminar-Teilnehmerbereich darf auf schmalen Displays nicht über die Card hinauslaufen. */
    body.cartui-filled .cartui-item--seminar .product-name dl.variation {
        width: 100% !important;
        max-width: 100% !important;
    }
    body.cartui-filled .cartui-seminar-company {
        white-space: normal !important;
    }
    body.cartui-filled .cartui-price--formatted,
    body.cartui-filled .cartui-subtotal--formatted {
        min-width: 0 !important;
    }
    body.cartui-filled .cartui-price__main,
    body.cartui-filled .cartui-price__secondary,
    body.cartui-filled .cartui-subtotal__main,
    body.cartui-filled .cartui-subtotal__secondary {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    body.cartui-filled .cartui-continue {
        justify-content: center !important;
        gap: 8px !important;
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    /* Auf sehr schmalen Smartphones Preis und Positionssumme untereinander. */
    body.cartui-filled tr.cartui-item--rental,
    body.cartui-filled tr.cartui-item--product {
        grid-template-areas:
            "image product"
            "quantity quantity"
            "price price"
            "subtotal subtotal" !important;
    }
    body.cartui-filled .cartui-item--rental .product-subtotal,
    body.cartui-filled .cartui-item--product .product-subtotal {
        padding-top: 6px !important;
        text-align: left !important;
    }
    body.cartui-filled .cartui-item--rental .cartui-subtotal--formatted,
    body.cartui-filled .cartui-item--product .cartui-subtotal--formatted {
        align-items: flex-start !important;
        text-align: left !important;
    }
    .cartui-empty-card__actions {
        gap: 8px !important;
    }
}

/* =========================================================
   Smartphone-Fix <= 480px – WooCommerce Mobile-Labels und Überlagerungen
   ========================================================= */
@media (max-width: 480px) {
    /* WooCommerce/Kadence erzeugt auf kleinen Displays zusätzliche data-title-Labels
       (Produkt, Anzahl, Preis, Zwischensumme). Unsere Card besitzt eigene Labels. */
    body.cartui-filled .woocommerce table.shop_table_responsive tr.cart_item td::before,
    body.cartui-filled .woocommerce-page table.shop_table_responsive tr.cart_item td::before,
    body.cartui-filled .woocommerce .shop_table.cart tr.cart_item td::before {
        content: none !important;
        display: none !important;
    }

    body.cartui-filled .woocommerce .shop_table.cart tr.cart_item {
        position: relative !important;
        overflow: hidden;
    }

    /* Entfernen-Link bekommt einen eigenen, stabilen Platz oben rechts. */
    body.cartui-filled .shop_table.cart tr.cart_item .product-remove {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        width: auto !important;
        max-width: 72px !important;
        z-index: 5 !important;
    }
    body.cartui-filled .shop_table.cart tr.cart_item .cartui-remove {
        font-size: 11px !important;
        gap: 3px !important;
        white-space: nowrap !important;
    }
    body.cartui-filled .shop_table.cart tr.cart_item .cartui-remove__icon {
        font-size: 15px !important;
    }

    /* Produktinhalt nicht durch das Desktop-Padding zusammendrücken. */
    body.cartui-filled .shop_table.cart tr.cart_item .product-name {
        min-width: 0 !important;
        padding-right: 0 !important;
    }
    body.cartui-filled .cartui-product {
        min-width: 0 !important;
    }
    body.cartui-filled .cartui-product .cartui-badge {
        margin-right: 76px !important;
    }
    body.cartui-filled .cartui-product__name,
    body.cartui-filled .cartui-product__name a {
        display: block !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    /* Artikel: etwas kompakteres Bild schafft mehr Platz für den Namen. */
    body.cartui-filled tr.cartui-item--rental,
    body.cartui-filled tr.cartui-item--product {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        padding: 16px !important;
    }
    body.cartui-filled .cartui-item--rental .cartui-image,
    body.cartui-filled .cartui-item--product .cartui-image {
        width: 68px !important;
        height: 68px !important;
    }

    /* Seminar-Card: Badge/Entfernen getrennt, lange Meta-Texte sauber umbrechen. */
    body.cartui-filled tr.cartui-item--seminar {
        padding: 16px !important;
    }
    body.cartui-filled .cartui-item--seminar .cartui-seminar-meta,
    body.cartui-filled .cartui-item--seminar .cartui-seminar-meta > div,
    body.cartui-filled .cartui-item--seminar .cartui-seminar-company {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }

    /* Preisblöcke vollständig innerhalb der Card halten. */
    body.cartui-filled .cartui-item--seminar .product-price,
    body.cartui-filled .cartui-item--seminar .product-subtotal,
    body.cartui-filled .cartui-item--rental .product-price,
    body.cartui-filled .cartui-item--rental .product-subtotal,
    body.cartui-filled .cartui-item--product .product-price,
    body.cartui-filled .cartui-item--product .product-subtotal {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}


/* =========================================================
   Smartphone <= 480px – finale Ausrichtung der Produkt-Cards
   ========================================================= */
@media (max-width: 480px) {
    /* Native WooCommerce-Mobile-Bezeichnungen vollständig unterdrücken. */
    body.cartui-filled table.shop_table_responsive tr.cart_item td[data-title]::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-name::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-price::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-subtotal::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-quantity::before {
        content: none !important;
        display: none !important;
    }

    /* Badge und Produktname beginnen exakt an der linken Inhaltskante. */
    body.cartui-filled .cartui-product {
        text-align: left !important;
    }
    body.cartui-filled .cartui-product .cartui-badge {
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: flex-start !important;
    }
    body.cartui-filled .cartui-product__name,
    body.cartui-filled .cartui-product__name a {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
    }

    /* Seminar: Badge/Name links; Entfernen bleibt unabhängig rechts oben. */
    body.cartui-filled .cartui-item--seminar .product-name {
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
    }

    /* Orts-Pin an der ersten Textzeile ausrichten. */
    body.cartui-filled .cartui-seminar-meta__location {
        align-items: flex-start !important;
        text-align: left !important;
    }
    body.cartui-filled .cartui-seminar-meta__location .cartui-icon--location {
        margin-top: 1px !important;
    }
    body.cartui-filled .cartui-seminar-meta__location > span:last-child {
        text-align: left !important;
    }
}

/* =========================================================
   Smartphone <= 480px – finale Preisbereiche wie Referenz
   ========================================================= */
@media (max-width: 480px) {
    /* Seminar: die linke Preis-Aufschlüsselung mobil ausblenden.
       Die Positionssumme rechts bleibt sichtbar und unverändert ausgerichtet. */
    body.cartui-filled .cartui-item--seminar .product-price {
        display: none !important;
    }
    body.cartui-filled .cartui-item--seminar .product-subtotal {
        width: 100% !important;
        margin: 0 !important;
        padding-top: 16px !important;
        text-align: right !important;
    }
    body.cartui-filled .cartui-item--seminar .cartui-subtotal--formatted {
        width: 100% !important;
        align-items: flex-end !important;
        text-align: right !important;
    }

    /* Artikel/Mietgerät: Preisbereich mit zwei identischen Trennlinien
       wie der Mengenbereich. */
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price {
        width: 100% !important;
        
        padding: 16px 0 !important;
        border-top: 1px solid #E5E7EB !important;
        border-bottom: 1px solid #E5E7EB !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* Die Artikel-/Mietgeräte-Positionssumme folgt mobil derselben
       Darstellungslogik wie beim Seminar: eigener Preisblock unterhalb
       der Trennlinie, rechtsbündig und ohne zusätzliche Linie. */
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 0 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    /* Positionssumme analog Seminar rechtsbündig. */
    body.cartui-filled .cartui-item--rental .cartui-subtotal--formatted,
    body.cartui-filled .cartui-item--product .cartui-subtotal--formatted {
        width: 100% !important;
        align-items: flex-end !important;
        text-align: right !important;
    }
}


/* =========================================================
   Produkt-Cards – Abstand vor der Preisanzeige / Positionssumme
   Die eigentliche Preisformatierung wird weiterhin aus der
   Einstellung „Gewünschte Preisdarstellung“ des jeweiligen
   Plugins übernommen.
   ========================================================= */
body.cartui-filled .shop_table.cart tr.cart_item td.product-subtotal {
    margin-top: 16px !important;
}

@media (max-width: 480px) {
    body.cartui-filled .cartui-item--seminar .product-subtotal {
        margin-top: 16px !important;
    }
    body.cartui-filled .cartui-item--rental .product-subtotal,
    body.cartui-filled .cartui-item--product .product-subtotal {
        margin-top: 0 !important;
    }
}


/* =========================================================
   Smartphone <= 480px – Seminar-Card nach mobiler Referenz
   Nur Warenkorb; Tablet/Desktop bleiben unverändert.
   ========================================================= */
@media (max-width: 480px) {

    body.cartui-filled tr.cartui-item--seminar {
        padding: 18px !important;
    }

    /* Badge und Entfernen klar voneinander trennen. */
    body.cartui-filled .cartui-item--seminar .cartui-badge {
        margin: 0 92px 14px 0 !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-product__name,
    body.cartui-filled .cartui-item--seminar .cartui-product__name a {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        padding-right: 0 !important;
    }

    body.cartui-filled .cartui-item--seminar .product-remove {
        top: 18px !important;
        right: 18px !important;
        max-width: none !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-seminar-meta {
        margin-top: 10px !important;
        gap: 10px !important;
    }

    /* Firmenzeile: Linie oberhalb und Textflucht mit dem Ortstext. */
    body.cartui-filled .cartui-item--seminar .cartui-seminar-company {
        width: 100% !important;
        margin: 14px 0 0 !important;
        padding: 12px 0 0 21px !important;
        border-top: 1px solid #E3E7ED !important;
        box-sizing: border-box !important;
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: baseline !important;
    }

    /* Teilnehmerbereich mit eigener Trennlinie unterhalb der Firma. */
    body.cartui-filled .cartui-item--seminar .product-name dl.variation {
        margin-top: 14px !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
        border-top: 1px solid #E3E7ED !important;
        border-bottom: 1px solid #E3E7ED !important;
    }

    body.cartui-filled .cartui-item--seminar dl.variation dt:has(.cartui-participant-number),
    body.cartui-filled .cartui-item--seminar dl.variation dd:has(.cartui-participant-name) {
        margin-top: 0 !important;
    }

    /* Preisblock wie in der Referenz rechts unter der Teilnehmerlinie. */
    body.cartui-filled .cartui-item--seminar .product-subtotal {
        margin-top: 0 !important;
        padding-top: 16px !important;
    }
}


/* =========================================================
   Smartphone <= 480px – Artikel-/Mietgeräte-Card
   Bestehende Berechnung bleibt unverändert; nur Layout.
   ========================================================= */
@media (max-width: 480px) {

    /* Obere Produktzeile: etwas mehr Luft zwischen Badge,
       Produktname und Entfernen-Link. */
    body.cartui-filled .cartui-item--rental .cartui-badge,
    body.cartui-filled .cartui-item--article .cartui-badge {
        margin-bottom: 10px !important;
        margin-right: 88px !important;
    }

    body.cartui-filled .cartui-item--rental .product-remove,
    body.cartui-filled .cartui-item--article .product-remove {
        top: 16px !important;
        right: 16px !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-product__name,
    body.cartui-filled .cartui-item--article .cartui-product__name,
    body.cartui-filled .cartui-item--rental .cartui-product__name a,
    body.cartui-filled .cartui-item--article .cartui-product__name a {
        padding-right: 0 !important;
        margin-top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Mietdauer: "insgesamt X Nutzungstage" direkt hinter Mietdauer
       in derselben Zeile; bei sehr schmalen Displays darf nur der
       nachfolgende Text umbrechen, nicht künstlich unterhalb starten. */
    body.cartui-filled .cartui-item--rental .cartui-rental-duration,
    body.cartui-filled .cartui-item--article .cartui-rental-duration {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        column-gap: 4px !important;
        row-gap: 0 !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-rental-duration strong,
    body.cartui-filled .cartui-item--article .cartui-rental-duration strong {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-rental-duration span,
    body.cartui-filled .cartui-item--article .cartui-rental-duration span {
        flex: 0 1 auto !important;
        margin: 0 !important;
    }

    /* Mengenzähler bleibt inhaltlich unverändert.
       Die zusätzliche untere Trennlinie dieses Blocks entfällt,
       damit der bestehende Rental-Breakdown weiter nach oben rückt. */
    body.cartui-filled .cartui-item--rental .product-quantity,
    body.cartui-filled .cartui-item--article .product-quantity {
        border-bottom: 0 !important;
    }

    /* Bestehenden Rental-Breakdown NICHT neu berechnen oder verändern.
       Nur die bereits ausgegebene Darstellung rechtsbündig ausrichten. */
    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        text-align: right !important;
        justify-content: flex-end !important;
        align-items: flex-end !important;
    }

    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > * {
        width: 100% !important;
        text-align: right !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
    }

    /* Zweite Zeile bleibt kleiner – nur falls die bestehende Klasse/Struktur
       die Schriftgröße nicht ohnehin schon vorgibt. */
    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *:nth-child(2),
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *:nth-child(2) {
        font-size: 0.88em !important;
    }
}


/* =========================================================
   Kleine Smartphones im Querformat
   Moto G4 / iPhone SE liegen hier bei ca. 640–667px Breite.
   Gleiche Card-Logik wie im fertigen Hochformat.
   Größere Landscape-Geräte (z.B. iPhone XR) bleiben unberührt.
   ========================================================= */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {

    /* WooCommerce Responsive-Tabellenlabels vollständig unterdrücken.
       Die Cards besitzen ihre eigenen sichtbaren Bezeichnungen. */
    body.cartui-filled .woocommerce table.shop_table_responsive tr.cart_item td::before,
    body.cartui-filled .woocommerce-page table.shop_table_responsive tr.cart_item td::before,
    body.cartui-filled .woocommerce .shop_table.cart tr.cart_item td::before,
    body.cartui-filled table.shop_table_responsive tr.cart_item td[data-title]::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-name::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-price::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-subtotal::before,
    body.cartui-filled .shop_table.cart tr.cart_item td.product-quantity::before {
        content: none !important;
        display: none !important;
        float: none !important;
    }

    /* WooCommerce-Zellen verhalten sich innerhalb unserer Cards wieder neutral. */
    body.cartui-filled .shop_table.cart tr.cart_item > td {
        text-align: left !important;
    }

    /* ---------------- Seminar ---------------- */
    body.cartui-filled tr.cartui-item--seminar {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "product"
            "price"
            "subtotal" !important;
        padding: 18px !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-badge {
        margin: 0 92px 14px 0 !important;
    }

    body.cartui-filled .cartui-item--seminar .product-remove {
        top: 18px !important;
        right: 18px !important;
    }

    body.cartui-filled .cartui-item--seminar .product-name {
        grid-area: product !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-product__name,
    body.cartui-filled .cartui-item--seminar .cartui-product__name a {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-seminar-meta {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }

    body.cartui-filled .cartui-item--seminar .cartui-seminar-company {
        width: 100% !important;
        margin: 14px 0 0 !important;
        padding: 12px 0 0 21px !important;
        border-top: 1px solid #E3E7ED !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }

    body.cartui-filled .cartui-item--seminar .product-name dl.variation {
        width: 100% !important;
        margin-top: 14px !important;
        padding-top: 16px !important;
        padding-bottom: 16px !important;
        border-top: 1px solid #E3E7ED !important;
        border-bottom: 1px solid #E3E7ED !important;
    }

    body.cartui-filled .cartui-item--seminar .product-price {
        grid-area: price !important;
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 16px !important;
        text-align: left !important;
    }

    body.cartui-filled .cartui-item--seminar .product-subtotal {
        grid-area: subtotal !important;
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 16px !important;
        text-align: right !important;
    }

    /* ---------------- Artikel / Mietgerät ---------------- */
    body.cartui-filled tr.cartui-item--rental,
    body.cartui-filled tr.cartui-item--product,
    body.cartui-filled tr.cartui-item--article {
        grid-template-columns: 82px minmax(0,1fr) !important;
        grid-template-areas:
            "image product"
            "quantity quantity"
            "price price"
            "subtotal subtotal" !important;
        column-gap: 16px !important;
        padding: 18px !important;
    }

    body.cartui-filled .cartui-item--rental .product-thumbnail,
    body.cartui-filled .cartui-item--product .product-thumbnail,
    body.cartui-filled .cartui-item--article .product-thumbnail {
        grid-area: image !important;
        display: block !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-image,
    body.cartui-filled .cartui-item--product .cartui-image,
    body.cartui-filled .cartui-item--article .cartui-image {
        width: 82px !important;
        height: 82px !important;
    }

    body.cartui-filled .cartui-item--rental .product-name,
    body.cartui-filled .cartui-item--product .product-name,
    body.cartui-filled .cartui-item--article .product-name {
        grid-area: product !important;
        padding-right: 0 !important;
        min-width: 0 !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-badge,
    body.cartui-filled .cartui-item--article .cartui-badge {
        margin-bottom: 10px !important;
        margin-right: 88px !important;
    }

    body.cartui-filled .cartui-item--rental .product-remove,
    body.cartui-filled .cartui-item--article .product-remove {
        top: 16px !important;
        right: 16px !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-rental-duration,
    body.cartui-filled .cartui-item--article .cartui-rental-duration {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        column-gap: 4px !important;
        row-gap: 0 !important;
    }

    body.cartui-filled .cartui-item--rental .product-quantity,
    body.cartui-filled .cartui-item--product .product-quantity,
    body.cartui-filled .cartui-item--article .product-quantity {
        grid-area: quantity !important;
        display: block !important;
        width: 100% !important;
        margin-top: 18px !important;
        padding-top: 15px !important;
        border-top: 1px solid #E3E7ED !important;
        border-bottom: 0 !important;
        text-align: left !important;
    }

    body.cartui-filled .cartui-item--rental .product-price,
    body.cartui-filled .cartui-item--product .product-price,
    body.cartui-filled .cartui-item--article .product-price {
        grid-area: price !important;
        width: 100% !important;
        margin-top: 14px !important;
        padding-top: 15px !important;
        border-top: 1px solid #E3E7ED !important;
        text-align: right !important;
    }

    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown {
        width: 100% !important;
        margin-left: auto !important;
        text-align: right !important;
        justify-content: flex-end !important;
        align-items: flex-end !important;
    }

    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > * {
        width: 100% !important;
        margin-left: auto !important;
        text-align: right !important;
        justify-content: flex-end !important;
    }

    body.cartui-filled .cartui-item--rental .product-subtotal,
    body.cartui-filled .cartui-item--product .product-subtotal,
    body.cartui-filled .cartui-item--article .product-subtotal {
        grid-area: subtotal !important;
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 15px !important;
        border-top: 1px solid #E3E7ED !important;
        text-align: right !important;
    }
}


/* =========================================================
   Smartphone Hochformat <= 480px – Seminar-Preisaufschlüsselung
   Bestehende Berechnung unverändert oberhalb des Gesamtpreises anzeigen.
   ========================================================= */
@media (max-width: 480px) {

    body.cartui-filled .cartui-item--seminar .product-price {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 0 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* Den bereits ausgegebenen Preis-/Teilnehmer-Breakdown vollständig zeigen. */
    body.cartui-filled .cartui-item--seminar .product-price
    .cartui-price.cartui-price--formatted {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        width: 100% !important;
text-align: left !important;
    }

    body.cartui-filled .cartui-item--seminar .product-price
    .cartui-price.cartui-price--formatted > * {
        width: 100% !important;
        margin-left: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }

    /* Zweite vorhandene Preiszeile (netto) bleibt etwas kleiner. */
    body.cartui-filled .cartui-item--seminar .product-price
    .cartui-price.cartui-price--formatted > *:nth-child(2) {
        font-size: 0.88em !important;
    }

    /* Gesamtpreis bleibt darunter rechtsbündig wie bisher. */
    body.cartui-filled .cartui-item--seminar .product-subtotal {
        width: 100% !important;
        margin-top: 12px !important;
        padding-top: 16px !important;
        border-top: 1px solid #E3E7ED !important;
        text-align: right !important;
    }
}


/* =========================================================
   Smartphone Hochformat <= 480px – Artikel-Card konsistent
   mit Seminar-Card: kein Leerraum, Breakdown linksbündig.
   Bestehende Berechnung bleibt unverändert.
   ========================================================= */
@media (max-width: 480px) {

    /* Leerraum zwischen Mengenzähler und Preisaufschlüsselung entfernen. */
    body.cartui-filled .cartui-item--rental .product-price,
    body.cartui-filled .cartui-item--article .product-price,
    body.cartui-filled .cartui-item--product .product-price {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* Vorhandene Rental-Berechnung wie bei der Seminar-Card linksbündig. */
    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--product
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }

    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--article
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--product
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > * {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }

    /* Abstand zum Gesamtpreis bleibt über dessen bestehende Trennlinie erhalten. */
    body.cartui-filled .cartui-item--rental .product-subtotal,
    body.cartui-filled .cartui-item--article .product-subtotal,
    body.cartui-filled .cartui-item--product .product-subtotal {
        margin-top: 12px !important;
    }
}


/* Artikel-Card: Preisaufschlüsselung auf kleinen Smartphones konsistent */
@media (max-width: 680px) {
    body.cartui-filled .cartui-item--rental .cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--article .cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--product .cartui-price--rental-breakdown {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--article .cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--product .cartui-price--rental-breakdown > * {
        width: 100% !important;
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Hochformat: doppelte Trennung / Leerraum direkt vor dem Breakdown entfernen */
@media (max-width: 480px) {
    body.cartui-filled .cartui-item--rental .product-price,
    body.cartui-filled .cartui-item--article .product-price,
    body.cartui-filled .cartui-item--product .product-price {
        border-top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.cartui-filled .cartui-item--rental .cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--article .cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--product .cartui-price--rental-breakdown {
        border-top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}


/* =========================================================
   Smartphone Hochformat – finale Abstands-/Linienkorrektur
   ========================================================= */
@media (max-width: 480px) {

    /* Artikel-Card: zweite Linie unter Menge entfernen. */
    body.cartui-filled .cartui-item--rental .product-quantity,
    body.cartui-filled .cartui-item--article .product-quantity,
    body.cartui-filled .cartui-item--product .product-quantity {
        border-bottom: 0 !important;
    }

    /* Artikel-Card: zusätzlichen Abstand vor Preisaufschlüsselung entfernen. */
    body.cartui-filled .cartui-item--rental td.product-price,
    body.cartui-filled .cartui-item--article td.product-price,
    body.cartui-filled .cartui-item--product td.product-price {
        margin-top: 0 !important;
    }
}


/* Artikel-Card: im Hochformat keine untere Linie am Mengenbereich. */
@media (max-width: 480px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-quantity,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-quantity {
        border-bottom: 0 !important;
    }
}


/* Hinweis nach einer noch nicht übernommenen Mengenänderung. */
.cartui-update-hint {
    display: inline-block;
    margin-left: 12px;
    color: #d63638;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    vertical-align: middle;
}

.cartui-update-hint[hidden] {
    display: none !important;
}

@media (max-width: 480px) {
    .cartui-update-hint {
        margin-left: 10px;
        font-size: 11px;
    }
}


/* =========================================================
   Smartphone Hochformat – kompaktere Mengensteuerung
   schafft Platz für den roten Aktualisierungshinweis.
   ========================================================= */
@media (max-width: 480px) {

    body.cartui-filled .cartui-item--rental .quantity,
    body.cartui-filled .cartui-item--product .quantity {
        gap: 6px !important;
        width: auto !important;
        flex: 0 0 auto !important;
    }

    body.cartui-filled .cartui-item--rental .quantity .cartui-qty-button,
    body.cartui-filled .cartui-item--product .quantity .cartui-qty-button {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        line-height: 28px !important;
        flex: 0 0 28px !important;
    }

    body.cartui-filled .cartui-item--rental .quantity input.qty,
    body.cartui-filled .cartui-item--product .quantity input.qty {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        text-align: center !important;
        flex: 0 0 28px !important;
    }

    body.cartui-filled .cartui-item--rental td.product-quantity,
    body.cartui-filled .cartui-item--product td.product-quantity {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    .cartui-update-hint {
        margin-left: 4px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
}


/* Smartphone Hochformat: etwas mehr vertikaler Raum für den
   ggf. zweizeiligen Aktualisierungshinweis, damit die Zeile
   beim Ein-/Ausblenden optisch stabil bleibt. */
@media (max-width: 480px) {
    body.cartui-filled .cartui-item--rental td.product-quantity,
    body.cartui-filled .cartui-item--product td.product-quantity {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}


/* Smartphone Hochformat: Plus/Minus garantiert identisch breit. */
@media (max-width: 480px) {
    body.cartui-filled .cartui-item--rental .quantity .cartui-qty-minus,
    body.cartui-filled .cartui-item--rental .quantity .cartui-qty-plus,
    body.cartui-filled .cartui-item--product .quantity .cartui-qty-minus,
    body.cartui-filled .cartui-item--product .quantity .cartui-qty-plus {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        flex: 0 0 28px !important;
        box-sizing: border-box !important;
    }
}




/* =========================================================
   Mobile Preisstruktur – Seminar und Artikel konsistent
   ========================================================= */

/* Hochformat:
   Die Trennlinie gehört auf den Beginn der Gesamtsumme.
   Damit liegt sie bei Seminar und Artikel zwischen Breakdown und Gesamtpreis. */
@media (max-width: 480px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-price {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        border-top: 1px solid #E3E7ED !important;
    }
}

/* Kleine Smartphone-Querformate:
   Preisaufschlüsselung und Gesamtsumme stehen nebeneinander.
   Die Linie wird deshalb – wie bei der Artikelcard – über beide Zellen gezogen. */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        border-top: 1px solid #E3E7ED !important;
    }
}


/* =========================================================
   Mobile Preisbereich – finale Konsistenz
   ========================================================= */

/* Hochformat: eine einzige 1px-Trennlinie mit Abstand zum Breakdown. */
@media (max-width: 480px) {

    /* Eventuelle alte/doppelte Linie am Preisblock entfernen. */
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-price {
        border-bottom: 0 !important;
    }

    /* Eine einzige Linie an der Gesamtsumme, mit Luft zum Preisblock. */
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-subtotal {
        border-top: 1px solid #E5E7EB !important;
        margin-top: 12px !important;
        padding-top: 16px !important;
    }
}

/* Kleine Smartphones im Querformat. */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {

    /* Doppelte Linie vermeiden: nur die Gesamtsummen-Zelle trägt die Linie. */
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-price {
        border-top: 0 !important;
        border-bottom: 0 !important;
    }

    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--seminar td.product-subtotal {
        border-top: 1px solid #E5E7EB !important;
        margin-top: 12px !important;
        padding-top: 15px !important;
    }

    /* Artikel-Preisaufschlüsselung linksbündig wie bei Seminar,
       Höhe/Position im Grid bleibt unverändert. */
    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown,
    body.cartui-filled .cartui-item--product
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }

    body.cartui-filled .cartui-item--rental
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > *,
    body.cartui-filled .cartui-item--product
    .cartui-price.cartui-price--formatted.cartui-price--rental-breakdown > * {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
}


/* =========================================================
   Artikelcard – Preisabstand an Seminarcard angleichen
   ========================================================= */

/* Hochformat */
@media (max-width: 480px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        margin-top: 0 !important;
    }
}

/* Kleine Smartphones im Querformat */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        margin-top: 0 !important;
    }
}


/* =========================================================
   Artikelcard – Querformat Preisabstand wie Seminarcard
   ========================================================= */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price {
        margin-top: 0 !important;
        padding-top: 16px !important;
    }
}


/* =========================================================
   Artikelcard – Querformat Linienabstand wie Seminarcard
   Hochformat bleibt unverändert.
   ========================================================= */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-subtotal,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-subtotal {
        margin-top: 12px !important;
    }
}


/* Artikelcard – Querformat: Leerraum oberhalb der Preisaufschlüsselung entfernen */
@media (min-width: 481px) and (max-width: 680px) and (max-height: 430px) {
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--rental td.product-price,
    body.cartui-filled .shop_table.cart tr.cart_item.cartui-item--product td.product-price {
        padding-top: 0 !important;
    }
}


/* =========================================================
   Zusammenfassung – kleine Mobilgeräte
   Beträge konsequent rechts an den Card-Rand.
   Desktop, Tablet und große Querformate bleiben unverändert.
   ========================================================= */
@media (max-width: 680px) {
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table th {
        width: auto !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td {
        width: auto !important;
        flex: 0 0 auto !important;
        margin-left: auto !important;
        text-align: right !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td .amount,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td strong,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td span {
        text-align: right !important;
    }
}


/* Zusammenfassung – kleine Mobilgeräte:
   Bezeichnungen links, Beträge rechts. */
@media (max-width: 680px) {
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table th {
        display: block !important;
        margin-right: auto !important;
        padding-right: 12px !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td {
        display: block !important;
        margin-left: auto !important;
        text-align: right !important;
        justify-content: flex-end !important;
    }
}


/* =========================================================
   Zusammenfassung – mobile Beschriftungen bereinigen
   WooCommerce data-title/::before ausblenden.
   Eigene Labels links mit Doppelpunkt, Steuerlabel nur rechts.
   ========================================================= */
@media (max-width: 680px) {

    /* WooCommerce responsive data-title Beschriftungen entfernen,
       damit keine doppelten Labels erscheinen. */
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table th::before,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td::before,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table th[data-title]::before,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table td[data-title]::before {
        content: none !important;
        display: none !important;
    }

    /* Sichtbare linke Feldbezeichnungen mit Doppelpunkt. */
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.cart-subtotal th::after,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.shipping th::after,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.order-total th::after {
        content: ":" !important;
    }

    /* Steuerzeile: linkes Label komplett ausblenden.
       "inkl. 19 % MwSt." bleibt ausschließlich rechts direkt vor dem Betrag. */
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.tax-total th,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.cartui-tax-row th,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr:has(td .cartui-tax) th {
        display: none !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.tax-total,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.cartui-tax-row,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr:has(td .cartui-tax) {
        justify-content: flex-end !important;
    }

    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.tax-total td,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr.cartui-tax-row td,
    body.cartui-filled .cart-collaterals .cart_totals table.shop_table tr:has(td .cartui-tax) td {
        margin-left: auto !important;
        text-align: right !important;
    }
}


/* =========================================================
   Theme-Fallbacks für Links und Buttons ohne lokale Farboption
   Lokale Plugin-Farbeinstellungen werden hiervon nicht berührt.
   ========================================================= */
body.cartui-modern{
    --cartui-theme-link:var(--global-palette-highlight,var(--global-palette1,#2E4396));
    --cartui-theme-link-hover:var(--global-palette-highlight-alt,var(--global-palette2,#253878));
    --cartui-theme-button-bg:var(--global-palette-btn-bg,var(--global-palette1,#2E4396));
    --cartui-theme-button-color:var(--global-palette-btn,#fff);
    --cartui-theme-button-bg-hover:var(--global-palette-btn-bg-hover,var(--global-palette2,#253878));
    --cartui-theme-button-color-hover:var(--global-palette-btn-hover,#fff);
}
body.cartui-modern .cartui-product__name a:hover,
body.cartui-modern .cartui-remove:hover,
body.cartui-modern .cartui-qty-button:hover,
body.cartui-modern .cartui-continue a{color:var(--cartui-theme-link)!important;}
body.cartui-modern .cartui-continue a:hover{color:var(--cartui-theme-link-hover)!important;}
body.cartui-modern .checkout-button{background:var(--cartui-theme-button-bg)!important;color:var(--cartui-theme-button-color)!important;}
body.cartui-modern .checkout-button:hover,body.cartui-modern .checkout-button:focus{background:var(--cartui-theme-button-bg-hover)!important;color:var(--cartui-theme-button-color-hover)!important;}
body.cartui-modern .cartui-empty-card__button{border-color:var(--cartui-theme-link)!important;color:var(--cartui-theme-link)!important;}
body.cartui-modern .cartui-empty-card__button--primary{background:var(--cartui-theme-button-bg)!important;border-color:var(--cartui-theme-button-bg)!important;color:var(--cartui-theme-button-color)!important;}
body.cartui-modern .cartui-empty-card__button--primary:hover,body.cartui-modern .cartui-empty-card__button--primary:focus{background:var(--cartui-theme-button-bg-hover)!important;border-color:var(--cartui-theme-button-bg-hover)!important;color:var(--cartui-theme-button-color-hover)!important;}

.cartui-native-legal{
    font-size:11px;
    font-weight:400;
    white-space:nowrap;
}


/* v1.6.319 – Warenkorb H1/H2 folgen der Theme-Überschriftenschrift. */
body.cartui-modern .cartui-header__title,body.cartui-modern .cart_totals h2,body.cartui-modern .cartui-empty-card h2{font-family:var(--global-heading-font-family, inherit) !important;}








/* German Market – Steuerzeile im Modern-Warenkorb.
 * Die gesamte .wgm-tax-Zeile wird rechts ausgerichtet.
 * Der enthaltene WooCommerce-Preis behält seine vorhandene Typografie.
 */
body.cartui-modern .wgm-tax {
    display: flex !important;
    width: 100% !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}


/* German Market – MwSt.-Betrag innerhalb der .wgm-tax-Zeile.
 * Nur dieser Steuerbetrag inklusive Währungszeichen wird auf 13px gesetzt.
 * Haupt-/Positionspreise außerhalb von .wgm-tax bleiben unverändert.
 */
body.cartui-modern .wgm-tax .woocommerce-Price-amount.amount,
body.cartui-modern .wgm-tax .woocommerce-Price-amount.amount bdi,
body.cartui-modern .wgm-tax .woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}


/* Warenkorb – Einzelpreis links ausblenden.
 * Die Positionssumme rechts (product-subtotal) bleibt vollständig erhalten.
 */
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-price {
    display: none !important;
}


/* Mobile Querformat (z. B. Moto G4 640x360):
 * Positionssumme auf den Produktcards rechtsbündig.
 * Hochformat sowie Tablet/Desktop bleiben unverändert.
 */
@media (min-width: 521px) and (max-width: 700px) and (orientation: landscape) {
    body.cartui-modern.cartui-filled
    .shop_table.cart
    tbody
    td.product-subtotal {
        text-align: right !important;
    }

    body.cartui-modern.cartui-filled
    .shop_table.cart
    tbody
    td.product-subtotal
    .cartui-subtotal {
        margin-left: auto !important;
        text-align: right !important;
        align-items: flex-end !important;
    }

    body.cartui-modern.cartui-filled
    .shop_table.cart
    tbody
    td.product-subtotal
    .wgm-tax {
        justify-content: flex-end !important;
        text-align: right !important;
    }
}


/* Eigene Preisdarstellung im Warenkorb:
 * Zweite Preiszeile (z. B. Nettopreis bei "Bruttopreis zuerst")
 * auf den Produktcards 13px/400. Hauptpreis bleibt unverändert.
 */
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.commerce-price__secondary,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.commerce-price__secondary .woocommerce-Price-amount.amount,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.commerce-price__secondary .woocommerce-Price-amount.amount bdi,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.commerce-price__secondary .woocommerce-Price-currencySymbol {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}


/* Eigene Preisdarstellung im Warenkorb:
 * korrekte zweite Preiszeile der Positionssumme.
 */
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.cartui-subtotal__secondary,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.cartui-subtotal__secondary .woocommerce-Price-amount,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.cartui-subtotal__secondary .woocommerce-Price-amount bdi,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.cartui-subtotal__secondary .woocommerce-Price-currencySymbol,
body.cartui-modern.cartui-filled
.shop_table.cart
tbody
td.product-subtotal
.cartui-subtotal__secondary .cartui-subtotal__suffix {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}
