/*
 * Tema da loja Jump Time — tokens de design + sobrescritas do Bootstrap 5.3 + componentes compartilhados.
 * Modo escuro: Bootstrap usa [data-bs-theme="dark"] no <html> (definido por templates/head.php e assets/js/ui.js).
 * Regra: nada de cor fixa (#hex) nas páginas; use as variáveis --jt-* abaixo.
 */

/* ── Tokens ─────────────────────────────────────────────────────── */
/* Mesma identidade do site institucional (jump_site): laranja da marca, amarelo de destaque, navy e índigo.
   Texto sobre laranja é sempre escuro (branco sobre #FF6B00 dá só 2,9:1). */
:root {
    --jt-primary: #FF6B00;          /* botões (texto escuro) */
    --jt-primary-hover: #FF8533;
    --jt-primary-rgb: 255, 107, 0;
    --jt-on-primary: #1A0E00;
    --jt-accent: #FF8533;           /* realces, foco e decoração */
    --jt-link: #B34700;             /* links e preços sobre fundo claro (5,9:1) */
    --jt-blue: #4338CA;
    --jt-orange: #B34700;
    --jt-yellow: #FFD100;

    --jt-bg: #F3F5FB;
    --jt-surface: #FFFFFF;
    --jt-surface-2: #EAEEF8;
    --jt-border: #D9DEEE;
    --jt-text: #272C4B;
    --jt-muted: #565C7C;
    --jt-subtle: #FFF1E6;           /* fundo de destaque suave (laranja) */

    --jt-ok-bg: #E3F4E5;   --jt-ok-fg: #14532D;
    --jt-warn-bg: #FFF1D6; --jt-warn-fg: #8A4B00;
    --jt-bad-bg: #FDE3E1;  --jt-bad-fg: #A0211A;
    --jt-info-bg: #E7E9FB; --jt-info-fg: #3730A3;

    --jt-nav-bg: #0A0E1C;
    --jt-nav-fg: rgba(255, 255, 255, .88);
    --jt-footer-bg: #070A15;

    --jt-radius: 18px;
    --jt-radius-sm: 12px;
    --jt-shadow: 0 10px 28px rgba(20, 25, 60, .08);
    --jt-shadow-lg: 0 16px 44px rgba(20, 25, 60, .18);
    --jt-ring: 0 0 0 .25rem rgba(255, 107, 0, .38);
    --jt-font: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --jt-font-head: 'Montserrat', 'Poppins', system-ui, sans-serif;

    /* Bootstrap */
    --bs-body-font-family: var(--jt-font);
    --bs-body-bg: var(--jt-bg);
    --bs-body-color: var(--jt-text);
    --bs-secondary-color: var(--jt-muted);
    --bs-border-color: var(--jt-border);
    --bs-border-radius: var(--jt-radius-sm);
    --bs-border-radius-lg: var(--jt-radius);
    --bs-link-color: var(--jt-link);
    --bs-link-hover-color: var(--jt-primary-hover);
    --bs-link-color-rgb: 179, 71, 0;
    --bs-primary: var(--jt-primary);
    --bs-primary-rgb: var(--jt-primary-rgb);
    --bs-success: var(--jt-primary);
    --bs-success-rgb: var(--jt-primary-rgb);
    --bs-success-text-emphasis: var(--jt-ok-fg);
    --bs-success-bg-subtle: var(--jt-ok-bg);
    --bs-success-border-subtle: #B7DDBA;
    --bs-focus-ring-color: rgba(255, 107, 0, .38);
}

