/* ═══════════════════════════════════════════════════════════════════
   Beps Cart Sidebar — estilos propios, aislados con ID
   Figma: frame 2683:3924 (428×1103 mobile)
   Todos los selectores internos van con #beps-cart-sidebar para
   ganar a Elementor/WooCommerce en especificidad.
   ═══════════════════════════════════════════════════════════════════ */

/* Popup nativo "Add to Wishlist" (woocommerce-wishlists) oculto a pedido del
   cliente. Traía style="display:none" inline pero algo (JS del propio plugin
   al hacer click en el botón de wishlist) lo reactivaba con .show(); con
   !important en el stylesheet se gana incluso a eso. Se pone aquí porque este
   CSS se carga sin condición en todas las páginas, y el popup puede aparecer
   en cualquier product card/página de producto. */
.wl-list-pop,
#wl-list-pop-wrap {
    display: none !important;
}

/* ── Wrapper ────────────────────────────────────────────────────────── */
#beps-cart-sidebar {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    font-family: 'Raleway', sans-serif !important;
}

#beps-cart-sidebar.is-open {
    visibility: visible !important;
    pointer-events: auto !important;
}

/* ── Overlay ────────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-sidebar__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(19, 15, 50, 0.40) !important;
    opacity: 0 !important;
    transition: opacity 0.30s ease !important;
    cursor: pointer !important;
}

#beps-cart-sidebar.is-open .beps-cart-sidebar__overlay {
    opacity: 1 !important;
}

/* ── Panel ──────────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-sidebar__panel {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 388px !important;
    max-width: 100vw !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(100%) !important;
    transition: transform 0.30s ease !important;
    box-shadow: -4px 0 32px rgba(19, 15, 50, 0.10) !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

#beps-cart-sidebar.is-open .beps-cart-sidebar__panel {
    transform: translateX(0) !important;
}

/* ── Header ─────────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-sidebar__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 20px !important;
    height: 76px !important;
    min-height: 76px !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
}

#beps-cart-sidebar .beps-cart-sidebar__title {
    font-family: 'Raleway', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    color: #130F32 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    border: none !important;
    background: none !important;
}

#beps-cart-sidebar .beps-cart-sidebar__close {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

#beps-cart-sidebar .beps-cart-sidebar__close svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
}

/* ── Separador header ────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-sep {
    height: 1px !important;
    background: #E5E5E5 !important;
    margin: 0 20px !important;
    flex-shrink: 0 !important;
}

/* ── Cuerpo scrollable ──────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-sidebar__body {
    flex: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

#beps-cart-sidebar .beps-cart-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 20px !important;
    background: #ffffff !important;
}

/* ── YITH puntos ─────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-yith {
    margin: 16px 0 !important;
}

#beps-cart-sidebar .beps-cart-yith #yith-par-message-cart,
#beps-cart-sidebar .beps-cart-yith > * {
    background: #CBDCE5 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    color: #130F32 !important;
    margin: 0 !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    line-height: 1.5 !important;
}

#beps-cart-sidebar .beps-cart-yith strong {
    font-weight: 700 !important;
    color: #130F32 !important;
}

#beps-cart-sidebar .beps-cart-yith *::before {
    display: none !important;
}

/* ── Lista de productos ─────────────────────────────────────────────── */
#beps-cart-sidebar ul.woocommerce-mini-cart,
#beps-cart-sidebar ul.cart_list,
#beps-cart-sidebar .woocommerce-mini-cart {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
}

#beps-cart-sidebar .woocommerce-mini-cart-item,
#beps-cart-sidebar li.mini_cart_item {
    display: flex !important;
    gap: 12px !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid #E5E5E5 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: none !important;
    margin: 0 !important;
    align-items: flex-start !important;
    position: static !important;
}

/* Imagen */
#beps-cart-sidebar .beps-cart-item-img {
    flex-shrink: 0 !important;
    display: block !important;
    line-height: 0 !important;
}

#beps-cart-sidebar .beps-cart-item-img img {
    width: 83px !important;
    height: 98px !important;
    min-width: 83px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Columna info */
#beps-cart-sidebar .beps-cart-item-info {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding-top: 4px !important;
}

/* Fila nombre + precio */
#beps-cart-sidebar .beps-cart-item-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

