/* ════════════════════════════════════════════════════
   CASA MARGARIDA — Carrinho + Mini-cart Drawer
   ════════════════════════════════════════════════════ */

/* ─── OVERLAY + DRAWER ──────────────────────────────── */
.cm-cart-overlay{
  position:fixed; inset:0; z-index:1400;
  background:rgba(10,6,4,.45);
  opacity:0; visibility:hidden;
  transition:opacity .5s var(--ease), visibility .5s var(--ease);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.cm-cart-overlay.open{ opacity:1; visibility:visible; }
body.cm-drawer-open{ overflow:hidden; }

.cm-cart-drawer{
  position:fixed; top:0; right:0; z-index:1401;
  width:min(420px,92vw); height:100%;
  background:var(--cream);
  box-shadow:-20px 0 60px rgba(10,6,4,.18);
  transform:translateX(100%);
  transition:transform .55s var(--ease);
  display:flex; flex-direction:column;
  font-family:var(--sans);
}
.cm-cart-drawer.open{ transform:translateX(0); }

.cm-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 1.6rem; border-bottom:1px solid rgba(154,77,46,.14);
  flex:0 0 auto;
}
.cm-drawer-title{
  font-family:var(--serif); font-weight:300; font-size:1.35rem; color:var(--ink);
  letter-spacing:-.01em;
}
.cm-drawer-close,.cm-inner button.cm-drawer-close{
  background:transparent !important; border:none !important; border-radius:0 !important;
  padding:.3rem !important; cursor:pointer; color:var(--ink) !important;
  width:auto !important; height:auto !important; box-shadow:none !important;
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.cm-drawer-close:hover{ color:var(--terra) !important; transform:rotate(90deg); }
.cm-drawer-close svg{ width:22px; height:22px; }

.cm-drawer-body{ flex:1 1 auto; overflow-y:auto; padding:1.4rem 1.6rem; }
.cm-drawer-keep{
  flex:0 0 auto; display:block; text-align:center;
  padding:1rem; border-top:1px solid rgba(154,77,46,.14);
  font-size:.6rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--mid); text-decoration:none; transition:color .3s var(--ease);
}
.cm-drawer-keep:hover{ color:var(--terra); }

/* ─── MINI-CART (conteúdo nativo do WC dentro do drawer) ─── */
.cm-drawer-body .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
/* item: imagem absoluta à esquerda, texto fluindo (robusto ao DOM do WC:
   a imagem fica DENTRO do link do nome, então posicionamos por absolute) */
