/* Cart widgets are independent of the My Account page layout. */
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) {
  color:#1f2937; --btn-color:#fff; --btn-bgcolor:#020f30;
}
html body .cart-widget-side {
  background:#fff !important; width:min(420px,100vw) !important; max-width:100vw !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .widget_shopping_cart_content {
  background:#fff !important; color:#1f2937 !important; border:0 !important; border-radius:0 !important;
  display:flex !important; flex-direction:column !important; min-height:0 !important;
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; box-shadow:none !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) :is(ul.woocommerce-mini-cart,ul.cart_list) {
  display:block !important; padding:0 20px !important; margin:0 !important; list-style:none !important;
  width:100% !important; max-width:100% !important; min-width:0 !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item {
  position:relative !important; display:flow-root !important; min-height:112px !important;
  margin:0 !important; padding:20px 28px 20px 0 !important; border:0 !important;
  border-bottom:1px solid #e5e7eb !important; background:#fff !important; box-shadow:none !important;
  font-size:14px !important; line-height:1.5 !important; overflow-wrap:anywhere;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item a:not(.remove) {
  color:#374151 !important; font-size:14px !important; font-weight:500 !important; line-height:1.5 !important;
  text-decoration:none !important; box-shadow:none !important; min-width:0 !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item img {
  display:block !important; width:72px !important; height:72px !important; max-width:72px !important;
  min-width:72px !important; object-fit:contain !important; background:#fff !important;
  border:1px solid #e5e7eb !important; border-radius:6px !important; box-shadow:none !important;
  float:left !important; margin:0 14px 8px 0 !important;
}
/* WoodMart uses a separate image link and product-details wrapper. */
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item .cart-item-link {
  position:static !important; display:block !important; width:72px !important; height:72px !important;
  float:left !important; margin:0 14px 8px 0 !important; padding:0 !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item .cart-item-link img {
  float:none !important; margin:0 !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item .product-item-inner {
  display:block !important; margin-left:86px !important; padding:0 !important; width:auto !important; min-width:0 !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item .quantity {
  display:block !important; color:#667085 !important; font-size:13px !important; margin-top:8px !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) li.woocommerce-mini-cart-item a.remove {
  position:absolute !important; right:0 !important; top:18px !important; left:auto !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:26px !important; height:26px !important; padding:0 !important; border:1px solid #e5e7eb !important;
  border-radius:50% !important; background:#fff !important; color:#4b5563 !important; box-shadow:none !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__total {
  display:flex !important; flex-wrap:wrap; align-items:center !important; justify-content:space-between !important;
  gap:12px !important; padding:20px !important; margin:0 !important; border:0 !important;
  border-top:1px solid #e5e7eb !important; color:#1f2937 !important; background:#fff !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons {
  display:grid !important; grid-template-columns:1fr !important; gap:10px !important;
  margin:0 !important; padding:0 20px 20px !important; background:#fff !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons a.button,
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons a.button:hover {
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:100% !important; min-height:46px !important; padding:12px 18px !important; margin:0 !important;
  background:#fff !important; color:#374151 !important; -webkit-text-fill-color:#374151 !important;
  border:1px solid #dfe2e6 !important; border-radius:6px !important; box-shadow:none !important;
  font-size:14px !important; line-height:1.5 !important; font-weight:600 !important; text-transform:none !important;
  text-decoration:none !important; letter-spacing:normal !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons a.checkout,
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons a.checkout:hover {
  background:#020f30 !important; border-color:#020f30 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) .woocommerce-mini-cart__buttons a.button * {color:inherit !important;-webkit-text-fill-color:inherit !important;}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) a:focus-visible {outline:2px solid #667085;outline-offset:3px;}
html body .cart-widget-side .widget_shopping_cart {min-height:0;}
html body .cart-widget-side .shopping-cart-widget-body {overflow-y:auto !important;min-height:0 !important;overscroll-behavior:contain;}
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart),
html body :is(.cart-widget-side,.wd-dropdown-cart,.widget_shopping_cart) * {box-sizing:border-box;}

/* Elementor can replace WooCommerce's mini-cart template inside WoodMart's drawer.
   These selectors intentionally target that observed combination only. */
html body .cart-widget-side {
  display:flex !important; flex-direction:column !important; height:100dvh !important; overflow:hidden !important;
}
html body .cart-widget-side > .wd-heading {flex:0 0 auto;}
html body .cart-widget-side > .widget_shopping_cart {
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important;
  min-height:0 !important; height:auto !important; overflow:hidden !important; margin:0 !important;
}
html body .cart-widget-side .widget_shopping_cart_content {
  flex:1 1 auto !important; min-height:0 !important; height:auto !important; overflow:hidden !important;
}
html body .cart-widget-side .elementor-menu-cart__products {
  display:block !important; flex:1 1 auto !important; width:100% !important; min-height:0 !important;
  max-height:none !important; overflow-y:auto !important; overflow-x:hidden !important;
  padding:0 20px !important; margin:0 !important; overscroll-behavior:contain;
}
html body .cart-widget-side .elementor-menu-cart__product {
  display:grid !important; grid-template-columns:72px minmax(0,1fr) 26px !important;
  grid-template-rows:auto auto !important; gap:8px 14px !important; align-items:start !important;
  position:relative !important; width:100% !important; min-width:0 !important;
  margin:0 !important; padding:20px 0 !important; border:0 !important;
  border-bottom:1px solid #e5e7eb !important; background:#fff !important;
}
html body .cart-widget-side .elementor-menu-cart__product-image {
  grid-column:1 !important; grid-row:1 / span 2 !important; width:72px !important; height:72px !important;
  padding:0 !important; margin:0 !important; float:none !important;
}
html body .cart-widget-side .elementor-menu-cart__product-image a {display:block !important;width:72px !important;height:72px !important;}
html body .cart-widget-side .elementor-menu-cart__product-image img {
  display:block !important; width:72px !important; height:72px !important; max-width:72px !important;
  min-width:0 !important; object-fit:contain !important; float:none !important; margin:0 !important;
  border:1px solid #e5e7eb !important; border-radius:6px !important; background:#fff !important;
}
html body .cart-widget-side .elementor-menu-cart__product-name {
  grid-column:2 !important; grid-row:1 !important; padding:0 !important; margin:0 !important;
  min-width:0 !important; width:auto !important; line-height:1.5 !important;
}
html body .cart-widget-side .elementor-menu-cart__product-name a {
  display:block !important; font-size:14px !important; font-weight:500 !important;
  color:#374151 !important; -webkit-text-fill-color:#374151 !important;
  line-height:1.5 !important; text-decoration:none !important; overflow-wrap:anywhere;
}
html body .cart-widget-side .elementor-menu-cart__product-name .variation {
  display:block !important; list-style:none !important; margin:6px 0 0 !important; padding:0 !important;
  color:#667085 !important; font-size:12px !important; line-height:1.5 !important;
}
html body .cart-widget-side .elementor-menu-cart__product-name .variation :is(li,p) {
  display:block !important; margin:0 !important; padding:0 !important; color:#667085 !important; font-size:12px !important;
}
html body .cart-widget-side .elementor-menu-cart__product-name .variation .item-variation-value p {display:inline !important;}
html body .cart-widget-side .elementor-menu-cart__product-price {
  grid-column:2 !important; grid-row:2 !important; margin:0 !important; padding:0 !important;
  width:auto !important; min-width:0 !important; color:#667085 !important; font-size:13px !important; line-height:1.5 !important;
}
html body .cart-widget-side .elementor-menu-cart__product-remove {
  grid-column:3 !important; grid-row:1 !important; position:static !important;
  margin:0 !important; padding:0 !important; width:26px !important; height:26px !important;
}
html body .cart-widget-side .elementor-menu-cart__product-remove .elementor_remove_from_cart_button {display:none !important;}
html body .cart-widget-side .elementor-menu-cart__product-remove .remove_from_cart_button {
  display:flex !important; align-items:center !important; justify-content:center !important;
  position:static !important; width:26px !important; height:26px !important; padding:0 !important;
  border:1px solid #e5e7eb !important; border-radius:50% !important; background:#fff !important;
  color:#4b5563 !important; text-decoration:none !important; opacity:1 !important;
}
html body .cart-widget-side .elementor-menu-cart__product-remove .remove_from_cart_button::before {
  content:'\00d7' !important; font:20px/1 Arial,sans-serif !important; position:static !important;
  width:auto !important; height:auto !important; transform:none !important; background:none !important; color:#4b5563 !important;
}
html body .cart-widget-side .elementor-menu-cart__product-remove .remove_from_cart_button::after {content:none !important;}
html body .cart-widget-side :is(.elementor-menu-cart__subtotal,.elementor-menu-cart__footer-buttons) {
  flex:0 0 auto !important; background:#fff !important; width:100% !important; margin:0 !important;
}
html body .cart-widget-side .elementor-menu-cart__subtotal {
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:12px !important; border-top:1px solid #e5e7eb !important; padding:18px 20px !important; color:#1f2937 !important;
}
html body .cart-widget-side .elementor-menu-cart__footer-buttons {
  display:grid !important; grid-template-columns:1fr !important; gap:10px !important;
  padding:0 20px max(20px,env(safe-area-inset-bottom)) !important;
}
html body .cart-widget-side .elementor-menu-cart__footer-buttons .elementor-button,
html body .cart-widget-side .elementor-menu-cart__footer-buttons .elementor-button:hover {
  display:flex !important; align-items:center !important; justify-content:center !important;
  min-height:46px !important; width:100% !important; padding:12px 18px !important; margin:0 !important;
  background:#fff !important; color:#374151 !important; -webkit-text-fill-color:#374151 !important;
  border:1px solid #dfe2e6 !important; border-radius:6px !important; box-shadow:none !important;
  font-size:14px !important; font-weight:600 !important; line-height:1.5 !important; text-decoration:none !important; text-transform:none !important;
}
html body .cart-widget-side .elementor-menu-cart__footer-buttons .elementor-button--checkout,
html body .cart-widget-side .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
  background:#020f30 !important; border-color:#020f30 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
}
html body .cart-widget-side .elementor-menu-cart__footer-buttons .elementor-button * {color:inherit !important;-webkit-text-fill-color:inherit !important;}

/* Keep drawer heading and close control above sticky WoodMart/Elementor headers. */
html body .cart-widget-side { position:fixed !important; top:0 !important; bottom:0 !important; z-index:1000001 !important; height:100dvh !important; max-height:100dvh !important; }
html body.admin-bar .cart-widget-side { top:32px !important; height:calc(100dvh - 32px) !important; }
@media(max-width:782px){html body.admin-bar .cart-widget-side{top:46px !important;height:calc(100dvh - 46px) !important;}}

/* Account dropdown belongs above the following header navigation row. */
html body .whb-header :is(.whb-main-header,.whb-row,.whb-col) { overflow:visible !important; }
html body .whb-header .whb-row:has(.wd-header-my-account) { position:relative; z-index:50 !important; }
html body .wd-header-my-account { position:relative !important; }
html body .wd-header-my-account :is(.wd-dropdown-my-account,.wd-dropdown-menu) { z-index:1000 !important; background:#fff !important; color:#374151 !important; border:1px solid #e1e5eb !important; box-shadow:0 8px 24px rgba(2,15,48,.12) !important; min-width:240px; max-width:calc(100vw - 32px); inset-inline-end:0 !important; inset-inline-start:auto !important; }
html body .wd-header-my-account :is(.wd-dropdown-my-account,.wd-dropdown-menu) a { color:#374151 !important; }
html body .wd-header-my-account:is(:hover,:focus-within) :is(.wd-dropdown-my-account,.wd-dropdown-menu) { visibility:visible !important; opacity:1 !important; pointer-events:auto !important; transform:none !important; }

/* Keep all dropdown content above adjacent sticky header rows. */
html body .whb-header { overflow:visible !important; z-index:10002 !important; }
html body .whb-header .whb-main-header { position:relative; z-index:10002 !important; }
html body .whb-header .whb-row:has(.wd-header-my-account) { z-index:10003 !important; }
html body .whb-header .whb-row:not(:has(.wd-header-my-account)) { z-index:1 !important; }
html body .wd-header-my-account .wd-dropdown { top:100% !important; height:auto !important; max-height:calc(100dvh - 180px) !important; overflow-y:auto !important; z-index:10004 !important; }
html body .wd-header-my-account .wd-dropdown :is(.wd-sub-menu,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-navigation ul) { display:block !important; position:static !important; width:100% !important; min-width:0 !important; min-height:0 !important; height:auto !important; float:none !important; background:#fff !important; padding:8px !important; margin:0 !important; }
html body .wd-header-my-account .wd-dropdown li { display:block !important; width:100% !important; }
html body .wd-header-my-account .wd-dropdown li a { display:block !important; padding:10px 14px !important; color:#374151 !important; font-size:14px !important; line-height:1.5 !important; }
