/* Custom Styles for Gsocial */


@font-face {
    font-family: 'Outfit';
    src: url('/assets/webfonts/Outfit-VariableFont_wght.woff2') format('woff2');
    font-weight: 200 900;
    font-style: normal;
    font-display: swap;
}

html {
    overflow-y: scroll;
    /* Immer Scrollbar reservieren */
}


body {
    font-family: 'Outfit', sans-serif;
    
}

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #1a1a1a;
}

::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #3a3a3a;
}

/* Smooth Transitions */
* {
    transition-property: color, background-color, border-color;
    transition-duration: 150ms;
    transition-timing-function: ease-in-out;
}

/* Focus Styles */
input:focus,
textarea:focus,
select:focus,
button:focus {
    outline: none;
}

/* Animation for new posts */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.post-enter {
    animation: slideIn 0.3s ease-out;
}

/* Hover Effects */
button:not(:disabled) {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
}

/* Image Upload Preview */
input[type="file"] {
    cursor: pointer;
}

/* Profile Picture Styles */
img {
    user-select: none;
    -webkit-user-drag: none;
}

img.emoji {
    height: 1.1em;
    width: 1.1em;
    margin: 0 .05em 0 .1em;
    vertical-align: -0.2em;
    display: inline-block;
}

/* Text Selection */
::selection {
    background-color: var(--primary-color);
    color: white;
}

/* Loading State */
.loading {
    pointer-events: none;
    opacity: 0.6;
}


/* Transition für Opacity */
.transition-opacity {
    transition: opacity 1s ease-in;
}

/* Pulse Animation */
@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Link Styles */
a {
    color: var(--primary-color);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Card Hover Effect */
.hover-lift {
    transition: transform 0.2s ease-in-out;
}

.hover-lift:hover {
    transform: translateY(-2px);
}



/* Dark Mode Enhancements */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Checkbox/Radio Styles */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--primary-color);
}

/* Placeholder Styles */
::placeholder {
    color: oklch(87.2% 0.01 258.338);
    opacity: 1;
}

input:focus::placeholder,
textarea:focus::placeholder {
  color: oklch(0.742 0.01 258.338);
}

/* Mobile Optimizations */
@media (max-width: 768px) {
    .max-w-4xl {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 5rem;
        /* Space for bottom navbar */
    }
}

/* Prevent text overflow */
.break-words {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Loading Spinner */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.spinner {
    animation: spin 1s linear infinite;
}

[x-cloak] {
    display: none !important;
}

.bg-primary:hover {
    background-color: var(--primary-hover);
}

.post-sel-btn:hover {
  background-color: color-mix(
    in srgb,
    var(--primary-hover) 20%,
    transparent
  );
}

#bg {
    position: fixed;
    inset: 0;
    z-index: -1;
}

.glass-dark {
  background: rgba(20, 20, 20, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}