/* ============================================================
   AVANXA CART OVERLAY · v1.0.0
   Ícono del carrito + Popup lateral (drawer derecho).
   - Todas las clases con prefijo único .avxcart-
   - Todo scopeado bajo .avxcart-root para aislarlo del tema/Elementor.
   - !important en lo visual porque el tema/Elementor sobreescriben todo.
   ============================================================ */

/* ---------- Wrapper raíz ---------- */
.avxcart-root,
.avxcart-root *{
	box-sizing:border-box !important;
}

/* ---------- Ícono del carrito ---------- */
.avxcart-root .avxcart-cart-icon{
	position:relative !important;
	width:52px !important;height:52px !important;
	border:2px solid transparent !important;
	border-radius:50px !important;
	display:flex !important;align-items:center !important;justify-content:center !important;
	cursor:pointer !important;background:transparent !important;
	padding:0 !important;margin:0 !important;
	transition:background .2s ease, border-color .2s ease !important;
}
.avxcart-root .avxcart-cart-icon svg{
	width:32px !important;height:32px !important;color:#fff !important;display:block !important;
}
.avxcart-root .avxcart-cart-icon:hover{
	background:#9558D866 !important;
	border-color:#BC92E7 !important;
}
.avxcart-root .avxcart-cart-badge{
	position:absolute !important;top:-3px !important;right:-3px !important;
	min-width:20px !important;height:20px !important;padding:0 5px !important;
	border-radius:50% !important;
	background:#fff !important;color:#BE42D5 !important;
	font-size:11px !important;font-weight:700 !important;line-height:1 !important;
	display:flex !important;align-items:center !important;justify-content:center !important;
}
/* Oculta el badge cuando el carrito está vacío */
.avxcart-root .avxcart-cart-badge.avxcart-cart-badge--empty{
	display:none !important;
}

/* ---------- Overlay ---------- */
.avxcart-root .avxcart-overlay{
	position:fixed !important;inset:0 !important;background:rgba(0,0,0,.4) !important;
	opacity:0 !important;visibility:hidden !important;
	transition:opacity .25s ease,visibility .25s ease !important;
	z-index:99998 !important;
}
.avxcart-root .avxcart-overlay.avxcart-is-open{
	opacity:1 !important;visibility:visible !important;
}

/* ---------- Drawer / popup ---------- */
.avxcart-root .avxcart-drawer{
	--avxcart-lime:#E3F853;
	position:fixed !important;top:0 !important;right:0 !important;
	height:100vh !important;width:430px !important;max-width:100% !important;
	background:#F0E5F9 !important;
	border:1px solid #B0B0B0 !important;
	display:flex !important;flex-direction:column !important;
	box-shadow:-10px 0 34px rgba(0,0,0,.15) !important;
	transform:translateX(100%) !important;transition:transform .3s ease !important;
	z-index:99999 !important;
	font-family:'Inter',sans-serif !important;
}
.avxcart-root .avxcart-drawer.avxcart-is-open{
	transform:translateX(0) !important;
}

.avxcart-root .avxcart-drawer-head{
	padding:30px 28px 14px !important;flex:0 0 auto !important;position:relative !important;
}
.avxcart-root .avxcart-drawer-head h2{
	font-family:'Inter',sans-serif !important;font-size:24px !important;font-weight:600 !important;
	color:#111 !important;line-height:1.2 !important;letter-spacing:-.2px !important;
	padding-right:30px !important;margin:0 !important;
}
.avxcart-root .avxcart-drawer-close{
	position:absolute !important;top:26px !important;right:24px !important;
	border:none !important;background:transparent !important;
	cursor:pointer !important;color:#555 !important;padding:4px !important;line-height:0 !important;
}

