/* ==========================================================================
   EFLC New Cart Page – Cart-specific Styles
   Loaded on shopping_cart page alongside /checkout-mock/assets/css/checkout.css
   ========================================================================== */

/* ── Zen Cart wrapper overrides ── */
#mainWrapper{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  /* Keep original top padding (header clearance); zero the rest */
  padding-left:0 !important;
  padding-right:0 !important;
  padding-bottom:0 !important;
}
#contentMainWrapper{
  max-width:100% !important;
  min-height:100vh;
  display:block !important;
}
/* Make .centerColumn full-width (normally 79.9% for sidebar-layout pages) */
#shoppingCartDefault.centerColumn,
.centerColumn#shoppingCartDefault{
  width:100% !important;
  float:none !important;
  padding:0 !important;
}
#navBreadCrumb{display:none;}
/* NOTE: do NOT reset html{top:0} here — the standard EFLC header is
   position:fixed and megamenu2.css uses html{top:150px;position:relative}
   to push content below it.  Checkout pages reset it because they use
   their own mini-header; the cart page keeps the full header. */

/* ── Undo checkout.css .header bleed into the megamenu site header ── */
.header{
  background:#fbfbfb url(/images/menu/hdr_eflc/bg_carbonfiber2.png?v2) !important;
  background-repeat:repeat-x !important;
  background-position:0 41px !important;
  background-position-x:center !important;
  border-bottom:1px #ddd solid !important;
}
.header.active{
  background-position:0 21px !important;
  background-position-x:center !important;
}

#footercontact>div {
  height: 117px !important;
}

/* ── Prevent checkout.css global input reset from breaking header stuff ── */
/* checkout.css lines 244-256 set bare input{width:100%;padding:12px;border:1px solid #ccc;
   border-radius:4px;font-size:15px;background:#fff;color:#111;outline:none}
   These rules have no scope and bleed into the full site header loaded on the cart page. */
.header input,
.header select{
  width:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:inherit !important;
  font-size:inherit !important;
  background:transparent !important;
  color:inherit !important;
  outline:inherit !important;
  margin:0 !important;
  box-shadow:none !important;
}
/* Re-apply the original search-input styles that the reset above stripped */
#navMainSearch input,
#topsearch_header{
  background:url("../images/forstoringsglas.png") no-repeat scroll left center #fff !important;
  padding:0 13px 0 37px !important;
  height:39px !important;
  width:70% !important;
  border:none !important;
  color:#444 !important;
  font-size:14px !important;
  border-radius:3px !important;
  margin:1px !important;
}
#navMainSearchMOB input,
#topsearch_headerMOB{
  background:url("../images/forstoringsglas.png") no-repeat scroll left center #fff !important;
  padding:0 13px 0 37px !important;
  width:100% !important;
  border:none !important;
  color:#444 !important;
  font-size:16px !important;
  border-radius:3px !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
}

/* ── Prevent checkout.css global input reset from breaking footer newsletter ── */
/* checkout.css padding:12px causes height/overflow on the 25px-tall email box;
   width:100% breaks the float:right Go button layout */
form[name="footer_newsletter"] input[name="addr"],
#textfield{
  width:auto !important;
  max-width:190px !important;
  padding:0 0 0 20px !important;
  height:25px !important;
  font-size:13px !important;
  border-radius:6px !important;
  border:1px solid #ddd !important;
  background:#fff !important;
  color:#999 !important;
  outline:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}
form[name="footer_newsletter"] input[type="image"]{
  width:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  float:right !important;
  margin:0 15px 0 0 !important;
}

/* ── Fix: site a:link overrides button text colors ── */
#shoppingCartDefault a.btn.btn-primary,
#shoppingCartDefault a.btn-primary,
.mobile-sticky a.ms-checkout{
  color:#fff !important;
  text-decoration:none !important;
}

/* ── Fix: .sum-title gets redefined to 12.5px by checkout.css (line ~818) ── */
#checkoutStack .sum-title,
#cartSheet .sum-title,
#shoppingCartDefault .sum-title{
  font-size:16px !important;
  font-weight:800 !important;
  margin:0 0 12px !important;
}

/* ── Fix: ensure sumrow divs are visible (not collapsed by site CSS) ── */
#shoppingCartDefault .sumrows .sumrow{
  display:flex !important;
  visibility:visible !important;
}
#shoppingCartDefault .sumrows .sumrow span,
#shoppingCartDefault .sumrows .sumrow strong{
  display:inline !important;
  visibility:visible !important;
}

/* ── Utilities ── */
.is-hidden{display:none !important;}

