/* Carrinho compartilhado — gaveta, itens, totais, toast. Paleta fixa (creme/dourado)
   pra ficar idêntico em todas as páginas, inclusive temas escuros. */

.cart-overlay {
  position: fixed; inset: 0;
  background: rgba(28,20,16,.45);
  backdrop-filter: blur(4px);
  z-index: 400; opacity: 0; pointer-events: none;
  transition: opacity .35s;
}
.cart-overlay.open { opacity: 1; pointer-events: all; }

.cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 420px; max-width: 95vw;
  background: #fff; border-left: 1px solid rgba(183,154,103,.35);
  z-index: 500; display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.cart-drawer.open { transform: translateX(0); }

.cart-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.8rem 2rem 1.4rem; border-bottom: 1px solid rgba(183,154,103,.35); flex-shrink: 0;
}
.cart-head-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 400; letter-spacing: .08em; color: #4A4037; }
.cart-head-count { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: #8A7C70; margin-top: .2rem; }
.cart-close { background: none; border: none; color: #8A7C70; cursor: pointer; font-size: 1.1rem; padding: .4rem; transition: color .3s; line-height: 1; }
.cart-close:hover { color: #4A4037; }

.cart-body { flex: 1; overflow-y: auto; padding: 1rem 2rem; }
.cart-body::-webkit-scrollbar { width: 3px; }
.cart-body::-webkit-scrollbar-track { background: transparent; }
.cart-body::-webkit-scrollbar-thumb { background: rgba(183,154,103,.35); border-radius: 2px; }

.cart-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: 1rem; padding: 3rem 2rem; text-align: center; }
.cart-empty-icon { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 3rem; color: rgba(183,154,103,.35); }
.cart-empty p { color: #8A7C70; font-size: .875rem; line-height: 1.6; }
.cart-empty a { font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: #8C6B38; text-decoration: none; border-bottom: 1px solid rgba(140,107,56,.25); padding-bottom: .1rem; transition: border-color .3s; }
.cart-empty a:hover { border-color: #8C6B38; }

.cart-item { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid rgba(183,154,103,.35); }
.cart-item-stripe { width: 4px; align-self: stretch; border-radius: 2px; flex-shrink: 0; }
.cart-item-thumb { width: 58px; height: 72px; flex-shrink: 0; margin-left: -1rem; background: linear-gradient(160deg, #F4EDE2 0%, #E4D4BE 100%); border-radius: 0 3px 3px 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cart-item-img { width: 100%; height: 100%; object-fit: contain; }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-brand { font-size: .52rem; letter-spacing: .3em; text-transform: uppercase; color: #8A7C70; }
.cart-item-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.15rem; font-weight: 400; color: #4A4037; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; margin-top: .15rem; }
.cart-item-price { font-size: .78rem; color: #8C6B38; margin-top: .3rem; }
.cart-item-right { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; flex-shrink: 0; }
.qty-ctrl { display: flex; align-items: center; border: 1px solid rgba(183,154,103,.35); }
.qty-btn { background: none; border: none; cursor: pointer; color: #8A7C70; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; font-size: 1rem; line-height: 1; transition: color .2s, background .2s; }
.qty-btn:hover { color: #4A4037; background: rgba(201,167,115,.08); }
.qty-val { width: 28px; text-align: center; font-size: .78rem; color: #4A4037; border-left: 1px solid rgba(183,154,103,.35); border-right: 1px solid rgba(183,154,103,.35); line-height: 28px; }
.cart-item-remove, .remove-btn { background: none; border: none; cursor: pointer; color: rgba(154,140,122,.55); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; padding: 0; }
.cart-item-remove:hover, .remove-btn:hover { color: #c06060; }

.cart-foot { border-top: 1px solid rgba(183,154,103,.35); padding: 1.5rem 2rem 2rem; flex-shrink: 0; }
.cart-ship-badge { display: flex; align-items: center; justify-content: center; gap: .5rem; background: rgba(47,125,79,.10); border: 1px solid #2f7d4f; border-radius: 3px; padding: .75rem 1rem; margin-bottom: 1.2rem; font-size: .62rem; font-weight: 500; letter-spacing: .1em; color: #2f7d4f; text-transform: uppercase; }
.cart-ship-badge.inactive { opacity: 0; height: 0; padding: 0; border: 0; margin: 0; overflow: hidden; }

@keyframes fp-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(196,24,24,.40); } 50% { box-shadow:0 0 0 8px rgba(196,24,24,0); } }
.cart-incentive { display:block; text-decoration:none; margin:1rem 0; padding:.85rem 1rem; background:rgba(196,24,24,.06); border:1px dashed #C41818; border-radius:3px; animation:fp-pulse 1.8s ease-in-out infinite; }
.cart-incentive strong { display:block; color:#C41818; font-size:.8rem; font-weight:600; margin-bottom:.15rem; }
.cart-incentive span { font-size:.74rem; color:#8A7C70; }
.cart-incentive b { color:#4A4037; }

.cart-addmore { margin:1rem 0 .4rem; }
.cart-addmore-toggle { width:100%; background:none; border:1px dashed #8C6B38; color:#8C6B38; cursor:pointer; padding:.7rem; font-family:'Inter', system-ui, sans-serif; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; transition:background .25s; }
.cart-addmore-toggle:hover { background:rgba(140,107,56,.08); }
.cart-addmore-box { display:none; gap:.5rem; margin-top:.6rem; }
.cart-addmore-box.open { display:flex; }
.cart-addmore-box select { flex:1; min-width:0; padding:.6rem; border:1px solid rgba(183,154,103,.35); background:#fff; font-family:'Inter', system-ui, sans-serif; font-size:.8rem; color:#4A4037; }
.cart-addmore-add { padding:.6rem 1rem; background:#8C6B38; color:#fff; border:none; cursor:pointer; font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }

.cart-totals { margin-bottom: 1.4rem; }
.cart-total-row { display: flex; justify-content: space-between; align-items: center; padding: .45rem 0; }
.cart-total-row span:first-child { font-size: .72rem; color: #8A7C70; letter-spacing: .1em; text-transform: uppercase; }
.cart-total-row span:last-child { font-size: .9rem; color: #4A4037; }
.cart-total-row.grand span:first-child { color: #4A4037; font-size: .78rem; }
.cart-total-row.grand span:last-child { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; color: #8C6B38; }
.cart-total-row.ship span:last-child { color: #8C6B38; }
.cart-divider { height: 1px; background: rgba(183,154,103,.35); margin: .6rem 0; }

.checkout-btn { display: block; width: 100%; padding: 1.05rem; background: #8C6B38; color: #FDF5F0; border: none; cursor: pointer; font-family: 'Inter', system-ui, sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; transition: background .3s; position: relative; }
.checkout-btn:hover:not(:disabled) { background: #B79A67; }
.checkout-btn:disabled { opacity: .5; cursor: not-allowed; }
.cart-secure { text-align: center; font-size: .58rem; color: #8A7C70; letter-spacing: .1em; margin-top: .8rem; text-transform: uppercase; }

.toast { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%) translateY(20px); background: #F0E4DC; border: 1px solid rgba(140,107,56,.25); color: #8C6B38; padding: .7rem 1.4rem; font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; z-index: 600; opacity: 0; transition: opacity .3s, transform .3s; pointer-events: none; white-space: nowrap; }
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 768px) { .cart-drawer { width: 100%; max-width: 100%; } }