[data-bs-theme="dark"] {
    --jt-primary: #FF6B00;
    --jt-primary-hover: #FF8533;
    --jt-primary-rgb: 255, 107, 0;
    --jt-on-primary: #1A0E00;
    --jt-accent: #FF8533;
    --jt-link: #FF9A55;
    --jt-blue: #A78BFA;
    --jt-orange: #FFB074;

    --jt-bg: #0A0E1C;
    --jt-surface: #151B33;
    --jt-surface-2: #1C2442;
    --jt-border: #2A3358;
    --jt-text: #E9ECFA;
    --jt-muted: #AEB4D0;
    --jt-subtle: #2A1D12;

    --jt-ok-bg: #173A1D;   --jt-ok-fg: #9FDCA4;
    --jt-warn-bg: #3F2E0E; --jt-warn-fg: #FFCF86;
    --jt-bad-bg: #431A18;  --jt-bad-fg: #FFA8A1;
    --jt-info-bg: #1E2250; --jt-info-fg: #C7CBFF;

    --jt-nav-bg: #0A0E1C;
    --jt-footer-bg: #070A15;
    --jt-shadow: 0 6px 24px rgba(0, 0, 0, .45);
    --jt-shadow-lg: 0 14px 40px rgba(0, 0, 0, .6);

    --bs-link-color-rgb: 255, 154, 85;
    --bs-success-border-subtle: #2C5B33;
    --bs-focus-ring-color: rgba(255, 133, 51, .45);
    color-scheme: dark;
}

