:root {
  --patupet-azul-oscuro: #2c2a72;
  --patupet-azul-brillante: #4d49c4;
  --patupet-azul-profundo: #1F0979;
  --patupet-lavanda: #d1d0f0;
  --patupet-lavanda-claro: #eef0f2;
  --patupet-crema: #f7f5f2;
  --patupet-verde: #84e66a;
  --patupet-verde-oscuro: #6fbf59;
  --patupet-carbon: #2d2d2d;
  --patupet-gris-oscuro: #4d4d4d;
  --patupet-rojo-error: #ef4444;
}

/* Contenedor */
.patupet-minicart-body { display:flex; flex-direction:column; height:100%; background:#fff; }
.patupet-minicart-body .patupet-minicart-products { flex-grow:1; overflow-y:auto; }
.patupet-minicart-body .patupet-minicart-footer { flex-shrink:0; padding:15px 30px 5px 20px; box-shadow:0px -5px 10px 0px rgba(145,145,145,0.15); }

/* Scroll lock cuando Elementor muestre el side cart */
body.patupet-minicart-open { overflow:hidden; }

/* Vacío */
.patupet-empty-cart{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; text-align:center; padding:20px; }
.patupet-empty-cart img{ max-width:150px; margin-bottom:20px; }
.patupet-empty-cart p{ font-size:1.1em; font-weight:500; color:var(--patupet-gris-oscuro); margin:0; }

/* Header + anim */
@keyframes patupet-shake{ 0%,100%{transform:rotate(0deg);} 25%{transform:rotate(5deg);} 75%{transform:rotate(-5deg);} }
.patupet-minicart-header{ padding:0 20px; border-bottom:1px solid var(--patupet-lavanda-claro); }
.patupet-urgency-bar{ font-size:.9em; text-align:left; color:var(--patupet-gris-oscuro); margin-bottom:15px; }
.patupet-urgency-bar .fire-icon{ animation:patupet-shake 1.5s infinite; display:inline-block; margin-right:5px; }
.patupet-urgency-bar .timer{ font-weight:700; color:var(--patupet-rojo-error); }
.patupet-cart-title{ font-size:1.5em; font-weight:700; margin-bottom:10px; color:var(--patupet-carbon); text-align:left; }

/* Items */
.woocommerce-mini-cart-item{ display:flex; gap:15px; padding:10px 30px 10px 20px; border-bottom:1px solid var(--patupet-lavanda-claro); align-items:center; position:relative; }
.item-thumbnail img{ width:150px; height:auto; border-radius:8px; }
.item-details{ flex-grow:1; }
.item-details .product-name{ font-weight:600; color:var(--patupet-carbon); text-decoration:none; }
.item-details .product-price{ font-size:.95em; color:var(--patupet-gris-oscuro); }

a.remove_from_cart_button{
  position:absolute; top:8px; left:10px;
  width:24px; height:24px; line-height:22px;
  text-align:center; border-radius:50%;
  background-color:rgba(255,255,255,.8);
  backdrop-filter: blur(2px);
  color:#999 !important; font-size:16px !important;
  text-decoration:none; transition:all .2s; border:1px solid #eee;
}
a.remove_from_cart_button:hover{ background-color:var(--patupet-rojo-error); color:#fff !important; transform:scale(1.1); }

.quantity-control{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:22px; margin-left:auto; }
.quantity-control button{
  background:#f1f3f5; border:1px solid #e9ecef; cursor:pointer;
  font-size:16px; width:22px; height:22px; color:#495057;
  display:flex; align-items:center; justify-content:center; padding:0; line-height:22px;
}
.quantity-control button:hover{ background-color:#e9ecef; }
.quantity-control .qty{ font-size:1em; font-weight:700; padding:2px 0; color:var(--patupet-carbon); }
.quantity-control .plus{ border-radius:10px 10px 0 0; }
.quantity-control .minus{ border-radius:0 0 10px 10px; }

/* Footer */
.coupon-toggle{ font-size:.9em; font-weight:600; color:var(--patupet-azul-brillante); cursor:pointer; text-decoration:none; }
.coupon-form{ display:none; margin-top:10px; }
.coupon-form-inner{ display:flex; gap:8px; }
.coupon-form-inner input{ flex-grow:1; border:1px solid #d1d5db; border-radius:6px; padding:0 12px; }

.coupon-message{ margin-top:8px; font-size:.9em; }

.cart-totals{ margin-top:15px; }
.total-row{ display:flex; justify-content:space-between; padding:6px 0; }
.total-row span:first-child{ color:var(--patupet-gris-oscuro); }
.total-row.grand-total{ font-size:1.25em; font-weight:bold; margin-top:8px; border-top:2px solid var(--patupet-lavanda-claro); padding-top:10px; color:var(--patupet-carbon); }

.discount-tag{ display:flex; align-items:center; gap:8px; color:var(--patupet-verde-oscuro); }
.remove-coupon{
  cursor:pointer; font-weight:800; color:var(--patupet-rojo-error);
  background:#fff0f0; padding:2px 8px; border-radius:999px;
}

.woocommerce-mini-cart__buttons{ display:flex; flex-direction:row-reverse; gap:10px; margin-top:20px; text-align:center; }
.woocommerce-mini-cart__buttons .button{
  flex:1; padding:12px 5px; font-weight:bold; font-size:.9em;
  text-decoration:none; border-radius:20px; transition:all .3s ease;
  border:1px solid transparent; display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.woocommerce-mini-cart__buttons .button:hover{ transform:translateY(-2px); box-shadow:0 4px 10px rgba(0,0,0,.1); }
.woocommerce-mini-cart__buttons .button.wc-forward{ background:#fff; border:1px solid var(--patupet-azul-profundo); color:var(--patupet-azul-profundo); }
.woocommerce-mini-cart__buttons .button.wc-forward:hover{ background:var(--patupet-azul-profundo); color:#fff; }
.woocommerce-mini-cart__buttons .button.checkout{ background:var(--patupet-verde); border-color:var(--patupet-verde); color:var(--patupet-azul-profundo); }
.woocommerce-mini-cart__buttons .button.checkout:hover{ background:var(--patupet-verde-oscuro); border-color:var(--patupet-verde-oscuro); color:var(--patupet-carbon); }

/* Fix alineación vertical botones mini-cart */
.woocommerce-mini-cart__buttons .button {
  display: flex;
  align-items: center;        /* centra vertical */
  justify-content: center;    /* centra horizontal */
  line-height: 1;             /* elimina desfase por line-height heredado */
  padding-top: 12px;
  padding-bottom: 12px;
}