:root {
    --primary: #171818;
    --secondary: #9a4600;
    --tertiary: #2c0f00;
    --surface: #f9f9f9;
    --on-surface: #1a1c1c;
    --outline: #747878;
    --outline-variant: #c4c7c7;
}

.verde-copi {
    color: var(--secondary) !important;
}
.verde-copi-fondo {
    background-color: transparent !important;
}
.swal2-styled:focus {
    box-shadow: none !important;
}
html, body, * {
    scrollbar-width: thin;
    scrollbar-color: var(--primary) var(--bs-white);
}

    *::-webkit-scrollbar {
        width: 5px;
        height: 5px;
    }

    *::-webkit-scrollbar-track {
        background: var(--bs-white);
    }

    *::-webkit-scrollbar-thumb {
        background-color: var(--primary);
        border-radius: 20px;
        border: 1px solid var(--bs-white);
    }

@-moz-document url-prefix() {
    * {
        scrollbar-width: thin;
    }
}

/* SweetAlert2 alineado al design system.
   Se estila aqui (no en cada llamada) para que TODAS las confirmaciones del sitio
   compartan el mismo look; los confirmButtonColor en linea quedan anulados con !important. */
.swal2-popup {
    border-radius: 0.5rem;
    padding: 2.5rem 2rem;
    font-family: 'Manrope', sans-serif;
    background: #ffffff;
    box-shadow: 0 20px 40px rgba(26, 28, 28, 0.06);
}

.swal2-title {
    font-family: 'Noto Serif', serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: -0.02em;
    padding: 0;
}

.swal2-html-container {
    font-family: 'Manrope', sans-serif;
    font-size: 0.9375rem;
    color: var(--outline);
    margin-top: 0.6rem;
}

.swal2-actions {
    gap: 0.75rem;
    margin-top: 2rem;
}

.swal2-styled.swal2-confirm {
    background: linear-gradient(135deg, #171818 0%, #2c2c2c 100%) !important;
    color: #ffffff;
    border: none;
    border-radius: 0.125rem;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.9375rem;
    transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny {
    background: transparent !important;
    color: var(--on-surface);
    border: 1px solid rgba(116, 120, 120, 0.3);
    border-radius: 0.125rem;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.9375rem;
    transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

    .swal2-styled.swal2-cancel:hover,
    .swal2-styled.swal2-deny:hover {
        border-color: var(--outline);
    }

/* Iconos: fuera el verde/amarillo de fabrica, dentro la terracota de la marca */
.swal2-icon.swal2-success,
.swal2-icon.swal2-warning,
.swal2-icon.swal2-info,
.swal2-icon.swal2-question {
    border-color: rgba(154, 70, 0, 0.3);
    color: var(--secondary);
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(154, 70, 0, 0.3);
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: var(--secondary);
}

.swal2-icon.swal2-error {
    border-color: rgba(186, 26, 26, 0.3);
    color: #ba1a1a;
}

    .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
        background-color: #ba1a1a;
    }
