
/* Spexsy Side Cart - mobile-first floating drawer */
body.slp-sc-open { overflow: hidden; }

.slp-sidecart{
  position: fixed;
  z-index: 2147483000;
  pointer-events: none;
  font-family: inherit;
}

.slp-sidecart *{ box-sizing: border-box; }

.slp-sidecart__fab{
  pointer-events: auto;
  display:flex;
  align-items:center;
  gap:10px;
  border: 1px solid #111;
  background: #111;
  color:#fff;
  border-radius: 999px;
  padding: 12px 14px;
  font-weight: 900;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

/* Ensure floating cart button stays black even if theme overrides */
.slp-sidecart__fab{ background:#111 !important; color:#fff !important; border-color:#111 !important; }

.slp-sidecart__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 26px;
  height: 26px;
  border-radius: 999px;
  background:var(--slp-ui-accent-soft);
  color:var(--slp-ui-accent-ink);
  font-weight: 900;
  padding: 0 8px;
}

.slp-sidecart__drawer[hidden]{ display:none !important; }
.slp-sidecart__drawer{
  pointer-events: auto;
  width: min(420px, calc(100vw - 18px));
  max-height: min(82vh, 560px);
  margin-top: 10px;
  background:#111;
  border: 1px solid #222;
  border-radius: 20px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.22);
  display:flex;
  flex-direction: column;
}

.slp-sidecart__header{
  padding: 12px 14px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  border-bottom: 1px solid #eee;
}
.slp-sidecart__title{ font-weight: 900; }
.slp-sidecart__close{
  border:0;
  background:transparent;
  font-size: 26px;
  line-height: 1;
  cursor:pointer;
}

.slp-sidecart__body{
  padding: 12px 14px;
  overflow:auto;
  flex: 1;
}
.slp-sc-loading, .slp-sc-empty{
  padding: 18px 10px;
  text-align:center;
  color:#666;
}