#beps-cart-sidebar .beps-cart-item-name {
    font-family: 'Raleway', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #130F32 !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    flex: 1 !important;
    min-width: 0 !important;
    display: block !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#beps-cart-sidebar .beps-cart-item-name:hover {
    color: #130F32 !important;
    text-decoration: none !important;
}

#beps-cart-sidebar .beps-cart-item-price {
    font-family: 'Raleway', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #130F32 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

#beps-cart-sidebar .beps-cart-item-price .woocommerce-Price-amount,
#beps-cart-sidebar .beps-cart-item-price .amount {
    font-size: 16px !important;
    color: #130F32 !important;
}

/* Fila controles: qty pill + papelera */
#beps-cart-sidebar .beps-cart-item-controls {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

#beps-cart-sidebar .beps-cart-qty {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #E8E8E8 !important;
    border-radius: 100px !important;
    height: 39px !important;
    width: 94px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}

#beps-cart-sidebar .beps-cart-qty-btn {
    flex: 1 !important;
    height: 100% !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 18px !important;
    color: #130F32 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Raleway', sans-serif !important;
    transition: opacity 0.15s !important;
    box-shadow: none !important;
    outline: none !important;
}

#beps-cart-sidebar .beps-cart-qty-btn:hover {
    opacity: 0.6 !important;
}

#beps-cart-sidebar .beps-cart-qty-val {
    font-size: 18px !important;
    font-family: 'Raleway', sans-serif !important;
    color: #130F32 !important;
    min-width: 24px !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

#beps-cart-sidebar .beps-cart-remove-btn {
    width: 38px !important;
    height: 38px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px !important;
    opacity: 0.45 !important;
    transition: opacity 0.15s !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

#beps-cart-sidebar .beps-cart-remove-btn:hover {
    opacity: 0.85 !important;
}

#beps-cart-sidebar .beps-cart-remove-btn svg {
    display: block !important;
}

/* ── Cupón ───────────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-coupon {
    display: flex !important;
    margin: 16px 0 8px !important;
    border: 1px solid #F4F4F4 !important;
    border-radius: 10px !important;
    height: 47px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}

#beps-cart-sidebar .beps-cart-coupon-input {
    flex: 1 !important;
    height: 100% !important;
    border: none !important;
    padding: 0 14px !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    color: #130F32 !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

#beps-cart-sidebar .beps-cart-coupon-input::placeholder {
    color: #D9D9D9 !important;
}

#beps-cart-sidebar .beps-cart-coupon-btn {
    height: 100% !important;
    padding: 0 20px !important;
    background: #130F32 !important;
    color: #fff !important;
    border: none !important;
    border-left: none !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    border-radius: 0 10px 10px 0 !important;
    white-space: nowrap !important;
    outline: none !important;
    transition: opacity 0.15s !important;
}

#beps-cart-sidebar .beps-cart-coupon-btn.is-loading {
    opacity: 0.55 !important;
    cursor: wait !important;
    pointer-events: none !important;
}

/* Cupones aplicados — tags */
#beps-cart-sidebar .beps-cart-coupon-applied {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 10px !important;
}

#beps-cart-sidebar .beps-cart-coupon-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #EEF7EE !important;
    border: 1px solid #B8DABC !important;
    border-radius: 100px !important;
    padding: 4px 8px 4px 12px !important;
    font-family: 'Raleway', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #257A38 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

#beps-cart-sidebar .beps-cart-coupon-tag__remove {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #257A38 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    opacity: 0.65 !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: opacity 0.15s !important;
}

#beps-cart-sidebar .beps-cart-coupon-tag__remove:hover {
    opacity: 1 !important;
}

/* Mensaje de error/éxito del cupón */
#beps-cart-sidebar .beps-cart-coupon-msg {
    font-family: 'Raleway', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    margin: -2px 0 8px !important;
    line-height: 1.4 !important;
}

#beps-cart-sidebar .beps-cart-coupon-msg.is-error {
    background: #FEF2F2 !important;
    color: #B91C1C !important;
    border: 1px solid #FECACA !important;
}

