/* The classic WooCommerce mini-cart is also used inside theme drawers. */
:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) {
  position: relative;
  display: block !important;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  padding: 14px 8px 15px 0 !important;
  overflow: hidden;
  border-bottom: 1px solid #eee6e9;
  color: #273244;
  text-align: left;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > a:not(.remove) {
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 22px 0 0 !important;
  margin: 0 0 7px !important;
  float: none !important;
  color: #243044;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > a:not(.remove) img,
:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) img.mpc-cart-thumbnail {
  display: block !important;
  box-sizing: border-box;
  float: none !important;
  width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  max-height: 68px !important;
  padding: 3px;
  margin: 0 !important;
  border: 1px solid #ede8ea;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > a.remove {
  position: absolute !important;
  top: 14px;
  right: 0;
  z-index: 1;
  float: none !important;
}

/* A thumbnail is already present in the product link. */
:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .mpc-inline-thumb {
  display: none !important;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation {
  display: block !important;
  clear: both;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  padding: 0;
  margin: 5px 0 8px;
  border: 0;
  line-height: 1.4;
  text-align: left;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dt,
:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dd {
  display: block;
  clear: both;
  float: none !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
  text-align: left;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dt {
  margin-top: 7px !important;
  color: #687381;
  font-size: 11px;
  font-weight: 650;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dd {
  color: #2f3847;
  font-size: 12px;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dd p {
  margin: 0;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dt.variation-Projeto {
  display: none;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) dl.variation > dd.variation-Projeto {
  margin-top: 10px !important;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #eadfe3;
  border-radius: 9px;
  background: #fff;
  color: #283241;
  font-size: 12px;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary summary {
  display: flex;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  width: 100%;
  min-height: 34px;
  padding: 7px 8px;
  background: #fff7f9;
  color: #8e3452;
  cursor: pointer;
  /* Hide the obsolete text node in cached cart fragments. */
  font-size: 0 !important;
  font-weight: 700;
  list-style: none;
  white-space: nowrap;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary summary::-webkit-details-marker {
  display: none;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary summary span {
  min-width: 0;
  color: #8e3452;
  font-size: 11px !important;
  font-weight: 700;
  white-space: nowrap;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary summary::after {
  display: block;
  flex: 0 0 7px;
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  margin: -3px 1px 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: '';
  transform: rotate(45deg);
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-summary[open] summary::after {
  margin-top: 3px;
  transform: rotate(225deg);
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-choices {
  padding: 2px 10px 7px;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-choices .em-cart-choice {
  display: grid;
  grid-template-columns: minmax(90px, 35%) minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid #f1edef;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-choices .em-cart-choice:last-child {
  border-bottom: 0;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-cart-choice-label {
  color: #667384;
  font-size: 11px;
  font-weight: 600;
  overflow-wrap: normal;
  word-break: normal;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-cart-choice-value {
  min-width: 0;
  color: #273244;
  font-size: 12px;
  font-weight: 650;
  overflow-wrap: break-word;
  word-break: normal;
}

:is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > .quantity {
  display: block;
  clear: both;
  width: 100%;
  margin: 8px 0 0;
  color: #8d3652;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}

@media (max-width: 640px) {
  :is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > a:not(.remove) {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  :is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) > a:not(.remove) img,
  :is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) img.mpc-cart-thumbnail {
    width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    max-height: 60px !important;
  }

  :is(.woocommerce-mini-cart, .widget_shopping_cart_content) li:is(.em-mini-cart-item, .mini_cart_item) .em-mini-cart-choices .em-cart-choice {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

/* Elementor Pro uses its own side-cart template rather than WooCommerce's li. */
.elementor-menu-cart__container .elementor-menu-cart__products,
.elementor-menu-cart__container .elementor-menu-cart__product,
.elementor-menu-cart__container .elementor-menu-cart__product-name {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.elementor-menu-cart__container .elementor-menu-cart__product {
  grid-template-columns: 68px minmax(0, 1fr) 20px !important;
  column-gap: 10px;
  overflow: hidden;
}

.elementor-menu-cart__container .elementor-menu-cart__product-image img {
  display: block !important;
  float: none !important;
  box-sizing: border-box;
  width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  max-height: 68px !important;
  padding: 3px;
  margin: 0 !important;
  border: 1px solid #ede8ea;
  border-radius: 8px;
  object-fit: contain;
}

/* The product-image block already contains the preview. */
.elementor-menu-cart__container .elementor-menu-cart__product-name .mpc-inline-thumb,
.elementor-menu-cart__container .elementor-menu-cart__product-name img.mpc-cart-thumbnail {
  display: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  margin: 9px 0 0 !important;
  padding: 0 !important;
  border: 0;
  text-align: left;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dt,
.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dd {
  display: block !important;
  float: none !important;
  clear: both;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
  text-align: left;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dt {
  margin-top: 8px !important;
  color: #697380;
  font-size: 11px;
  font-weight: 600;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dd {
  color: #253044;
  font-size: 12px;
  line-height: 1.4;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dd p {
  margin: 0;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name dl.variation > dt.variation-Projeto {
  display: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 8px 0;
  overflow: hidden;
  border: 1px solid #eadfe3;
  border-radius: 9px;
  background: #fff;
  color: #283241;
  font-size: 12px;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary summary {
  display: flex;
  align-items: center;
  gap: 5px;
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
  padding: 6px 7px;
  background: #fff7f9;
  color: #8e3452;
  cursor: pointer;
  /* Only the count is visible even when Elementor serves an older fragment. */
  font-size: 0 !important;
  font-weight: 700;
  list-style: none;
  white-space: nowrap;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary summary::-webkit-details-marker {
  display: none;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary summary span {
  min-width: 0;
  color: #8e3452;
  font-size: 11px !important;
  font-weight: 700;
  white-space: nowrap;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary summary::after {
  display: block;
  flex: 0 0 7px;
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  margin: -3px 1px 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: '';
  transform: rotate(45deg);
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-summary[open] summary::after {
  margin-top: 3px;
  transform: rotate(225deg);
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-mini-cart-choices {
  padding: 3px 9px 7px;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice {
  display: block;
  padding: 7px 0;
  border-bottom: 1px solid #f1edef;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice:last-child {
  border-bottom: 0;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice-label,
.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice-value {
  display: block;
  width: 100%;
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: normal;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice-label {
  color: #697380;
  font-weight: 600;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name .em-cart-choice-value {
  color: #253044;
  font-weight: 700;
}

@media (max-width: 640px) {
  .elementor-menu-cart__container .elementor-menu-cart__product {
    grid-template-columns: 60px minmax(0, 1fr) 18px !important;
    column-gap: 8px;
  }

  .elementor-menu-cart__container .elementor-menu-cart__product-image img {
    width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    max-height: 60px !important;
  }
}