.slp-sc-item{
  display:flex;
  gap: 10px;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 16px;
  margin-bottom: 10px;
}
.slp-sc-thumb img{ width: 72px; height: 72px; border-radius: 14px; object-fit: contain; background:#222; padding:4px; }
.slp-sc-main{ flex: 1; min-width: 0; }
.slp-sc-name{ font-weight: 900; font-size: 13px; }
.slp-sc-metaWrap{ margin-top: 6px; color:#444; font-size: 12px; }
.slp-sc-meta{ margin-bottom: 6px; color:#444; }
.slp-sc-chip{
  display:inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(110,87,48,0.16);
  background: var(--slp-ui-accent-soft);
  color: var(--slp-ui-accent-ink);
  font-weight: 900;
  font-size: 11px;
  margin-top: 6px;
}

.slp-sc-row{
  margin-top: 10px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 10px;
}
.slp-sc-price{ font-weight: 900; white-space: nowrap; }

.slp-sc-qty{
  display:flex;
  align-items:center;
  gap: 4px;
  border: 1px solid #eee;
  border-radius: 999px;
  padding: 4px 6px;
}
.slp-sc-qtybtn{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #111;
  background:#fff;
  cursor:pointer;
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.slp-sc-qtyin{
  width: 34px;
  height: 22px;
  border:0;
  text-align:center;
  outline:none;
  font-weight: 900;
  font-size: 12px;
  background: transparent;
  color: inherit;
}

.slp-sc-actions{
  margin-top: 10px;
  display:flex;
  gap: 12px;
  align-items:center;
}
.slp-sc-link{
  background: transparent;
  border: 0;
  padding: 0;
  color: #111;
  font-weight: 900;
  cursor:pointer;
  text-decoration: underline;
  font-size: 12px;
}

.slp-sidecart__footer{
  border-top: 1px solid #eee;
  padding: 12px 14px;
}
.slp-sidecart__totals{
  display:flex;
  justify-content: space-between;
  align-items:center;
  font-size: 13px;
}
.slp-sidecart__actions{
  margin-top: 10px;
  display:flex;
  gap: 10px;
}
.slp-sidecart__btn{
  flex: 1;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #111;
  font-weight: 900;
  text-decoration: none;
}
.slp-sidecart__btn--ghost{ background:#fff; color:#111; }
.slp-sidecart__btn--primary{ background:#111; color:#fff; }

/* positions */
.slp-pos-top_right{ top: 14px; right: 14px; }
.slp-pos-top_left{ top: 14px; left: 14px; }
.slp-pos-bottom_right{ bottom: 14px; right: 14px; }
.slp-pos-bottom_left{ bottom: 14px; left: 14px; }


/* === Side Cart dark theme + image contain (v0.20.11.2) === */
.slp-sidecart__drawer{
  background:#111;
  border-color:#222;
}
.slp-sidecart__header{
  border-bottom-color:#222;
}
.slp-sidecart__body{
  color:#fff;
}
.slp-sidecart__title{ color:#fff; }
.slp-sidecart__close{ color:#fff; }
.slp-sidecart__empty{ color:#fff; }
.slp-sidecart__meta, .slp-sidecart__subtotal-label{ color:#ddd; }
.slp-sidecart__subtotal{ color:#fff; }

/* Ensure images fit container (no cropping) */
.slp-sidecart img{
  object-fit: contain;
  background:#222;
}

/* Buttons: ensure readable (white on black) */
.slp-sidecart__btn{
  border-color:#fff;
}
.slp-sidecart__btn--ghost,
.slp-sidecart__btn--primary{
  background:#111;
  color:#fff;
}

.slp-sidecart__btn--ghost:hover,
.slp-sidecart__btn--ghost:focus,
.slp-sidecart__btn--primary:hover,
.slp-sidecart__btn--primary:focus{
  color:var(--slp-ui-accent) !important;
}


/* Keep drawer above floating widgets (WhatsApp, etc.) */
.slp-sidecart__drawer{ position: relative; z-index: 2147483001; }


/* p35 sidecart polish: preserve structure, refine fit and spacing */
.slp-sidecart__header{padding:18px 22px 16px}
.slp-sidecart__title{font-size:1.5rem;letter-spacing:-.02em}
.slp-sidecart__close{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center}
.slp-sidecart__body{padding:16px 18px 18px}
.slp-sidecart__item{padding:16px;border-radius:22px;background:#f8f6f1;border:1px solid #e5ded1;box-shadow:none}
.slp-sidecart__item-main{grid-template-columns:94px minmax(0,1fr);gap:16px;align-items:center}
.slp-sidecart__thumb{width:94px;height:94px;border-radius:18px;background:#fff;border:1px solid #ece4d7;padding:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slp-sc-thumb-img,.slp-sidecart__thumb img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:transparent}
.slp-sidecart__name{font-size:1rem;line-height:1.25;margin:0 0 6px}
.slp-sidecart__meta{font-size:.95rem;color:#5c564c;line-height:1.45;margin-bottom:10px}
.slp-sidecart__row{align-items:center;gap:12px}
.slp-sidecart__pill{margin-bottom:10px}
.slp-sidecart__qty{min-height:48px;padding:4px;border-radius:999px;background:#fff;border:1px solid #ddd4c6}
.slp-sidecart__qty-btn{width:38px;height:38px;font-size:1.05rem}
.slp-sidecart__qty-input{font-size:1rem;min-width:54px}
.slp-sidecart__price{font-size:1.05rem;white-space:nowrap;color:#141414}
.slp-sidecart__actions{margin-top:10px;gap:14px}
.slp-sidecart__link{text-underline-offset:3px}
.slp-sidecart__footer{padding-top:16px;margin-top:16px}
.slp-sidecart__totals{font-size:1rem;margin-bottom:14px}
.slp-sidecart__total-value{font-size:1.22rem}
.slp-sidecart__footer-actions{gap:12px}
.slp-sidecart__btn{min-height:56px;border-radius:16px;font-size:1rem;flex:1 1 0}
@media (max-width:640px){
  .slp-sidecart__drawer{border-radius:22px 22px 0 0}
  .slp-sidecart__header{padding:16px 18px 14px}
  .slp-sidecart__body{padding:14px}
  .slp-sidecart__item{padding:14px;border-radius:18px}
  .slp-sidecart__item-main{grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:start}
  .slp-sidecart__thumb{width:82px;height:82px;border-radius:16px;padding:8px}
  .slp-sidecart__row{flex-wrap:wrap;align-items:flex-start}
  .slp-sidecart__price{margin-left:auto;padding-top:8px}
  .slp-sidecart__btn{min-height:52px;font-size:.95rem}
}


/* P35a: sidecart thumbnail containment hardening */
.slp-sc-thumb,
.slp-sidecart__thumb,
.slp-sidecart__item-thumb{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#f7f7f4 !important;
}
.slp-sc-thumb img,
.slp-sidecart__thumb img,
.slp-sidecart__item-thumb img,
.slp-sc-thumb .attachment-woocommerce_thumbnail,
.slp-sidecart__thumb .attachment-woocommerce_thumbnail,
.slp-sidecart__item-thumb .attachment-woocommerce_thumbnail{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  transform:none !important;
}

/* p35b premium polish overrides */
.slp-sidecart__title{font-size:16px;letter-spacing:-.01em;}
.slp-sidecart__thumb{width:72px;height:72px;min-width:72px;flex:0 0 72px;padding:8px;align-self:flex-start;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.slp-sidecart__thumb a,.slp-sidecart__thumb span,.slp-sc-thumb{display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:hidden;}
.slp-sc-thumb img,.slp-sidecart__thumb img{width:100% !important;height:100% !important;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;display:block;margin:0 auto;}
.slp-sidecart__content{gap:12px;align-items:flex-start;}
.slp-sc-title{font-size:14px;line-height:1.5;}
.slp-sc-chip{font-size:11px;padding:7px 12px;border-radius:999px;}
.slp-sidecart__qty-line{margin-top:10px;}
.slp-sidecart__price{font-size:18px;line-height:1.1;}
.slp-sidecart__btn{min-height:48px;border-radius:16px;font-size:11px;letter-spacing:.01em;padding:12px 14px;}
.slp-sidecart__btn--ghost,.slp-sidecart__btn--primary{background:#111;color:#fff;border-color:#111;}
@media (max-width:640px){
  .slp-sidecart__title{font-size:15px;}
  .slp-sidecart__thumb{width:64px;height:64px;min-width:64px;flex-basis:64px;}
  .slp-sc-title{font-size:13px;}
  .slp-sidecart__btn{min-height:44px;font-size:10.5px;}
}


/* Premium side cart thumbnail sizing override */
.slp-sidecart .slp-sc-item {
  align-items: flex-start;
}
.slp-sidecart .slp-sc-thumb {
  flex: 0 0 18% !important;
  width: 18% !important;
  min-width: 72px !important;
  max-width: 88px !important;
  aspect-ratio: 1 / 1;
  height: auto !important;
  align-self: flex-start;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f6f4ef;
  border-radius: 14px;
}
.slp-sidecart .slp-sc-thumb img,
.slp-sidecart .slp-sc-thumb .slp-sc-thumb-img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  transform: none !important;
}
.slp-sidecart .slp-sc-main {
  flex: 1 1 82% !important;
  min-width: 0;
}
@media (max-width: 680px) {
  .slp-sidecart .slp-sc-thumb {
    flex-basis: 20% !important;
    width: 20% !important;
    min-width: 64px !important;
    max-width: 78px !important;
  }
  .slp-sidecart .slp-sc-main {
    flex-basis: 80% !important;
  }
}


/* p35e canonical sidecart thumbnail structure */
.slp-sidecart .slp-sc-item{
  align-items:flex-start;
}
.slp-sidecart .slp-sc-thumb{
  flex:0 0 72px;
  width:72px;
  min-width:72px;
  max-width:72px;
  aspect-ratio:1 / 1;
  align-self:flex-start;
}
.slp-sidecart .slp-sc-thumb,
.slp-sidecart .slp-sc-thumb-placeholder,
.slp-sidecart .slp-sc-thumb-asset{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.slp-sidecart .slp-sc-thumb-placeholder{
  width:100%;
  height:100%;
  border-radius:14px;
  padding:8px;
  background:#f6f4ef;
  border:1px solid #ece4d7;
}
.slp-sidecart .slp-sc-thumb-asset{
  width:100%;
  height:100%;
}
.slp-sidecart .slp-sc-thumb-asset[data-slp-image-id="0"]{
  background:transparent;
}
.slp-sidecart .slp-sc-thumb-img,
.slp-sidecart .slp-sc-thumb img,
.slp-sidecart .slp-sc-thumb .attachment-thumbnail,
.slp-sidecart .slp-sc-thumb .attachment-woocommerce_thumbnail{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-sizing:border-box;
}
.slp-sidecart .slp-sc-main{
  flex:1 1 auto;
  min-width:0;
}
@media (max-width:640px){
  .slp-sidecart .slp-sc-thumb{
    flex-basis:64px;
    width:64px;
    min-width:64px;
    max-width:64px;
  }
  .slp-sidecart .slp-sc-thumb-placeholder{
    border-radius:12px;
    padding:7px;
  }
}