/* Aviso de envío — aparece cuando el usuario no ha introducido dirección */
#beps-cart-sidebar .beps-cart-shipping-notice {
    font-family: 'Raleway', sans-serif !important;
    font-size: 12px !important;
    color: #999 !important;
    font-style: italic !important;
    margin: 4px 0 6px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    background: none !important;
    border: none !important;
}

/* ── Totales ─────────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-totals {
    padding: 8px 0 0 !important;
    flex-shrink: 0 !important;
}

#beps-cart-sidebar .beps-cart-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 5px 0 !important;
    background: none !important;
    border: none !important;
    margin: 0 !important;
}

#beps-cart-sidebar .beps-cart-total-label {
    font-family: 'Raleway', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #130F32 !important;
}

#beps-cart-sidebar .beps-cart-total-value {
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #130F32 !important;
    text-align: right !important;
    padding: 0 !important;
    margin: 0 !important;
}

#beps-cart-sidebar .beps-cart-total-value .woocommerce-Price-amount,
#beps-cart-sidebar .beps-cart-total-value .amount {
    font-size: 14px !important;
    color: #130F32 !important;
}

#beps-cart-sidebar .beps-cart-total-grand .beps-cart-total-value {
    font-size: 16px !important;
    font-weight: 600 !important;
}

#beps-cart-sidebar .beps-cart-total-grand .beps-cart-total-value .woocommerce-Price-amount,
#beps-cart-sidebar .beps-cart-total-grand .beps-cart-total-value .amount {
    font-size: 16px !important;
    font-weight: 600 !important;
}

#beps-cart-sidebar .beps-cart-divider {
    height: 1px !important;
    background: #E5E5E5 !important;
    margin: 6px 0 !important;
    border: none !important;
}

#beps-cart-sidebar .beps-cart-total-row--discount .beps-cart-total-label {
    color: #257A38 !important;
}

#beps-cart-sidebar .beps-cart-total-row--discount .beps-cart-total-value {
    color: #257A38 !important;
    font-weight: 600 !important;
}

#beps-cart-sidebar .beps-cart-total-row--discount .beps-cart-total-value .woocommerce-Price-amount,
#beps-cart-sidebar .beps-cart-total-row--discount .beps-cart-total-value .amount {
    color: #257A38 !important;
}

/* ── Botón pagar ─────────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-pay {
    padding: 12px 0 24px !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}

#beps-cart-sidebar .beps-cart-pay-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 51px !important;
    min-height: 51px !important;
    background: #F9D777 !important;
    background-color: #F9D777 !important;
    color: #130F32 !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    border-radius: 100px !important;
    border: none !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.18s ease !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    padding: 0 24px !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

#beps-cart-sidebar .beps-cart-pay-btn:hover {
    background: #f5c840 !important;
    background-color: #f5c840 !important;
    color: #130F32 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(249, 215, 119, 0.45) !important;
}

#beps-cart-sidebar .beps-cart-pay-btn .woocommerce-Price-amount,
#beps-cart-sidebar .beps-cart-pay-btn .amount,
#beps-cart-sidebar .beps-cart-pay-btn bdi {
    font-size: 16px !important;
    color: #130F32 !important;
    display: inline !important;
}

/* ── Carrito vacío ──────────────────────────────────────────────────── */
#beps-cart-sidebar .beps-cart-empty-message {
    font-family: 'Raleway', sans-serif !important;
    font-size: 14px !important;
    color: #130F32 !important;
    text-align: center !important;
    padding: 48px 0 !important;
    margin: 0 !important;
}

/* ── Mobile full-width ───────────────────────────────────────────────── */
@media (max-width: 768px) {
    #beps-cart-sidebar .beps-cart-sidebar__panel {
        width: 100vw !important;
    }
}

/* ── Bloquear scroll del body ───────────────────────────────────────── */
body.beps-cart-open {
    overflow: hidden !important;
}

/* ── Spinner de carga ────────────────────────────────────────────────── */
.beps-cart-loading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 0 !important;
}
.beps-cart-loading::after {
    content: '' !important;
    width: 28px !important;
    height: 28px !important;
    border: 2px solid #E8E8E8 !important;
    border-top-color: #141436 !important;
    border-radius: 50% !important;
    animation: bepsCartSpin 0.7s linear infinite !important;
}
@keyframes bepsCartSpin {
    to { transform: rotate(360deg); }
}