/* body con scroll custom (solo aparece al desbordar) */
.avxcart-root .avxcart-drawer-body{
	flex:1 1 auto !important;overflow-y:auto !important;padding:8px 28px !important;
	scrollbar-width:thin !important;scrollbar-color:#BCA6E2 transparent !important;
}
.avxcart-root .avxcart-drawer-body::-webkit-scrollbar{width:8px !important;}
.avxcart-root .avxcart-drawer-body::-webkit-scrollbar-track{background:transparent !important;margin:6px 0 !important;}
.avxcart-root .avxcart-drawer-body::-webkit-scrollbar-thumb{background:#BCA6E2 !important;border-radius:20px !important;}

/* carrito vacío */
.avxcart-root .avxcart-empty{
	padding:40px 0 !important;text-align:center !important;color:#676767 !important;
	font-size:15px !important;font-weight:500 !important;
}

/* ---------- Ítem ---------- */
.avxcart-root .avxcart-item{
	display:flex !important;gap:14px !important;padding:18px 0 !important;
}
.avxcart-root .avxcart-item-thumb{
	width:66px !important;height:66px !important;border-radius:8px !important;
	flex:0 0 auto !important;overflow:hidden !important;
	background:linear-gradient(135deg,#3A1559,#9558D8) !important;
}
.avxcart-root .avxcart-item-thumb img{
	width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;
}
.avxcart-root .avxcart-item-main{flex:1 !important;min-width:0 !important;}
.avxcart-root .avxcart-item-top{
	display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:10px !important;
}
.avxcart-root .avxcart-item-brand{font-size:16px !important;color:#676767 !important;font-weight:400 !important;}
.avxcart-root .avxcart-item-trash{
	color:#333 !important;cursor:pointer !important;flex:0 0 auto !important;display:flex !important;
}
.avxcart-root .avxcart-item-title{
	font-size:16px !important;font-weight:700 !important;color:#222 !important;
	line-height:1.3 !important;margin:2px 0 8px !important;
}
.avxcart-root .avxcart-item-prices{text-align:right !important;}
.avxcart-root .avxcart-item-prices .avxcart-old{
	display:block !important;color:#D3040E !important;text-decoration:line-through !important;
	font-size:13px !important;font-weight:700 !important;margin-bottom:2px !important;
}
.avxcart-root .avxcart-item-prices .avxcart-now{
	color:#222 !important;font-weight:700 !important;font-size:16px !important;
}

/* ---------- Footer ---------- */
.avxcart-root .avxcart-drawer-foot{flex:0 0 auto !important;padding:14px 28px 28px !important;}
.avxcart-root .avxcart-summary{
	background:#F7F2FC !important;border:1px solid #E2D7F0 !important;border-radius:12px !important;
	padding:16px 18px !important;margin-bottom:16px !important;
}
.avxcart-root .avxcart-row{
	display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:12px !important;
}
.avxcart-root .avxcart-row + .avxcart-row{margin-top:14px !important;}
.avxcart-root .avxcart-s-lbl{font-size:15px !important;font-weight:700 !important;color:#222 !important;}
.avxcart-root .avxcart-s-val{font-size:15px !important;font-weight:700 !important;color:#222 !important;white-space:nowrap !important;}
.avxcart-root .avxcart-d-lbl{font-size:15px !important;font-weight:700 !important;color:#D3040E !important;line-height:1.3 !important;}
.avxcart-root .avxcart-d-val{
	font-size:15px !important;font-weight:700 !important;color:#D3040E !important;
	text-decoration:line-through !important;white-space:nowrap !important;
}

.avxcart-root .avxcart-total{
	background:#fff !important;border-radius:12px !important;padding:16px 18px !important;margin-bottom:18px !important;
	display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;
}
.avxcart-root .avxcart-t-lbl{font-size:15px !important;font-weight:700 !important;color:#222 !important;}
.avxcart-root .avxcart-t-lbl small{font-size:11px !important;font-weight:400 !important;color:#888 !important;margin-left:6px !important;}
.avxcart-root .avxcart-t-val{font-size:16px !important;font-weight:700 !important;color:#222 !important;white-space:nowrap !important;}

.avxcart-root .avxcart-checkout-btn{
	display:block !important;width:100% !important;text-align:center !important;text-decoration:none !important;
	border:2px solid #D1D1D1 !important;border-radius:8px !important;background:var(--avxcart-lime,#E3F853) !important;
	color:#222 !important;font-family:inherit !important;font-weight:700 !important;font-size:16px !important;
	letter-spacing:.4px !important;padding:16px !important;cursor:pointer !important;text-transform:uppercase !important;
	transition:background .15s,color .15s !important;filter:none !important;
}
.avxcart-root .avxcart-checkout-btn:hover{background:#222 !important;color:var(--avxcart-lime,#E3F853) !important;}

/* ============================================================
   ESTADO VACÍO (v1.0.2) · migrado 1:1 de avanxa-carrito-empty.html
   Colores como variables (editables desde Ajustes). Defaults abajo;
   el panel los sobreescribe vía CSS inline en .avxcart-root.
   ============================================================ */
.avxcart-root{
	--avxcart-c-violet10:#F0E5F9;
	--avxcart-c-violet40:#9558D8;
	--avxcart-c-violet80:#471C70;
	--avxcart-c-fuchsia80:#782781;
	--avxcart-c-lime:#E3F853;
	--avxcart-c-shark95:#222222;
	--avxcart-c-shark20:#D1D1D1;
	--avxcart-c-shark30:#B0B0B0;
	--avxcart-c-black:#111111;
	--avxcart-c-iron90:#545454;
	--avxcart-c-iron80:#676767;
	--avxcart-c-iron30:#D3D3D3;
	--avxcart-c-iron20:#DFDFDF;
	--avxcart-c-star:#F5B500;
	--avxcart-c-card-img:#3A2A52;
}

/* contenedor del estado vacío (dentro de .avxcart-drawer-body) */
.avxcart-root .avxcart-empty-state{
	display:flex !important;flex-direction:column !important;gap:24px !important;
	align-items:center !important;width:100% !important;padding:8px 4px 4px !important;
}
.avxcart-root .avxcart-empty-col{
	width:356px !important;max-width:100% !important;
	display:flex !important;flex-direction:column !important;gap:24px !important;align-items:flex-end !important;
}
.avxcart-root .avxcart-empty-inner{
	width:100% !important;display:flex !important;flex-direction:column !important;gap:24px !important;align-items:flex-end !important;
}

/* ---------- Texto intro ---------- */
.avxcart-root .avxcart-empty-intro{width:100% !important;display:flex !important;flex-direction:column !important;gap:8px !important;}
.avxcart-root .avxcart-empty-intro h3{
	font-weight:600 !important;font-size:24px !important;line-height:32px !important;letter-spacing:-.24px !important;
	color:var(--avxcart-c-black) !important;margin:0 !important;
}
.avxcart-root .avxcart-empty-intro p{
	font-weight:400 !important;font-size:16px !important;line-height:22px !important;
	color:var(--avxcart-c-iron90) !important;margin:0 !important;
}

/* ---------- Lista de tarjetas ---------- */
.avxcart-root .avxcart-empty-list{width:100% !important;display:flex !important;flex-direction:column !important;gap:16px !important;}

.avxcart-root .avxcart-mini{
	width:356px !important;max-width:100% !important;border:1px solid var(--avxcart-c-iron30) !important;
	border-radius:4px !important;display:flex !important;align-items:stretch !important;overflow:hidden !important;background:#fff !important;
}
.avxcart-root .avxcart-mini-img{
	position:relative !important;width:104px !important;flex-shrink:0 !important;min-height:156px !important;overflow:hidden !important;
	border-radius:4px 0 0 4px !important;
	background-color:var(--avxcart-c-card-img) !important;background-position:center !important;background-size:cover !important;background-repeat:no-repeat !important;
}
.avxcart-root .avxcart-mini-img::after{
	content:"" !important;position:absolute !important;inset:0 !important;border-radius:4px 0 0 4px !important;
	background:linear-gradient(to bottom,rgba(151,71,255,0),var(--avxcart-c-black)) !important;
}
.avxcart-root .avxcart-mini-logo{
	position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;
	width:100px !important;height:40px !important;z-index:1 !important;
	background-position:center !important;background-size:contain !important;background-repeat:no-repeat !important;
}
.avxcart-root .avxcart-mini-body{
	flex:1 !important;min-width:0 !important;background:#fff !important;display:flex !important;flex-direction:column !important;
	gap:4px !important;align-items:center !important;justify-content:center !important;padding:8px !important;border-radius:0 4px 4px 0 !important;
}
.avxcart-root .avxcart-mini-top{width:100% !important;display:flex !important;flex-direction:column !important;gap:8px !important;}
.avxcart-root .avxcart-mini-title{
	font-weight:700 !important;font-size:14px !important;line-height:18px !important;letter-spacing:.28px !important;
	color:var(--avxcart-c-iron90) !important;
	display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;
}
.avxcart-root .avxcart-mini-rating{display:flex !important;align-items:center !important;gap:4px !important;color:var(--avxcart-c-star) !important;}
.avxcart-root .avxcart-mini-rating svg{width:24px !important;height:24px !important;display:block !important;}
.avxcart-root .avxcart-mini-rating span{font-size:13px !important;line-height:16px !important;letter-spacing:.26px !important;color:var(--avxcart-c-iron80) !important;}
.avxcart-root .avxcart-mini-foot{display:flex !important;align-items:center !important;gap:4px !important;align-self:flex-start !important;}
.avxcart-root .avxcart-mini-price{
	border:1px solid var(--avxcart-c-iron20) !important;padding:4px !important;
	display:flex !important;align-items:center !important;justify-content:center !important;
}
.avxcart-root .avxcart-mini-price p,
.avxcart-root .avxcart-mini-price .woocommerce-Price-amount{
	font-weight:500 !important;font-size:14px !important;line-height:18px !important;letter-spacing:.28px !important;
	color:var(--avxcart-c-fuchsia80) !important;text-align:center !important;white-space:nowrap !important;margin:0 !important;
}
.avxcart-root .avxcart-mini-btn{
	width:123px !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;
	padding:6px 12px !important;border-radius:6px !important;background:none !important;border:none !important;cursor:pointer !important;text-decoration:none !important;
}
.avxcart-root .avxcart-mini-btn p{
	font-weight:700 !important;font-size:12px !important;line-height:20px !important;letter-spacing:.06px !important;text-transform:uppercase !important;
	color:var(--avxcart-c-violet40) !important;white-space:nowrap !important;margin:0 !important;
}

/* ---------- Botón final (footer en estado vacío) ---------- */
.avxcart-root .avxcart-empty-cta{width:100% !important;display:flex !important;}
.avxcart-root .avxcart-cta-btn{
	flex:1 !important;background:var(--avxcart-c-lime) !important;border:1.5px solid var(--avxcart-c-shark20) !important;border-radius:10px !important;
	display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;padding:12px 24px !important;cursor:pointer !important;text-decoration:none !important;
}
.avxcart-root .avxcart-cta-btn p{
	font-weight:700 !important;font-size:16px !important;line-height:24px !important;letter-spacing:.08px !important;text-transform:uppercase !important;
	color:var(--avxcart-c-shark95) !important;margin:0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width:480px){
	.avxcart-root .avxcart-drawer{width:100% !important;}
}
