/* ArnonaBot - Custom Styles (orange / brown theme) */

* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }

body {
    background:
        radial-gradient(ellipse at top right, rgba(249, 115, 22, 0.10) 0%, transparent 50%),
        radial-gradient(ellipse at bottom left, rgba(124, 45, 18, 0.08) 0%, transparent 50%),
        #fff7ed;
    min-height: 100vh;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* Inputs */
.q-input {
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: 1.15rem;
    font-weight: 700;
    border: 2px solid #fed7aa;
    border-radius: 1rem;
    background: white;
    color: #431407;
    transition: all 0.2s;
    direction: rtl;
    text-align: right;
}
.q-input::placeholder { color: #fdba74; font-weight: 400; font-size: 1rem; }
.q-input:focus {
    outline: none;
    border-color: #f97316;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15);
}

/* Choice cards */
.choice-card {
    display: flex; align-items: center; gap: 1rem; width: 100%;
    padding: 1.1rem 1.4rem;
    border: 2px solid #ffedd5;
    border-radius: 1rem; background: white;
    text-align: right; font-weight: 700; font-size: 1.05rem;
    color: #431407; transition: all 0.2s; cursor: pointer;
}
.choice-card:hover {
    border-color: #f97316; transform: translateX(-4px);
    box-shadow: 0 8px 20px -8px rgba(249, 115, 22, 0.35);
}
.choice-card.selected {
    border-color: #ea580c;
    background: linear-gradient(135deg, #fff7ed 0%, #fff 100%);
    box-shadow: 0 8px 20px -8px rgba(234, 88, 12, 0.4);
}
.choice-card .emoji { font-size: 1.6rem; flex-shrink: 0; }

/* Upload slots */
.drop-zone {
    border: 3px dashed #fdba74;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    padding: 1.5rem 1rem; text-align: center; cursor: pointer;
    transition: all 0.2s ease;
}
.drop-zone:hover { border-color: #ea580c; background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%); }
.drop-zone.filled { border-style: solid; border-color: #16a34a; background: #f0fdf4; }
.drop-zone.dragging { border-color: #ea580c; background: #fed7aa; }

/* Loader */
.loader-overlay {
    position: fixed; inset: 0;
    background: rgba(67, 20, 7, 0.85);
    backdrop-filter: blur(8px);
    z-index: 9999; display: none;
    align-items: center; justify-content: center; flex-direction: column;
    gap: 1.5rem; color: white;
}
.loader-overlay.active { display: flex; }
.loader-spinner {
    width: 64px; height: 64px;
    border: 5px solid rgba(249, 115, 22, 0.2);
    border-top-color: #f97316; border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.loader-text { font-size: 1.2rem; font-weight: 700; text-align: center; max-width: 340px; }

/* Errors */
.error-msg { color: #dc2626; font-size: 0.9rem; font-weight: 600; margin-top: 0.5rem; display: none; }
.error-msg.show { display: block; }

/* Animations */
@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 30px rgba(245, 158, 11, 0.4); }
    50% { box-shadow: 0 0 60px rgba(245, 158, 11, 0.8); }
}
.animate-pulse-glow { animation: pulse-glow 3s ease-in-out infinite; }

@keyframes gradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.animate-gradient { background-size: 200% auto; animation: gradient 8s ease infinite; }

@media (max-width: 640px) {
    .q-input { font-size: 1.05rem; padding: 0.875rem 1rem; }
    .choice-card { padding: 0.95rem 1.1rem; font-size: 1rem; }
}
