videofolxtv/client/src/index.css
sebastjanartic 970bcca9ec Improve spacing for video titles and thumbnails on mobile devices
Adjust CSS styles in index.css to optimize layout spacing for video titles and thumbnails on mobile viewports, specifically targeting elements with classes `md:hidden.flex.justify-center` and `text-lg.font-medium.text-bunny-light`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 946a0075-7e32-454b-b348-9e7f576d7f45
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/60d372ff-2c10-46c7-b01b-10c3435136b0/946a0075-7e32-454b-b348-9e7f576d7f45/JlONw6J
2025-09-04 12:44:05 +00:00

459 lines
11 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--background: hsl(222, 84%, 4.9%);
--foreground: hsl(210, 40%, 98%);
--muted: hsl(217, 32.6%, 17.5%);
--muted-foreground: hsl(215, 20.2%, 65.1%);
--popover: hsl(222, 84%, 4.9%);
--popover-foreground: hsl(210, 40%, 98%);
--card: hsl(222, 84%, 4.9%);
--card-foreground: hsl(210, 40%, 98%);
--border: hsl(217, 32.6%, 17.5%);
--input: hsl(217, 32.6%, 17.5%);
--primary: hsl(217, 91%, 60%);
--primary-foreground: hsl(222, 47%, 11%);
--secondary: hsl(217, 32.6%, 17.5%);
--secondary-foreground: hsl(210, 40%, 98%);
--accent: hsl(217, 32.6%, 17.5%);
--accent-foreground: hsl(210, 40%, 98%);
--destructive: hsl(0, 62.8%, 30.6%);
--destructive-foreground: hsl(210, 40%, 98%);
--ring: hsl(217, 91%, 60%);
--radius: 0.75rem;
/* Custom video app colors - Modern gradient theme */
--bunny-dark: hsl(250, 50%, 15%);
--bunny-gray: hsl(240, 30%, 25%);
--bunny-blue: hsl(200, 100%, 60%);
--bunny-purple: hsl(280, 80%, 60%);
--bunny-light: hsl(210, 40%, 98%);
--bunny-muted: hsl(215, 20.2%, 65.1%);
}
.dark {
--background: hsl(222, 84%, 4.9%);
--foreground: hsl(210, 40%, 98%);
--muted: hsl(217, 32.6%, 17.5%);
--muted-foreground: hsl(215, 20.2%, 65.1%);
--popover: hsl(222, 84%, 4.9%);
--popover-foreground: hsl(210, 40%, 98%);
--card: hsl(222, 84%, 4.9%);
--card-foreground: hsl(210, 40%, 98%);
--border: hsl(217, 32.6%, 17.5%);
--input: hsl(217, 32.6%, 17.5%);
--primary: hsl(217, 91%, 60%);
--primary-foreground: hsl(222, 47%, 11%);
--secondary: hsl(217, 32.6%, 17.5%);
--secondary-foreground: hsl(210, 40%, 98%);
--accent: hsl(217, 32.6%, 17.5%);
--accent-foreground: hsl(210, 40%, 98%);
--destructive: hsl(0, 62.8%, 30.6%);
--destructive-foreground: hsl(210, 40%, 98%);
--ring: hsl(217, 91%, 60%);
}
@layer base {
* {
@apply border-border;
}
body {
@apply font-sans antialiased bg-background text-foreground;
background: linear-gradient(135deg, hsl(250, 50%, 15%) 0%, hsl(240, 30%, 25%) 50%, hsl(260, 40%, 20%) 100%);
color: hsl(210, 40%, 98%);
min-height: 100vh;
/* iOS PWA optimizacije */
-webkit-touch-callout: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
overscroll-behavior: none;
}
}
@layer utilities {
.bunny-dark {
background: linear-gradient(135deg, hsl(250, 50%, 15%) 0%, hsl(240, 30%, 25%) 100%);
}
.bunny-gray {
background: linear-gradient(135deg, hsl(240, 30%, 25%) 0%, hsl(235, 25%, 30%) 100%);
}
.gradient-primary {
background: linear-gradient(135deg, hsl(200, 100%, 60%) 0%, hsl(280, 80%, 60%) 100%);
}
.gradient-card {
background: linear-gradient(135deg, rgba(75, 85, 175, 0.1) 0%, rgba(128, 90, 213, 0.1) 100%);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.bunny-blue {
background-color: hsl(217, 91%, 60%);
}
.bunny-light {
color: hsl(210, 40%, 98%);
}
.bunny-muted {
color: hsl(215, 20.2%, 65.1%);
}
.line-clamp-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* Hide scrollbars for Netflix-style horizontal scrolling */
.scrollbar-hide {
-ms-overflow-style: none; /* Internet Explorer 10+ */
scrollbar-width: none; /* Firefox */
}
.scrollbar-hide::-webkit-scrollbar {
display: none; /* Safari and Chrome */
}
/* Video player volume slider styles */
.slider {
-webkit-appearance: none;
background: transparent;
cursor: pointer;
}
.slider::-webkit-slider-track {
background: rgba(255, 255, 255, 0.2);
height: 4px;
border-radius: 2px;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
height: 12px;
width: 12px;
border-radius: 50%;
background: hsl(217, 91%, 60%);
cursor: pointer;
border: none;
}
.slider::-moz-range-track {
background: rgba(255, 255, 255, 0.2);
height: 4px;
border-radius: 2px;
border: none;
}
.slider::-moz-range-thumb {
height: 12px;
width: 12px;
border-radius: 50%;
background: hsl(217, 91%, 60%);
cursor: pointer;
border: none;
}
/* Animation delays for loading indicators */
.animation-delay-75 {
animation-delay: 75ms;
}
.animation-delay-150 {
animation-delay: 150ms;
}
}
/* Video edit modal styles */
.video-edit-modal input,
.video-edit-modal textarea,
.video-edit-modal select,
input[data-testid*="input-video"],
textarea[data-testid*="input-video"] {
background-color: #374151 !important;
color: #ffffff !important;
border-color: #6b7280 !important;
}
.video-edit-modal input::placeholder,
.video-edit-modal textarea::placeholder,
input[data-testid*="input-video"]::placeholder,
textarea[data-testid*="input-video"]::placeholder {
color: #d1d5db !important;
opacity: 1 !important;
}
.video-edit-modal {
background-color: #1f2937 !important;
}
.video-edit-modal label,
.video-edit-modal .text-gray-700,
.video-edit-modal .dark\:text-gray-300 {
color: #ffffff !important;
}
.video-edit-modal select,
select[data-testid*="select"],
.video-edit-modal [role="combobox"],
.video-edit-modal button[role="combobox"] {
background-color: #374151 !important;
color: #ffffff !important;
border-color: #6b7280 !important;
}
/* Search input styles */
input[type="search"],
input[placeholder*="Search"],
input[data-testid*="search"] {
background-color: rgba(55, 65, 81, 0.8) !important;
color: #ffffff !important;
border-color: #6b7280 !important;
}
input[type="search"]::placeholder,
input[placeholder*="Search"]::placeholder,
input[data-testid*="search"]::placeholder {
color: #d1d5db !important;
opacity: 1 !important;
}
/* Video card hover effects with gradients */
.video-card:hover {
transform: translateY(-2px);
transition: all 0.3s ease;
}
.video-card {
transition: all 0.3s ease;
background: linear-gradient(135deg, rgba(75, 85, 175, 0.05) 0%, rgba(128, 90, 213, 0.05) 100%);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 12px;
}
/* Modern button styles */
.gradient-button {
background: linear-gradient(135deg, hsl(200, 100%, 60%) 0%, hsl(280, 80%, 60%) 100%);
border: none;
color: white;
font-weight: 600;
border-radius: 8px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}
.gradient-button:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(59, 130, 246, 0.4);
}
/* Geometric triangle decorations */
.triangle-decoration-1 {
position: absolute;
width: 0;
height: 0;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
border-bottom: 50px solid rgba(59, 130, 246, 0.08);
transform: rotate(15deg);
z-index: 1;
}
.triangle-decoration-2 {
position: absolute;
width: 0;
height: 0;
border-left: 25px solid transparent;
border-right: 25px solid transparent;
border-bottom: 35px solid rgba(147, 51, 234, 0.08);
transform: rotate(-25deg);
z-index: 1;
}
.triangle-decoration-3 {
position: absolute;
width: 0;
height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-bottom: 40px solid rgba(6, 182, 212, 0.08);
transform: rotate(45deg);
z-index: 1;
}
/* Static triangle decorations - no animations to prevent jumping */
.static-triangles {
position: relative;
overflow: hidden;
}
/* Background go4.video logo decorations */
.bg-logo-large {
position: absolute;
width: clamp(200px, 20vw, 400px);
height: clamp(100px, 10vw, 200px);
background-image: url('@assets/go4_1756394900352.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
pointer-events: none;
z-index: 0;
user-select: none;
opacity: 0.15;
filter: blur(1px);
}
.bg-logo-medium {
position: absolute;
width: clamp(150px, 15vw, 300px);
height: clamp(75px, 7.5vw, 150px);
background-image: url('@assets/go4_1756394900352.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
pointer-events: none;
z-index: 0;
user-select: none;
opacity: 0.12;
filter: blur(0.5px);
}
.bg-logo-small {
position: absolute;
width: clamp(100px, 10vw, 200px);
height: clamp(50px, 5vw, 100px);
background-image: url('@assets/go4_1756394900352.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
pointer-events: none;
z-index: 0;
user-select: none;
opacity: 0.08;
filter: blur(0.5px);
}
/* Fixed header */
.header-sticky {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
z-index: 100 !important;
backdrop-filter: blur(8px);
background: rgba(30, 20, 40, 0.85) !important;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
width: 100% !important;
}
/* Add padding to body to account for fixed header */
.has-fixed-header {
padding-top: 80px;
}
/* Mobile specific adjustments for header */
@media (max-width: 768px) {
.header-sticky {
background: rgba(30, 20, 40, 0.95) !important;
backdrop-filter: blur(10px);
}
.has-fixed-header {
padding-top: 70px; /* Slightly less padding on mobile */
}
}
/* Container for main content layout */
.container {
max-width: 1400px; /* malo večja širina za več kartic */
margin: 0 auto; /* centriranje */
padding: 0 20px; /* malo notranjega roba */
}
/* iOS PWA safe area optimizacije */
@supports (padding: max(0px)) {
.has-fixed-header {
padding-top: max(80px, env(safe-area-inset-top));
}
}
/* PWA full screen optimizacije za iOS */
@media (display-mode: standalone) {
body {
/* Prepreči povlečenje za osvežitev na iOS */
overscroll-behavior-y: none;
/* Prilagodi safe area */
padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
.header-sticky {
top: env(safe-area-inset-top) !important;
}
}
/* Dodatne mobile optimizacije */
@media (max-width: 768px) {
/* Prepreči zoom pri fokusiranju input polj */
input, select, textarea {
font-size: 16px !important;
}
/* Optimiziraj touch targets za iOS */
button, a, [role="button"] {
min-height: 44px;
min-width: 44px;
}
/* Premakni video kartice malenkost navzgor na mobil */
[data-testid="grid-videos"] {
margin-top: -15px;
}
/* Zmanjšaj razmike med pikicami in naslovom na mobil */
.md\:hidden.flex.justify-center {
margin-top: 4px !important;
}
/* Zmanjšaj razmik od naslova do pikic na mobil */
.text-lg.font-medium.text-bunny-light {
margin-bottom: 4px !important;
}
}
/* Custom animations */
@keyframes slideLeftRight {
0%, 100% {
transform: translateX(-50%);
}
50% {
transform: translateX(150%);
}
}
/* Test grid overlay */
body.show-grid::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 9999;
background-image:
linear-gradient(rgba(255, 0, 0, 0.2) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 0, 0, 0.2) 1px, transparent 1px);
background-size: 20px 20px;
}