/* ── Base ───────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
    font-family: var(--jt-font);
    background: var(--jt-bg);
    color: var(--jt-text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
}
.content-wrapper { flex: 1 0 auto; display: flex; flex-direction: column; }
.content-wrapper > main, .content-wrapper > .container { flex: 1 0 auto; }
h1, h2, h3, h4, h5, h6 { letter-spacing: -.01em; }
h1, h2, h3, .h1, .h2, .h3 { font-family: var(--jt-font-head); font-weight: 800; }
a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--jt-accent); outline-offset: 2px; border-radius: 6px; }
.skip-link {
    position: absolute; left: -999px; top: 8px; z-index: 2000;
    background: var(--jt-primary); color: var(--jt-on-primary); padding: .5rem 1rem; border-radius: 8px;
}
.skip-link:focus { left: 8px; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ── Botões ─────────────────────────────────────────────────────── */
.btn { border-radius: 999px; font-weight: 600; padding: .6rem 1.25rem; transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease; }
.btn:active { transform: translateY(1px); }
.btn-sm { padding: .35rem .85rem; }
.btn-lg { padding: .8rem 1.6rem; }
.btn-primary, .btn-success {
    --bs-btn-color: var(--jt-on-primary);
    --bs-btn-bg: var(--jt-primary);
    --bs-btn-border-color: var(--jt-primary);
    --bs-btn-hover-color: var(--jt-on-primary);
    --bs-btn-hover-bg: var(--jt-primary-hover);
    --bs-btn-hover-border-color: var(--jt-primary-hover);
    --bs-btn-active-color: var(--jt-on-primary);
    --bs-btn-active-bg: var(--jt-primary-hover);
    --bs-btn-active-border-color: var(--jt-primary-hover);
    --bs-btn-disabled-color: var(--jt-on-primary);
    --bs-btn-disabled-bg: var(--jt-primary);
    --bs-btn-disabled-border-color: var(--jt-primary);
    --bs-btn-focus-shadow-rgb: var(--jt-primary-rgb);
    box-shadow: 0 4px 14px rgba(var(--jt-primary-rgb), .28);
}
.btn-outline-primary, .btn-outline-success {
    --bs-btn-color: var(--jt-link);
    --bs-btn-border-color: var(--jt-primary);
    --bs-btn-hover-color: var(--jt-on-primary);
    --bs-btn-hover-bg: var(--jt-primary);
    --bs-btn-hover-border-color: var(--jt-primary);
    --bs-btn-active-color: var(--jt-on-primary);
    --bs-btn-active-bg: var(--jt-primary-hover);
    --bs-btn-active-border-color: var(--jt-primary-hover);
    --bs-btn-focus-shadow-rgb: var(--jt-primary-rgb);
}
.btn-outline-secondary {
    --bs-btn-color: var(--jt-muted);
    --bs-btn-border-color: var(--jt-border);
    --bs-btn-hover-color: var(--jt-text);
    --bs-btn-hover-bg: var(--jt-surface-2);
    --bs-btn-hover-border-color: var(--jt-border);
    --bs-btn-active-color: var(--jt-text);
    --bs-btn-active-bg: var(--jt-surface-2);
}
.btn-warning { --bs-btn-color: #2B1B00; }
.text-success { color: var(--jt-link) !important; }
.text-muted, .text-body-secondary { color: var(--jt-muted) !important; }
.bg-light { background-color: var(--jt-surface-2) !important; color: var(--jt-text); }

/* ── Cartões, formulários, tabelas, modais ──────────────────────── */
.card {
    --bs-card-bg: var(--jt-surface);
    --bs-card-border-color: var(--jt-border);
    --bs-card-border-radius: var(--jt-radius);
    --bs-card-inner-border-radius: calc(var(--jt-radius) - 1px);
    --bs-card-cap-bg: var(--jt-surface-2);
    box-shadow: var(--jt-shadow);
}
[data-bs-theme="dark"] .card { box-shadow: none; }
.form-label { font-weight: 600; font-size: .9rem; margin-bottom: .35rem; }
.form-control, .form-select {
    background-color: var(--jt-surface);
    border-color: var(--jt-border);
    color: var(--jt-text);
    border-radius: var(--jt-radius-sm);
    padding: .65rem .9rem;
}
.form-control::placeholder { color: var(--jt-muted); opacity: .75; }
.form-control:focus, .form-select:focus { border-color: var(--jt-accent); box-shadow: var(--jt-ring); background-color: var(--jt-surface); color: var(--jt-text); }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--bs-form-invalid-border-color); }
.form-text, .invalid-feedback { font-size: .85rem; }
.form-check-input:checked { background-color: var(--jt-primary); border-color: var(--jt-primary); }
.input-group-text { background: var(--jt-surface-2); border-color: var(--jt-border); color: var(--jt-muted); }
.table { --bs-table-bg: transparent; --bs-table-border-color: var(--jt-border); }
.modal-content { background: var(--jt-surface); border: 1px solid var(--jt-border); border-radius: var(--jt-radius); box-shadow: var(--jt-shadow-lg); }
.modal-header, .modal-footer { border-color: var(--jt-border); }
.dropdown-menu { --bs-dropdown-bg: var(--jt-surface); --bs-dropdown-border-color: var(--jt-border); --bs-dropdown-link-hover-bg: var(--jt-surface-2); border-radius: var(--jt-radius-sm); box-shadow: var(--jt-shadow-lg); }
.alert { border-radius: var(--jt-radius-sm); border-width: 1px; }
.alert-success { --bs-alert-color: var(--jt-ok-fg); --bs-alert-bg: var(--jt-ok-bg); --bs-alert-border-color: transparent; }
.alert-danger  { --bs-alert-color: var(--jt-bad-fg); --bs-alert-bg: var(--jt-bad-bg); --bs-alert-border-color: transparent; }
.alert-warning { --bs-alert-color: var(--jt-warn-fg); --bs-alert-bg: var(--jt-warn-bg); --bs-alert-border-color: transparent; }
.alert-info    { --bs-alert-color: var(--jt-info-fg); --bs-alert-bg: var(--jt-info-bg); --bs-alert-border-color: transparent; }
.badge { font-weight: 600; letter-spacing: .01em; }

