/* css/style.css */

input, button, textarea {
    outline: none;
}
input::placeholder, textarea::placeholder {
    color: #9b9b9b;
}

#chatInput {
    max-height: 120px;
}

.badge-pill {
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.65rem;
    border-width: 1px;
    border-style: solid;
}

.badge-free {
    background: rgba(34, 197, 94, 0.10);
    color: #bbf7d0;
    border-color: rgba(34, 197, 94, 0.5);
}

.badge-paid {
    background: rgba(245, 158, 11, 0.10);
    color: #fed7aa;
    border-color: rgba(245, 158, 11, 0.5);
}


/* Za fine scroll barove u chat prozoru i sidebaru */
.custom-scroll {
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: #303030 #181818;
}

.custom-scroll::-webkit-scrollbar {
    width: 8px;
}

.custom-scroll::-webkit-scrollbar-track {
    background: #181818;
}

.custom-scroll::-webkit-scrollbar-thumb {
    background-color: #303030;
    border-radius: 999px;
    border: 2px solid #181818;
}

.custom-scroll::-webkit-scrollbar-thumb:hover {
    background-color: #3a3a3a;
}

/* Blagi smooth scroll */
.scroll-smooth {
    scroll-behavior: smooth;
}

.drawer-hidden {
    transform: translateX(-100%);
}
.drawer-visible {
    transform: translateX(0);
}

.header-title-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.msg-h3 {
    font-weight: 600;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.msg-hr {
    border: none;
    border-top: 1px solid #333333;
    margin: 0.5rem 0;
}

.code-block {
    position: relative;
    background: #111111;
    border-radius: 0.75rem;
    padding: 1.75rem 0.75rem 0.75rem 0.75rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.75rem;
    border: 1px solid #333333;
    margin-top: 0.25rem;

    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.code-block code {
    background: transparent !important;
    white-space: pre-wrap;
    word-break: break-word;
}

.code-inline {
    background: #111111;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.75rem;
}

/* Copy dugme u gornjem desnom uglu code bloka */
.code-copy-btn {
    position: absolute;
    top: 0.35rem;
    right: 0.5rem;
    font-size: 0.65rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    border: 1px solid #444444;
    background: rgba(32, 32, 32, 0.95);
    color: #e5e5e5;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

.code-copy-btn:hover {
    background: #3a3a3a;
    transform: translateY(-1px);
}

.code-copy-btn:active {
    transform: translateY(0);
}

.image-download-btn {
    position: absolute;
    top: 0.35rem;
    right: 0.5rem;
    font-size: 0.65rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    border: 1px solid #444444;
    background: rgba(32, 32, 32, 0.95);
    color: #e5e5e5;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.image-download-btn:hover {
    background: #3a3a3a;
    transform: translateY(-1px);
}
.image-download-btn:active {
    transform: translateY(0);
}

.typing-bubble {
    position: relative;
    background: rgba(23, 23, 23, 0.7);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(64, 64, 64, 0.8);
}

.typing-bubble::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.0));
    animation: typing-shimmer 1.8s linear infinite;
}

@keyframes typing-shimmer {
    0% { left: -150%; }
    100% { left: 150%; }
}

@media (max-width: 640px) {
    input[type=text], input[type=email], input[type=password], textarea, select {
        font-size: 16px !important;
    }
}
