/* Shared Rahul Travels UI primitives for public and customer-facing pages. */

.rt-ui-alert {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0 0 20px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    line-height: 1.45;
}

.rt-ui-alert-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.rt-ui-alert-title {
    display: block;
    margin: 1px 0 3px;
    color: inherit;
    font-size: 0.95rem;
    font-weight: 800;
}

.rt-ui-alert-content {
    min-width: 0;
    color: inherit;
    font-size: 0.88rem;
    font-weight: 600;
}

.rt-ui-alert-content ul {
    margin: 4px 0 0;
    padding-left: 20px;
}

.rt-ui-alert-error {
    border-color: #e58a99;
    background: #fff0f2;
    color: #6f1525;
}

.rt-ui-alert-error .rt-ui-alert-icon {
    background: #b4233d;
    color: #fff;
}

.rt-ui-alert-success {
    border-color: #79b99a;
    background: #edf9f2;
    color: #145c36;
}

.rt-ui-alert-success .rt-ui-alert-icon {
    background: #177245;
    color: #fff;
}

.rt-ui-alert-warning {
    border-color: #e3bd4f;
    background: #fff8df;
    color: #5f4700;
}

.rt-ui-alert-warning .rt-ui-alert-icon {
    background: #8a6900;
    color: #fff;
}

.rt-ui-alert-info {
    border-color: #7aaabd;
    background: #edf8fb;
    color: #164f64;
}

.rt-ui-alert-info .rt-ui-alert-icon {
    background: #236b82;
    color: #fff;
}

html[data-theme="dark"] .rt-ui-alert-error {
    border-color: rgba(255, 130, 150, 0.48);
    background: rgba(112, 20, 38, 0.34);
    color: #ffd9df;
}

html[data-theme="dark"] .rt-ui-alert-success {
    border-color: rgba(94, 201, 145, 0.42);
    background: rgba(20, 92, 54, 0.3);
    color: #d4f6e3;
}

html[data-theme="dark"] .rt-ui-alert-warning {
    border-color: rgba(255, 207, 74, 0.4);
    background: rgba(95, 71, 0, 0.32);
    color: #fff0b0;
}

html[data-theme="dark"] .rt-ui-alert-info {
    border-color: rgba(104, 192, 222, 0.4);
    background: rgba(22, 79, 100, 0.34);
    color: #d8f4ff;
}

.swal2-container.rt-ui-dialog-backdrop {
    background: rgba(8, 10, 13, 0.68);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.swal2-popup.rt-ui-dialog {
    width: min(440px, calc(100vw - 32px));
    padding: 30px 28px 26px;
    border: 1px solid rgba(255, 255, 255, 0.88);
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(246, 246, 242, 0.9)),
        #fff;
    color: #121315;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), inset 0 1px 0 #fff;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
}

.rt-ui-dialog .swal2-title {
    padding: 0;
    color: #121315;
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: 0;
}

.rt-ui-dialog .swal2-html-container {
    margin: 10px 0 0;
    color: #505761;
    font-size: 0.95rem;
    line-height: 1.6;
}

.rt-ui-dialog .swal2-icon {
    margin: 2px auto 22px;
}

.rt-ui-dialog .swal2-actions {
    margin: 24px 0 0;
}

.rt-ui-dialog-action {
    min-width: 132px;
    min-height: 46px;
    padding: 10px 22px;
    border: 1px solid rgba(255, 245, 191, 0.82);
    border-radius: 999px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.04)),
        #ffc400;
    color: #111214;
    box-shadow: 0 12px 28px rgba(17, 18, 20, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.62);
    font: 800 0.9rem 'Plus Jakarta Sans', Arial, sans-serif;
    cursor: pointer;
}

.rt-ui-dialog-action:hover {
    background-color: #ffd43b;
    transform: translateY(-1px);
}

.rt-ui-dialog .swal2-close {
    color: #62666d;
}

.rt-ui-dialog .swal2-close:hover {
    color: #121315;
}

@media (max-width: 576px) {
    .rt-ui-alert {
        grid-template-columns: 32px minmax(0, 1fr);
        padding: 13px 14px;
    }

    .rt-ui-alert-icon {
        width: 32px;
        height: 32px;
    }

    .swal2-popup.rt-ui-dialog {
        padding: 26px 20px 22px;
    }
}