/* ── Navbar e rodapé (escuros nos dois temas) ───────────────────── */
.jt-navbar {
    background: var(--jt-nav-bg);
    position: sticky; top: 0; z-index: 1030;
    box-shadow: 0 2px 14px rgba(0, 0, 0, .25);
    padding-block: .6rem;
}
.jt-navbar .navbar-brand { display: flex; align-items: center; gap: .6rem; color: #fff; font-weight: 800; }
.jt-navbar .navbar-brand img { height: 40px; width: auto; }
.jt-navbar .container { gap: .5rem; }
.jt-nav-actions { display: flex; align-items: center; gap: .4rem; margin-left: auto; }
.jt-nav-btn {
    position: relative; min-height: 44px; min-width: 44px; padding: 0 .85rem; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem; font-weight: 600; font-size: .95rem; text-decoration: none;
    transition: background .15s, border-color .15s, transform .1s;
}
.jt-nav-btn:hover, .jt-nav-btn:focus-visible { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .4); color: #fff; }
.jt-nav-btn:active { transform: scale(.96); }
.jt-nav-btn.active { background: rgba(255, 255, 255, .18); }
.jt-nav-btn.jt-nav-icon { padding: 0; width: 44px; }
.jt-navbar .navbar-toggler { border: 1px solid rgba(255, 255, 255, .22); box-shadow: none; }
.jt-navbar .navbar-toggler:focus-visible, .jt-nav-btn:focus-visible { outline: 2px solid var(--jt-accent); outline-offset: 2px; }
.jt-nav-cart #carrinho-contador { position: absolute; top: -5px; right: -5px; padding: .2rem .4rem; }
@media (min-width: 576px) { .jt-nav-cart #carrinho-contador { position: static; margin-left: .1rem; } }
.jt-navbar .navbar-collapse { margin-top: .5rem; }
.jt-navbar .nav-link {
    color: var(--jt-nav-fg); font-weight: 500; padding: .5rem .9rem; border-radius: 999px;
    display: flex; align-items: center; gap: .5rem; min-height: 44px;
}
.jt-navbar .nav-link:hover, .jt-navbar .nav-link:focus { color: #fff; background: rgba(255, 255, 255, .08); }
.jt-navbar .nav-link.active { color: #fff; background: rgba(255, 255, 255, .14); }
.jt-navbar .nav-link.cta-button { background: var(--jt-primary); color: var(--jt-on-primary); font-weight: 700; justify-content: center; }
.jt-navbar .nav-link.cta-button:hover { background: var(--jt-primary-hover); }
.jt-navbar .jt-avatar {
    width: 28px; height: 28px; border-radius: 50%; background: var(--jt-accent); color: #1A0E00;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .85rem;
}
.jt-navbar .jt-user-name { max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jt-navbar #carrinho-contador {
    background: var(--jt-accent); color: #1A0E00; min-width: 1.35rem; border-radius: 999px; font-size: .75rem; display: none;
}
@media (max-width: 991.98px) {
    .jt-navbar .navbar-collapse { background: rgba(255, 255, 255, .05); border-radius: var(--jt-radius); padding: .5rem; }
    .jt-navbar .navbar-nav { gap: .15rem; }
    .jt-navbar .dropdown-menu { margin-top: .25rem; }
}
@media (min-width: 992px) {
    .jt-navbar .navbar-collapse { margin-top: 0; flex-grow: 0; margin-left: auto; }
    .jt-navbar .navbar-toggler { display: none; }
    .jt-navbar .container { flex-wrap: nowrap; }
    .jt-nav-actions { margin-left: .5rem; }
}
.jt-footer { background: var(--jt-footer-bg); color: rgba(255, 255, 255, .78); margin-top: 3rem; flex-shrink: 0; }
.jt-footer h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--jt-accent); font-weight: 700; margin-bottom: 1rem; }
.jt-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.jt-footer a:hover { color: #fff; text-decoration: underline; }
.jt-footer .social a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .1); display: inline-flex; align-items: center; justify-content: center; }
.jt-footer .social a:hover { background: var(--jt-primary); text-decoration: none; }
.jt-footer hr { border-color: rgba(255, 255, 255, .15); opacity: 1; }

/* ── Componentes compartilhados ─────────────────────────────────── */
.jt-page-head { padding: 2rem 0 1rem; }
.jt-page-head h1 { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); font-weight: 800; margin: 0; }
.jt-page-head p { color: var(--jt-muted); margin: .35rem 0 0; }

.jt-surface { background: var(--jt-surface); border: 1px solid var(--jt-border); border-radius: var(--jt-radius); box-shadow: var(--jt-shadow); }
[data-bs-theme="dark"] .jt-surface { box-shadow: none; }

