/* ==========================================================================
   SweetAlert2 — Around theme custom skin
   --------------------------------------------------------------------------
   This file restyles SweetAlert2 (sweetalert2@11) to match the Around theme.
   It is built entirely on Around's CSS custom properties (--ar-*), so it
   automatically follows the active palette, border radius, typography and
   light/dark color mode (data-bs-theme) without any JS configuration.

   Loaded in: resources/views/client/Around/layouts/layout.blade.php
   ========================================================================== */

/* Backdrop / container ----------------------------------------------------- */
.swal2-container.swal2-backdrop-show,
.swal2-container.swal2-noanimation {
    background-color: rgba(18, 21, 25, .45);
}

/* Popup -------------------------------------------------------------------- */
.swal2-popup {
    background-color: var(--ar-body-bg) !important;
    color: var(--ar-body-color) !important;
    font-family: var(--ar-body-font-family) !important;
    border: var(--ar-border-width, 1px) solid var(--ar-border-color);
    border-radius: var(--ar-border-radius-xl) !important;
    box-shadow: var(--ar-box-shadow-lg);
    padding: 2rem;
}

/* Title -------------------------------------------------------------------- */
.swal2-title {
    color: var(--ar-heading-color) !important;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
}

/* Text / html container ---------------------------------------------------- */
.swal2-html-container {
    color: var(--ar-secondary-color) !important;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.55;
}

/* Footer ------------------------------------------------------------------- */
.swal2-footer {
    color: var(--ar-secondary-color);
    border-top-color: var(--ar-border-color);
    font-size: .875rem;
}

/* Close button ------------------------------------------------------------- */
.swal2-close {
    color: var(--ar-secondary-color);
    border-radius: var(--ar-border-radius-pill);
    transition: color .2s ease-in-out, background-color .2s ease-in-out;
}
.swal2-close:hover {
    color: var(--ar-danger);
    background-color: var(--ar-secondary-bg);
}
.swal2-close:focus {
    box-shadow: none;
    outline: none;
}

/* Action buttons ----------------------------------------------------------- */
.swal2-actions {
    gap: .75rem;
    margin-top: 1.75rem;
}

.swal2-styled {
    margin: 0;
    padding: .6875rem 1.5rem;
    font-family: var(--ar-body-font-family);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    border: 0;
    border-radius: var(--ar-border-radius);
    transition: background-color .2s ease-in-out, color .2s ease-in-out, box-shadow .2s ease-in-out, opacity .2s ease-in-out;
}
/* Kill SweetAlert's default purple focus ring on mouse interaction.
   !important is required because its own `.swal2-styled.swal2-confirm:focus`
   rule has higher specificity than a plain `.swal2-styled:focus`. */
.swal2-styled:focus,
.swal2-styled.swal2-confirm:focus,
.swal2-styled.swal2-deny:focus,
.swal2-styled.swal2-cancel:focus {
    outline: none;
    box-shadow: none !important;
}

/* Keyboard-only focus: subtle, on-theme ring (wins over :focus via higher
   specificity + later source order). */
.swal2-styled.swal2-confirm:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(var(--ar-primary-rgb), .4) !important;
}
.swal2-styled.swal2-deny:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(var(--ar-danger-rgb), .4) !important;
}
.swal2-styled.swal2-cancel:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(var(--ar-secondary-color-rgb), .3) !important;
}

/* Confirm = primary button */
.swal2-styled.swal2-confirm {
    background-color: var(--ar-primary) !important;
    color: #fff !important;
}
.swal2-styled.swal2-confirm:hover {
    background-color: var(--ar-primary) !important;
    filter: brightness(.92);
}

/* Deny = danger button */
.swal2-styled.swal2-deny {
    background-color: var(--ar-danger) !important;
    color: #fff !important;
}
.swal2-styled.swal2-deny:hover {
    filter: brightness(.92);
}

/* Cancel = soft secondary button */
.swal2-styled.swal2-cancel {
    background-color: var(--ar-secondary-bg) !important;
    color: var(--ar-body-color) !important;
}
.swal2-styled.swal2-cancel:hover {
    background-color: var(--ar-secondary-bg) !important;
    filter: brightness(.95);
}

/* Loader ------------------------------------------------------------------- */
.swal2-loader {
    border-color: var(--ar-primary) transparent var(--ar-primary) transparent;
}

/* Timer progress bar ------------------------------------------------------- */
.swal2-timer-progress-bar {
    background-color: rgba(var(--ar-primary-rgb), .35);
}

/* Inputs ------------------------------------------------------------------- */
.swal2-input,
.swal2-file,
.swal2-textarea,
.swal2-select {
    color: var(--ar-body-color);
    background-color: var(--ar-body-bg);
    border: var(--ar-border-width, 1px) solid var(--ar-border-color);
    border-radius: var(--ar-border-radius);
    box-shadow: none;
    font-family: var(--ar-body-font-family);
    font-size: 1rem;
}
.swal2-input:focus,
.swal2-file:focus,
.swal2-textarea:focus,
.swal2-select:focus {
    border-color: rgba(var(--ar-primary-rgb), .65);
    box-shadow: 0 0 0 .25rem rgba(var(--ar-primary-rgb), .25);
}
.swal2-input::placeholder,
.swal2-textarea::placeholder {
    color: var(--ar-secondary-color);
    opacity: .7;
}

.swal2-validation-message {
    color: var(--ar-danger);
    background-color: rgba(var(--ar-danger-rgb), .1);
    border-radius: var(--ar-border-radius-sm);
    font-size: .875rem;
}
.swal2-validation-message::before {
    background-color: var(--ar-danger);
}

/* Progress steps ----------------------------------------------------------- */
.swal2-progress-step {
    background-color: var(--ar-primary);
}
.swal2-progress-step.swal2-active-progress-step {
    background-color: var(--ar-primary);
}
.swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step,
.swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
    background-color: rgba(var(--ar-primary-rgb), .25);
}
.swal2-progress-step-line {
    background-color: var(--ar-primary);
}

/* ==========================================================================
   Status icons — recolored to the theme palette
   ========================================================================== */

/* Success */
.swal2-icon.swal2-success {
    border-color: rgba(var(--ar-success-rgb), .35);
    color: var(--ar-success);
}
.swal2-icon.swal2-success [class^='swal2-success-line'],
.swal2-icon.swal2-success [class*=' swal2-success-line'] {
    background-color: var(--ar-success);
}
.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(var(--ar-success-rgb), .35);
}

/* Error */
.swal2-icon.swal2-error {
    border-color: rgba(var(--ar-danger-rgb), .35);
    color: var(--ar-danger);
}
.swal2-icon.swal2-error [class^='swal2-x-mark-line'],
.swal2-icon.swal2-error [class*=' swal2-x-mark-line'] {
    background-color: var(--ar-danger);
}

/* Warning */
.swal2-icon.swal2-warning {
    border-color: rgba(var(--ar-warning-rgb), .35);
    color: var(--ar-warning);
}

/* Info */
.swal2-icon.swal2-info {
    border-color: rgba(var(--ar-info-rgb), .35);
    color: var(--ar-info);
}

/* Question */
.swal2-icon.swal2-question {
    border-color: rgba(var(--ar-primary-rgb), .35);
    color: var(--ar-primary);
}

/* Toast variant ------------------------------------------------------------ */
.swal2-popup.swal2-toast {
    padding: 1rem 1.25rem;
    border-radius: var(--ar-border-radius-lg) !important;
    box-shadow: var(--ar-box-shadow);
}
.swal2-popup.swal2-toast .swal2-title {
    font-size: 1rem;
}