/* ── Weight overrides: match mock's bolder look ── */
.cart-title{font-weight:800;font-size:22px;margin-bottom:6px;}
.cart-sub{color:var(--muted);font-size:13px;line-height:1.35;}
.sum-title{font-weight:800;}
.sumrow strong{font-weight:800;}
.cart-name,.cart-name a{font-weight:800;font-size:13.5px;line-height:1.25;}
.cart-price{font-weight:800;}
.ms-total{font-weight:800;}
.btn-paypal{font-weight:800;}
.btn.btn-primary{font-weight:800;}
.bt-h{font-weight:800;}
.bt-kicker{font-weight:800;}
.bt-now,.bt-was{font-weight:800;}
.w-price .now,.w-price .was{font-weight:800;}

/* ── Layout helpers ── */
.stack{display:flex;flex-direction:column;gap:10px;}
.btn-full{width:100%;text-align:center;}

/* ── PayPal yellow button ── */
.btn-paypal{
  width:100%;
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:10px;border:0;
  background:#ffc439;color:#111;cursor:pointer;text-decoration:none;
}

/* ── Cart line items ── */
.cart-line{
  display:flex;gap:12px;padding:14px 0;
  border-top:1px solid #eee;align-items:flex-start;
}
.cart-line:first-of-type{border-top:0;padding-top:0;}

