/**
 * FGE site-wide header mini-cart styles.
 * Split from the full WooCommerce helper stylesheet in v2.5.1.
 */

   v2.3.3 Elementor / WooCommerce slide-out mini cart.
   ========================================================= */
.elementor-menu-cart__container,
.elementor-menu-cart__main,
.e-wc-menu-cart__container,
.e-wc-menu-cart__main {
  box-sizing:border-box !important;
}

.elementor-menu-cart__main,
.e-wc-menu-cart__main {
  background:#fdfbf4 !important;
  color:#10213e !important;
  width:min(440px, 92vw) !important;
  max-width:92vw !important;
  padding:28px 24px 24px !important;
  box-shadow:-16px 0 45px rgba(16,33,62,.16) !important;
  overflow-x:hidden !important;
}

.elementor-menu-cart__close-button,
.e-wc-menu-cart__close-button {
  color:#10213e !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid #e5e0d7 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.elementor-menu-cart__products,
.e-wc-menu-cart__products {
  display:grid !important;
  gap:14px !important;
  margin:20px 0 !important;
  border:0 !important;
}

.elementor-menu-cart__product,
.e-wc-menu-cart__product {
  display:grid !important;
  grid-template-columns:104px minmax(0,1fr) 28px !important;
  gap:16px !important;
  align-items:center !important;
  padding:16px !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #e8e3da !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(16,33,62,.06) !important;
}

.elementor-menu-cart__product-image,
.e-wc-menu-cart__product-image {
  width:104px !important;
  min-width:104px !important;
  margin:0 !important;
}
.elementor-menu-cart__product-image img,
.e-wc-menu-cart__product-image img {
  width:100% !important;
  height:104px !important;
  object-fit:contain !important;
  border-radius:12px !important;
}

.elementor-menu-cart__product-name,
.e-wc-menu-cart__product-name {
  min-width:0 !important;
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.elementor-menu-cart__product-name a,
.e-wc-menu-cart__product-name a {
  color:#10213e !important;
  text-decoration:none !important;
}
.elementor-menu-cart__product-price,
.e-wc-menu-cart__product-price {
  color:#5f6775 !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:15px !important;
  line-height:1.45 !important;
}

.elementor-menu-cart__product-remove,
.e-wc-menu-cart__product-remove {
  position:static !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  border:1px solid #d9d4cb !important;
  background:#fdfbf4 !important;
  color:#10213e !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:start !important;
}

.elementor-menu-cart__subtotal,
.e-wc-menu-cart__subtotal {
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:18px 0 !important;
  margin:0 !important;
  border-top:1px solid #ddd7cd !important;
  border-bottom:1px solid #ddd7cd !important;
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:18px !important;
  font-weight:700 !important;
}

.elementor-menu-cart__footer-buttons,
.e-wc-menu-cart__footer-buttons {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-top:18px !important;
}
.elementor-menu-cart__footer-buttons .elementor-button,
.e-wc-menu-cart__footer-buttons .elementor-button,
.elementor-menu-cart__footer-buttons a,
.e-wc-menu-cart__footer-buttons a {
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border-radius:12px !important;
  border:1px solid #10213e !important;
  background:#10213e !important;
  color:#fff !important;
  font-family:"Nunito Sans",sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.elementor-menu-cart__footer-buttons .elementor-button:first-child,
.e-wc-menu-cart__footer-buttons .elementor-button:first-child,
.elementor-menu-cart__footer-buttons a:first-child,
.e-wc-menu-cart__footer-buttons a:first-child {
  background:#eaf4f7 !important;
  color:#10213e !important;
  border-color:#c9dfe8 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button:hover,
.e-wc-menu-cart__footer-buttons .elementor-button:hover,
.elementor-menu-cart__footer-buttons a:hover,
.e-wc-menu-cart__footer-buttons a:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(16,33,62,.12) !important;
}

.elementor-menu-cart__empty-message,
.e-wc-menu-cart__empty-message {
  background:#fff !important;
  color:#10213e !important;
  border:1px solid #e8e3da !important;
  border-radius:16px !important;
  padding:24px !important;
  text-align:center !important;
}

@media (max-width: 767px) {
  .elementor-menu-cart__main,
  .e-wc-menu-cart__main {
    width:min(390px, 94vw) !important;
    max-width:94vw !important;
    padding:22px 16px 20px !important;
  }
  .elementor-menu-cart__product,
  .e-wc-menu-cart__product {
    grid-template-columns:82px minmax(0,1fr) 26px !important;
    gap:12px !important;
    padding:13px !important;
  }
  .elementor-menu-cart__product-image,
  .e-wc-menu-cart__product-image {
    width:82px !important;
    min-width:82px !important;
  }
  .elementor-menu-cart__product-image img,
  .e-wc-menu-cart__product-image img { height:82px !important; }
  .elementor-menu-cart__product-name,
  .e-wc-menu-cart__product-name { font-size:15px !important; }
  .elementor-menu-cart__product-price,
  .e-wc-menu-cart__product-price { font-size:13px !important; }
  .elementor-menu-cart__footer-buttons,
  .e-wc-menu-cart__footer-buttons { grid-template-columns:1fr !important; }
}

/* =========================================================
   v2.3.4 Legacy Elementor mini-cart markup used by this header.
   The drawer exists site-wide and uses WooCommerce mini-cart classes.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content {
  color:#10213e !important;
  font-family:"Nunito Sans",sans-serif !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart,
.elementor-menu-cart__main ul.woocommerce-mini-cart {
  display:grid !important;
  gap:14px !important;
  margin:20px 0 !important;
  padding:0 !important;
  list-style:none !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart > li,
.elementor-menu-cart__main li.woocommerce-mini-cart-item {
  position:relative !important;
  display:grid !important;
  grid-template-columns:96px minmax(0,1fr) 28px !important;
  grid-template-areas:"image details remove" !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  padding:14px !important;
  list-style:none !important;
  background:#fff !important;
  border:1px solid #e8e3da !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(16,33,62,.06) !important;
}
.elementor-menu-cart__main .wp-woo-mini-cart > li::marker,
.elementor-menu-cart__main li.woocommerce-mini-cart-item::marker {
  content:"" !important;
  font-size:0 !important;
}
.elementor-menu-cart__main .wp-mini-cart-image {
  grid-area:image !important;
  width:96px !important;
  min-width:96px !important;
  margin:0 !important;
}
.elementor-menu-cart__main .wp-mini-cart-image a,
.elementor-menu-cart__main .wp-mini-cart-image img {
  display:block !important;
  width:100% !important;
}
.elementor-menu-cart__main .wp-mini-cart-image img {
  height:96px !important;
  object-fit:contain !important;
  border-radius:12px !important;
}
.elementor-menu-cart__main .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  min-width:0 !important;
  color:#10213e !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.elementor-menu-cart__main .wp-mini-cart-name-and-quantity a {
  display:block !important;
  margin-bottom:4px !important;
  color:#10213e !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .wp-mini-cart-remove {
  grid-area:remove !important;
  align-self:start !important;
  justify-self:end !important;
}
.elementor-menu-cart__main .wp-mini-cart-remove a,
.elementor-menu-cart__main a.remove_from_cart_button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  padding:0 !important;
  border:1px solid #d9d4cb !important;
  border-radius:50% !important;
  background:#fdfbf4 !important;
  color:#10213e !important;
  font-size:18px !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.elementor-menu-cart__main .total {
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 !important;
  padding:18px 0 !important;
  border-top:1px solid #ddd7cd !important;
  border-bottom:1px solid #ddd7cd !important;
  color:#10213e !important;
  font-size:18px !important;
  font-weight:700 !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons,
.elementor-menu-cart__main .buttons {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin:18px 0 0 !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a,
.elementor-menu-cart__main .buttons a {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:1px solid #10213e !important;
  border-radius:12px !important;
  background:#10213e !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
}
.elementor-menu-cart__main .woocommerce-mini-cart__buttons a:first-child,
.elementor-menu-cart__main .buttons a:first-child {
  border-color:#c9dfe8 !important;
  background:#eaf4f7 !important;
  color:#10213e !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .wp-woo-mini-cart > li,
  .elementor-menu-cart__main li.woocommerce-mini-cart-item {
    grid-template-columns:76px minmax(0,1fr) 26px !important;
    gap:11px !important;
    padding:12px !important;
  }
  .elementor-menu-cart__main .wp-mini-cart-image {
    width:76px !important;
    min-width:76px !important;
  }
  .elementor-menu-cart__main .wp-mini-cart-image img { height:76px !important; }
  .elementor-menu-cart__main .wp-mini-cart-name-and-quantity,
  .elementor-menu-cart__main .wp-mini-cart-name-and-quantity a { font-size:14px !important; }
  .elementor-menu-cart__main .woocommerce-mini-cart__buttons,
  .elementor-menu-cart__main .buttons { grid-template-columns:1fr !important; }
}


/* =========================================================
   v2.3.5 Mini-cart product-card alignment correction.
   Force a compact horizontal layout and neutralize legacy widths.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) !important;
  grid-template-areas:"image details" !important;
  align-items:center !important;
  column-gap:22px !important;
  min-height:0 !important;
  padding:22px 52px 22px 22px !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  width:128px !important;
  min-width:128px !important;
  max-width:128px !important;
  height:128px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  position:static !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  width:128px !important;
  max-width:128px !important;
  height:128px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  align-self:center !important;
  text-align:left !important;
  overflow-wrap:anywhere !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity a {
  margin:0 0 6px !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    grid-template-columns:92px minmax(0,1fr) !important;
    column-gap:14px !important;
    padding:16px 44px 16px 16px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    height:92px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:12px !important;
    right:12px !important;
  }
}

/* =========================================================
   v2.3.6 Mini-cart card visual refinement.
   Center product art, pin remove control, and refine title type.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "image"
    "details" !important;
  row-gap:18px !important;
  padding:28px 54px 24px 28px !important;
  align-items:start !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  justify-self:center !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:170px !important;
  margin:0 auto !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  display:block !important;
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  height:170px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  width:100% !important;
  align-self:start !important;
  text-align:left !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
  display:block !important;
  margin:0 0 6px !important;
  font-family:"DM Serif Display", Georgia, serif !important;
  font-size:22px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  color:#10213e !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  z-index:3 !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    row-gap:14px !important;
    padding:22px 46px 20px 20px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:138px !important;
    min-width:138px !important;
    max-width:138px !important;
    height:138px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
    font-size:20px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:10px !important;
    right:10px !important;
  }
}

/* =========================================================
   v2.3.7 Compact mini-cart product cards.
   Fit more items in the drawer while keeping product art centered
   and the marketing title prominent.
   ========================================================= */
.elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
.elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:120px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  grid-template-areas:"image details" !important;
  column-gap:18px !important;
  row-gap:0 !important;
  min-height:158px !important;
  padding:18px 46px 18px 18px !important;
  align-items:center !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image {
  grid-area:image !important;
  align-self:center !important;
  justify-self:center !important;
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
  height:120px !important;
  margin:0 !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
  display:block !important;
  width:120px !important;
  min-width:120px !important;
  max-width:120px !important;
  height:120px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity {
  grid-area:details !important;
  align-self:center !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  text-align:left !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
  display:block !important;
  margin:0 0 7px !important;
  font-family:"DM Serif Display", Georgia, serif !important;
  font-size:24px !important;
  line-height:1.12 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:#10213e !important;
  overflow-wrap:anywhere !important;
}
.elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  z-index:4 !important;
}
@media (max-width:767px) {
  .elementor-menu-cart__main .widget_shopping_cart_content .wp-woo-mini-cart > li.woocommerce-mini-cart-item,
  .elementor-menu-cart__main .widget_shopping_cart_content ul.woocommerce-mini-cart > li.woocommerce-mini-cart-item {
    grid-template-columns:96px minmax(0,1fr) !important;
    column-gap:14px !important;
    min-height:132px !important;
    padding:15px 40px 15px 15px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image > a,
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-image img {
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:96px !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-name-and-quantity > a {
    font-size:21px !important;
    line-height:1.12 !important;
  }
  .elementor-menu-cart__main .widget_shopping_cart_content li.woocommerce-mini-cart-item > .wp-mini-cart-remove {
    top:8px !important;
    right:8px !important;
  }
}


/* =========================================================
