/* ============================================================================
   SWEETALERT2 — theme del front público (.bb-toast / .bb-modal). Solo lo carga
   el front; el admin usa el theme oscuro default.
   ========================================================================== */

/* ─── Toast (esquina superior derecha) ───────────────────────────────── */

.swal2-popup.bb-toast {
    padding: 1rem 1.1rem 1rem 1rem !important;
    min-width: 320px;
    max-width: 420px;
    border-radius: 6px;
    border: 1px solid var(--bb-line);
    box-shadow: 0 12px 32px rgba(15, 15, 15, 0.12), 0 2px 8px rgba(15, 15, 15, 0.06);
    background: #ffffff;
    font-family: var(--font-body, 'Manrope', sans-serif);
}

.swal2-popup.bb-toast .swal2-title {
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    color: var(--bb-ink);
    line-height: 1.35;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left;
}

.swal2-popup.bb-toast .swal2-html-container {
    font-size: 0.88rem !important;
    color: var(--bb-ink-soft);
    margin-top: 0.25rem !important;
    line-height: 1.4;
}

/* Ícono: solo color y margen. No fijar width/height/border en px: rompe la
   escala en `em` que SweetAlert usa para anillo y check. */
.swal2-popup.bb-toast .swal2-icon {
    margin: 0 0.85rem 0 0 !important;
    flex-shrink: 0;
}

/* Ícono success: el círculo lo dibuja `.swal2-success-ring`; el borde del
   contenedor va transparente para no duplicarlo. */
.swal2-popup.bb-toast .swal2-icon.swal2-success {
    border-color: transparent !important;
}
.swal2-popup.bb-toast .swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: var(--bb-success) !important;
}
.swal2-popup.bb-toast .swal2-icon.swal2-success .swal2-success-ring {
    border-color: var(--bb-success) !important;
}

/* Ícono info (i azul). */
.swal2-popup.bb-toast .swal2-icon.swal2-info {
    color: #1f6feb !important;
    border-color: #1f6feb !important;
}

/* Close button (X) — requiere `showCloseButton: true` en bbToast(). */
.swal2-popup.bb-toast .swal2-close {
    position: absolute;
    top: 0.4rem;
    right: 0.55rem;
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--bb-ink-muted);
    background: transparent;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    transition: color 0.15s ease, background 0.15s ease;
}
.swal2-popup.bb-toast .swal2-close:hover,
.swal2-popup.bb-toast .swal2-close:focus {
    color: var(--bb-ink);
    background: var(--bb-line);
    outline: none;
}

/* Barra de progreso del timer. */
.swal2-popup.bb-toast .swal2-timer-progress-bar {
    background: var(--bb-accent-dark, var(--bb-ink)) !important;
    height: 3px !important;
}

/* ─── Modal centrado (errores graves, confirms) ─────────────────────── */

.swal2-popup.bb-modal {
    border-radius: 8px;
    padding: 1.5rem 1.75rem !important;
    font-family: var(--font-body, 'Manrope', sans-serif);
    border: 1px solid var(--bb-line);
    box-shadow: 0 24px 60px rgba(15, 15, 15, 0.18);
}

.swal2-popup.bb-modal .swal2-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--bb-ink);
    line-height: 1.3;
    margin-top: 0.5rem !important;
}

.swal2-popup.bb-modal .swal2-html-container {
    font-size: 0.95rem !important;
    color: var(--bb-ink-soft);
    line-height: 1.55;
    margin-top: 0.75rem !important;
}

.swal2-popup.bb-modal .swal2-icon {
    width: 64px !important;
    height: 64px !important;
    border-width: 4px !important;
    margin: 0.5rem auto 1rem !important;
}