.cm-drawer-body .woocommerce-mini-cart-item{
  display:block; position:relative;
  padding:1.1rem 1.8rem 1.1rem 76px; min-height:92px;
  border-bottom:1px solid rgba(154,77,46,.1);
}
.cm-drawer-body .woocommerce-mini-cart-item img{
  position:absolute; left:0; top:1.1rem;
  width:60px !important; height:75px; object-fit:cover; margin:0 !important;
  border:1px solid rgba(154,77,46,.1); float:none !important;
}
.cm-drawer-body .woocommerce-mini-cart-item > a:not(.remove){
  font-family:var(--serif); font-size:.98rem; color:var(--ink);
  text-decoration:none; line-height:1.3; display:block;
}
.cm-drawer-body .woocommerce-mini-cart-item > a:not(.remove):hover{ color:var(--terra); }
.cm-drawer-body .woocommerce-mini-cart-item .variation{
  margin:.25rem 0 .15rem !important;
  font-family:var(--sans); font-size:.68rem; color:var(--mid); line-height:1.3;
}
.cm-drawer-body .woocommerce-mini-cart-item .variation dt,
.cm-drawer-body .woocommerce-mini-cart-item .variation dd{ display:inline; margin:0 .25rem 0 0 !important; }
.cm-drawer-body .woocommerce-mini-cart-item .variation dd p{ display:inline; margin:0; }
.cm-drawer-body .woocommerce-mini-cart-item .quantity{
  display:block; margin-top:.35rem;
  font-family:var(--sans); font-size:.8rem; color:var(--txt);
}
.cm-drawer-body .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount{
  color:var(--terra); font-family:var(--serif); font-size:.95rem;
}
.cm-drawer-body a.remove{
  position:absolute; top:1.1rem; right:0;
  width:22px; height:22px; line-height:20px; text-align:center;
  color:var(--mid) !important; font-size:1.1rem; border-radius:50%;
  text-decoration:none; transition:color .3s, background .3s;
}
.cm-drawer-body a.remove:hover{ color:var(--terra) !important; background:transparent !important; }
.cm-drawer-body .woocommerce-mini-cart__total{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:1.2rem 0 0; padding-top:1.2rem;
  font-family:var(--sans); font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ink);
}
.cm-drawer-body .woocommerce-mini-cart__total .woocommerce-Price-amount{
  font-family:var(--serif); font-size:1.4rem; letter-spacing:0; text-transform:none; color:var(--terra);
}
.cm-drawer-body .woocommerce-mini-cart__empty-message{
  font-family:var(--serif); font-style:italic; color:var(--mid); text-align:center;
  padding:3rem 1rem; font-size:1.05rem;
}
.cm-drawer-body .woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:.6rem; margin:1.4rem 0 0; }
.cm-drawer-body .woocommerce-mini-cart__buttons .button{
  display:block; text-align:center; width:100%; margin:0 !important;
  background:transparent !important; color:var(--ink) !important;
  border:1px solid var(--ink) !important; border-radius:0 !important;
  padding:.95rem 1rem !important; font-size:.6rem !important; letter-spacing:.34em !important;
  text-transform:uppercase; font-weight:500 !important;
}
.cm-drawer-body .woocommerce-mini-cart__buttons .button.checkout{
  background:var(--terra) !important; color:var(--cream) !important; border-color:var(--terra) !important;
}
.cm-drawer-body .woocommerce-mini-cart__buttons .button.checkout:hover{ background:var(--terra-warm) !important; border-color:var(--terra-warm) !important; }

/* ─── BARRA DE FRETE GRÁTIS ─────────────────────────── */
.cm-ship-bar{ margin:1.2rem 0; }
.cm-ship-msg{
  font-family:var(--sans); font-size:.78rem; color:var(--txt); margin:0 0 .55rem; text-align:center;
}
.cm-ship-msg strong{ color:var(--terra); font-weight:600; }
.cm-ship-won{ color:var(--terra); }
.cm-ship-track{ height:4px; background:rgba(154,77,46,.12); overflow:hidden; }
.cm-ship-fill{
  display:block; height:100%; background:linear-gradient(90deg,var(--mid),var(--terra));
  transition:width .6s var(--ease);
}

