/* =========================================================
   LOVESTOCK CARRINHO ULTRA PREMIUM V1
   Escopo exclusivo: conteúdo da página cart.php
   NÃO altera o menu inferior.
========================================================= */

body.cart-page{
  --lsc-ink:#24182d;
  --lsc-muted:#776c80;
  --lsc-line:#ece7f0;
  --lsc-purple:#5b2aa7;
  --lsc-purple-dark:#35164f;
  --lsc-pink:#e31d78;
  --lsc-soft:#f7f4f9;
  --lsc-white:#fff;
  --lsc-shadow:0 18px 50px rgba(50,24,67,.10);
  background:
    radial-gradient(700px 260px at 50% -100px, rgba(116,42,174,.13), transparent 70%),
    #f7f5f8 !important;
}

.lsc-wrap{
  max-width:1040px;
  margin:0 auto;
  padding:30px 18px 48px;
}

.lsc-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.lsc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--lsc-purple);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:9px;
}

.lsc-eyebrow svg{width:17px;height:17px}

.lsc-title{
  margin:0;
  font-size:clamp(30px,4vw,46px);
  line-height:1.04;
  letter-spacing:-.04em;
  color:var(--lsc-ink);
}

.lsc-subtitle{
  margin:8px 0 0;
  color:var(--lsc-muted);
  font-size:15px;
}

.lsc-count{
  min-width:92px;
  padding:12px 16px;
  border:1px solid rgba(91,42,167,.14);
  border-radius:16px;
  background:rgba(255,255,255,.76);
  box-shadow:0 10px 30px rgba(55,24,75,.06);
  text-align:center;
}

.lsc-count strong{
  display:block;
  font-size:22px;
  color:var(--lsc-purple);
  line-height:1;
}

.lsc-count span{
  display:block;
  margin-top:5px;
  font-size:11px;
  font-weight:800;
  color:var(--lsc-muted);
  text-transform:uppercase;
  letter-spacing:.07em;
}

.lsc-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:start;
}

.lsc-products{
  display:grid;
  gap:14px;
}

.lsc-item{
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px;
  background:var(--lsc-white);
  border:1px solid var(--lsc-line);
  border-radius:22px;
  box-shadow:0 12px 36px rgba(49,24,63,.065);
  overflow:hidden;
}

.lsc-item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--lsc-purple),var(--lsc-pink));
  opacity:.86;
}

.lsc-thumb-link{
  display:block;
  width:112px;
  height:112px;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(145deg,#fbf9fc,#f0ebf4);
  border:1px solid #eee8f1;
}

.lsc-thumb{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  box-sizing:border-box;
  mix-blend-mode:multiply;
}

.lsc-item-main{min-width:0}

.lsc-item-name{
  margin:0;
  color:var(--lsc-ink);
  font-size:16px;
  font-weight:850;
  line-height:1.28;
}

.lsc-unit{
  margin-top:7px;
  color:var(--lsc-muted);
  font-size:12px;
}

.lsc-unit strong{
  color:var(--lsc-purple-dark);
  font-size:14px;
}

.lsc-controls{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  flex-wrap:wrap;
}

.lsc-stepper{
  display:inline-grid;
  grid-template-columns:36px 42px 36px;
  align-items:center;
  height:38px;
  border:1px solid #e6dfeb;
  border-radius:13px;
  overflow:hidden;
  background:#fbf9fc;
}

.lsc-stepper button{
  width:36px;
  height:38px;
  border:0;
  background:transparent;
  color:var(--lsc-purple-dark);
  font-size:21px;
  line-height:1;
  cursor:pointer;
  font-weight:700;
}

.lsc-stepper button:hover{background:#f1e9f7}

.lsc-stepper input{
  width:42px !important;
  height:38px !important;
  padding:0 !important;
  border:0 !important;
  border-left:1px solid #eee8f2 !important;
  border-right:1px solid #eee8f2 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:var(--lsc-ink) !important;
  text-align:center;
  font-size:14px;
  font-weight:800;
  appearance:textfield;
  -moz-appearance:textfield;
}

.lsc-stepper input::-webkit-inner-spin-button,
.lsc-stepper input::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.lsc-remove{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#8a7e91;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  padding:8px 2px;
}

.lsc-remove svg{width:15px;height:15px}
.lsc-remove:hover{color:#c71953}

.lsc-item-side{
  min-width:104px;
  text-align:right;
}

.lsc-side-label{
  color:var(--lsc-muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.lsc-subtotal{
  margin-top:5px;
  color:var(--lsc-pink);
  font-size:19px;
  font-weight:950;
  white-space:nowrap;
}

.lsc-summary{
  position:sticky;
  top:18px;
  padding:22px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(145deg,rgba(91,42,167,.35),rgba(227,29,120,.22),rgba(91,42,167,.08)) border-box;
  border:1px solid transparent;
  border-radius:24px;
  box-shadow:var(--lsc-shadow);
}

.lsc-summary-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding-bottom:17px;
  border-bottom:1px solid var(--lsc-line);
}

.lsc-summary-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--lsc-purple),var(--lsc-pink));
  box-shadow:0 10px 24px rgba(137,34,151,.22);
}

.lsc-summary-icon svg{width:21px;height:21px}

.lsc-summary h2{
  margin:0;
  font-size:18px;
  line-height:1.15;
  color:var(--lsc-ink);
}

.lsc-summary small{
  display:block;
  margin-top:3px;
  color:var(--lsc-muted);
}

.lsc-rows{
  display:grid;
  gap:13px;
  padding:18px 0;
  border-bottom:1px solid var(--lsc-line);
}

.lsc-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--lsc-muted);
  font-size:13px;
}

