/* ==========================================================================
   PATUPET MINICART - BRICKS OPTIMIZED
   ========================================================================== */

/* 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); }

/* 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(--grey-700); 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(--surface-light); }
.patupet-urgency-bar{ font-size:.9em; text-align:left; color:var(--grey-700); 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(--alert-red); }
.patupet-cart-title{ font-size:1.5em; font-weight:700; margin-bottom:10px; color:var(--patupet-dark); text-align:left; }

/* Items */
.woocommerce-mini-cart-item{ display:flex; gap:15px; padding:10px 30px 10px 20px; border-bottom:1px solid var(--surface-light); 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-dark); text-decoration:none; }
.item-details .product-price{ font-size:.95em; color:var(--grey-700); }

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:var(--grey-500) !important; font-size:16px !important;
  text-decoration:none; transition:all .2s; border:1px solid var(--grey-300);
}
a.remove_from_cart_button:hover{ background-color:var(--alert-red); 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:var(--surface-light); border:1px solid var(--grey-300); cursor:pointer;
  font-size:16px; width:22px; height:22px; color:var(--grey-700);
  display:flex; align-items:center; justify-content:center; padding:0; line-height:22px;
}
.quantity-control button:hover{ background-color:var(--grey-300); }
.quantity-control .qty{ font-size:1em; font-weight:700; padding:2px 0; color:var(--patupet-dark); }
.quantity-control .plus{ border-radius:10px 10px 0 0; }
.quantity-control .minus{ border-radius:0 0 10px 10px; }

/* Footer & Cupones */
.coupon-toggle{ font-size:.9em; font-weight:600; color:var(--primary-blue); 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 var(--grey-300); 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(--grey-700); }
.total-row.grand-total{ font-size:1.25em; font-weight:bold; margin-top:8px; border-top:2px solid var(--surface-light); padding-top:10px; color:var(--patupet-dark); }

.discount-tag{ display:flex; align-items:center; gap:8px; color:var(--alert-green); }
.remove-coupon{
  cursor:pointer; font-weight:800; color:var(--alert-red);
  background:var(--pink-light); padding:2px 8px; border-radius:999px;
}

/* Botones */
.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;
  line-height: 1;
}
.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(--primary-blue); color:var(--primary-blue); }
.woocommerce-mini-cart__buttons .button.wc-forward:hover{ background:var(--primary-blue); color:#fff; }
.woocommerce-mini-cart__buttons .button.checkout{ background:var(--alert-green); border-color:var(--alert-green); color:var(--patupet-dark); }
.woocommerce-mini-cart__buttons .button.checkout:hover{ background:var(--primary-dark); border-color:var(--primary-dark); color:#fff; }