/* chips (filtros / horários) */
.jt-chip {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .5rem 1rem; border-radius: 999px; border: 1px solid var(--jt-border);
    background: var(--jt-surface); color: var(--jt-text); font-weight: 600; font-size: .92rem;
    cursor: pointer; transition: border-color .12s, background-color .12s;
}
.jt-chip:hover { border-color: var(--jt-accent); }
.jt-chip[aria-pressed="true"], .jt-chip.active { background: var(--jt-primary); border-color: var(--jt-primary); color: var(--jt-on-primary); }
.jt-chip:disabled, .jt-chip.disabled { opacity: .5; cursor: not-allowed; text-decoration: line-through; }

/* etiquetas de status (pedido/pagamento) */
.jt-status { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .7rem; border-radius: 999px; font-size: .8rem; font-weight: 700; }
.jt-status-ok   { background: var(--jt-ok-bg);   color: var(--jt-ok-fg); }
.jt-status-warn { background: var(--jt-warn-bg); color: var(--jt-warn-fg); }
.jt-status-bad  { background: var(--jt-bad-bg);  color: var(--jt-bad-fg); }
.jt-status-info { background: var(--jt-info-bg); color: var(--jt-info-fg); }

/* etapas (comprar / checkout) */
.jt-stepper { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.5rem; counter-reset: step; }
.jt-stepper li {
    flex: 1; display: flex; align-items: center; gap: .55rem; padding: .6rem .8rem;
    border-radius: var(--jt-radius-sm); background: var(--jt-surface); border: 1px solid var(--jt-border);
    color: var(--jt-muted); font-weight: 600; font-size: .9rem; counter-increment: step;
}
.jt-stepper li::before {
    content: counter(step); width: 1.7rem; height: 1.7rem; flex: 0 0 1.7rem; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--jt-surface-2); color: var(--jt-muted); font-size: .85rem;
}
.jt-stepper li.active { color: var(--jt-text); border-color: var(--jt-accent); }
.jt-stepper li.active::before, .jt-stepper li.done::before { background: var(--jt-primary); color: var(--jt-on-primary); }
.jt-stepper li.done { color: var(--jt-text); }
@media (max-width: 575.98px) { .jt-stepper li span { display: none; } .jt-stepper li.active span { display: inline; } }

/* opções selecionáveis (forma de pagamento): radio visualmente oculto mas focável */
.jt-option { position: relative; }
.jt-option input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; margin: 0; }
.jt-option label {
    display: flex; align-items: center; gap: .8rem; width: 100%; padding: 1rem 1.1rem;
    background: var(--jt-surface); border: 2px solid var(--jt-border); border-radius: var(--jt-radius-sm);
    font-weight: 600; transition: border-color .12s, background-color .12s; cursor: pointer;
}
.jt-option input:checked + label { border-color: var(--jt-primary); background: var(--jt-subtle); }
.jt-option input:focus-visible + label { box-shadow: var(--jt-ring); }

/* estado vazio e esqueleto de carregamento */
.jt-empty { text-align: center; padding: 3rem 1rem; color: var(--jt-muted); }
.jt-empty .jt-empty-icon { font-size: 2.6rem; color: var(--jt-accent); margin-bottom: .8rem; }
.jt-empty h2, .jt-empty h3 { color: var(--jt-text); font-size: 1.25rem; font-weight: 700; }
.jt-skeleton { background: linear-gradient(90deg, var(--jt-surface-2) 25%, var(--jt-border) 37%, var(--jt-surface-2) 63%); background-size: 400% 100%; animation: jt-shimmer 1.4s ease infinite; border-radius: var(--jt-radius-sm); }
@keyframes jt-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

/* contêiner branco para QR Code (precisa de fundo claro para ser lido) */
.jt-qr { background: #fff; padding: 12px; border-radius: var(--jt-radius-sm); display: inline-block; line-height: 0; }

/* barra fixa "Ver carrinho" (mobile) */
.jt-cart-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1020; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
    background: var(--jt-surface); border-top: 1px solid var(--jt-border); box-shadow: 0 -6px 20px rgba(0, 0, 0, .12);
}
.jt-cart-bar[hidden] { display: none; }
@media (min-width: 768px) { .jt-cart-bar { display: none !important; } }