.lsc-row strong{color:var(--lsc-ink)}
.lsc-row .lsc-free{color:#198754;font-weight:850}

.lsc-total{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:18px 0;
}

.lsc-total span{
  color:var(--lsc-ink);
  font-size:15px;
  font-weight:850;
}

.lsc-total strong{
  color:var(--lsc-pink);
  font-size:25px;
  line-height:1;
  letter-spacing:-.03em;
}

.lsc-actions{
  display:grid;
  gap:10px;
}

.lsc-checkout{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:54px;
  padding:0 18px !important;
  border:0 !important;
  border-radius:16px !important;
  color:#fff !important;
  background:linear-gradient(100deg,#7126de,#e31d78) !important;
  box-shadow:0 14px 30px rgba(139,35,162,.25);
  font-weight:900 !important;
  font-size:15px !important;
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease;
}

.lsc-checkout:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 36px rgba(139,35,162,.31);
}

.lsc-checkout svg{width:18px;height:18px}

.lsc-update,
.lsc-clear{
  min-height:43px !important;
  border-radius:14px !important;
  font-weight:800 !important;
}

.lsc-update{
  background:#fff !important;
  color:var(--lsc-purple-dark) !important;
  border:1px solid #e2dae8 !important;
}

.lsc-clear{
  display:flex !important;
  align-items:center;
  justify-content:center;
  color:#8a7e91 !important;
  background:transparent !important;
  border:0 !important;
  text-decoration:none !important;
  font-size:12px !important;
}

.lsc-trust{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:16px;
}

.lsc-trust-item{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:9px 10px;
  border-radius:13px;
  background:#f8f5fa;
  color:#655a6d;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
}

.lsc-trust-item svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
  color:var(--lsc-purple);
}

.lsc-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:13px;
  color:#8a7e91;
  font-size:10px;
  line-height:1.45;
}

.lsc-note svg{
  width:14px;
  height:14px;
  flex:0 0 auto;
  margin-top:1px;
}

.lsc-empty{
  max-width:570px;
  margin:35px auto;
  padding:45px 28px;
  text-align:center;
  border:1px solid var(--lsc-line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--lsc-shadow);
}

.lsc-empty-icon{
  width:72px;
  height:72px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(145deg,#f3eafd,#fdebf3);
  color:var(--lsc-purple);
}

.lsc-empty-icon svg{width:34px;height:34px}
.lsc-empty h2{margin:0;color:var(--lsc-ink);font-size:25px}
.lsc-empty p{color:var(--lsc-muted);margin:9px 0 20px}

.lsc-back{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px !important;
  border-radius:15px !important;
  color:#fff !important;
  background:linear-gradient(100deg,#7126de,#e31d78) !important;
  text-decoration:none !important;
  font-weight:850 !important;
}

/* Rodapé institucional não compete com a conversão no carrinho mobile */
@media (max-width:820px){
  body.cart-page > footer,
  body.cart-page .site-footer{
    display:none !important;
  }

  .lsc-wrap{
    padding:22px 14px calc(126px + env(safe-area-inset-bottom));
  }

  .lsc-head{
    align-items:center;
    margin-bottom:17px;
  }

  .lsc-title{
    font-size:31px;
  }

  .lsc-subtitle{
    font-size:13px;
  }

  .lsc-count{
    min-width:76px;
    padding:10px 12px;
  }

  .lsc-layout{
    display:block;
  }

  .lsc-products{
    gap:12px;
  }

  .lsc-item{
    grid-template-columns:88px minmax(0,1fr);
    gap:13px;
    align-items:start;
    padding:13px;
    border-radius:19px;
  }

  .lsc-thumb-link{
    width:88px;
    height:98px;
    border-radius:15px;
  }

  .lsc-item-name{
    padding-right:0;
    font-size:14px;
  }

  .lsc-unit{
    margin-top:5px;
  }

  .lsc-controls{
    margin-top:10px;
    gap:9px;
  }

  .lsc-item-side{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-width:0;
    padding-top:11px;
    border-top:1px solid var(--lsc-line);
    text-align:left;
  }

  .lsc-subtotal{
    margin:0;
    font-size:18px;
  }

  .lsc-summary{
    position:relative;
    top:auto;
    margin-top:18px;
    padding:18px;
    border-radius:22px;
  }

  .lsc-trust{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:380px){
  .lsc-wrap{padding-left:10px;padding-right:10px}
  .lsc-item{grid-template-columns:78px minmax(0,1fr);gap:11px}
  .lsc-thumb-link{width:78px;height:90px}
  .lsc-stepper{grid-template-columns:32px 38px 32px}
  .lsc-stepper button{width:32px}
  .lsc-stepper input{width:38px !important}
}