.swal2-popup.bb-modal .swal2-icon.swal2-warning {
    border-color: var(--bb-warning-dark, #b07306) !important;
    color: var(--bb-warning-dark, #b07306) !important;
}

.swal2-popup.bb-modal .swal2-icon.swal2-error {
    border-color: var(--bb-error) !important;
}

/* Ícono dorado de los avisos "necesitás cuenta" (favoritos, checkout, …). */
.swal2-popup.bb-modal .swal2-icon.bb-prompt-icon {
    border-color: var(--bb-gold) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.swal2-popup.bb-modal .swal2-icon.bb-prompt-icon i {
    font-size: 1.8rem;
    color: var(--bb-gold);
    line-height: 1;
}
.swal2-popup.bb-modal .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
    background-color: var(--bb-error) !important;
    height: 5px !important;
}

/* Botones del modal. */
.swal2-popup.bb-modal .swal2-actions {
    margin-top: 1.25rem !important;
    gap: 0.6rem;
}

.swal2-popup.bb-modal .swal2-confirm,
.swal2-popup.bb-modal .swal2-cancel {
    padding: 0.65rem 1.4rem !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em;
    border-radius: 2px !important;
    text-transform: uppercase;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.swal2-popup.bb-modal .swal2-confirm:focus,
.swal2-popup.bb-modal .swal2-cancel:focus {
    box-shadow: 0 0 0 3px var(--bb-line);
}

/* Íconos dentro de los botones: no heredan el font-size del botón. */
.swal2-popup.bb-modal .swal2-confirm,
.swal2-popup.bb-modal .swal2-cancel {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
}
/* Respeta el `display:none` inline con que SweetAlert oculta un botón
   (showCancelButton:false); si no, el `!important` de arriba lo pisa. */
.swal2-popup.bb-modal .swal2-confirm[style*="display: none"],
.swal2-popup.bb-modal .swal2-cancel[style*="display: none"] {
    display: none !important;
}
.swal2-popup.bb-modal .swal2-confirm i,
.swal2-popup.bb-modal .swal2-cancel i {
    font-size: 1.15rem !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* ─── Responsive ─────────────────────────────────────────────────────── */

@media (max-width: 540px) {
    .swal2-popup.bb-toast {
        min-width: 0;
        max-width: calc(100vw - 1.5rem);
        width: calc(100vw - 1.5rem);
        margin: 0.75rem;
    }
    .swal2-popup.bb-toast .swal2-title { font-size: 0.95rem !important; }
    .swal2-popup.bb-toast .swal2-icon {
        width: 32px !important;
        height: 32px !important;
        margin-right: 0.7rem !important;
    }
}

/* ── BOTONES DEL DIÁLOGO ──
   Con `buttonsStyling: false` (ver master.blade.php) los pinta este archivo y no
   SweetAlert por hex. Antes el de "no hacerlo" era blanco sobre #e5e5e5 —1,26:1,
   prácticamente invisible— y el destructivo era el único con color lleno: la opción
   segura era la que no se veía y la peligrosa la que saltaba a la vista.

   El peso está invertido a propósito: SEGURO lleno, DESTRUCTIVO en contorno rojo.
   `reverseButtons` ya deja el seguro a la izquierda y `focusCancel` le da el foco. */
.swal2-popup.bb-modal .bb-modal-acciones {
    gap: 0.75rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}
.swal2-popup.bb-modal .bb-swal-btn {
    font-family: var(--font-body, 'Manrope', sans-serif);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    /* 44px de área táctil: el diálogo confirma acciones irreversibles desde un celular. */
    min-height: 44px;
    padding: 0.7rem 1.4rem;
    border-radius: 3px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
/* La salida segura: la que el usuario debería poder tocar sin leer. */
.swal2-popup.bb-modal .bb-swal-btn--seguro {
    background: var(--bb-ink);
    color: #fff;
    border-color: var(--bb-ink);
}
.swal2-popup.bb-modal .bb-swal-btn--seguro:hover {
    background: #000;
    border-color: #000;
}
/* La acción que destruye: se ve, se entiende, pero no invita. */
.swal2-popup.bb-modal .bb-swal-btn--peligro {
    background: transparent;
    color: var(--bb-error, #a93226);
    border-color: var(--bb-error, #a93226);
}
.swal2-popup.bb-modal .bb-swal-btn--peligro:hover {
    background: var(--bb-error, #a93226);
    color: #fff;
}
.swal2-popup.bb-modal .bb-swal-btn:focus-visible {
    outline: 2px solid var(--bb-gold-dark, #8a6a26);
    outline-offset: 3px;
}
