.leo-cart{
  --leo-navy:#0f294d;
  --leo-navy-dark:#0a1e3a;
  --leo-gold:#c88b2e;
  --leo-cream:#fcf8f0;
  --leo-border:#ddd5c9;
  --leo-muted:#6b7280;
  color:#222;
}
.leo-cart *{box-sizing:border-box}
.leo-cart__layout{display:flex;align-items:flex-start;gap:48px}
.leo-cart__items-column{min-width:0;flex:1}
.leo-cart__sidebar{min-width:300px;flex:1}.leo-cart__totals{width:100%;position:sticky;top:24px}
.leo-cart__heading{margin:0 0 24px;color:var(--leo-navy)}
.leo-cart__table-head{display:grid;grid-template-columns:1fr auto;gap:20px;padding:0 0 14px;border-bottom:1px solid var(--leo-border);text-transform:uppercase;font-size:13px;color:var(--leo-navy)}
.leo-cart__item{display:grid;grid-template-columns:1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--leo-border)}
.leo-cart__product{display:flex;gap:16px;min-width:0}
.leo-cart__image img{display:block;object-fit:cover;aspect-ratio:1/1}
.leo-cart__product-info{min-width:0}
.leo-cart__product-title{display:inline-block;color:var(--leo-gold);text-decoration:none;margin-bottom:4px}
.leo-cart__prices{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.leo-cart__regular-price{color:#555}
.leo-cart__sale-price{color:#222}
.leo-cart__meta{margin-top:6px;color:#222}
.leo-cart__meta-row{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0}
.leo-cart__dimension{white-space:nowrap}
.leo-cart__meta-label{font-weight:500}
.leo-cart__meta dl,.leo-cart__meta p{margin:0}
.leo-cart__meta dt,.leo-cart__meta dd{display:inline;margin:0}
.leo-cart__actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.leo-cart__quantity{--leo-qty-button-width:28px;display:grid;grid-template-columns:var(--leo-qty-button-width) minmax(0,1fr) var(--leo-qty-button-width);align-items:stretch;min-width:0;border:1px solid var(--leo-border);overflow:hidden;background:var(--leo-cream);height:44px;line-height:1}
.leo-cart__quantity input.qty,.leo-cart__quantity .leo-cart__qty-input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--leo-navy)!important;
  opacity:1!important;
  text-align:center!important;
  line-height:normal!important;
  -webkit-text-fill-color:currentColor!important;
  appearance:textfield;
  -moz-appearance:textfield;
}
.leo-cart__quantity input.qty::-webkit-outer-spin-button,.leo-cart__quantity input.qty::-webkit-inner-spin-button,.leo-cart__quantity .leo-cart__qty-input::-webkit-outer-spin-button,.leo-cart__quantity .leo-cart__qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.leo-cart__qty-button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:100%;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--leo-navy)!important;cursor:pointer;font-size:18px;line-height:1;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.leo-cart__qty-button:hover{background:var(--leo-navy)!important;color:#fff!important}
.leo-cart__remove{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--leo-gold);text-decoration:none;transition:transform .2s ease,color .2s ease}
.leo-cart__remove svg{display:block;width:20px;height:20px}
.leo-cart__remove:hover{color:var(--leo-navy)}
.leo-cart__line-total{display:flex;align-items:flex-end;flex-direction:column;gap:8px;white-space:nowrap}
.leo-cart__save{display:inline-flex;padding:3px 7px;background:#e4f4ed;color:#2f7d5f;font-size:12px}
.leo-cart__coupon-form button,.leo-cart__checkout{transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.leo-cart__totals-title{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--leo-border);text-transform:uppercase;font-size:14px;font-weight:700!important;color:var(--leo-navy)}
.leo-cart__coupon{border-bottom:1px solid var(--leo-border);padding-bottom:14px;margin-bottom:20px}
.leo-cart__coupon-label{display:block;margin:0 0 12px;color:var(--leo-navy)}
.leo-cart__coupon-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:0}
.leo-cart__coupon-form input,.leo-cart__coupon-form button{min-height:42px}
.leo-cart__coupon-form input{width:100%;min-width:0;border:1px solid var(--leo-navy);background:#fff;color:#222;box-shadow:none;outline:none}
.leo-cart__coupon-form button{border:1px solid var(--leo-navy)!important;background:var(--leo-cream)!important;color:var(--leo-navy)!important}
.leo-cart__coupon-form button:hover{background:var(--leo-navy)!important;color:#fff!important}
.leo-cart__row,.leo-cart__estimated{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--leo-border)}
.leo-cart__estimated{font-size:24px;align-items:center}
.leo-cart__estimated,.leo-cart__estimated strong,.leo-cart__estimated .woocommerce-Price-amount{font-weight:700!important}
.leo-cart__checkout{display:flex;align-items:center;justify-content:center;width:100%;margin-top:18px;padding:16px 24px;background:var(--leo-navy)!important;color:#fff!important;text-decoration:none;text-align:center}
.leo-cart__checkout:hover{background:var(--leo-navy-dark)!important;color:#fff!important}
.leo-cart--shrink-buttons .leo-cart__qty-button:hover,.leo-cart--shrink-buttons .leo-cart__remove:hover,.leo-cart--shrink-buttons .leo-cart__coupon-form button:hover,.leo-cart--shrink-buttons .leo-cart__checkout:hover{transform:scale(.96)}
.leo-cart--empty{text-align:center}
.leo-cart--empty .leo-cart__checkout{display:inline-flex;width:auto}
@media(max-width:767px){
  .leo-cart__layout{flex-direction:column}
  .leo-cart__items-column,.leo-cart__sidebar{width:100%;flex-basis:auto!important}
  .leo-cart__sidebar{min-width:0}.leo-cart__totals{position:static;min-width:0}
  .leo-cart__table-head{display:none}
  .leo-cart__item{grid-template-columns:1fr}
  .leo-cart__line-total{align-items:flex-start}
  .leo-cart__product{align-items:flex-start}
  .leo-cart__coupon-form{grid-template-columns:1fr}
  .leo-cart__estimated{font-size:20px}
}

/* v1.5.0 fixes */
.leo-cart__remove-icon{
  display:block;
  width:20px;
  height:20px;
  background-color:currentColor;
  -webkit-mask:var(--leo-remove-icon) center/contain no-repeat;
  mask:var(--leo-remove-icon) center/contain no-repeat;
}
.leo-cart .leo-cart__quantity input.leo-cart__qty-input{
  position:relative!important;
  z-index:2!important;
  visibility:visible!important;
  font-size:16px;
  font-weight:500;
  color:var(--leo-navy)!important;
  -webkit-text-fill-color:var(--leo-navy)!important;
}
.leo-cart .leo-cart__checkout,
.leo-cart .leo-cart__checkout *{
  font:inherit;
}
@media(min-width:768px){
  .leo-cart__items-column{min-width:0}
  .leo-cart__totals{min-width:280px}
}
@media(max-width:767px){
  .leo-cart__items-column{max-width:100%!important}
}

/* v1.6.0 responsive layout and control fixes */
.leo-cart__remove-gallery-icon,
.leo-cart__remove-gallery-icon i,
.leo-cart__remove-gallery-icon svg{
  display:block;
  width:100%;
  height:100%;
  color:currentColor;
  fill:currentColor;
}
.leo-cart__coupon-form input,
.leo-cart__coupon-form button{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.2!important;
}
.leo-cart__coupon-form input{padding-top:0!important;padding-bottom:0!important}
@media (min-width:768px) and (max-width:1024px){
  .leo-cart-tablet-layout-one-column .leo-cart__layout{flex-direction:column!important}
  .leo-cart-tablet-layout-one-column .leo-cart__items-column,
  .leo-cart-tablet-layout-one-column .leo-cart__sidebar{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  .leo-cart-tablet-layout-one-column .leo-cart__totals{position:static!important;min-width:0!important}
  .leo-cart-tablet-layout-two-columns .leo-cart__layout{flex-direction:row!important}
}
@media(max-width:767px){
  .leo-cart__table-head{display:grid!important;grid-template-columns:1fr auto!important}
  .leo-cart__item{grid-template-columns:1fr!important}
  .leo-cart__line-total{margin-top:10px}
  .leo-cart__coupon-form{align-items:center}
  .leo-cart__coupon-form input,
  .leo-cart__coupon-form button{justify-self:center}
}


/* v1.7.0 responsive widths, tablet layout, icon picker and coupon row */
.leo-cart__layout{
  width:100%;
  max-width:100%;
}
.leo-cart__items-column,
.leo-cart__sidebar{
  box-sizing:border-box;
}
.leo-cart__remove-gallery-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.leo-cart__remove-gallery-icon i,
.leo-cart__remove-gallery-icon svg{
  width:100%;
  height:100%;
  font-size:inherit;
  fill:currentColor;
}
.leo-cart__coupon-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:center;
}
.leo-cart__coupon-form input,
.leo-cart__coupon-form button{
  box-sizing:border-box!important;
  align-self:center;
  margin:0!important;
}
.leo-cart__coupon-form input{
  min-width:0!important;
  max-width:100%;
  text-align:left;
}
.leo-cart__coupon-form button{
  white-space:nowrap;
}
@media (min-width:768px) and (max-width:1024px){
  .leo-cart-tablet-layout-one-column .leo-cart__layout{
    flex-direction:column!important;
    align-items:center!important;
  }
  .leo-cart-tablet-layout-one-column .leo-cart__items-column,
  .leo-cart-tablet-layout-one-column .leo-cart__totals{
    /* Responsive Elementor width controls remain authoritative. */
    max-width:none;
  }
  .leo-cart-tablet-layout-two-columns .leo-cart__layout{
    flex-direction:row!important;
    align-items:flex-start!important;
  }
}
@media(max-width:767px){
  .leo-cart__layout{
    flex-direction:column!important;
    align-items:center!important;
  }
  .leo-cart__items-column,
  .leo-cart__sidebar{
    /* Do not force 100%; mobile responsive width controls must work. */
    min-width:0!important;
  }
  .leo-cart__table-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:34px;
    align-items:center;
  }
  .leo-cart__table-head > span{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .leo-cart__coupon-form{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%;
  }
  .leo-cart__coupon-form input,
  .leo-cart__coupon-form button{
    justify-self:stretch;
  }
  .leo-cart__coupon-form button{
    justify-self:end;
  }
}


/* v1.8.0 product layout simplification */
.leo-cart__table-head{
  grid-template-columns:minmax(0,1fr)!important;
}
.leo-cart__item{
  grid-template-columns:minmax(0,1fr)!important;
}
.leo-cart__save-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-top:6px;
}
.leo-cart__save-row .leo-cart__save{
  align-self:flex-start;
}
.leo-cart__line-total{
  display:none!important;
}
@media(max-width:767px){
  .leo-cart__table-head{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* v1.8.1 price order, separate price typesetting, remove text and header visibility */
.leo-cart__prices{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
}
.leo-cart__sale-price,
.leo-cart__regular-price{
  display:inline-flex;
  align-items:baseline;
}
.leo-cart__remove{
  width:auto;
  min-width:34px;
  height:34px;
  white-space:nowrap;
}
.leo-cart__remove-text{
  display:inline-block;
  line-height:1.2;
  color:var(--leo-navy);
  transition:color .2s ease;
}


/* v1.8.2 size typesetting and responsive image/content spacing */
.leo-cart__meta-label,
.leo-cart__meta-value,
.leo-cart__dimension{
  transition:color .2s ease;
}


/* v1.8.5: independent Size typography targets with no inherited typography lock */
.leo-cart__meta-row{
  display:flex;
  align-items:baseline;
  column-gap:4px;
  row-gap:2px;
  flex-wrap:wrap;
}
.leo-cart__meta-row > .leo-cart__meta-label,
.leo-cart__meta-row > .leo-cart__meta-value,
.leo-cart__meta-row > .leo-cart__dimension{
  display:inline-block;
}


/* v1.8.7: one shared Size typography control for label, value and dimension */
.leo-cart__meta-row .leo-cart__meta-label,
.leo-cart__meta-row .leo-cart__meta-value,
.leo-cart__meta-row .leo-cart__dimension{
  line-height:inherit;
}


/* v1.9.0 Continue Shopping and Need Help */
.leo-cart__sidebar{
  box-sizing:border-box;
  min-width:0;
}
.leo-cart__continue-shopping{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin-top:16px;
  color:var(--leo-navy);
  text-decoration:none;
  line-height:1.2;
  transition:color .2s ease,transform .2s ease;
}
.leo-cart__continue-shopping-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:1;
}
.leo-cart__continue-shopping-icon i,
.leo-cart__continue-shopping-icon svg{
  display:block;
  width:1em;
  height:1em;
  fill:currentColor;
}
.leo-cart__continue-shopping:hover{
  color:var(--leo-gold);
}
.leo-cart__need-help{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  margin-top:16px;
  padding:22px;
  border:1px solid var(--leo-border);
  border-radius:10px;
  background:#fff;
}
.leo-cart__need-help-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:var(--leo-navy);
  font-size:32px;
  line-height:1;
}
.leo-cart__need-help-icon i,
.leo-cart__need-help-icon svg{
  display:block;
  width:1em;
  height:1em;
  fill:currentColor;
}
.leo-cart__need-help-content{
  min-width:0;
}
.leo-cart__need-help-heading{
  margin:0 0 4px;
  color:var(--leo-navy);
  font-weight:600;
}
.leo-cart__need-help-phone{
  display:inline-block;
  color:var(--leo-navy);
  font-weight:700;
  text-decoration:none;
  transition:color .2s ease;
}
.leo-cart__need-help-phone:hover{
  color:var(--leo-gold);
}
@media (min-width:768px) and (max-width:1024px){
  .leo-cart-tablet-layout-one-column .leo-cart__sidebar{
    max-width:none;
  }
}
@media(max-width:767px){
  .leo-cart__sidebar{
    min-width:0!important;
  }
  .leo-cart__need-help{
    align-items:center;
  }
}

/* v1.9.1: keep Order Summary and Need Help together while sticky */
.leo-cart__sidebar{
  position:sticky;
  top:24px;
  align-self:flex-start;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.leo-cart__totals{
  position:static!important;
  top:auto!important;
  flex:0 0 auto;
}
.leo-cart__need-help{
  margin-top:0;
  flex:0 0 auto;
  overflow:hidden;
}
.leo-cart__need-help-icon{
  width:1em;
  height:1em;
}
.leo-cart__need-help-icon i,
.leo-cart__need-help-icon svg{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
}
@media(max-width:767px){
  .leo-cart__sidebar{
    position:static!important;
    top:auto!important;
  }
}