/* toasts e confirmação */
.jt-toasts { z-index: 2100; }
.jt-toast { border: 1px solid var(--jt-border); border-radius: var(--jt-radius-sm); background: var(--jt-surface); color: var(--jt-text); box-shadow: var(--jt-shadow-lg); border-left-width: 5px; }
.jt-toast-success { border-left-color: var(--jt-primary); }
.jt-toast-danger  { border-left-color: #D32F2F; }
.jt-toast-warning { border-left-color: #F9A825; }
.jt-toast-info    { border-left-color: #1976D2; }
.jt-toast-success > div > i { color: var(--jt-primary); }
.jt-toast-danger > div > i { color: #D32F2F; }
.jt-toast-warning > div > i { color: #F9A825; }
.jt-toast-info > div > i { color: #1976D2; }
.jt-toast-action { color: var(--jt-link); font-weight: 700; text-decoration: none; }
.jt-confirm-icon { font-size: 2.2rem; color: var(--jt-accent); }

/* Flatpickr (seletor de datas) */
.flatpickr-calendar { background: var(--jt-surface); border-radius: var(--jt-radius-sm); box-shadow: var(--jt-shadow-lg); border: 1px solid var(--jt-border); color: var(--jt-text); font-family: var(--jt-font); }
.flatpickr-calendar.arrowTop::before, .flatpickr-calendar.arrowTop::after { border-bottom-color: var(--jt-border); }
.flatpickr-months .flatpickr-month, .flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-current-month input.cur-year, span.flatpickr-weekday { background: transparent; color: var(--jt-text); fill: var(--jt-text); }
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg { fill: var(--jt-text); }
.flatpickr-day { color: var(--jt-text); border-radius: 10px; }
.flatpickr-day:hover { background: var(--jt-surface-2); border-color: var(--jt-surface-2); }
.flatpickr-day.today { border-color: var(--jt-accent); }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: var(--jt-primary); border-color: var(--jt-primary); color: var(--jt-on-primary); }
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: var(--jt-muted); opacity: .45; }

/* Impressão */
@media print {
    .jt-navbar, .jt-footer, .jt-cart-bar, .jt-toasts, .no-print { display: none !important; }
    body { background: #fff; color: #000; }
}

.jt-icon-accent { color: var(--jt-accent); }

/* SweetAlert2 com as cores do tema (claro/escuro) */
.swal2-container { z-index: 2200; }
.swal2-popup.jt-swal {
    background: var(--jt-surface); color: var(--jt-text); border: 1px solid var(--jt-border);
    border-radius: var(--jt-radius); box-shadow: var(--jt-shadow-lg); font-family: var(--jt-font); padding: 1.5rem 1.25rem;
    width: min(92vw, 28rem);
}
.jt-swal .jt-swal-title { color: var(--jt-text); font-size: 1.35rem; font-weight: 800; padding: .25rem 0 0; }
.jt-swal .jt-swal-text { color: var(--jt-muted); font-size: 1rem; margin: .5rem 0 0; }
.jt-swal .jt-swal-actions { gap: .75rem; width: 100%; flex-wrap: wrap; margin-top: 1.25rem; }
.jt-swal .jt-swal-actions .btn { flex: 1 1 8rem; min-height: 46px; }
.jt-swal .swal2-icon { margin: .5rem auto 0; }
.jt-swal .swal2-icon.swal2-question { color: var(--jt-accent); border-color: var(--jt-accent); }
.jt-swal .swal2-icon.swal2-warning { color: #F9A825; border-color: #F9A825; }
.jt-swal .swal2-icon.swal2-info { color: #1976D2; border-color: #1976D2; }
.jt-swal .swal2-icon.swal2-success { color: var(--jt-primary); border-color: var(--jt-primary); }
.jt-swal .swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: var(--jt-primary); }
.jt-swal .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(var(--jt-primary-rgb), .3); }
.jt-swal .swal2-icon.swal2-success [class^='swal2-success-circular-line'] { background: transparent; }
.jt-swal .swal2-icon.swal2-error { color: #D32F2F; border-color: #D32F2F; }
.jt-swal .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: #D32F2F; }