/* ─── PÁGINA DO CARRINHO ────────────────────────────── */
.woocommerce-cart .cm-ship-bar{ max-width:640px; margin:0 0 2rem; }
.woocommerce-cart table.shop_table{
  border:none !important; border-collapse:collapse !important; width:100% !important;
}
.woocommerce-cart table.shop_table thead th{
  font-family:var(--sans) !important; font-size:.58rem !important; letter-spacing:.3em !important;
  text-transform:uppercase !important; color:var(--mid) !important; font-weight:600 !important;
  border-bottom:1px solid rgba(154,77,46,.18) !important; padding:0 0 1rem !important; text-align:left !important;
}
.woocommerce-cart table.shop_table td{
  border-top:1px solid rgba(154,77,46,.1) !important; padding:1.3rem .5rem !important;
  vertical-align:middle !important; background:transparent !important;
}
.woocommerce-cart table.shop_table td.product-thumbnail img{
  width:84px !important; height:104px; object-fit:cover; border:1px solid rgba(154,77,46,.1);
}
.woocommerce-cart td.product-name a{
  font-family:var(--serif) !important; font-size:1.05rem !important; color:var(--ink) !important; text-decoration:none !important;
}
.woocommerce-cart td.product-name a:hover{ color:var(--terra) !important; }
.woocommerce-cart .product-price, .woocommerce-cart .product-subtotal{
  font-family:var(--serif) !important; color:var(--terra) !important; font-size:1rem !important;
}
.woocommerce-cart td.product-remove a.remove{ color:var(--mid) !important; font-size:1.2rem; }
.woocommerce-cart td.product-remove a.remove:hover{ color:var(--terra) !important; background:transparent !important; }
.woocommerce-cart .quantity input.qty{
  width:70px !important; height:46px !important; border:1px solid rgba(154,77,46,.25) !important;
  background:var(--bone) !important; text-align:center !important; font-family:var(--serif) !important; border-radius:0 !important;
}
.woocommerce-cart .cart .actions{ padding-top:1.4rem !important; }
.woocommerce-cart .coupon input#coupon_code{
  border:1px solid rgba(154,77,46,.25) !important; border-radius:0 !important;
  background:var(--bone) !important; padding:.85rem 1rem !important; font-family:var(--sans) !important;
}
.woocommerce-cart .actions .button{ border-radius:0 !important; }
.cart_totals h2{
  font-family:var(--serif) !important; font-weight:300 !important; font-size:1.5rem !important;
  color:var(--ink) !important; margin:0 0 1.2rem !important;
}
.cart_totals table{ border:none !important; }
.cart_totals table th{
  font-family:var(--sans) !important; font-size:.6rem !important; letter-spacing:.25em !important;
  text-transform:uppercase !important; color:var(--mid) !important; border:none !important;
  border-top:1px solid rgba(154,77,46,.1) !important; padding:1rem 0 !important;
}
.cart_totals table td{
  font-family:var(--serif) !important; color:var(--ink) !important; border:none !important;
  border-top:1px solid rgba(154,77,46,.1) !important; padding:1rem 0 !important; text-align:right !important;
}
.cart_totals .order-total .woocommerce-Price-amount{ color:var(--terra) !important; font-size:1.3rem !important; }
.wc-proceed-to-checkout a.checkout-button{
  background:var(--terra) !important; color:var(--cream) !important; border:none !important; border-radius:0 !important;
  font-family:var(--sans) !important; font-size:.64rem !important; letter-spacing:.4em !important;
  text-transform:uppercase !important; font-weight:500 !important; padding:1.2rem !important;
  text-align:center; display:block;
}
.wc-proceed-to-checkout a.checkout-button:hover{ background:var(--terra-warm) !important; }

/* ─── CARRINHO VAZIO ────────────────────────────────── */
.woocommerce-cart .cart-empty,.wc-empty-cart-message,.cart-empty.woocommerce-info{
  font-family:var(--serif) !important; font-style:italic; font-size:1.2rem !important;
  color:var(--mid) !important; text-align:center; background:transparent !important;
  border:none !important; padding:3rem 1rem 1.5rem !important;
}
.woocommerce-cart .cart-empty.woocommerce-info::before{ display:none !important; }
.woocommerce-cart .return-to-shop,
.woocommerce-cart .cm-empty-cta{ text-align:center; }
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .cm-empty-cta .button,
.cm-inner .cm-empty-cta a.button{
  display:inline-block;
  background:var(--terra) !important; color:var(--cream) !important; border-radius:0 !important;
  border:none !important; letter-spacing:.34em !important; text-transform:uppercase !important;
  font-size:.62rem !important; padding:1rem 2.2rem !important;
  text-decoration:none !important; font-weight:500 !important;
}

@media(max-width:760px){
  .woocommerce-cart table.shop_table thead{ display:none; }
  .woocommerce-cart table.shop_table td{ display:flex; justify-content:space-between; align-items:center; }
  .woocommerce-cart table.shop_table td.product-thumbnail{ justify-content:flex-start; }
}
