/* Custom styles beyond Tailwind */

/* Smooth progress bar */
#progress-bar {
    transition: width 0.3s ease;
}

/* Loading spinner for button */
.btn-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.btn-loading::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
    border: 2px solid transparent;
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Hide ad slot if empty */
.ad-slot:empty {
    display: none;
}

/* RTL support */
[dir="rtl"] .flex {
    flex-direction: row-reverse;
}

[dir="rtl"] input {
    text-align: right;
}

/* FAQ toggle */
details summary::-webkit-details-marker {
    display: none;
}
