/* Layout safeguards for the native Elementor Cart, Menu Cart and Products widgets.
   Colours, text and cross-sell selection remain editable in Elementor / WooCommerce. */
body.woocommerce-cart{background:#fafbf7}
.elementor .dm-commerce-widget{min-width:0;width:100%;font-family:'Plus Jakarta Sans',sans-serif}
.elementor .dm-commerce-widget .woocommerce{color:#173f32;font-family:inherit}
.elementor .dm-commerce-widget .shop_table{width:100%;table-layout:auto}
.elementor .dm-commerce-widget .product-name{overflow-wrap:anywhere;min-width:0}
.elementor .dm-commerce-widget .product-thumbnail img{width:72px;max-width:72px;border-radius:12px;object-fit:cover}
.elementor .dm-commerce-widget .product-price,.elementor .dm-commerce-widget .product-subtotal{white-space:nowrap}
.elementor .dm-commerce-widget .variation{font-size:12px;line-height:1.6;color:#62736a}
.elementor .dm-commerce-widget .quantity .qty{max-width:64px;min-height:44px;border:1px solid #d9e4dc;border-radius:12px;color:#173f32}
.elementor .dm-commerce-widget .wc-proceed-to-checkout .checkout-button{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.4}
.elementor .dm-commerce-widget .cart_totals tr.order-total{font-size:20px}
.elementor .dm-commerce-widget a.remove{color:#23664b!important;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
.elementor .dm-commerce-widget .woocommerce-message,.elementor .dm-commerce-widget .woocommerce-info{background:#e6f1e8;border-color:#23664b;color:#173f32;border-radius:16px}
.elementor .dm-cart-cross-sells{width:100%;margin-top:32px}
.elementor .dm-cart-cross-sells .cross-sells{width:100%;float:none}
.elementor .dm-cart-cross-sells ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 0;padding:0}
.elementor .dm-cart-cross-sells ul.products::before,.elementor .dm-cart-cross-sells ul.products::after{display:none}
.elementor .dm-cart-cross-sells ul.products li.product{width:auto!important;min-width:0;float:none;margin:0!important;padding:20px;border:1px solid #d9e4dc;border-radius:24px;background:#fff;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start}
.elementor .dm-cart-cross-sells li.product img{width:100%;height:180px;object-fit:cover;border-radius:16px;margin:0 0 16px}
.elementor .dm-cart-cross-sells .woocommerce-loop-product__title{font:26px/1.2 'DM Serif Display',serif;color:#173f32;padding:0;margin:0 0 12px}
.elementor .dm-cart-cross-sells .price{font-size:20px;font-weight:700;color:#173f32;margin-bottom:16px;display:block}
.elementor .dm-cart-cross-sells .button{border-radius:99px;min-height:44px;padding:12px 20px;white-space:normal;background:#23664b;color:#fff;font:700 13px/1.5 'Plus Jakarta Sans',sans-serif}
.elementor .dm-cart-cross-sells .button:hover{background:#173f32;color:#fff}
/* Keep the existing native side-cart behaviour and keyboard support. */
.elementor .dm-menu-cart .elementor-menu-cart__main{width:min(420px,100vw);max-width:100vw;box-sizing:border-box;box-shadow:-12px 0 48px #173f3226}
.elementor .dm-menu-cart .elementor-menu-cart__main::before{content:'Twój koszyk';display:block;font:30px/1.2 'DM Serif Display',serif;color:#173f32;padding-right:44px;margin-bottom:28px}
.elementor .dm-menu-cart .elementor-menu-cart__close-button{width:44px;height:44px;top:16px;right:16px}
.elementor .dm-menu-cart .elementor-menu-cart__products{min-height:0;overflow-x:hidden}
.elementor .dm-menu-cart .elementor-menu-cart__product{grid-template-columns:72px minmax(0,1fr) 28px;column-gap:16px;row-gap:8px;padding:20px 0}
.elementor .dm-menu-cart .elementor-menu-cart__product-image img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.elementor .dm-menu-cart .elementor-menu-cart__product-name{min-width:0;overflow-wrap:anywhere;white-space:normal;padding:0}
.elementor .dm-menu-cart .elementor-menu-cart__product-price{opacity:1;font-size:14px;color:#173f32;padding:0}
.elementor .dm-menu-cart .elementor-menu-cart__product-price .quantity{color:#173f32;opacity:1}
.elementor .dm-menu-cart .elementor-menu-cart__product-remove{width:28px;min-height:32px}
.elementor .dm-menu-cart .elementor-menu-cart__subtotal{padding:20px 0;margin-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left}
.elementor .dm-menu-cart .elementor-menu-cart__footer-buttons{display:flex;flex-direction:column-reverse;gap:12px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));width:100%}
.elementor .dm-menu-cart .elementor-menu-cart__footer-buttons .elementor-button{width:100%;min-height:48px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:14px 20px;white-space:normal;line-height:1.4}
.elementor .dm-menu-cart .variation{display:block;margin:8px 0 0;line-height:1.5}
.elementor .dm-menu-cart .variation dt{float:none;display:inline;font-weight:600}
.elementor .dm-menu-cart .variation dd{display:inline;margin:0}
.elementor .dm-menu-cart .variation dd::after{content:'';display:block;margin-bottom:4px}
.elementor .dm-menu-cart .variation p{display:inline;margin:0}
@media(max-width:767px){
 .elementor .dm-commerce-widget .e-cart__container{display:block}
 .elementor .dm-commerce-widget .e-cart__column{width:100%;min-width:0}
 .elementor .dm-commerce-widget .e-cart__column-end{margin-top:24px}
 .elementor .dm-commerce-widget .shop_table td{overflow-wrap:anywhere}
 .elementor .dm-cart-cross-sells ul.products{grid-template-columns:minmax(0,1fr)}
}
/* The mobile Figma variant now stacks packages, per the user's explicit request. */
@media(max-width:1279px){
 .elementor .fg-variant.fg-mobile .fg-node.dm-package-stack-viewport{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
 .elementor .fg-variant.fg-mobile .fg-node.dm-package-stack{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important;flex-wrap:nowrap!important}
 .elementor .fg-variant.fg-mobile .fg-node.dm-package-stacked-card{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;flex:0 0 auto!important;align-items:stretch!important;scroll-snap-align:none!important}
 .elementor .fg-variant.fg-mobile .dm-package-stacked-card .fg-node.dm-package-panel{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:24px!important;gap:16px!important;align-items:stretch!important;overflow:visible!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel>.fg-node,.elementor .fg-variant.fg-mobile .dm-package-panel>.fg-dynamic{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;flex:0 0 auto!important;overflow-wrap:anywhere}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-node.dm-package-title{gap:0!important;align-items:flex-start!important}
 .elementor .fg-variant.fg-mobile .dm-package-title>.fg-node{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important}
 .elementor .fg-variant.fg-mobile .dm-package-title p{font-size:28px!important;line-height:1.15!important;white-space:normal!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-node.dm-package-description{font-size:14px!important;line-height:1.6!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-node.dm-package-price{gap:4px!important;padding-top:8px!important;padding-bottom:8px!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-node.dm-package-intro{align-items:center!important;flex-direction:row!important;gap:12px!important}
 .elementor .fg-variant.fg-mobile .dm-package-intro>.elementor-widget-text-editor{width:auto!important;max-width:100%!important;min-width:0!important;flex:1 1 0!important;height:auto!important;white-space:normal!important}
 .elementor .fg-variant.fg-mobile .fg-node.dm-package-ribbon{width:100%!important;max-width:100%!important;height:auto!important;min-height:32px!important;align-items:center!important;justify-content:center!important;padding:8px!important}
 .elementor .fg-variant.fg-mobile .fg-node.dm-package-ribbon-empty{display:none!important}
 .elementor .fg-variant.fg-mobile .dm-package-ribbon>.fg-node{width:auto!important;max-width:100%!important;height:auto!important;text-align:center!important}
 .elementor .fg-variant.fg-mobile .dm-package-ribbon p{white-space:normal!important;text-align:center!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-buy button{min-height:46px!important;font-size:14px!important}
 .elementor .fg-variant.fg-mobile .dm-package-panel .fg-details-trigger{min-height:36px!important;font-size:12px!important}
}