.cart-thumb{
  width:74px;height:auto;border-radius:8px;
  border:1px solid #eee;background:#fff;flex:0 0 auto;
}
.cart-mid{flex:1;min-width:0;}
.cart-name a{text-decoration:none;color:#4d4c4c;}
.cart-meta{color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.3;}

/* Attributes (new) */
.cart-attrs{color:var(--muted);font-size:12px;margin-top:4px;line-height:1.3;}
.cart-attrs span{display:inline-block;margin-right:8px;}

/* ── Uniform action links ── */
.action-links{margin-top:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.action-link{
  font-size:12px;color:var(--blue);text-decoration:none;
  font-weight:700;cursor:pointer;line-height:1.2;
}
.action-link:hover{text-decoration:underline;}
.action-link.muted{color:var(--muted);}

/* Right price column */
.cart-right{text-align:right;min-width:120px;}
.cart-qty{color:var(--muted);font-size:12px;margin-top:4px;}

/* Out of stock */
.oos-row{margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.pill.oos{
  white-space:nowrap;
  background:#c40000 !important;
  color:#fff !important;
  font-weight:800;
  border:0;
  letter-spacing:.4px;
}

/* ── Qty controls (editable) ── */
.qty-wrap{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.qty-ctrl{
  display:inline-flex;align-items:center;
  border:1px solid #e6e6e6;border-radius:10px;
  overflow:hidden;background:#fff;height:36px;
}
.qty-btn{
  width:36px;height:36px;border:0;background:transparent;
  cursor:pointer;font-weight:800;color:#222;
}
.qty-btn:disabled{opacity:.35;cursor:not-allowed;}
.qty-input{
  width:52px;height:36px;border:0;text-align:center;
  font-weight:800;outline:none;-moz-appearance:textfield;appearance:textfield;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0;}

/* ── Summary rows ── */
.sumrows{margin-top:10px;}
.sumrow{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#222;padding:7px 0;}
.sumrow.muted{color:var(--muted);}
.sumrow.total{border-top:1px solid #eee;margin-top:8px;padding-top:12px;font-size:15px;}
.sumrow.discount{color:var(--green);}

/* ── Saved items tiles ── */
.saved-title{font-weight:800;margin:2px 0 0;}
.saved-sub{color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.35;}
.saved-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;}
.saved-tile{
  border:1px solid #eee;border-radius:12px;background:#fff;
  padding:12px;display:flex;flex-direction:column;gap:8px;min-height:0;
}
.saved-thumb{
  width:100%;aspect-ratio:1/1;object-fit:contain;
  border:1px solid #eee;border-radius:10px;background:#fff;
}
.saved-name{font-size:12.5px;font-weight:800;line-height:1.2;margin-top:2px;}
.saved-price{font-weight:800;font-size:13px;}
.saved-meta{color:var(--muted);font-size:12px;line-height:1.25;}
.saved-actions{margin-top:auto;display:flex;flex-direction:column;gap:6px;align-items:flex-start;}

/* ── Bundle children indent ── */
.cart-line.bundle-child{padding-left:28px;border-top:1px dashed #eee;}
.cart-line.bundle-child .cart-thumb{width:48px;}
.bundle-label{font-size:11px;color:var(--muted);font-weight:700;margin-bottom:2px;}

/* ── Empty cart ── */
.empty-cart{text-align:center;padding:48px 18px;}
.empty-cart h2{font-weight:800;font-size:20px;margin-bottom:8px;}
.empty-cart p{color:var(--muted);font-size:13px;margin-bottom:18px;}

/* ── Save-for-later email prompt (guest flow) ── */
.save-email-prompt{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #e0e0e0;
  border-radius:10px;
  background:#f9f9f9;
}
.save-email-prompt .sep-label{
  font-size:12px;
  color:#444;
  line-height:1.3;
  margin-bottom:6px;
}
.save-email-prompt .sep-row{
  display:flex;
  gap:6px;
  align-items:center;
}
.save-email-prompt .sep-input{
  flex:1;
  min-width:0;
  height:34px;
  padding:0 10px;
  border:1px solid #d0d0d0;
  border-radius:8px;
  font-size:13px;
  outline:none;
}
.save-email-prompt .sep-input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 2px rgba(11,87,208,.15);
}
.save-email-prompt .sep-btn{
  height:34px;
  padding:0 14px;
  border:0;
  border-radius:8px;
  background:var(--blue);
  color:#fff;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.save-email-prompt .sep-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.save-email-prompt .sep-cancel{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  font-size:18px;
  color:#888;
  cursor:pointer;
  line-height:1;
  padding:0;
}
.save-email-prompt .sep-cancel:hover{color:#333;}
.save-email-prompt .email-error{
  color:var(--red, #c40000);
  font-size:11.5px;
  margin-top:4px;
}

/* ── Message stack ── */
.cart-messages{margin-bottom:8px;}
.cart-messages .messageStackError,
.cart-messages .messageStackCaution{
  padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:6px;
}

/* ── Hide chat bubble on cart page (mobile) ── */
@media (max-width:900px){
  #woot-widget-bubble-icon,
  button.woot-widget-bubble.woot-elements--right,
  .woot--close img{
    display:none !important;
  }
}

/* ================================================================ */
/*  MOBILE: ≤900px                                                  */
/* ================================================================ */
@media (max-width:900px){
  .grid{width:100%;}
  #crumbsstart{visibility:hidden;}
  .cart-thumb{width:58px;border-radius:8px;}
  .cart-right{min-width:92px;}
  .cart-name,.cart-name a{font-size:13px;}
  .cart-line{padding:12px 0;gap:10px;}
  #checkoutStack{display:none !important;}
  .wrap{padding-bottom:108px;}
  .saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));}

  /* Sticky bottom bar */
  .mobile-sticky{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9998;
    background:#fff;border-top:1px solid #e5e5e5;padding:10px 12px;gap:10px;align-items:center;
  }
  .ms-left{min-width:0;flex:1;}
  .ms-top{display:flex;gap:10px;align-items:baseline;justify-content:space-between;}
  .ms-total{font-size:16px;white-space:nowrap;}
  .ms-link{
    display:inline-block;font-size:12.5px;color:var(--blue);
    text-decoration:none;font-weight:700;white-space:nowrap;
  }
  .ms-sub{font-size:12px;color:#666;line-height:1.2;margin-top:2px;}
  .ms-actions{display:flex;gap:8px;flex:0 0 auto;}
  .ms-btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 12px;border-radius:10px;font-weight:800;
    text-decoration:none;white-space:nowrap;
  }
  .ms-checkout{background:#0b57d0;color:#fff;}
  .ms-paypal{background:#ffc439;color:#111;}

  /* Overlay */
  .sum-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.45);
    opacity:0;pointer-events:none;transition:.2s;z-index:9997;
  }
  .sum-overlay.open{opacity:1;pointer-events:auto;}

  /* Bottom sheet */
  #cartSheet{
    display:block;position:fixed;left:0;right:0;bottom:-110%;
    max-height:65vh;overflow:auto;z-index:9999;
    border-radius:14px 14px 0 0;
    box-shadow:0 -14px 30px rgba(0,0,0,.22);
    transition:.25s;background:#fff;
  }
  #cartSheet.open{bottom:0;}
  .sheet-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding:14px 16px;border-bottom:1px solid #eee;
    position:sticky;top:0;background:#fff;z-index:2;
  }
  .sheet-head .t{font-weight:800;}
  .sheet-head .x{font-size:22px;line-height:1;cursor:pointer;font-weight:800;}
  #cartSheet .card{margin:0;border-radius:0;box-shadow:none;border-bottom:1px solid #eee;}
  #cartSheet .card:last-child{border-bottom:0;}
  #cartSheet .qty-ctrl{height:34px;}
  #cartSheet .qty-btn{width:34px;height:34px;}
  #cartSheet .qty-input{height:34px;}
}

/* ── Desktop: hide mobile elements ── */
@media (min-width:901px){
  .mobile-sticky,
  #cartSheet,
  #sumOverlay{display:none !important;}
}
