/* DiziPal1 - Dizi & Film Platformu */ :root { --bg-dark: #100A0A; --bg-darker: #0C0606; --bg-card: #1F1212; --bg-card-hover: #2E1818; --bg-input: #1A0D0D; --accent: #EF4444; --accent-hover: #F87171; --accent-glow: rgba(239, 68, 68, 0.15); --accent-subtle: rgba(239, 68, 68, 0.08); --text-primary: #ffffff; --text-secondary: #b3b3b3; --text-muted: #9a9a9a; --border: rgba(239, 68, 68, 0.12); --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-full: 9999px; --shadow: 0 4px 12px rgba(0, 0, 0, 0.5); --shadow-glow: 0 0 20px rgba(239, 68, 68, 0.15); --transition: 0.2s ease; --container-max: 1280px; --container-padding: 24px; } .body-dark { background-color: #0B0505; } .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; font-display: block; overflow: hidden; } .material-symbols-outlined.filled { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: var(--bg-dark); color: var(--text-primary); line-height: 1.5; min-height: 100vh; } a { color: inherit; text-decoration: none; } img { max-width: 100%; height: auto; display: block; } button { font-family: inherit; cursor: pointer; border: none; background: none; } /* Announcement bar */ .announcement-bar { background: var(--accent); color: white; text-align: center; padding: 10px 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; border-bottom: 1px solid rgba(0,0,0,0.1); } /* Header */ .site-header { position: sticky; top: 0; z-index: 1000; background: #16141f; border-bottom: 1px solid rgba(239, 68, 68, 0.08); max-width: var(--container-max); margin: 0 auto; border-radius: 0 0 var(--radius-md) var(--radius-md); border-left: 1px solid rgba(239, 68, 68, 0.06); border-right: 1px solid rgba(239, 68, 68, 0.06); } .site-header-compact .header-inner { height: 56px; } .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); height: 64px; } .logo { font-family: 'Inter', sans-serif; font-size: 1.25rem; font-weight: 700; color: #EF4444; text-decoration: none; letter-spacing: -0.01em; transition: opacity var(--transition); } .logo:hover { opacity: 0.8; color: #EF4444; } .nav-icon { font-size: 18px; margin-right: 2px; } .main-nav { display: flex; align-items: center; gap: 8px; } .nav-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; font-size: 0.875rem; font-weight: 500; color: #b3b3b3; border-radius: var(--radius-sm); transition: color var(--transition), background var(--transition); } .nav-link:hover { color: #ffffff; } .nav-link.active { color: var(--accent); position: relative; } .nav-link.active::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 20px; height: 2px; background: var(--accent); border-radius: 2px; } .nav-link .nav-icon { color: #808080; } .nav-link:hover .nav-icon, .nav-link.active .nav-icon { color: inherit; } .dropdown-arrow { transition: transform var(--transition); display: inline-block; } .nav-dropdown.open .dropdown-arrow { transform: rotate(180deg); } .nav-dropdown { position: relative; } .dropdown-menu { position: absolute; top: 100%; left: 0; margin-top: 4px; min-width: 200px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 8px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity var(--transition), visibility var(--transition), transform var(--transition); } .nav-dropdown.open .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown-item { display: block; padding: 10px 12px; font-size: 0.875rem; color: var(--text-primary); border-radius: var(--radius-sm); transition: background var(--transition); } .dropdown-item:hover { background: var(--bg-card-hover); } .dropdown-menu-wide { min-width: 320px; } .dropdown-turler-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .dropdown-turler-col { display: flex; flex-direction: column; gap: 4px; } .dropdown-turler-label { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; } /* Platformlar Dropdown - 2 Kolon Grid + Logo */ .dropdown-platforms { min-width: 440px; padding: 10px; } .dropdown-platforms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; } .dropdown-platform-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 0.875rem; color: var(--text-primary); border-radius: var(--radius-sm); transition: background var(--transition); text-decoration: none; } .dropdown-platform-item:hover { background: var(--bg-card-hover); } .platform-logo { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex-shrink: 0; } .platform-logo svg, .platform-logo img { width: 100%; height: 100%; object-fit: contain; } .platform-name { font-weight: 500; white-space: nowrap; } /* Mobil Platform Grid */ .mobile-platforms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px 0; } .mobile-platform-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; font-size: 0.875rem; color: var(--text-secondary); border-radius: var(--radius-sm); transition: background var(--transition), color var(--transition); text-decoration: none; } .mobile-platform-item:hover { background: rgba(255, 255, 255, 0.05); color: var(--text-primary); } .mobile-platform-item .platform-logo { width: 20px; height: 20px; } @media (max-width: 480px) { .dropdown-platforms { min-width: 280px; } .mobile-platforms-grid { grid-template-columns: 1fr 1fr; } } .header-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; } .header-search-wrapper { position: relative; flex: 1; max-width: 340px; display: none; } .header-search-inline { display: flex; align-items: center; background: #333333; border-radius: var(--radius-md); overflow: hidden; } .header-search-inline input { flex: 1; min-width: 0; background: transparent; border: none; outline: none; color: var(--text-primary); padding: 10px 14px; font-size: 0.9rem; } .header-search-inline input::placeholder { color: #808080; } .header-search-btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #333333; border: none; color: #808080; cursor: pointer; transition: color var(--transition); } .header-search-btn:hover { color: var(--accent); } .header-search-btn .material-symbols-outlined { font-size: 22px; } /* Geriye uyumluluk */ .header-search { display: flex; align-items: center; gap: 8px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 8px 14px; min-width: 260px; } .header-search svg { color: var(--text-muted); } .header-search input { background: transparent; border: none; outline: none; color: var(--text-primary); width: 100%; font-size: 0.9rem; } .header-search-results { position: absolute; top: 100%; left: 0; right: 0; margin-top: 4px; width: 100%; min-width: 280px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); padding: 12px 0; max-height: 360px; overflow-y: auto; z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity var(--transition), visibility var(--transition), transform var(--transition); } .header-search-results.open { opacity: 1; visibility: visible; transform: translateY(0); } .header-search-item { display: flex; gap: 10px; padding: 10px 16px; color: var(--text-primary); text-decoration: none; transition: background var(--transition); } .header-search-item:hover { background: var(--bg-card-hover); } .header-search-item .thumb { width: 42px; height: 58px; border-radius: var(--radius-sm); overflow: hidden; background: var(--bg-input); flex-shrink: 0; } .header-search-item .thumb img { width: 100%; height: 100%; object-fit: cover; } .header-search-item .title { font-weight: 600; font-size: 0.9rem; } .header-search-item .info { font-size: 0.75rem; color: var(--text-muted); } .header-search-empty { padding: 12px 16px; font-size: 0.9rem; color: var(--text-muted); } .header-btn { padding: 8px 16px; font-size: 0.875rem; font-weight: 500; color: var(--text-primary); border-radius: var(--radius-md); transition: background var(--transition); } .header-btn:hover { background: var(--bg-card); } .header-user-dropdown { position: relative; } .header-user-icon-btn { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #333333; border: none; border-radius: var(--radius-md); color: #b3b3b3; transition: background var(--transition), color var(--transition); } .header-user-icon-btn:hover { background: #404040; color: white; } .header-login-btn { display: inline-flex; align-items: center; gap: 5px; padding: 7px 16px; background: var(--accent); color: #fff; border: none; border-radius: var(--radius-md, 8px); font-size: 0.85rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: opacity 0.2s, transform 0.2s; } .header-login-btn:hover { opacity: 0.9; transform: translateY(-1px); } .header-user-avatar { width: 24px; height: 24px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: transparent; } .header-user-avatar img { width: 100%; height: 100%; object-fit: cover; } .header-user-avatar .material-symbols-outlined { font-size: 22px; } /* Geriye uyumluluk */ .header-user-btn { display: flex; align-items: center; gap: 8px; padding: 6px 12px; font-size: 0.875rem; font-weight: 500; color: var(--text-primary); background: transparent; border-radius: var(--radius-md); transition: background var(--transition); } .header-user-btn:hover { background: var(--bg-card); } .header-user-btn .dropdown-arrow { margin-left: 4px; transition: transform var(--transition); } .header-user-dropdown.open .header-user-btn .dropdown-arrow { transform: rotate(180deg); } .header-user-menu { position: absolute; top: 100%; right: 0; margin-top: 6px; min-width: 180px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 8px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity var(--transition), visibility var(--transition), transform var(--transition); } .header-user-dropdown.open .header-user-menu { opacity: 1; visibility: visible; transform: translateY(0); } .header-user-menuitem { display: block; padding: 10px 12px; font-size: 0.9375rem; color: var(--text-primary); border-radius: var(--radius-sm); transition: background var(--transition); } .header-user-menuitem:hover { background: var(--bg-input); } .header-icon-btn { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--text-primary); border-radius: var(--radius-md); transition: background var(--transition), color var(--transition); } .header-icon-btn:hover { background: var(--bg-card); color: var(--accent); } .hamburger-btn { display: none; } .hamburger-btn .close-icon { display: none; } .hamburger-btn.open .hamburger-icon { display: none; } .hamburger-btn.open .close-icon { display: block; } /* Mobil Menü - DiziPAL Style (Sağdan kayan panel) */ .mobile-nav-backdrop { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.5); z-index: 1499; opacity: 0; transition: opacity 0.2s ease; } .mobile-nav-backdrop.open { display: block; opacity: 1; } .mobile-nav-overlay { position: fixed; top: 0; right: 0; bottom: 0; width: 280px; max-height: 100vh; z-index: 1500; background: #0f0f0f; padding: 18px; transform: translateX(100%); transition: transform 0.2s ease; overflow-y: auto; border-left: 1px solid rgba(255, 255, 255, 0.06); box-shadow: -5px 0 20px rgba(0, 0, 0, 0.3); visibility: hidden; } .mobile-nav-overlay.open { transform: translateX(0); visibility: visible; } .mobile-nav { display: flex; flex-direction: column; list-style: none; } .mobile-nav-link { display: flex; align-items: center; gap: 10px; padding: 10px; font-size: 14px; font-weight: 500; color: var(--text-primary); border-radius: 4px; transition: background 0.2s, color 0.2s; border: none; background: none; cursor: pointer; width: 100%; text-align: left; font-family: inherit; } .mobile-nav-link:hover, .mobile-nav-link.active { background: rgba(255, 255, 255, 0.04); color: var(--accent, #EF4444); } .mobile-nav-icon { font-size: 18px; color: #888; flex-shrink: 0; } .mobile-nav-link:hover .mobile-nav-icon, .mobile-nav-link.active .mobile-nav-icon { color: var(--accent, #EF4444); } /* Mobile nav dropdown */ .mobile-nav-dropdown-toggle { justify-content: flex-start; } .mobile-nav-arrow { margin-left: auto; font-size: 18px; color: #666; transition: transform 0.2s ease; } .mobile-nav-dropdown.open .mobile-nav-arrow { transform: rotate(180deg); } .mobile-nav-dropdown-menu { display: none; padding-left: 25px; flex-direction: column; } .mobile-nav-dropdown.open .mobile-nav-dropdown-menu { display: flex; } .mobile-nav-sublink { display: block; padding: 8px 10px; font-size: 13px; font-weight: 400; color: #999; transition: color 0.2s; text-decoration: none; } .mobile-nav-sublink:hover { color: var(--accent, #EF4444); } .mobile-nav-divider { border-top: 1px solid rgba(255, 255, 255, 0.06); margin: 10px 0; } /* Homepage - Stitch tasarım */ .homepage-layout .site-header { border-bottom-color: rgba(255,255,255,0.05); } .homepage-boxed { max-width: var(--container-max); margin: 24px auto 48px; padding: 0; background: var(--bg-card); border-radius: var(--radius-lg); border: 1px solid rgba(239, 68, 68, 0.1); box-shadow: 0 4px 24px rgba(0,0,0,0.4), 0 0 60px rgba(239, 68, 68, 0.04); overflow: hidden; } @media (max-width: 768px) { .homepage-boxed { margin: 16px 12px 32px; border-radius: var(--radius-md); } } .homepage-hero { padding: 48px var(--container-padding) 40px; display: flex; flex-direction: column; align-items: center; gap: 40px; } .homepage-hero-logo { display: flex; align-items: center; gap: 12px; } .homepage-logo-image { height: 64px; width: auto; max-width: 320px; object-fit: contain; } .homepage-logo-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 24px rgba(239, 68, 68, 0.25); } .homepage-logo-icon .material-symbols-outlined { font-size: 32px; color: white; } .homepage-logo-text { font-size: 3rem; font-weight: 900; font-style: italic; letter-spacing: -0.04em; color: white; } .homepage-search-wrap { position: relative; width: 100%; max-width: 640px; } .homepage-search { position: relative; } .homepage-search input { width: 100%; background: var(--bg-input); border: 1px solid rgba(255,255,255,0.05); border-radius: var(--radius-md); padding: 14px 20px 14px 20px; padding-right: 52px; color: white; font-size: 0.9375rem; transition: border-color var(--transition), box-shadow var(--transition); } .homepage-search input::placeholder { color: var(--text-muted); } .homepage-search input:focus { outline: none; border-color: rgba(239, 68, 68, 0.5); box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2); } .homepage-search-btn { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 8px; transition: color var(--transition); } .homepage-search-btn:hover { color: var(--accent); } .homepage-search-wrap .header-search-results { left: 0; right: 0; top: 100%; width: 100%; margin-top: 4px; } .homepage-main { padding: 0 var(--container-padding) 64px; } .homepage-main-h1 { font-size: 1rem; font-weight: 600; color: var(--text-muted); text-align: center; padding: 18px 0 4px; letter-spacing: 0.02em; } .homepage-section { margin-bottom: 64px; } .homepage-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; } .homepage-section-title { font-size: clamp(1rem, 2.5vw, 1.25rem); font-weight: 700; display: flex; align-items: center; gap: 8px; } .homepage-section-title .material-symbols-outlined { color: var(--accent); } .homepage-section-link { font-size: 0.75rem; font-weight: 700; color: var(--accent); } .homepage-section-link:hover { text-decoration: underline; } .homepage-section-btn { background: var(--bg-card); padding: 8px 16px; font-size: 0.75rem; font-weight: 700; color: white; border-radius: var(--radius-md); transition: background var(--transition); } .homepage-section-btn:hover { background: rgba(255,255,255,0.1); } .section-more-btn-wrap { display: flex; justify-content: center; margin-top: 28px; } .section-more-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; background: var(--accent-subtle); border: 1px solid rgba(239, 68, 68, 0.3); color: var(--accent-hover); font-size: 0.9rem; font-weight: 600; border-radius: var(--radius-md); transition: background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition); } .section-more-btn .material-symbols-outlined { font-size: 1.1rem; } .section-more-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; transform: translateY(-2px); box-shadow: 0 4px 20px var(--accent-glow); } /* Trend carousel */ .trend-carousel-wrapper { position: relative; } .trend-carousel-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.65); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--radius-md); color: #fff; cursor: pointer; transition: background 0.2s, border-color 0.2s; } .trend-carousel-nav:hover { background: rgba(0, 0, 0, 0.85); border-color: var(--accent); } .trend-carousel-nav .material-symbols-outlined { font-size: 24px; } .trend-carousel-prev { left: 0; } .trend-carousel-next { right: 0; } @media (max-width: 639px) { .trend-carousel-nav { width: 36px; height: 36px; } .trend-carousel-nav .material-symbols-outlined { font-size: 20px; } } .trend-carousel { overflow: hidden; } .trend-carousel-inner { display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; padding: 8px 52px 16px; scroll-snap-type: x mandatory; cursor: grab; -webkit-overflow-scrolling: touch; touch-action: pan-y; } .trend-carousel-inner:active { cursor: grabbing; } .trend-carousel-inner::-webkit-scrollbar { display: none; } .trend-carousel-inner { -ms-overflow-style: none; scrollbar-width: none; } .trend-card { flex: 0 0 201px; position: relative; scroll-snap-align: start; display: block; } .trend-number { position: absolute; left: 0; bottom: 0; z-index: 0; padding: 0; margin: 0; font-size: 175px; font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; color: rgba(255, 255, 255, 0.12); font-family: "Inter", system-ui, sans-serif; pointer-events: none; } .trend-card-poster { position: relative; z-index: 1; margin-left: 71px; aspect-ratio: 2/3; border-radius: var(--radius-md); overflow: hidden; border: 1px solid rgba(255,255,255,0.1); transition: border-color var(--transition); } .trend-card:hover .trend-card-poster { border-color: var(--accent); } .trend-card-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, transparent 70%); } .trend-card-overlay-bottom { padding: 10px 8px 8px; } .trend-card-overlay .badge { position: absolute; top: 8px; left: 8px; } .trend-card-overlay .trend-card-title { margin: 0 0 4px; font-size: 0.8125rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .trend-card-meta { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; color: rgba(255,255,255,0.9); } .trend-card-overlay .grid-card-rating .material-symbols-outlined { font-size: 12px; color: #f5c518; } .trend-card-overlay .grid-card-year { color: rgba(255,255,255,0.9); } .trend-card:hover .trend-card-overlay .trend-card-title { color: var(--accent); } .trend-card-poster img { width: 100%; height: 100%; object-fit: cover; } /* Homepage grid */ .homepage-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; } @media (min-width: 640px) { .homepage-grid { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 768px) { .homepage-grid { grid-template-columns: repeat(4, 1fr); } } @media (min-width: 1024px) { .homepage-grid { grid-template-columns: repeat(6, 1fr); } } .homepage-card { display: block; } .homepage-card:hover .homepage-card-title { color: var(--accent); } .homepage-card-poster { position: relative; aspect-ratio: 2/3; border-radius: var(--radius-md); overflow: hidden; } .homepage-card-poster img { width: 100%; height: 100%; object-fit: cover; } .homepage-card-badges { position: absolute; top: 8px; left: 8px; display: flex; gap: 4px; } .badge { font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 4px; color: white; } .badge-dizi { background: #3b82f6; } .badge-film { background: #EF4444; } .badge-anime { background: #ec4899; } .badge-yeni { background: #10b981; } .homepage-card-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, transparent 70%); } .homepage-card-overlay-bottom { padding: 12px 10px 10px; } .homepage-card-meta-row { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; } .homepage-card-overlay .homepage-card-title { color: #fff; margin: 0 0 6px; } .homepage-card-overlay .meta-rating, .homepage-card-overlay .meta-year { background: transparent; padding: 0; color: rgba(255,255,255,0.95); } .homepage-card-overlay .meta-rating .material-symbols-outlined { color: #f5c518; } .homepage-card-meta { position: absolute; bottom: 8px; left: 8px; right: 8px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 700; } .meta-rating { display: inline-flex; align-items: center; gap: 2px; background: rgba(0,0,0,0.6); padding: 2px 6px; border-radius: 4px; } .meta-rating .material-symbols-outlined { font-size: 12px; color: #f5c518; } .meta-year { background: rgba(0,0,0,0.6); padding: 2px 6px; border-radius: 4px; } .homepage-card-title { font-size: 0.9375rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color var(--transition); } /* Son bölümler */ .homepage-section-episodes { background: var(--bg-darker); padding: 24px; border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,0.05); } .episodes-grid-home { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; } @media (min-width: 768px) { .episodes-grid-home { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 1024px) { .episodes-grid-home { grid-template-columns: repeat(4, 1fr); } } .episode-row-home { display: flex; flex-direction: row; align-items: center; border-radius: var(--radius-md); overflow: hidden; transition: background var(--transition); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); text-decoration: none; color: inherit; } .episode-row-home:hover { background: rgba(255,255,255,0.08); } .episode-row-home:hover .episode-row-title { color: var(--accent); } .episode-row-thumb { width: 72px; min-width: 72px; height: 72px; flex-shrink: 0; overflow: hidden; position: relative; } @media (min-width: 768px) { .episode-row-thumb { width: 80px; min-width: 80px; height: 80px; } } .episode-new-badge { position: absolute; top: 4px; left: 4px; background: rgba(239, 68, 68, 0.9); color: #fff; font-size: 8px; font-weight: 600; padding: 2px 5px; border-radius: 3px; z-index: 2; text-transform: uppercase; letter-spacing: 0.3px; } .episode-row-thumb img { width: 100%; height: 100%; object-fit: cover; } .episode-row-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; } .episode-row-title { font-size: 0.85rem; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; transition: color var(--transition); color: #fff; } .episode-row-detail { font-size: 0.75rem; color: var(--text-muted); } .episode-row-time { font-size: 0.7rem; color: var(--accent); } /* Hero Section - Boxed Card */ .hero { padding: 24px var(--container-padding) 40px; } .hero-slider { position: relative; max-width: var(--container-max); margin: 0 auto; } .hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.5s ease, visibility 0.5s ease; } .hero-slide.active { position: relative; opacity: 1; visibility: visible; } .hero-slider-prev, .hero-slider-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.5); color: white; border-radius: var(--radius-full); border: none; cursor: pointer; transition: background var(--transition), transform var(--transition); } .hero-slider-prev:hover, .hero-slider-next:hover { background: var(--accent); transform: translateY(-50%) scale(1.05); } .hero-slider-prev { left: -16px; } .hero-slider-next { right: -16px; } .hero-slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; } .hero-slider-dot { width: 8px; height: 8px; border-radius: var(--radius-full); background: var(--bg-card); border: 1px solid var(--border); cursor: pointer; padding: 0; transition: background var(--transition), transform var(--transition); } .hero-slider-dot:hover { background: var(--text-muted); } .hero-slider-dot.active { background: var(--accent); border-color: var(--accent); transform: scale(1.2); } .hero-boxed { max-width: var(--container-max); margin: 0 auto; display: flex; align-items: stretch; background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow); } .hero-boxed-content { flex: 1; min-width: 0; padding: 40px 32px; display: flex; flex-direction: column; justify-content: center; } .hero-boxed-visual { flex: 0 0 55%; max-width: 55%; position: relative; overflow: hidden; aspect-ratio: 16/9; } .hero-boxed-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, var(--bg-card) 0%, transparent 40%); pointer-events: none; } .hero-boxed-visual picture { position: absolute; inset: 0; display: block; } .hero-boxed-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } .hero-badge { display: inline-block; padding: 4px 12px; margin-bottom: 16px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; background: var(--accent); color: white; border-radius: var(--radius-sm); } .hero-title { font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 700; margin-bottom: 12px; line-height: 1.2; } .hero-desc { max-width: 520px; font-size: 1rem; color: var(--text-secondary); margin-bottom: 24px; line-height: 1.6; } .btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; font-size: 0.9375rem; font-weight: 600; border-radius: var(--radius-md); transition: background var(--transition), transform var(--transition); } .btn-primary { background: var(--bg-card); color: var(--text-primary); } .btn-primary:hover { background: var(--bg-card-hover); transform: scale(1.02); } .btn-primary svg { flex-shrink: 0; } .btn-accent { background: var(--accent); color: white; } .btn-accent:hover { background: var(--accent-hover); transform: scale(1.02); } .btn-disabled { opacity: 0.6; cursor: not-allowed; pointer-events: none; } .btn-accent svg { flex-shrink: 0; } /* Carousel */ .carousel-section { padding: 40px var(--container-padding); } .carousel-section:first-of-type { padding-top: 24px; } .section-title { font-size: 1.375rem; font-weight: 700; margin-bottom: 20px; color: var(--text-primary); letter-spacing: -0.03em; } .carousel-container { position: relative; max-width: var(--container-max); margin: 0 auto; } .carousel { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 0; -webkit-overflow-scrolling: touch; cursor: grab; } .carousel::-webkit-scrollbar { display: none; } .carousel-card { flex: 0 0 180px; scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0; } .carousel-card-link { display: block; border-radius: var(--radius-md); overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .carousel-card-link:hover { transform: scale(1.04) translateY(-2px); z-index: 10; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45); } .carousel-card-poster { position: relative; aspect-ratio: 2/3; background: var(--bg-card); overflow: hidden; } .carousel-card-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 50%); opacity: 0; transition: opacity 0.35s ease; } .carousel-card-link:hover .carousel-card-poster::after { opacity: 1; } .carousel-card-poster .carousel-poster-img { width: 100%; height: 100%; object-fit: cover; object-position: center; } .carousel-card-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.35); opacity: 0; transition: opacity 0.35s ease; } .carousel-card-link:hover .carousel-card-play { opacity: 1; } .carousel-card-play svg { width: 56px; height: 56px; color: var(--accent); filter: drop-shadow(0 2px 8px rgba(239, 68, 68, 0.4)); transition: transform 0.25s ease; } .carousel-card-link:hover .carousel-card-play svg { transform: scale(1.08); } .carousel-card-info { padding: 12px 0 4px; flex: 1; } .carousel-card-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .carousel-card-meta { font-size: 0.8125rem; color: var(--text-secondary); margin-bottom: 8px; } .carousel-card-genres { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; } .carousel-genre-tag { display: inline-block; font-size: 0.75rem; color: var(--text-secondary); padding: 4px 10px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-full); transition: background var(--transition), color var(--transition), border-color var(--transition); } .carousel-genre-tag:hover { background: var(--bg-card-hover); color: var(--accent); border-color: var(--accent); } /* Page Header (liste sayfaları) */ .page-header { padding: 32px var(--container-padding) 24px; max-width: var(--container-max); margin: 0 auto; } .page-title-row { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; } .page-title { font-size: 2rem; font-weight: 700; } .page-count { padding: 4px 12px; font-size: 0.8125rem; font-weight: 500; background: rgba(255, 255, 255, 0.06); color: var(--text-muted); border-radius: var(--radius-full); border: 1px solid var(--border); margin-left: auto; } /* Page Title Row */ .page-title-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(239, 68, 68, 0.15); border-radius: var(--radius-md); color: var(--accent); } .page-title-icon .material-symbols-outlined { font-size: 22px; } /* Filters Bar */ .filters-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; } .filter-select-group { position: relative; } .filter-select { padding: 10px 32px 10px 14px; font-size: 0.8125rem; font-weight: 500; color: var(--text-primary); background: transparent; border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; transition: border-color var(--transition), background var(--transition); -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12' fill='%239ca3af'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; white-space: nowrap; } .filter-select:hover { border-color: rgba(255, 255, 255, 0.25); } .filter-select:focus { outline: none; border-color: var(--accent); } .filter-select option { background: var(--bg-main); color: var(--text-primary); } .cf-dd { position: relative; display: inline-block; } .cf-dd-native { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; } .cf-dd-trigger { display: inline-flex; align-items: center; gap: 12px; padding: 10px 14px; font-family: inherit; font-size: 0.8125rem; font-weight: 500; color: var(--text-primary); background: rgba(255, 255, 255, 0.02); border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; white-space: nowrap; transition: border-color .18s, background .18s, color .18s; line-height: 1.2; } .cf-dd-trigger:hover { border-color: rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.04); } .cf-dd.open .cf-dd-trigger { border-color: var(--accent); background: rgba(239, 68, 68, 0.06); } .cf-dd-label { display: inline-block; } .cf-dd-arrow { display: inline-flex; align-items: center; color: rgba(255, 255, 255, 0.5); transition: transform .18s, color .18s; margin-left: auto; } .cf-dd.open .cf-dd-arrow { transform: rotate(180deg); color: var(--accent); } .cf-dd-menu { position: absolute; top: calc(100% + 6px); left: 0; min-width: 100%; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; padding: 6px; background: #15131f; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 10px; box-shadow: 0 14px 36px rgba(0, 0, 0, 0.55), 0 2px 8px rgba(0, 0, 0, 0.4); z-index: 200; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .15s, transform .15s; } .cf-dd.open .cf-dd-menu { opacity: 1; transform: translateY(0); pointer-events: auto; } .cf-dd-item { padding: 9px 12px; font-size: 0.8125rem; color: var(--text-primary); border-radius: 6px; cursor: pointer; white-space: nowrap; transition: background .12s, color .12s; user-select: none; } .cf-dd-item:hover { background: rgba(239, 68, 68, 0.14); } .cf-dd-item.selected { background: rgba(239, 68, 68, 0.22); color: #fff; font-weight: 600; } .cf-dd-item.selected:hover { background: rgba(239, 68, 68, 0.28); } .cf-dd-menu::-webkit-scrollbar { width: 6px; } .cf-dd-menu::-webkit-scrollbar-track { background: transparent; } .cf-dd-menu::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.15); border-radius: 3px; } .cf-dd-menu::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.25); } html.light .cf-dd-trigger { background: rgba(0, 0, 0, 0.02); border-color: rgba(0, 0, 0, 0.1); } html.light .cf-dd-trigger:hover { background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.2); } html.light .cf-dd-menu { background: #fff; border-color: rgba(0, 0, 0, 0.08); box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16); } html.light .cf-dd-arrow { color: rgba(0, 0, 0, 0.45); } html.light .cf-dd-item { color: #1a1a1a; } html.light .cf-dd-item:hover { background: rgba(239, 68, 68, 0.08); } html.light .cf-dd-item.selected { background: rgba(239, 68, 68, 0.12); color: var(--accent); } html.light .cf-dd-menu::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); } @media (max-width: 600px) { .cf-dd-trigger { padding: 9px 12px; font-size: 0.78rem; } .cf-dd-menu { max-height: 260px; } .cf-dd-item { padding: 10px 12px; font-size: 0.85rem; } } /* Empty State */ .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; text-align: center; gap: 12px; } .empty-state .material-symbols-outlined { font-size: 48px; color: var(--text-muted); } .empty-state p { font-size: 1rem; color: var(--text-muted); } /* Pagination */ .pagination { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 32px 0 8px; flex-wrap: wrap; } .pag-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 6px; border: 1px solid rgba(239, 68, 68,0.12); border-radius: var(--radius-md); background: rgba(255,255,255,0.03); color: var(--text-secondary); font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; -webkit-tap-highlight-color: transparent; } .pag-btn:hover:not(.disabled):not(.active) { background: rgba(239, 68, 68,0.10); border-color: rgba(239, 68, 68,0.3); color: #fff; } .pag-btn.active { background: #EF4444; border-color: #EF4444; color: #fff; box-shadow: 0 2px 12px rgba(239, 68, 68,0.35); pointer-events: none; } .pag-btn.disabled { opacity: 0.3; cursor: default; pointer-events: none; } .pag-prev, .pag-next { min-width: 40px; } .pag-dots { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 40px; color: var(--text-muted); font-size: 0.85rem; letter-spacing: 2px; pointer-events: none; } @media (max-width: 480px) { .pagination { gap: 4px; padding: 24px 0 8px; } .pag-btn { min-width: 36px; height: 36px; font-size: 0.8rem; } .pag-dots { min-width: 20px; height: 36px; } } /* Legacy Filters (genre chips, filter buttons - kept for backward compat) */ .filters-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; } .filter-dropdown { position: relative; } .filter-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; font-size: 0.875rem; color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; transition: background var(--transition), border-color var(--transition); } .filter-btn:hover { background: var(--bg-card-hover); border-color: var(--text-muted); } .filter-btn svg { width: 16px; height: 16px; } .genre-chips { display: flex; flex-wrap: wrap; gap: 8px; } .genre-chip { padding: 8px 16px; font-size: 0.875rem; color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-full); transition: background var(--transition), border-color var(--transition), color var(--transition); } .genre-chip:hover, .genre-chip.active { background: var(--bg-card-hover); border-color: var(--accent); color: var(--accent); } /* Grid */ .content-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; padding: 0 var(--container-padding) 48px; max-width: var(--container-max); margin: 0 auto; } @media (min-width: 768px) { .content-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); } } .grid-card { border-radius: var(--radius-md); overflow: hidden; transition: transform var(--transition), box-shadow var(--transition); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .grid-card:hover { transform: scale(1.05); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); } .grid-card-link { display: block; } .grid-card-poster { position: relative; aspect-ratio: 2/3; background: var(--bg-card); overflow: hidden; border-radius: var(--radius-md); } .grid-card-poster img { width: 100%; height: 100%; object-fit: cover; } /* Poster overlay - başlık, IMDB, yıl poster içinde (Younger tarzı) */ .grid-card-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, transparent 70%); } .grid-card-overlay-bottom { padding: 12px 10px 10px; } .grid-card-overlay .grid-card-title { font-size: 0.9rem; font-weight: 700; color: #fff; margin: 0 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .grid-card-meta { display: flex; align-items: center; gap: 10px; font-size: 0.8rem; color: rgba(255,255,255,0.9); } .grid-card-rating { display: inline-flex; align-items: center; gap: 2px; } .grid-card-rating .material-symbols-outlined { font-size: 14px; color: #f5c518; } .grid-card-overlay .grid-card-badge { position: absolute; top: 8px; left: 8px; } .grid-card:hover .grid-card-overlay .grid-card-title { color: var(--accent); } .grid-card-views { display: inline-flex; align-items: center; gap: 2px; } .grid-card-views .material-symbols-outlined { font-size: 13px; opacity: 0.8; } /* Trend page */ .trend-page-section { max-width: var(--container-max); margin: 0 auto 40px; padding: 0 var(--container-padding); } .trend-page-section-title { display: flex; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 700; margin-bottom: 20px; } .trend-page-section-title .material-symbols-outlined { font-size: 24px; color: var(--accent); } .page-subtitle { color: var(--text-secondary); margin-top: -16px; margin-bottom: 8px; } .grid-card-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity var(--transition); } .grid-card:hover .grid-card-play { opacity: 1; } .grid-card-play svg { width: 48px; height: 48px; color: white; } .grid-card-info { padding: 12px 0 4px; } /* Eski grid-card-title (artık overlay içinde) - fallback */ .grid-card-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .grid-card-year { font-size: 0.8125rem; color: var(--text-secondary); } .grid-card-badge { position: absolute; top: 8px; left: 8px; } .search-empty { padding: 48px 24px; text-align: center; color: var(--text-secondary); } .search-not-found { text-align: center; padding: 64px 24px; max-width: 480px; margin: 0 auto; } .search-not-found-icon { display: inline-flex; width: 80px; height: 80px; align-items: center; justify-content: center; background: rgba(255,255,255,0.05); border-radius: 50%; margin-bottom: 24px; } .search-not-found-icon .material-symbols-outlined { font-size: 48px; color: var(--text-secondary); } .search-not-found-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 12px; } .search-not-found-text { color: var(--text); margin-bottom: 8px; } .search-not-found-hint { color: var(--text-secondary); font-size: 0.9375rem; margin-bottom: 24px; } .search-not-found-links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; } /* Detail Page */ .detail-hero { position: relative; min-height: 58vh; display: flex; align-items: flex-end; padding: 96px var(--container-padding) 60px; overflow: hidden; } .detail-hero-bg { position: absolute; inset: 0; z-index: 0; } .detail-hero-bg img { width: 100%; height: 100%; object-fit: cover; } .detail-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, var(--bg-dark) 0%, transparent 40%, rgba(0,0,0,0.5) 100%); } .detail-hero-content { position: relative; z-index: 2; display: flex; gap: 40px; max-width: var(--container-max); margin: 0 auto; width: 100%; } .detail-poster { flex-shrink: 0; width: 240px; border-radius: calc(var(--radius-md) + 4px); overflow: hidden; box-shadow: 0 24px 48px -12px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.06); } .detail-poster img { width: 100%; aspect-ratio: 2/3; object-fit: cover; } .detail-info { flex: 1; min-width: 0; } .detail-title { font-size: clamp(1.15rem, 4vw, 2.125rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 14px; } .detail-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; } .detail-tag { padding: 7px 14px; font-size: 0.8125rem; font-weight: 500; color: var(--text-primary); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-full); transition: background var(--transition), border-color var(--transition), transform 0.2s ease; text-decoration: none; cursor: pointer; } .detail-tag:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); transform: translateY(-1px); } .detail-tag.accent { background: rgba(239, 68, 68, 0.25); border-color: rgba(239, 68, 68, 0.5); color: var(--accent); } .detail-tag.accent:hover { background: rgba(239, 68, 68, 0.35); border-color: rgba(239, 68, 68, 0.6); } .detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; } .detail-stats { display: flex; gap: 24px; margin-bottom: 20px; } .detail-stat { display: flex; flex-direction: column; align-items: flex-start; padding: 14px 22px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: calc(var(--radius-md) + 2px); transition: background 0.2s ease, border-color 0.2s ease; } .detail-stat:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); } .detail-stat-label { font-size: 0.75rem; color: var(--text-muted); margin-bottom: 4px; } .detail-stat-value { font-size: 1.25rem; font-weight: 700; display: flex; align-items: center; gap: 6px; } .detail-stat-value .star { color: #f5c518; } .detail-summary { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 16px; max-width: 640px; } .detail-creator { font-size: 0.875rem; color: var(--text-muted); } .detail-creator strong { color: var(--text-primary); } /* Episodes */ .episodes-section { padding: 40px var(--container-padding); max-width: var(--container-max); margin: 0 auto; } .episodes-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; } .episodes-title { font-size: 1.25rem; font-weight: 600; } .season-select { padding: 10px 16px; font-size: 0.875rem; color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; } .episodes-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 0; -webkit-overflow-scrolling: touch; } .episodes-carousel::-webkit-scrollbar { display: none; } .episode-card { flex: 0 0 240px; scroll-snap-align: start; } .episode-card-link { display: block; border-radius: var(--radius-md); overflow: hidden; transition: transform var(--transition); } .episode-card-link:hover { transform: scale(1.03); } .episode-thumb { aspect-ratio: 16/9; background: var(--bg-card); } .episode-thumb img { width: 100%; height: 100%; object-fit: cover; } .episode-num { padding: 8px 12px; background: var(--bg-card); display: flex; flex-direction: column; gap: 4px; } .episode-title { font-size: 0.875rem; font-weight: 500; } .episode-season-info { font-size: 0.75rem; font-weight: 400; color: var(--text-muted); } .episode-summary { padding: 6px 12px 10px; font-size: 0.75rem; line-height: 1.35; color: var(--text-muted, rgba(255,255,255,0.6)); background: var(--bg-card); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } /* Video Player */ .video-player-section { padding: 32px var(--container-padding) 24px; max-width: var(--container-max); margin: 0 auto; } .player-container { position: relative; width: 100%; padding-bottom: 56.25%; background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 0 0 1px rgba(239, 68, 68,0.1); } .player-poster { position: absolute; inset: 0; z-index: 2; cursor: pointer; } .player-poster-img, .player-poster img { width: 100%; height: 100%; object-fit: cover; } .player-poster-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.6) 100%); } .player-poster-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 16px; background: none; border: none; cursor: pointer; color: white; transition: transform 0.3s ease; z-index: 3; } .player-poster-play:hover { transform: translate(-50%, -50%) scale(1.1); } .player-poster-play:hover svg circle { fill: rgba(239, 68, 68, 0.6); stroke: rgba(239, 68, 68, 0.8); } .player-poster-label { font-size: 1.1rem; font-weight: 600; text-shadow: 0 2px 8px rgba(0,0,0,0.8); max-width: 400px; text-align: center; line-height: 1.3; } .player-poster.hidden { display: none; } @keyframes spin { to { transform: rotate(360deg); } } .player-poster.loading { cursor: wait; } .player-poster.loading .player-poster-play svg { opacity: 0; } .player-poster.loading .player-poster-play::after { content: ''; position: absolute; top: 50%; left: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border: 3px solid rgba(255,255,255,0.15); border-top-color: rgba(239, 68, 68,0.9); border-radius: 50%; animation: spin 0.75s linear infinite; } .video-iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } /* ========================================================================== Site Reklam Alanları (Player Üstü / Altı) ========================================================================== */ .site-ad-wrap { position: relative; display: flex; justify-content: center; align-items: center; padding: 10px var(--container-padding, 16px); max-width: var(--container-max, 1280px); margin: 0 auto; } .site-ad-wrap a { display: block; line-height: 0; } .site-ad-img { display: block; max-width: 100%; height: auto; border-radius: 8px; } .site-ad-close { position: absolute; top: 4px; right: calc(var(--container-padding, 16px) + 4px); width: 24px; height: 24px; background: rgba(0,0,0,0.65); border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; color: rgba(255,255,255,0.8); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; transition: background 0.2s, color 0.2s; padding: 0; } .site-ad-close:hover { background: rgba(239, 68, 68,0.8); color: #fff; border-color: rgba(239, 68, 68,0.6); } .site-ad-header_banner { max-width: 100%; padding: 8px 16px; background: rgba(0,0,0,0.2); border-bottom: 1px solid rgba(255,255,255,0.04); } .site-ad-header_banner .site-ad-img { border-radius: 4px; max-height: 90px; } .site-ad-player_above { padding-bottom: 4px; } .site-ad-player_below { padding-top: 4px; } .series-episode-player { margin-bottom: 24px; padding: 0; } .series-episode-player .player-container { max-width: var(--container-max); margin: 0 auto; } .episode-navigation { max-width: var(--container-max); margin: 0 auto; padding: 16px var(--container-padding); display: flex; gap: 12px; justify-content: space-between; align-items: center; background: linear-gradient(135deg, rgba(239, 68, 68, 0.05), rgba(239, 68, 68, 0.02)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); } .nav-btn { flex: 1; display: flex; align-items: center; gap: 10px; padding: 12px 16px; font-size: 0.9rem; font-weight: 500; color: var(--text-primary); background: rgba(239, 68, 68, 0.08); border: 1px solid var(--border); border-radius: var(--radius-md); transition: all var(--transition); cursor: pointer; text-decoration: none; justify-content: center; white-space: nowrap; } .nav-btn:hover { background: rgba(239, 68, 68, 0.15); border-color: rgba(239, 68, 68, 0.3); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2); } .nav-btn.nav-disabled { opacity: 0.4; cursor: not-allowed; background: rgba(128, 128, 128, 0.05); border-color: rgba(128, 128, 128, 0.2); } .nav-btn.nav-disabled:hover { background: rgba(128, 128, 128, 0.05); border-color: rgba(128, 128, 128, 0.2); transform: none; box-shadow: none; } .nav-btn svg { width: 18px; height: 18px; flex-shrink: 0; } .nav-btn.nav-prev { order: 1; } .nav-btn.nav-next { order: 2; } .nav-text { display: inline; } /* Mobil cihazlarda buton tasarımını uyarla */ @media (max-width: 640px) { .episode-navigation { padding: 12px var(--container-padding); gap: 8px; } .nav-btn { padding: 10px 12px; font-size: 0.8rem; } .nav-text { display: none; } } /* ========= Mini Hero Banner (Bölüm İzleme Üstü) ========= */ .watch-mini-hero { position: relative; overflow: hidden; margin: 0 calc(-1 * var(--container-padding)); padding: clamp(16px, 3vw, 28px) var(--container-padding) clamp(14px, 2.5vw, 24px); margin-bottom: 16px; border-radius: 0 0 var(--radius-lg) var(--radius-lg); } .watch-mini-hero-bg { position: absolute; inset: 0; z-index: 0; } .watch-mini-hero-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(24px) brightness(0.3) saturate(1.3); transform: scale(1.2); } .watch-mini-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(6,5,11,0.6) 0%, rgba(6,5,11,0.4) 50%, rgba(6,5,11,0.8) 100%), linear-gradient(90deg, rgba(239, 68, 68,0.08) 0%, transparent 50%); } .watch-mini-hero-content { position: relative; z-index: 2; max-width: var(--container-max); margin: 0 auto; } .watch-mini-breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: rgba(255,255,255,0.45); margin-bottom: 12px; } .watch-mini-breadcrumb a { color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; } .watch-mini-breadcrumb a:hover { color: var(--accent); } .watch-mini-breadcrumb svg { opacity: 0.35; flex-shrink: 0; } .watch-mini-hero-info { display: flex; align-items: center; gap: 14px; } .watch-mini-hero-poster { width: 48px; height: 68px; border-radius: 6px; object-fit: cover; flex-shrink: 0; box-shadow: 0 4px 16px rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.08); } .watch-mini-hero-text { min-width: 0; } .watch-mini-hero-title { font-size: clamp(1rem, 2.5vw, 1.35rem); font-weight: 700; margin: 0 0 4px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .watch-mini-hero-title a { color: var(--text-primary); text-decoration: none; transition: color 0.2s; } .watch-mini-hero-title a:hover { color: var(--accent); } .watch-mini-hero-ep { display: flex; align-items: center; gap: 8px; margin: 0; flex-wrap: wrap; } .watch-mini-hero-badge { display: inline-block; background: var(--accent); color: #fff; font-size: 0.7rem; font-weight: 700; padding: 3px 8px; border-radius: 4px; letter-spacing: 0.02em; } .watch-mini-hero-epname { color: var(--text-secondary); font-size: 0.8rem; } .watch-mini-hero-meta { display: flex; align-items: center; gap: 10px; margin-top: 6px; font-size: 0.75rem; color: var(--text-muted); } .watch-mini-hero-rating { display: flex; align-items: center; gap: 3px; } .watch-mini-hero-rating .star { color: #fbbf24; font-size: 0.85rem; } @media (max-width: 480px) { .watch-mini-hero { margin: 0 -8px 10px; padding: 14px 12px 12px; } .watch-mini-hero-poster { width: 40px; height: 56px; border-radius: 5px; } .watch-mini-hero-info { gap: 10px; } .watch-mini-hero-badge { font-size: 0.65rem; padding: 2px 6px; } .watch-mini-hero-epname { font-size: 0.72rem; } .watch-mini-hero-meta { margin-top: 4px; font-size: 0.7rem; } } /* ========= Bölüm İzleme Sayfası — Sinematik Tasarım ========= */ /* Ana kapsayıcı */ .watch-section { position: relative; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); } /* Breadcrumb */ .watch-breadcrumb { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 20px 0 0; font-size: 0.78rem; color: var(--text-muted); } .watch-breadcrumb a { color: var(--text-muted); text-decoration: none; transition: color var(--transition); } .watch-breadcrumb a:hover { color: var(--accent-hover); } .watch-breadcrumb svg { opacity: 0.4; flex-shrink: 0; } .watch-breadcrumb span { color: var(--text-secondary); font-weight: 500; } .detail-breadcrumb { max-width: var(--container-max); margin: 0 auto; padding: 12px var(--container-padding); font-size: 0.78rem; color: var(--text-muted); } .detail-breadcrumb ol { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; } .detail-breadcrumb li { display: flex; align-items: center; gap: 6px; } .detail-breadcrumb li:not(:last-child)::after { content: '/'; opacity: 0.4; } .detail-breadcrumb a { color: var(--text-muted); text-decoration: none; transition: color var(--transition); } .detail-breadcrumb a:hover { color: var(--accent-hover); } .detail-breadcrumb li:last-child span { color: var(--text-secondary); font-weight: 500; } /* Başlık */ .watch-header { position: relative; z-index: 1; margin-bottom: 16px; padding-top: 12px; } .watch-header-inner { display: flex; align-items: center; gap: 14px; } .watch-poster-mini { width: 40px; height: 56px; border-radius: 6px; object-fit: cover; flex-shrink: 0; box-shadow: 0 2px 12px rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.08); } .watch-header-text { min-width: 0; } .watch-title { font-size: 1.5rem; font-weight: 700; color: var(--text-primary); margin: 0; line-height: 1.25; text-shadow: 0 2px 16px rgba(0,0,0,0.4); } .watch-title a { color: inherit; text-decoration: none; transition: color var(--transition); } .watch-title a:hover { color: var(--accent-hover); } .watch-subtitle { font-size: 0.9rem; color: var(--text-secondary); margin: 4px 0 0; font-weight: 400; line-height: 1.4; } .watch-subtitle-ep { color: var(--accent-hover); font-weight: 600; } .watch-subtitle-sep { color: var(--text-muted); margin: 0 2px; } /* Ana grid */ .watch-content { position: relative; display: grid; grid-template-columns: 1fr 360px; gap: 0; align-items: start; background: #1a1828; border: 1px solid rgba(239, 68, 68, 0.1); border-radius: var(--radius-lg); box-shadow: 0 0 0 1px rgba(255,255,255,0.03), 0 8px 32px rgba(0,0,0,0.4), 0 0 60px rgba(239, 68, 68,0.06); overflow: hidden; } /* Player alanı */ .watch-player-area { min-width: 0; } .watch-player-container { position: relative; } .watch-player-container .player-container { border-radius: 0; overflow: hidden; box-shadow: none; } .player-loading-overlay { position: absolute; inset: 0; z-index: 15; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); pointer-events: none; } .player-loading-spinner { width: 48px; height: 48px; border: 3px solid rgba(255, 255, 255, 0.15); border-top-color: var(--accent, #EF4444); border-radius: 50%; animation: playerSpin 0.7s linear infinite; } @keyframes playerSpin { to { transform: rotate(360deg); } } /* Aksiyon çubuğu */ .watch-actions-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; gap: 12px; background: rgba(255,255,255,0.02); border-top: 1px solid rgba(255,255,255,0.04); } .watch-actions-left { display: flex; align-items: center; gap: 6px; } .watch-nav-btns { display: flex; align-items: center; gap: 4px; margin-left: 4px; } .watch-nav-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 14px; height: 36px; border-radius: var(--radius-full); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.06); color: var(--text-secondary); font-size: 0.8rem; font-weight: 500; transition: all 0.25s ease; text-decoration: none; white-space: nowrap; } .watch-nav-btn:hover { background: rgba(239, 68, 68,0.12); border-color: rgba(239, 68, 68,0.25); color: var(--accent-hover); transform: scale(1.03); } .watch-actions-right { display: flex; align-items: center; gap: 8px; } .watch-report-btn { display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; height: 36px; border-radius: var(--radius-full); background: rgba(220, 38, 38, 0.15); border: 1px solid rgba(220, 38, 38, 0.3); color: #f87171; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.25s ease; white-space: nowrap; } .watch-report-btn:hover { background: rgba(220, 38, 38, 0.25); border-color: rgba(220, 38, 38, 0.5); color: #fca5a5; box-shadow: 0 0 16px rgba(220, 38, 38, 0.15); transform: scale(1.03); } .watch-report-btn svg { flex-shrink: 0; } .watch-action-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--radius-full); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.06); color: var(--text-muted); cursor: pointer; transition: all 0.25s ease; } .watch-action-btn:hover { background: rgba(255,255,255,0.1); color: var(--text-primary); } .watch-action-btn.report-btn:hover { background: rgba(239, 68, 68, 0.12); border-color: rgba(239, 68, 68, 0.25); color: #f87171; } /* Like / Dislike */ .like-dislike-container { display: flex; align-items: center; gap: 0; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: var(--radius-full); overflow: hidden; } .like-btn, .dislike-btn { display: inline-flex; align-items: center; gap: 5px; padding: 7px 12px; background: transparent; border: none; color: var(--text-secondary); cursor: pointer; font-size: 0.82rem; font-weight: 500; transition: all 0.25s ease; line-height: 1; } .like-btn svg, .dislike-btn svg { width: 16px; height: 16px; flex-shrink: 0; } .like-separator { width: 1px; height: 18px; background: rgba(255,255,255,0.08); flex-shrink: 0; } .like-btn:hover { background: rgba(239, 68, 68, 0.12); color: var(--accent-hover); } .dislike-btn:hover { background: rgba(239, 68, 68, 0.1); color: #f87171; } .like-btn.is-active { background: rgba(239, 68, 68, 0.18); color: var(--accent-hover); } .dislike-btn.is-active { background: rgba(239, 68, 68, 0.15); color: #f87171; } /* No Video Placeholder */ .watch-no-video .watch-no-video-inner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; text-align: center; padding: 24px; background: linear-gradient(135deg, rgba(11,10,16,0.95), rgba(22,20,31,0.9)); } .watch-no-video-inner svg { width: 56px; height: 56px; color: var(--accent); opacity: 0.2; } .watch-no-video-inner p { font-size: 0.95rem; color: var(--text-secondary); margin: 0; max-width: 280px; line-height: 1.5; font-weight: 500; } .watch-no-video-hint { font-size: 0.78rem; color: var(--text-muted); } /* ===== Watch Sidebar ===== */ .watch-sidebar { background: #181626; border-left: 1px solid rgba(255,255,255,0.04); display: flex; flex-direction: column; height: 100%; max-height: calc(56.25vw * 0.65 + 64px); min-height: 400px; } .watch-sidebar-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; flex-shrink: 0; border-bottom: 1px solid rgba(255,255,255,0.05); background: rgba(255,255,255,0.02); } .watch-sidebar-title-row { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); } .watch-sidebar-title-row svg { opacity: 0.5; } .watch-sidebar-header h3 { font-size: 0.88rem; font-weight: 600; color: var(--text-primary); margin: 0; } .watch-sidebar-count { font-size: 0.72rem; font-weight: 600; color: var(--text-muted); background: rgba(255,255,255,0.06); padding: 2px 8px; border-radius: var(--radius-full); line-height: 1.4; } .watch-season-select-wrap { position: relative; } .watch-season-select { -webkit-appearance: none; appearance: none; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-md); color: var(--text-primary); padding: 5px 28px 5px 10px; font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: all var(--transition); outline: none; } .watch-season-select:hover { background: rgba(255,255,255,0.1); border-color: rgba(239, 68, 68,0.25); } .watch-season-select:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(239, 68, 68,0.15); } .watch-select-arrow { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--text-muted); } /* Bölüm listesi */ .watch-episodes-list { flex: 1; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: rgba(239, 68, 68,0.2) transparent; } .watch-episodes-list::-webkit-scrollbar { width: 4px; } .watch-episodes-list::-webkit-scrollbar-track { background: transparent; } .watch-episodes-list::-webkit-scrollbar-thumb { background: rgba(239, 68, 68,0.2); border-radius: 10px; } .watch-episodes-list::-webkit-scrollbar-thumb:hover { background: rgba(239, 68, 68,0.35); } /* Bölüm öğesi */ .watch-episode-item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; text-decoration: none; color: var(--text-primary); transition: all 0.2s ease; cursor: pointer; border-left: 3px solid transparent; border-bottom: 1px solid rgba(255,255,255,0.02); position: relative; } .watch-episode-item:hover { background: rgba(255,255,255,0.04); border-left-color: rgba(239, 68, 68,0.3); } .watch-episode-item.is-active { background: rgba(239, 68, 68, 0.1); border-left-color: var(--accent); color: #fff; } .watch-episode-item.is-active::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--accent); box-shadow: 0 0 8px rgba(239, 68, 68,0.5); } .watch-episode-item.is-active:hover { background: rgba(239, 68, 68, 0.15); } /* Episode thumbnail */ .watch-ep-thumb { position: relative; width: 72px; height: 40px; border-radius: 6px; overflow: hidden; flex-shrink: 0; background: var(--bg-darker); } .watch-ep-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; transition: opacity 0.2s ease; } .watch-episode-item:hover .watch-ep-thumb img { opacity: 0.9; } .watch-episode-item.is-active .watch-ep-thumb img { opacity: 0.5; } .watch-ep-thumb-num { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.8); text-shadow: 0 1px 4px rgba(0,0,0,0.6); background: rgba(0,0,0,0.15); } .watch-ep-thumb-playing { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(239, 68, 68,0.35); } /* Playing animation */ .watch-episode-playing-icon { display: flex; align-items: center; justify-content: center; gap: 2px; } .watch-episode-playing-icon span { display: block; width: 3px; height: 12px; background: #fff; border-radius: 2px; animation: watchPlayingAnim 0.8s ease-in-out infinite alternate; } .watch-episode-playing-icon span:nth-child(2) { animation-delay: 0.2s; height: 16px; } .watch-episode-playing-icon span:nth-child(3) { animation-delay: 0.4s; height: 10px; } @keyframes watchPlayingAnim { 0% { transform: scaleY(0.4); } 100% { transform: scaleY(1); } } /* Episode bilgi */ .watch-episode-info { min-width: 0; flex: 1; } .watch-episode-name { display: flex; align-items: center; gap: 6px; font-size: 0.82rem; font-weight: 600; line-height: 1.3; } .watch-ep-label { white-space: nowrap; } .watch-now-badge { display: inline-flex; align-items: center; gap: 3px; background: var(--accent); color: #fff; font-size: 0.6rem; font-weight: 700; padding: 1px 6px; border-radius: var(--radius-full); text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.6; box-shadow: 0 0 8px rgba(239, 68, 68,0.4); flex-shrink: 0; } .watch-episode-title-text { font-size: 0.75rem; color: var(--text-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 400; } .watch-episode-item.is-active .watch-episode-title-text { color: rgba(255,255,255,0.6); } .watch-episode-date { font-size: 0.7rem; color: var(--text-muted); margin-top: 2px; opacity: 0.7; } .watch-episode-item.is-active .watch-episode-date { color: rgba(255,255,255,0.5); } /* ===== Watch Responsive ===== */ @media (max-width: 1024px) { .watch-content { grid-template-columns: 1fr 300px; } } @media (max-width: 860px) { .watch-content { grid-template-columns: 1fr; } .watch-sidebar { border-left: none; border-top: 1px solid rgba(255,255,255,0.05); max-height: 350px; min-height: auto; } .watch-player-container .player-container { border-radius: 0; } } @media (max-width: 640px) { .watch-section { padding: 0 8px; } .watch-mini-hero { margin: 0 -8px 12px; } .watch-breadcrumb { padding-top: 8px; font-size: 0.72rem; gap: 5px; } .watch-header { padding-top: 8px; margin-bottom: 10px; } .watch-poster-mini { width: 32px; height: 44px; } .watch-title { font-size: 1.15rem; } .watch-subtitle { font-size: 0.82rem; } .watch-actions-bar { padding: 8px 10px; flex-wrap: wrap; } .like-btn, .dislike-btn { padding: 6px 9px; font-size: 0.78rem; gap: 4px; } .like-btn svg, .dislike-btn svg { width: 14px; height: 14px; } .watch-nav-btn { height: 32px; padding: 0 10px; font-size: 0.75rem; } .watch-nav-btn span { display: none; } .watch-report-btn { height: 32px; padding: 0 12px; font-size: 0.75rem; } .watch-sidebar { max-height: 300px; } .watch-sidebar-header { padding: 10px 12px; } .watch-episode-item { padding: 8px 10px; gap: 10px; } .watch-ep-thumb { width: 60px; height: 34px; } .watch-episode-name { font-size: 0.78rem; } .watch-no-video .watch-no-video-inner { border-radius: 0; } } /* Footer */ .site-footer { max-width: var(--container-max); margin: 48px auto 0; padding: 0 var(--container-padding); border-top: 1px solid var(--border); border-left: 1px solid rgba(255,255,255,0.04); border-right: 1px solid rgba(255,255,255,0.04); border-radius: var(--radius-md) var(--radius-md) 0 0; } .site-footer-stitch { margin-top: 80px; } .footer-inner-boxed { padding: 40px 0; } /* Footer Quote */ .footer-quote { position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 40px 36px 36px; max-width: 580px; width: 100%; background: radial-gradient(ellipse at 50% 0%, rgba(239,68,68,0.10) 0%, transparent 70%), linear-gradient(180deg, rgba(239,68,68,0.04) 0%, rgba(22,20,31,0.6) 100%); border: 1px solid rgba(239,68,68,0.10); border-radius: var(--radius-lg); overflow: hidden; } .footer-quote::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 2px; background: linear-gradient(90deg, transparent, #EF4444, transparent); border-radius: 2px; } .footer-quote-icon { width: 32px; height: 32px; color: #EF4444; opacity: 0.3; flex-shrink: 0; } .footer-quote-text { font-size: 1.1rem; font-weight: 500; font-style: italic; color: #EF4444; line-height: 1.7; text-align: center; margin: 0; quotes: none; } .footer-quote-source { font-size: 0.78rem; font-style: normal; font-weight: 600; color: #EF4444; letter-spacing: 0.03em; padding: 4px 14px; background: rgba(239,68,68,0.08); border-radius: var(--radius-full); border: 1px solid rgba(239,68,68,0.12); } /* Footer Bottom Row */ .footer-bottom-row { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px 0; border-top: 1px solid rgba(239, 68, 68, 0.08); gap: 8px; } .footer-contact { font-size: 0.8rem; color: var(--text-muted); margin: 0; } .footer-contact a { color: var(--accent); text-decoration: none; transition: color var(--transition); } .footer-contact a:hover { color: var(--accent-hover); text-decoration: underline; } .footer-copyright { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; margin: 0; } /* Minimal Footer */ .footer-minimal { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0; } .footer-inner { max-width: var(--container-max); margin: 0 auto; text-align: center; } .footer-text { font-size: 0.875rem; color: var(--text-muted); } /* Responsive - Tablet (768px-1279px) */ @media (max-width: 1279px) { .carousel-card { flex: 0 0 160px; } .content-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); } } /* Responsive - Mobil menü (768px altında) */ @media (max-width: 768px) { .hamburger-btn { display: flex; } .main-nav { display: none; } .header-search, .header-search-inline { min-width: 0; } .header-search-wrapper { max-width: 180px; } .header-search-results { width: auto; left: 0; right: 0; } .hero-boxed { flex-direction: column; } .hero-boxed-visual { flex: 1 1 auto; max-width: 100%; min-height: 200px; aspect-ratio: auto; } .hero-boxed-visual::after { background: linear-gradient(to top, var(--bg-card) 0%, transparent 50%); } .hero-boxed-content { padding: 24px 20px; } .hero-title { font-size: 1.75rem; } .hero-desc { margin-bottom: 20px; } .hero-slider-prev { left: 8px; } .hero-slider-next { right: 8px; } .hero-slider-prev, .hero-slider-next { width: 40px; height: 40px; } .detail-hero-content { flex-direction: column; align-items: flex-start; } .detail-poster { width: 160px; } .content-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } .carousel-card { flex: 0 0 130px; } .carousel-section { padding: 32px var(--container-padding); } .section-title { font-size: 1.125rem; margin-bottom: 16px; } .detail-hero { min-height: 50vh; padding: 0 var(--container-padding) 40px; } .episodes-section { padding: 32px var(--container-padding); } .episode-card { flex: 0 0 220px; } } /* Responsive - Küçük mobil (<480px) */ @media (max-width: 480px) { :root { --container-padding: 16px; } .header-inner { padding: 0 16px; } .hero-boxed-content { padding: 20px 16px; } .hero-title { font-size: 1.5rem; } .hero-desc { font-size: 0.9375rem; } .content-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0 16px 32px; } .carousel-card { flex: 0 0 120px; } .carousel-section { padding: 24px 16px; } .detail-hero { min-height: auto; padding: 24px 16px 40px; } .detail-hero-content { flex-direction: column; gap: 24px; } .detail-poster { width: 140px; } .detail-title { font-size: 1.5rem; } .detail-stats { flex-wrap: wrap; gap: 12px; } .detail-stat { padding: 10px 16px; } .detail-stat-value { font-size: 1.125rem; } .episodes-section { padding: 32px 16px; } .episodes-header { flex-direction: column; align-items: flex-start; gap: 12px; } .episode-card { flex: 0 0 200px; } .page-header { padding: 24px 16px 20px; } .page-title { font-size: 1.5rem; } .page-title-icon { width: 34px; height: 34px; } .page-title-icon .material-symbols-outlined { font-size: 18px; } .filters-row { gap: 8px; margin-bottom: 20px; } .filter-btn { padding: 8px 12px; font-size: 0.8125rem; } .genre-chip { padding: 6px 12px; font-size: 0.8125rem; } .site-footer { margin-top: 32px; padding-left: 16px; padding-right: 16px; } .footer-inner-boxed { padding-top: 32px; padding-bottom: 32px; } } /* Account Auth (Login/Register) */ .account-auth-page { min-height: calc(100vh - 64px); display: flex; align-items: center; justify-content: center; padding: 32px 16px; } .auth-container { width: 100%; max-width: 420px; } .auth-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px; box-shadow: var(--shadow); } .auth-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 24px; text-align: center; } .auth-error { background: rgba(239, 68, 68, 0.15); border: 1px solid var(--accent); color: #ff6b6b; padding: 12px; border-radius: var(--radius-md); margin-bottom: 20px; font-size: 0.9rem; } .auth-form .form-group { margin-bottom: 16px; } .auth-form label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--text-secondary); margin-bottom: 6px; } .auth-form input { width: 100%; padding: 12px 16px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-size: 1rem; } .auth-form input:focus { outline: none; border-color: var(--accent); } .btn-block { width: 100%; padding: 14px; font-size: 1rem; margin-top: 8px; } /* Login & Register sayfası – Giriş Yap / Kayıt Ol butonu */ .auth-form .auth-submit-btn { width: 100%; padding: 14px 24px; margin-top: 8px; font-size: 1rem; font-weight: 600; border: none; border-radius: var(--radius-md); background: var(--accent); color: white; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background var(--transition), transform var(--transition), box-shadow var(--transition); } .auth-form .auth-submit-btn:hover { background: var(--accent-hover); transform: translateY(-1px); box-shadow: 0 6px 20px var(--accent-glow); } .auth-form .auth-submit-btn .material-symbols-outlined { font-size: 20px; } .auth-footer { margin-top: 24px; text-align: center; font-size: 0.9375rem; color: var(--text-secondary); } .auth-footer a { color: var(--accent); font-weight: 500; } .auth-footer a:hover { text-decoration: underline; } /* Series detail (new layout) */ .series-page { padding-bottom: 48px; } .series-hero { position: relative; padding: 96px 0 40px; } .series-hero-bg { position: absolute; inset: 0; overflow: hidden; z-index: 0; } .series-hero-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(6px) brightness(0.6); transform: scale(1.05); } .series-hero-overlay { position: absolute; inset: 0; background: radial-gradient(circle at 30% 20%, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.85)); z-index: 1; } .series-hero-inner { position: relative; z-index: 2; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); display: grid; grid-template-columns: 220px 1fr 260px; gap: 32px; align-items: start; } .series-poster { width: 220px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); } .series-poster img { width: 100%; height: 100%; display: block; object-fit: cover; } .series-info { max-width: 640px; } .series-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; } .series-badge { padding: 6px 12px; border-radius: var(--radius-full); font-size: 0.8125rem; color: var(--text-secondary); border: 1px solid var(--border); background: rgba(0, 0, 0, 0.3); text-decoration: none; cursor: pointer; transition: background var(--transition), border-color var(--transition), color var(--transition), transform 0.2s ease; } .series-badge:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); color: var(--text-primary); transform: translateY(-1px); } .series-badge.accent { color: var(--accent); border-color: var(--accent); } .series-badge.accent:hover { background: rgba(239, 68, 68, 0.25); border-color: rgba(239, 68, 68, 0.6); } .series-title { font-size: clamp(1.2rem, 3.5vw, 2rem); font-weight: 700; margin-bottom: 16px; } .series-title span { color: var(--text-secondary); font-weight: 500; } .series-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; } .series-summary { color: var(--text-secondary); margin-bottom: 12px; max-width: 600px; } .series-creator { color: var(--text-secondary); } .series-data-panel { background: rgba(18, 18, 18, 0.75); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px; box-shadow: var(--shadow); } .series-data-panel h3 { font-size: 1rem; margin-bottom: 12px; } .series-data-list { display: flex; flex-direction: column; gap: 10px; } .series-data-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); font-size: 0.875rem; } .series-data-item .label { color: var(--text-muted); } .series-data-item .value { color: var(--text-primary); font-weight: 500; } .series-section { max-width: var(--container-max); margin: 0 auto; padding: 28px var(--container-padding); } .series-section-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; } .series-section-header h2 { font-size: 1.25rem; font-weight: 600; } .season-select-wrap { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 0.875rem; } .season-select { padding: 8px 12px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); } .episodes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; } .episode-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; transition: transform var(--transition), box-shadow var(--transition); } .episode-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); } .episode-thumb { aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-input); } .episode-thumb img { width: 100%; height: 100%; object-fit: cover; } .episode-num { padding: 10px 12px; font-size: 0.9rem; color: var(--text-primary); display: flex; flex-direction: column; gap: 4px; } .episode-title { font-size: 0.9rem; font-weight: 500; } .episode-season-info { font-size: 0.75rem; font-weight: 400; color: var(--text-muted); } .series-empty-message { color: var(--text-muted); font-size: 0.95rem; margin: 0; } .comment-form { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px; } .comment-textarea { width: 100%; min-height: 120px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px; color: var(--text-primary); resize: vertical; } .comment-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; } .comment-spoiler { color: var(--text-secondary); font-size: 0.875rem; display: flex; align-items: center; gap: 6px; } @media (max-width: 1024px) { .series-hero-inner { grid-template-columns: 200px 1fr; } .series-data-panel { grid-column: 1 / -1; } } @media (max-width: 768px) { .series-hero-inner { grid-template-columns: 1fr; } .series-poster { width: 160px; } .series-actions { flex-direction: column; align-items: flex-start; } .series-section-header { flex-direction: column; align-items: flex-start; } } /* Account - Hesabım sayfası */ .account-page { padding: 32px 16px; min-height: calc(100vh - 64px); } .account-container { max-width: var(--container-max); margin: 0 auto; display: flex; gap: 32px; } .account-sidebar { flex: 0 0 260px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; } .account-sidebar-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 20px; } .account-user-info { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; } .account-avatar { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: var(--bg-input); display: flex; align-items: center; justify-content: center; } .account-avatar img { width: 100%; height: 100%; object-fit: cover; } .account-avatar svg { color: var(--text-muted); } .account-username { font-weight: 500; } .account-nav { display: flex; flex-direction: column; gap: 4px; } .account-nav-link { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: var(--radius-md); color: var(--text-secondary); transition: background var(--transition), color var(--transition); } .account-nav-link:hover { background: var(--bg-input); color: var(--text-primary); } .account-nav-link.active { background: rgba(239, 68, 68, 0.15); color: var(--accent); border: 1px solid var(--accent); } .account-nav-logout { margin-top: 8px; color: var(--text-muted); } .account-nav-logout:hover { color: var(--accent); } .account-content { flex: 1; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px; } .account-section-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 8px; } .account-section-desc { color: var(--text-secondary); font-size: 0.9375rem; margin-bottom: 24px; } .account-form .form-group { margin-bottom: 20px; } .account-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .account-form label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--text-secondary); margin-bottom: 8px; } .account-form input { width: 100%; padding: 12px 16px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-size: 1rem; } .account-form input:focus { outline: none; border-color: var(--accent); } .profile-submit-btn { background: var(--accent); color: white; border: none; font-weight: 600; padding: 14px 28px; border-radius: var(--radius-md); cursor: pointer; transition: background 0.2s, transform 0.2s, box-shadow 0.2s; } .profile-submit-btn:hover { background: var(--accent-hover); transform: translateY(-1px); box-shadow: 0 6px 20px var(--accent-glow); } .input-with-icon { display: flex; align-items: center; gap: 12px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 0 16px; } .input-with-icon svg { flex-shrink: 0; color: var(--text-muted); } .input-with-icon input { flex: 1; border: none; background: transparent; padding: 12px 0; } .input-readonly input { color: var(--text-muted); } .email-verified { color: #22c55e; } .profile-avatar-block { display: flex; align-items: flex-start; gap: 24px; margin-bottom: 28px; } .profile-avatar-preview { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; background: var(--bg-input); display: flex; align-items: center; justify-content: center; } .profile-avatar-preview img { width: 100%; height: 100%; object-fit: cover; } .profile-avatar-placeholder svg { color: var(--text-muted); } .profile-avatar-hint { font-size: 0.8125rem; color: var(--text-muted); margin-top: 8px; } .avatar-upload-btn { position: relative; cursor: pointer; } .avatar-upload-btn input[type="file"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; } .btn-outline { display: inline-block; padding: 10px 20px; border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-weight: 500; transition: background var(--transition); } .btn-outline:hover { background: var(--bg-input); } /* İkon butonları - sadece ikon, hover'da tooltip */ .btn.btn-icon { position: relative; padding: 10px; min-width: 44px; min-height: 44px; justify-content: center; } .btn-icon .btn-tooltip { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%) translateY(-8px); padding: 6px 12px; background: var(--bg-card); color: var(--text-primary); font-size: 0.8125rem; font-weight: 500; white-space: nowrap; border-radius: var(--radius-sm); border: 1px solid var(--border); box-shadow: var(--shadow); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease; z-index: 10; } .btn-icon .btn-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--bg-card); } .btn-icon:hover .btn-tooltip { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-4px); } /* Detail list button active states */ .detail-list-btn { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .detail-list-btn[data-list="favorites"].is-active { background: rgba(239, 68, 68, 0.15); border-color: rgba(239, 68, 68, 0.4); color: #ef4444; } .detail-list-btn[data-list="favorites"].is-active:hover { background: rgba(239, 68, 68, 0.25); border-color: rgba(239, 68, 68, 0.6); } .detail-list-btn[data-list="watchlist"].is-active { background: rgba(59, 130, 246, 0.15); border-color: rgba(59, 130, 246, 0.4); color: #3b82f6; } .detail-list-btn[data-list="watchlist"].is-active:hover { background: rgba(59, 130, 246, 0.25); border-color: rgba(59, 130, 246, 0.6); } /* Pop animation on toggle */ @keyframes detail-btn-pop { 0% { transform: scale(1); } 30% { transform: scale(1.25); } 60% { transform: scale(0.95); } 100% { transform: scale(1); } } .detail-list-btn.animate-pop { animation: detail-btn-pop 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .detail-list-btn.animate-pop svg { animation: detail-btn-pop 0.4s cubic-bezier(0.4, 0, 0.2, 1); } /* Toast notification for list actions */ .detail-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(80px); padding: 12px 24px; background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border); border-radius: var(--radius-lg); font-size: 0.875rem; font-weight: 500; z-index: 9999; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); display: flex; align-items: center; gap: 10px; opacity: 0; transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; } .detail-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); } .detail-toast-icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0; } .detail-toast-icon.added { background: rgba(34, 197, 94, 0.15); color: #22c55e; } .detail-toast-icon.removed { background: rgba(239, 68, 68, 0.15); color: #ef4444; } .btn-lg { padding: 14px 28px; font-size: 1rem; } .form-error { background: rgba(239, 68, 68, 0.15); border: 1px solid var(--accent); color: #ff6b6b; padding: 12px; border-radius: var(--radius-md); margin-bottom: 16px; } .form-success { background: rgba(34, 197, 94, 0.15); border: 1px solid #22c55e; color: #4ade80; padding: 12px; border-radius: var(--radius-md); margin-bottom: 16px; } .account-empty { text-align: center; padding: 48px 24px; color: var(--text-secondary); } .account-empty p { margin-bottom: 16px; } .account-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; } .account-card { position: relative; } .account-card-link { display: block; } .account-card-poster { aspect-ratio: 2/3; border-radius: var(--radius-md); overflow: hidden; background: var(--bg-input); } .account-card-poster img { width: 100%; height: 100%; object-fit: cover; } .account-card-info { padding: 12px 0 0; } .account-card-title { font-size: 0.9375rem; font-weight: 500; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .account-card-meta { font-size: 0.8125rem; color: var(--text-muted); } .account-card-remove { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,0.7); color: #fff; font-size: 1.25rem; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--transition); } .account-card-remove:hover { background: var(--accent); } /* Account - Puanlama badge */ .account-card-rating-badge { position: absolute; bottom: 8px; left: 8px; background: rgba(0,0,0,0.8); color: #fbbf24; font-size: 0.75rem; font-weight: 700; padding: 3px 8px; border-radius: 4px; backdrop-filter: blur(4px); } .account-card-rating-badge .star { color: #fbbf24; } .account-card-poster { position: relative; } /* Account - Yorumlarım */ .account-comments-list { display: flex; flex-direction: column; gap: 12px; } .account-comment-item { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; } .account-comment-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; } .account-comment-content-link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text-primary); } .account-comment-content-link:hover { color: var(--accent); } .account-comment-poster { width: 36px; height: 54px; border-radius: 4px; object-fit: cover; } .account-comment-content-info { display: flex; flex-direction: column; } .account-comment-content-info strong { font-size: 0.9rem; } .account-comment-type { font-size: 0.75rem; color: var(--text-muted); } .account-comment-date { font-size: 0.75rem; color: var(--text-muted); white-space: nowrap; } .account-comment-body { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.5; } .account-comment-body p { margin: 4px 0 0; } @media (max-width: 768px) { .account-page { padding: 16px 8px; } .account-container { flex-direction: column; gap: 16px; } .account-sidebar { flex: none; } .account-sidebar-title { font-size: 1.2rem; margin-bottom: 12px; } .account-user-info { margin-bottom: 12px; } /* Sidebar navigasyonu yatay scroll tab'lara donustur */ .account-nav { flex-direction: row; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 6px; padding-bottom: 8px; scrollbar-width: none; -ms-overflow-style: none; } .account-nav::-webkit-scrollbar { display: none; } .account-nav-link { white-space: nowrap; flex-shrink: 0; padding: 8px 14px; font-size: 0.8rem; border-radius: 20px; background: var(--bg-card); border: 1px solid rgba(255, 255, 255, 0.06); gap: 6px; min-height: 40px; } .account-nav-link.active { background: rgba(239, 68, 68, 0.2); border-color: var(--accent); } .account-nav-link svg { width: 16px; height: 16px; } .account-nav-logout { margin-top: 0; margin-left: auto; } .account-form .form-row { grid-template-columns: 1fr; } .account-content { min-width: 0; } } /* ========================================================================== DESIGN ENHANCEMENTS - Pro Upgrade ========================================================================== */ /* Focus-visible (accessibility) */ *:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } /* Improved card hover effects */ .homepage-card:hover .homepage-card-poster img, .trend-card:hover .trend-card-poster img { transform: scale(1.08); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .homepage-card .homepage-card-poster img, .trend-card .trend-card-poster img { transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); } .homepage-card:hover { transform: translateY(-6px); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .homepage-card { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .homepage-card:hover .homepage-card-poster { box-shadow: 0 12px 40px rgba(239, 68, 68, 0.15), 0 4px 12px rgba(0,0,0,0.5); } /* Trend card glow effect */ .trend-card:hover .trend-card-poster { box-shadow: 0 8px 32px rgba(239, 68, 68, 0.2), 0 0 0 1px rgba(239, 68, 68, 0.1); } /* IMDB rating color coding */ .rating-high { color: #4ade80; } .rating-mid { color: #fbbf24; } .rating-low { color: #f87171; } /* Watch button pulse animation */ .btn-accent { animation: pulse-glow 2s ease-in-out infinite; } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); } 50% { box-shadow: 0 0 20px 4px rgba(239, 68, 68, 0.2); } } /* Detail page vignette effect */ .detail-hero-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at top, transparent 0%, rgba(0,0,0,0.3) 70%), linear-gradient(to top, #000 0%, transparent 50%), linear-gradient(to right, rgba(0,0,0,0.8) 0%, transparent 50%); z-index: 1; } /* Improved hero section with purple ambiance */ .homepage-hero { position: relative; background: radial-gradient(ellipse at 50% 0%, rgba(239, 68, 68, 0.08) 0%, transparent 70%); } .homepage-hero::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 300px; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0.4; } /* Section spacing */ .homepage-section { position: relative; } .homepage-section + .homepage-section { margin-top: 8px; } .homepage-section::before { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(239, 68, 68, 0.15), transparent); } /* Episode time badges */ .episode-time-badge { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 20px; font-size: 0.7rem; font-weight: 600; } .episode-time-badge.today { background: rgba(239, 68, 68, 0.15); color: #EF4444; } .episode-time-badge.yesterday { background: rgba(245, 158, 11, 0.15); color: #f59e0b; } .episode-time-badge.recent { background: rgba(59, 130, 246, 0.15); color: #3b82f6; } /* Skeleton loading */ .skeleton { background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: var(--radius-md); } @keyframes skeleton-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .skeleton-card { aspect-ratio: 2/3; } .skeleton-text { height: 14px; margin-top: 8px; width: 70%; } .skeleton-text-sm { height: 10px; margin-top: 6px; width: 50%; } /* Search focus animation */ .header-search-inline input:focus { box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15); border-color: var(--accent); } /* Scroll to top button */ .scroll-to-top { position: fixed; bottom: 24px; right: 24px; width: 44px; height: 44px; border-radius: 50%; background: var(--accent); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 900; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s, visibility 0.3s, transform 0.3s; box-shadow: 0 4px 16px rgba(239, 68, 68, 0.3); border: none; } .scroll-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0); } .scroll-to-top:hover { background: var(--accent-hover); transform: translateY(-2px); } /* ========== ENHANCED FOOTER ========== */ .site-footer.site-footer-stitch { margin-top: 48px; border-top: 1px solid rgba(239, 68, 68, 0.1); background: linear-gradient(180deg, transparent, rgba(239, 68, 68, 0.03)); } .footer-inner-boxed { max-width: var(--container-max); margin: 0 auto; padding: 48px var(--container-padding) 24px; } .footer-columns { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; } .footer-col-title { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-primary); margin-bottom: 16px; } .footer-col-links { list-style: none; padding: 0; } .footer-col-links li { margin-bottom: 8px; } .footer-col-links a { color: var(--text-muted); font-size: 0.85rem; transition: color 0.2s; } .footer-col-links a:hover { color: var(--accent); } .footer-social { display: flex; gap: 12px; margin-top: 16px; } .footer-social a { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,0.06); display: flex; align-items: center; justify-content: center; color: var(--text-muted); transition: all 0.2s; } .footer-social a:hover { background: var(--accent); color: white; } @media (max-width: 768px) { .footer-columns { grid-template-columns: 1fr 1fr; gap: 24px; } } @media (max-width: 480px) { .footer-columns { grid-template-columns: 1fr; } } /* Page header (listing pages) */ .page-header-enhanced { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; } .page-header-enhanced h1 { font-size: 1.5rem; font-weight: 700; } .page-sort-select { padding: 8px 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-primary); font-size: 0.85rem; cursor: pointer; } /* ============================================================ Content Section (puanlama, yorumlar vb.) ============================================================ */ .content-section { max-width: 900px; margin: 0 auto 32px; padding: 0 20px; } .section-header { margin-bottom: 16px; } .section-header h2 { display: flex; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 700; color: var(--text-primary); } .section-header h2 .material-symbols-outlined { font-size: 22px; color: var(--accent); } /* ============================================================ Puanlama (Rating) ============================================================ */ .rating-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px 24px; } .rating-summary { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; } .rating-avg { display: flex; flex-direction: column; align-items: center; min-width: 70px; } .rating-avg-number { font-size: 2rem; font-weight: 800; color: #fbbf24; line-height: 1; } .rating-avg-label { font-size: 0.75rem; color: var(--text-muted); margin-top: 4px; } .rating-stars { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .rating-label { font-size: 0.85rem; color: var(--text-secondary); white-space: nowrap; } .star-row { display: flex; gap: 2px; } .star-btn { background: none; border: none; padding: 2px; cursor: pointer; transition: transform 0.15s; line-height: 0; } .star-btn:hover { transform: scale(1.25); } .star-btn.active svg { filter: drop-shadow(0 0 3px rgba(251, 191, 36, 0.5)); } .rating-clear-btn { background: none; border: 1px solid var(--border); border-radius: 50%; width: 26px; height: 26px; font-size: 12px; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; } .rating-clear-btn:hover { background: rgba(239, 68, 68, 0.15); color: #ef4444; border-color: #ef4444; } .rating-login-msg { color: var(--text-muted); font-size: 0.9rem; margin: 0; } .rating-login-msg a { color: var(--accent); text-decoration: underline; } /* Comment Login Box */ .comment-login-box { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px 24px; background: var(--bg-card); border: 1px dashed var(--border); border-radius: var(--radius-lg, 12px); margin-bottom: 20px; gap: 8px; } .comment-login-icon { width: 56px; height: 56px; border-radius: 50%; background: rgba(var(--accent-rgb, 99, 102, 241), 0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 4px; } .comment-login-icon .material-symbols-outlined { font-size: 28px; color: var(--accent); } .comment-login-text { font-size: 1rem; font-weight: 600; color: var(--text-primary); margin: 0; } .comment-login-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 28px; background: var(--accent); color: #fff; border: none; border-radius: var(--radius-md, 8px); font-size: 0.95rem; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.2s ease; margin-top: 4px; } .comment-login-btn:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(var(--accent-rgb, 99, 102, 241), 0.3); } .comment-login-subtext { font-size: 0.8rem; color: var(--text-muted); margin: 0; } /* ============================================================ Yorum Formu ============================================================ */ .comment-form { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; margin-bottom: 20px; } .comment-textarea { width: 100%; min-height: 80px; padding: 12px; background: var(--bg-darker, var(--bg-body)); border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-primary); font-family: inherit; font-size: 0.9rem; resize: vertical; margin-bottom: 10px; box-sizing: border-box; } .comment-textarea:focus { outline: none; border-color: var(--accent); } .comment-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .comment-spoiler { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--text-muted); cursor: pointer; } .comment-spoiler input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--accent); } .comment-count-badge { background: var(--accent); color: white; font-size: 0.7rem; font-weight: 700; padding: 2px 8px; border-radius: 10px; margin-left: 6px; } /* ============================================================ Yorum Listesi ============================================================ */ .comments-list { display: flex; flex-direction: column; gap: 12px; } .comments-empty { text-align: center; color: var(--text-muted); font-size: 0.9rem; padding: 32px 0; } .comment-item { display: flex; gap: 12px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; transition: opacity 0.3s, transform 0.3s; } .comment-item.comment-new { animation: commentSlideIn 0.4s ease; } @keyframes commentSlideIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .comment-avatar { flex-shrink: 0; } .comment-avatar img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; } .comment-avatar-placeholder { width: 38px; height: 38px; border-radius: 50%; background: var(--accent); color: white; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.9rem; } .comment-body { flex: 1; min-width: 0; position: relative; } .comment-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; } .comment-author { font-size: 0.85rem; color: var(--text-primary); } .comment-date { font-size: 0.75rem; color: var(--text-muted); } .comment-spoiler-badge { background: rgba(239, 68, 68, 0.15); color: #ef4444; font-size: 0.65rem; font-weight: 700; padding: 2px 8px; border-radius: 4px; text-transform: uppercase; } .comment-text { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.5; margin: 0; word-break: break-word; } .comment-spoiler-hidden { font-size: 0.85rem; color: var(--text-muted); margin: 0; } .spoiler-reveal-btn { background: none; border: none; color: var(--accent); cursor: pointer; font-size: 0.85rem; text-decoration: underline; padding: 0; } .comment-delete-btn { position: absolute; top: 0; right: 0; background: none; border: none; color: var(--text-muted); cursor: pointer; opacity: 0; transition: opacity 0.2s, color 0.2s; padding: 4px; } .comment-item:hover .comment-delete-btn { opacity: 1; } .comment-delete-btn:hover { color: #ef4444; } @media (max-width: 600px) { .rating-summary { flex-direction: column; align-items: flex-start; } .star-row { flex-wrap: wrap; } .comment-actions { flex-direction: column; align-items: flex-start; } } /* ========== Trailer Modal ========== */ .trailer-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; } .trailer-modal.active { opacity: 1; visibility: visible; } .trailer-modal-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .trailer-modal-content { position: relative; width: 90vw; max-width: 960px; z-index: 1; transform: scale(.92) translateY(20px); transition: transform .35s cubic-bezier(.4, 0, .2, 1); } .trailer-modal.active .trailer-modal-content { transform: scale(1) translateY(0); } .trailer-modal-close { position: absolute; top: -48px; right: 0; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s, transform .2s; z-index: 2; } .trailer-modal-close:hover { background: rgba(255, 255, 255, .25); transform: rotate(90deg); } .trailer-modal-player { position: relative; width: 100%; padding-top: 56.25%; /* 16:9 */ border-radius: 12px; overflow: hidden; box-shadow: 0 25px 60px rgba(0, 0, 0, .6); background: #000; } .trailer-iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; } .btn-trailer { cursor: pointer; } @media (max-width: 768px) { .trailer-modal-content { width: 96vw; } .trailer-modal-close { top: -48px; right: 4px; width: 44px; height: 44px; } } /* ========== Bottom Navigation Bar (Mobile) - DiziPAL Style ========== */ .bottom-nav { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1200; background: #0f0f0f; border-top: 1px solid rgba(255, 255, 255, 0.06); padding: 8px 0; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); grid-template-columns: repeat(5, 1fr); } .bottom-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 0; color: #666666; text-decoration: none; font-size: 0.65rem; font-weight: 500; transition: color 0.2s ease; gap: 4px; -webkit-tap-highlight-color: transparent; position: relative; border: none; background: none; cursor: pointer; font-family: inherit; } .bottom-nav-item .material-symbols-outlined { font-size: 20px; transition: transform 0.2s ease; } .bottom-nav-item.active, .bottom-nav-item:hover { color: var(--accent, #EF4444); } .bottom-nav-item.active .material-symbols-outlined { transform: scale(1.05); } .bottom-nav-item:active .material-symbols-outlined { transform: scale(0.92); } .bottom-nav-label { display: block; line-height: 1.1; font-size: 10px; font-weight: 500; } /* Center Search Button - Floating Circle (Site accent color) */ .bottom-nav-search .bottom-nav-search-circle { background: var(--accent, #EF4444); width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-top: -20px; box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4); transition: transform 0.2s ease, box-shadow 0.2s ease; } .bottom-nav-search .bottom-nav-search-circle .material-symbols-outlined { font-size: 20px; color: #fff; } .bottom-nav-search:active .bottom-nav-search-circle { transform: scale(0.92); box-shadow: 0 2px 10px rgba(239, 68, 68, 0.6); } .bottom-nav-search .bottom-nav-label { color: #666666; } @media (max-width: 768px) { .bottom-nav { display: grid; } body { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); } /* Scroll-to-top bottom-nav ile cakismamasi icin */ .scroll-to-top { bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; } /* Toast ve diger fixed elementler */ .detail-toast { bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; } } /* ========== Mobile Search Overlay ========== */ .mobile-search-overlay { display: none; position: fixed; inset: 0; background: #0a0a0a; z-index: 2000; flex-direction: column; } .mobile-search-overlay.active { display: flex; } .mobile-search-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); } .mobile-search-title { font-size: 18px; font-weight: 600; color: #fff; } .mobile-search-close { background: #161616; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 4px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; transition: background 0.2s; } .mobile-search-close:hover { background: #222; } .mobile-search-body { flex: 1; overflow-y: auto; padding: 16px; } .mobile-search-input-wrapper { position: relative; margin-bottom: 16px; } .mobile-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #666; font-size: 20px; pointer-events: none; } .mobile-search-input { width: 100%; padding: 14px 20px 14px 50px; background: #161616; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 4px; color: #fff; font-size: 16px; font-family: inherit; outline: none; transition: border-color 0.2s; } .mobile-search-input:focus { border-color: var(--accent, #EF4444); } .mobile-search-input::placeholder { color: #555; } .mobile-search-results { display: flex; flex-direction: column; gap: 8px; } .mobile-search-results a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: #161616; border-radius: 4px; transition: background 0.2s; } .mobile-search-results a:hover { background: #1a1a1a; } .mobile-search-results img { width: 44px; height: 66px; object-fit: cover; border-radius: 2px; flex-shrink: 0; } .mobile-search-results .search-result-title { font-size: 14px; font-weight: 500; color: #fff; } .mobile-search-results .search-result-meta { font-size: 12px; color: #666; margin-top: 2px; } /* ========== Mobile Profile Button (sadece mobilde görünür) ========== */ .mobile-profile-wrapper, .mobile-profile-btn.mobile-profile-guest { display: none; } @media (max-width: 768px) { .mobile-profile-wrapper, .mobile-profile-btn.mobile-profile-guest { display: flex; } /* Masaüstü user dropdown ve login butonu mobilde gizle */ .header-user-dropdown, .notif-bell-wrapper { display: none !important; } } .mobile-profile-btn { position: relative; background: #161616; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 4px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #999; transition: color 0.2s, border-color 0.2s; -webkit-tap-highlight-color: transparent; padding: 0; font-family: inherit; } .mobile-profile-btn:hover { color: var(--accent); border-color: rgba(239, 68, 68, 0.2); } .mobile-profile-btn .material-symbols-outlined { font-size: 20px; } .mobile-profile-avatar { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border-radius: 4px; overflow: hidden; } .mobile-profile-avatar img { width: 100%; height: 100%; object-fit: cover; } .mobile-profile-wrapper { position: relative; } .mobile-profile-menu { display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 180px; background: #161616; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; padding: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); z-index: 1600; flex-direction: column; } .mobile-profile-wrapper.open .mobile-profile-menu { display: flex; } .mobile-profile-menuitem { display: flex; align-items: center; gap: 10px; padding: 10px 12px; font-size: 14px; font-weight: 500; color: #ccc; border-radius: 6px; transition: background 0.2s, color 0.2s; text-decoration: none; } .mobile-profile-menuitem .material-symbols-outlined { font-size: 18px; color: #888; } .mobile-profile-menuitem:hover { background: rgba(255, 255, 255, 0.06); color: #fff; } .mobile-profile-menuitem:hover .material-symbols-outlined { color: var(--accent); } .mobile-profile-logout:hover { color: #f87171; } .mobile-profile-logout:hover .material-symbols-outlined { color: #f87171; } /* Light theme */ html.light .mobile-profile-btn { background: #eee; border-color: rgba(0, 0, 0, 0.08); color: #666; } html.light .mobile-profile-btn:hover { color: var(--accent); } html.light .mobile-profile-menu { background: #fff; border-color: rgba(0, 0, 0, 0.1); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); } html.light .mobile-profile-menuitem { color: #333; } html.light .mobile-profile-menuitem:hover { background: rgba(0, 0, 0, 0.04); color: #111; } /* ========== Mobile Touch Target Improvements ========== */ @media (max-width: 768px) { /* Buton ve link minimum touch hedefleri */ .nav-link, .mobile-nav-link, .btn, .header-icon-btn, .header-user-icon-btn, .header-search-btn { min-height: 44px; min-width: 44px; } /* Grid kart tiklanabilir alanlarini genislet */ .grid-card-link, .homepage-card, .trend-card { min-height: 44px; } /* Episode row tiklanabilir alan */ .episode-row-home { min-height: 44px; } /* Dropdown item'lar */ .dropdown-item, .mobile-nav-sublink { min-height: 44px; display: flex; align-items: center; } } /* ========== Safe Area Support ========== */ @supports (padding: env(safe-area-inset-top)) { .site-header { padding-top: env(safe-area-inset-top, 0px); } .bottom-nav { padding-bottom: env(safe-area-inset-bottom, 0px); } } /* ========= Rapor Sistemi ========= */ .player-report-bar { display: flex; justify-content: flex-end; padding: 10px 0 4px; } .report-btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; background: rgba(239, 68, 68, 0.12); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.25); border-radius: 8px; font-size: 0.82rem; font-weight: 500; cursor: pointer; transition: all 0.2s; } .report-btn:hover { background: rgba(239, 68, 68, 0.22); border-color: rgba(239, 68, 68, 0.45); color: #fca5a5; } .report-btn svg { flex-shrink: 0; } /* Rapor Modal */ .report-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; } .report-modal.active { opacity: 1; visibility: visible; } .report-modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(6px); } .report-modal-content { position: relative; z-index: 1; background: #1a1a2e; border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; width: 90%; max-width: 520px; max-height: 90vh; overflow-y: auto; padding: 0; transform: translateY(20px) scale(0.97); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 25px 60px rgba(0,0,0,0.5); } .report-modal.active .report-modal-content { transform: translateY(0) scale(1); } .report-modal-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 24px 18px; border-bottom: 1px solid rgba(255,255,255,0.06); } .report-modal-header-info { display: flex; flex-direction: column; gap: 4px; } .report-modal-header h3 { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; font-weight: 600; color: #f1f1f1; margin: 0; } .report-modal-header h3 svg { color: #f59e0b; } .report-modal-content-name { font-size: 0.78rem; color: #888; font-weight: 400; padding-left: 28px; } .report-modal-close { background: rgba(255,255,255,0.06); border: none; border-radius: 8px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: #777; cursor: pointer; transition: background 0.2s, color 0.2s; flex-shrink: 0; } .report-modal-close:hover { background: rgba(255,255,255,0.12); color: #fff; } .report-form { padding: 20px 24px 24px; } .report-form-desc { font-size: 0.84rem; color: #888; margin: 0 0 18px; line-height: 1.5; } .report-reasons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; } .report-reason-other { grid-column: 1 / -1; } .report-reason-item { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; cursor: pointer; transition: all 0.2s; } .report-reason-item:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); } .report-reason-item input[type="radio"] { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.18); border-radius: 50%; background: transparent; cursor: pointer; position: relative; flex-shrink: 0; transition: border-color 0.2s, box-shadow 0.2s; } .report-reason-item input[type="radio"]:checked { border-color: #EF4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15); } .report-reason-item input[type="radio"]:checked::after { content: ''; position: absolute; top: 3px; left: 3px; width: 6px; height: 6px; background: #EF4444; border-radius: 50%; } .report-reason-item:has(input:checked) { background: rgba(239, 68, 68, 0.08); border-color: rgba(239, 68, 68, 0.3); } .report-reason-icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #999; } .report-reason-item:has(input:checked) .report-reason-icon { color: #c4b5fd; } .report-reason-text { font-size: 0.82rem; color: #ccc; font-weight: 500; } .report-reason-item:has(input:checked) .report-reason-text { color: #e2e2e2; } .report-description-wrap { margin-bottom: 16px; position: relative; } .report-description-label { display: block; font-size: 0.82rem; color: #ccc; font-weight: 500; margin-bottom: 8px; } .report-textarea { width: 100%; min-height: 80px; max-height: 150px; resize: vertical; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 12px 14px; color: #eee; font-size: 0.85rem; font-family: inherit; line-height: 1.5; transition: border-color 0.2s, box-shadow 0.2s; } .report-textarea:focus { outline: none; border-color: rgba(239, 68, 68, 0.5); box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08); } .report-textarea::placeholder { color: #555; } .report-char-count { display: block; text-align: right; font-size: 0.72rem; color: #555; margin-top: 4px; } .report-form-actions { display: flex; gap: 10px; justify-content: flex-end; } .report-cancel-btn { padding: 10px 22px; font-size: 0.85rem; border: 1px solid rgba(255,255,255,0.1); background: transparent; color: #999; border-radius: 10px; cursor: pointer; transition: all 0.2s; font-weight: 500; } .report-cancel-btn:hover { background: rgba(255,255,255,0.06); color: #ddd; } .report-submit-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 24px; font-size: 0.85rem; border-radius: 10px; font-weight: 600; } .report-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; } /* Başarılı gönderim animasyonu */ .report-success { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 24px; text-align: center; animation: reportSuccessFadeIn 0.4s ease-out; } .report-success-icon { margin-bottom: 16px; animation: reportCheckPop 0.5s cubic-bezier(0.16, 1, 0.3, 1); } .report-success h4 { font-size: 1.1rem; font-weight: 600; color: #f1f1f1; margin: 0 0 8px; } .report-success p { font-size: 0.85rem; color: #888; margin: 0; line-height: 1.5; } @keyframes reportSuccessFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @keyframes reportCheckPop { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.15); } 100% { transform: scale(1); opacity: 1; } } @media (max-width: 600px) { .report-modal-content { width: 100%; max-width: none; border-radius: 16px 16px 0 0; position: fixed; bottom: 0; left: 0; right: 0; max-height: 85vh; transform: translateY(100%); } .report-modal.active .report-modal-content { transform: translateY(0); } .report-reasons-grid { grid-template-columns: 1fr; } .report-reason-item { padding: 11px 14px; } } /* Print styles */ @media print { .site-header, .site-footer, .mobile-nav-overlay, .scroll-to-top, .bottom-nav, .announcement-bar, .detail-actions, .video-player-section { display: none !important; } body { background: white; color: black; padding-bottom: 0 !important; } .detail-hero-content { position: relative; padding: 20px; } } /* ========================================================================== MOBILE RESPONSIVE OVERHAUL — Profesyonel Mobil Tasarım ========================================================================== */ /* ── Tablet breakpoint (max-width: 768px) ── */ @media (max-width: 768px) { /* Header: kompakt - DiziPAL style */ .site-header-compact .header-inner { height: 52px; gap: 8px; justify-content: space-between; } .header-search-wrapper { display: none !important; } /* Hamburger butonu: DiziPAL style koyu kare */ .hamburger-btn { display: flex; order: 10; background: #161616; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 4px; width: 40px; height: 40px; align-items: center; justify-content: center; } /* Logo: mobilde göster (DiziPAL style) */ .logo-dizipal { display: block; font-size: 1.1rem; } /* DiziPAL style: sadece logo + hamburger görünsün */ .header-login-btn { display: none; } .theme-toggle-btn { display: none !important; } /* Announcement bar kompakt */ .announcement-bar { padding: 7px 16px; font-size: 10px; letter-spacing: 0.1em; word-break: break-word; } /* Homepage hero: kompakt */ .homepage-hero { padding: 28px var(--container-padding) 24px; gap: 20px; } .homepage-logo-icon { width: 44px; height: 44px; } .homepage-logo-icon .material-symbols-outlined { font-size: 26px; } .homepage-logo-text { font-size: clamp(1.75rem, 6vw, 3rem); } .homepage-logo-image { height: 48px; max-width: 240px; } .homepage-search input { padding: 12px 16px; padding-right: 48px; font-size: 0.875rem; } /* Homepage main: kompakt spacing */ .homepage-main { padding: 0 var(--container-padding) 32px; } .homepage-section { margin-bottom: 36px; } .homepage-section::before { display: none; } .homepage-section-head { margin-bottom: 16px; } .homepage-section-title { font-size: 1.1rem; } .homepage-section-episodes { padding: 16px; border-radius: var(--radius-md); } /* Trend carousel: daha kompakt */ .trend-carousel-inner { padding: 4px 44px 12px; gap: 10px; } .trend-card { flex: 0 0 165px; } .trend-number { font-size: 140px; left: 0; bottom: 0; } .trend-card-poster { margin-left: 57px; } /* Homepage grid: spacing */ .homepage-grid { gap: 16px; } .homepage-card-title { font-size: 0.8125rem; margin-top: 6px; } /* Homepage card hover iptal (mobilde) */ .homepage-card:hover { transform: none; } .homepage-card:hover .homepage-card-poster { box-shadow: none; } /* Film detay sayfası */ .detail-hero { min-height: auto; padding: 72px var(--container-padding) 32px; } .detail-hero-content { gap: 20px; } .detail-poster { width: 140px; align-self: flex-start; } .detail-title { font-size: 1.5rem; line-height: 1.3; } .detail-summary { max-width: 100%; font-size: 0.875rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; } .detail-summary.expanded { -webkit-line-clamp: unset; display: block; } .detail-actions { gap: 8px; } .detail-actions .btn { padding: 9px 14px; font-size: 0.8rem; } .detail-actions .btn-icon { padding: 9px; min-width: 40px; min-height: 40px; } .detail-tags { gap: 6px; } .detail-tag { font-size: 0.75rem; padding: 4px 10px; } /* Dizi detay sayfası */ .series-hero { padding: 72px 0 32px; } .series-title { font-size: 1.5rem; margin-bottom: 12px; } .series-summary { font-size: 0.875rem; max-width: 100%; } .series-badges { gap: 6px; } .series-badge { padding: 4px 10px; font-size: 0.75rem; } .series-actions { gap: 8px; } .series-actions .btn { padding: 9px 14px; font-size: 0.8rem; } .series-data-panel { padding: 14px; } .series-data-item { padding: 8px 10px; font-size: 0.8rem; } .series-section { padding: 20px var(--container-padding); } .series-section-header h2 { font-size: 1.1rem; } .episodes-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; } .cast-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 12px; } /* Liste sayfaları (filmler, diziler, animeler) */ .page-header { padding: 20px var(--container-padding) 16px; } .page-title-row { margin-bottom: 16px; gap: 10px; } .page-title { font-size: 1.5rem; } .page-count { font-size: 0.75rem; padding: 3px 10px; } .filters-bar { margin-bottom: 16px; gap: 6px; } /* Content Grid: kompakt */ .content-grid { gap: 14px; padding-bottom: 32px; } .grid-card:hover { transform: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } /* Video player section */ .video-player-section { padding: 16px 12px; } .player-container { border-radius: var(--radius-md); } /* Episode navigation */ .episode-navigation { padding: 10px 12px; } /* Footer: mobilde sadeleştirme */ .site-footer.site-footer-stitch { margin-top: 24px; } .footer-inner-boxed { padding: 24px 16px 16px; } .footer-columns .footer-col:nth-child(n+2) { display: none; } .footer-columns { grid-template-columns: 1fr; gap: 0; margin-bottom: 20px; } .footer-quote { padding: 28px 20px 24px; } .footer-quote-text { font-size: 0.98rem; } .footer-bottom-row { flex-direction: column; text-align: center; gap: 8px; padding: 16px 0; } /* Hesabım sayfası ek iyileştirmeler */ .account-content { padding: 20px 16px; border-radius: var(--radius-md); } .account-sidebar { padding: 16px; border-radius: var(--radius-md); } .account-section-title { font-size: 1.1rem; } .account-section-desc { font-size: 0.85rem; } .account-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } .profile-avatar-block { flex-direction: column; align-items: center; gap: 16px; } .profile-avatar-preview { width: 80px; height: 80px; } /* Rating/Yorum section mobil */ .content-section { padding: 0 12px; } .rating-box { padding: 16px; } .comment-form { padding: 12px; } .comment-item { padding: 12px; } .comment-avatar img, .comment-avatar-placeholder { width: 32px; height: 32px; } /* Scroll to top: kompakt */ .scroll-to-top { width: 40px; height: 40px; right: 12px; } .scroll-to-top .material-symbols-outlined { font-size: 22px; } } /* ── Küçük Mobil breakpoint (max-width: 480px) ── */ @media (max-width: 480px) { /* Header: süper kompakt - DiziPAL style */ .site-header-compact .header-inner { height: 48px; padding: 0 12px; gap: 6px; } .hamburger-btn { width: 36px; height: 36px; } .header-user-icon-btn { width: 36px; height: 36px; } /* Announcement bar */ .announcement-bar { padding: 5px 12px; font-size: 9px; letter-spacing: 0.06em; } /* Homepage hero: süper kompakt */ .homepage-hero { padding: 20px 16px 16px; gap: 16px; } .homepage-hero-logo { gap: 8px; } .homepage-logo-icon { width: 38px; height: 38px; } .homepage-logo-icon .material-symbols-outlined { font-size: 22px; } .homepage-logo-text { font-size: 1.75rem; } .homepage-logo-image { height: 38px; max-width: 200px; } .homepage-search input { padding: 10px 14px; padding-right: 44px; font-size: 0.8125rem; border-radius: var(--radius-sm); } .homepage-search-btn { right: 8px; padding: 6px; } /* Homepage boxed */ .homepage-boxed { margin: 8px 8px 20px; border-radius: var(--radius-sm); } /* Homepage section & grid küçük ekran */ .homepage-section { margin-bottom: 24px; } .homepage-section-title { font-size: 1rem; gap: 6px; } .homepage-section-title .material-symbols-outlined { font-size: 18px; } .homepage-section-head { margin-bottom: 12px; } .homepage-grid { gap: 10px; } .homepage-card-title { font-size: 0.75rem; margin-top: 4px; } .homepage-card-overlay-bottom { padding: 8px 6px 6px; } .homepage-card-meta-row { font-size: 9px; } .homepage-main { padding: 0 12px 24px; } .homepage-section-episodes { padding: 12px; } /* Trend carousel küçük ekran */ .trend-carousel-inner { padding: 4px 36px 8px; gap: 8px; } .trend-card { flex: 0 0 142px; } .trend-number { font-size: 115px; left: 0; bottom: 0; } .trend-card-poster { margin-left: 47px; } .trend-card-overlay .trend-card-title { font-size: 0.7rem; } .trend-card-meta { font-size: 0.65rem; } .trend-carousel-nav { width: 28px; height: 28px; } .trend-carousel-nav .material-symbols-outlined { font-size: 18px; } /* Episode row - kart yapısı küçük ekranlarda */ .episode-row-info { padding: 6px 8px 8px; } .episode-row-detail { font-size: 10px; } .episode-row-time { font-size: 9px; } /* Film detay sayfası küçük ekran */ .detail-hero { padding: 64px 12px 24px; } .detail-hero-content { gap: 16px; } .detail-poster { width: 120px; } .detail-title { font-size: 1.3rem; } .detail-summary { font-size: 0.8125rem; -webkit-line-clamp: 3; } .detail-actions { gap: 8px; } .detail-actions .btn { padding: 8px 12px; font-size: 0.78rem; min-height: 44px; } .detail-actions .btn-icon { padding: 8px; min-width: 44px; min-height: 44px; } .detail-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .detail-stat { padding: 8px 12px; text-align: center; } .detail-stat-value { font-size: 1rem; } .detail-stat-label { font-size: 0.65rem; } .detail-tags { gap: 4px; } .detail-tag { font-size: 0.7rem; padding: 3px 8px; } /* Dizi detay küçük ekran */ .series-hero { padding: 64px 0 24px; } .series-hero-inner { gap: 20px; } .series-poster { width: 130px; } .series-title { font-size: 1.35rem; } .series-summary { font-size: 0.8125rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; } .series-actions .btn { padding: 8px 12px; font-size: 0.75rem; } .series-section { padding: 16px 12px; } .series-section-header h2 { font-size: 1rem; } .season-select { padding: 6px 10px; font-size: 0.8rem; } .episodes-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } .episode-num { padding: 6px 8px; } .episode-title { font-size: 0.8rem; } .cast-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; } .cast-name { font-size: 0.75rem; } .cast-role { font-size: 0.65rem; } /* Liste sayfaları (filmler, diziler, animeler) küçük ekran */ .page-header { padding: 16px 12px 12px; } .page-title { font-size: 1.3rem; } .page-title-row { margin-bottom: 12px; gap: 8px; } .page-title-icon { width: 30px; height: 30px; } .page-title-icon .material-symbols-outlined { font-size: 16px; } .page-count { font-size: 0.7rem; padding: 2px 8px; } /* Filtreler: dikey layout */ .filters-bar { flex-direction: column; gap: 6px; } .filter-select { width: 100%; padding: 10px 32px 10px 12px; font-size: 0.8rem; } /* Content grid */ .content-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0 12px 24px; } .grid-card-title { font-size: 0.75rem; } .grid-card-rating, .grid-card-year { font-size: 0.65rem; } /* Video player */ .video-player-section { padding: 12px 8px; } .player-container { border-radius: var(--radius-sm); } .player-report-bar { padding: 8px 0 2px; } .report-btn { font-size: 0.75rem; padding: 6px 12px; } /* Footer küçük ekran */ .footer-quote { padding: 24px 16px 20px; } .footer-quote-text { font-size: 0.88rem; } /* Hesabım küçük ekran */ .account-page { padding: 12px 6px; } .account-content { padding: 16px 12px; overflow-x: hidden; word-break: break-word; } .account-sidebar { padding: 12px; } .account-nav-link { padding: 8px 12px; font-size: 0.75rem; min-height: 44px; } .account-container { gap: 12px; } .account-grid { gap: 10px; } .account-card-title { font-size: 0.8125rem; } .account-card-meta { font-size: 0.75rem; } /* Auth sayfaları (login/register) */ .auth-card { padding: 24px 20px; } .auth-title { font-size: 1.25rem; } /* Yorum/puanlama küçük ekran */ .rating-box { padding: 14px 12px; } .rating-avg-number { font-size: 1.5rem; } .star-btn svg { width: 20px; height: 20px; } .comment-form { padding: 10px; } .comment-textarea { min-height: 60px; font-size: 0.85rem; } .comment-item { padding: 10px; gap: 8px; } .comment-text { font-size: 0.8rem; } .comment-author { font-size: 0.8rem; } .comment-date { font-size: 0.7rem; } /* Carousel section */ .carousel-card-title { font-size: 0.8125rem; } .carousel-card-meta { font-size: 0.75rem; } .carousel-card-info { padding: 8px 0 2px; } .carousel-genre-tag { font-size: 0.65rem; padding: 3px 8px; } /* Scroll-to-top küçük ekran */ .scroll-to-top { width: 36px; height: 36px; right: 8px; } .scroll-to-top .material-symbols-outlined { font-size: 20px; } } /* ── Çok Küçük Ekranlar (max-width: 360px) Galaxy Fold vb. ── */ @media (max-width: 360px) { :root { --container-padding: 12px; } .homepage-logo-text { font-size: 1.5rem; } .homepage-grid { gap: 8px; } .trend-card { flex: 0 0 124px; } .trend-number { font-size: 95px; left: 0; bottom: 0; } .trend-card-poster { margin-left: 39px; } .content-grid { gap: 8px; } .detail-poster { width: 100px; } .detail-title { font-size: 1.15rem; } .series-poster { width: 110px; } .series-title { font-size: 1.2rem; } } /* ── Erişilebilirlik: Azaltılmış hareket ── */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .btn-accent { animation: none !important; } .homepage-card:hover, .grid-card:hover, .trend-card:hover .trend-card-poster { transform: none !important; } } /* ── Hover desteği olmayan cihazlar (dokunmatik) ── */ @media (hover: none) { .homepage-card:hover { transform: none; } .homepage-card:hover .homepage-card-poster { box-shadow: none; } .homepage-card:hover .homepage-card-poster img, .trend-card:hover .trend-card-poster img { transform: none; } .grid-card:hover { transform: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .trend-card:hover .trend-card-poster { box-shadow: none; } .episode-card-link:hover { transform: none; } .carousel-card-link:hover .carousel-card-play { opacity: 0; } .carousel-card-link:hover .carousel-card-poster::after { opacity: 0; } /* Tooltip iptal */ .btn-icon:hover .btn-tooltip { display: none; } .comment-delete-btn { opacity: 0.6; } } /* ── Dokunmatik cihazlar: hızlı tıklama & scroll ── */ @media (pointer: coarse) { body { -webkit-tap-highlight-color: transparent; touch-action: manipulation; } .trend-carousel-inner, .episodes-carousel, .account-nav { overscroll-behavior-x: contain; } /* iOS input zoom önleme (16px altı font-size zoom tetikler) */ .account-form input, .auth-form input, .comment-textarea, .mobile-search-input, .report-textarea { font-size: 16px; } } /* ── Landscape mode düzeltmeleri ── */ @media (max-height: 500px) and (orientation: landscape) { .detail-hero { min-height: auto; padding-top: 56px; } .series-hero { padding-top: 56px; } .homepage-hero { padding-top: 16px; padding-bottom: 12px; gap: 12px; } .homepage-logo-icon { width: 32px; height: 32px; } .homepage-logo-text { font-size: 1.5rem; } } /* ================================================================ LIGHT THEME ================================================================ */ body.theme-transitioning, body.theme-transitioning *, body.theme-transitioning *::before, body.theme-transitioning *::after { transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important; } html.light { --bg-dark: #F5F5F7; --bg-darker: #EEEEF0; --bg-card: #FFFFFF; --bg-card-hover: #FBF1F1; --bg-input: #F0F0F2; --accent: #DC2626; --accent-hover: #B91C1C; --accent-glow: rgba(220, 38, 38, 0.12); --accent-subtle: rgba(220, 38, 38, 0.06); --text-primary: #1A1A2E; --text-secondary: #555566; --text-muted: #888899; --border: rgba(220, 38, 38, 0.15); --shadow: 0 2px 8px rgba(0, 0, 0, 0.08); --shadow-glow: 0 0 15px rgba(220, 38, 38, 0.1); } html.light body { background-color: #F0F0F2; } html.light .site-header { background: rgba(255, 255, 255, 0.92); border-bottom-color: rgba(220, 38, 38, 0.1); border-left-color: rgba(220, 38, 38, 0.08); border-right-color: rgba(220, 38, 38, 0.08); } html.light .dropdown-menu { background: #fff; border-color: rgba(220, 38, 38, 0.12); } html.light .header-search-inline { background: var(--bg-input); } html.light .header-search-results { background: #fff; border-color: rgba(220, 38, 38, 0.12); } html.light .mobile-nav-overlay { background: #f5f5f5; border-left-color: rgba(0, 0, 0, 0.08); } html.light .mobile-nav-backdrop.open { background: rgba(0, 0, 0, 0.3); } html.light .mobile-nav-link { color: var(--text-primary); } html.light .mobile-nav-link:hover, html.light .mobile-nav-link.active { background: rgba(0, 0, 0, 0.04); } html.light .mobile-nav-sublink:hover { color: var(--accent, #EF4444); } html.light .mobile-nav-divider { border-top-color: rgba(0, 0, 0, 0.08); } html.light .mobile-search-overlay { background: #f5f5f5; } html.light .mobile-search-header { border-bottom-color: rgba(0, 0, 0, 0.08); } html.light .mobile-search-title { color: #1a1a2e; } html.light .mobile-search-close { background: #eee; border-color: rgba(0, 0, 0, 0.08); color: #333; } html.light .mobile-search-input { background: #fff; border-color: rgba(0, 0, 0, 0.1); color: #1a1a2e; } html.light .bottom-nav { background: #fff; border-top-color: rgba(0, 0, 0, 0.08); } html.light .bottom-nav-item { color: #999; } html.light .bottom-nav-item.active, html.light .bottom-nav-item:hover { color: var(--accent, #DC2626); } html.light .grid-card-poster { box-shadow: 0 2px 8px rgba(0,0,0,0.1); } html.light .detail-hero-overlay { background: linear-gradient(to right, rgba(245,245,247,0.95) 0%, rgba(245,245,247,0.7) 50%, transparent 100%); } html.light .auth-card, html.light .comment-form, html.light .comment-login-box, html.light .rating-box { background: #fff; border-color: rgba(220, 38, 38, 0.1); } html.light .comment-textarea { background: var(--bg-input); color: var(--text-primary); } html.light .footer { background: #fff; border-top-color: rgba(220, 38, 38, 0.1); } html.light .homepage-hero { background: linear-gradient(135deg, #F5F5F7 0%, #EDE9FE 100%); } html.light .announcement-bar { background: var(--accent); } html.light .header-user-menu { background: #fff; border-color: rgba(220, 38, 38, 0.12); } html.light .btn-outline { border-color: rgba(220, 38, 38, 0.2); color: var(--text-primary); } html.light .filter-select { background: #fff; color: var(--text-primary); border-color: rgba(220, 38, 38, 0.15); } html.light .page-header { border-bottom-color: rgba(220, 38, 38, 0.1); } /* Theme toggle button */ .theme-toggle-btn { position: relative; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; } .theme-toggle-btn .theme-icon-light { display: none; } .theme-toggle-btn .theme-icon-dark { display: inline; } html.light .theme-toggle-btn .theme-icon-light { display: inline; } html.light .theme-toggle-btn .theme-icon-dark { display: none; } /* ================================================================ SKELETON LOADING + LAZY IMAGE ================================================================ */ .skeleton-card-wrapper { border-radius: var(--radius-md); overflow: hidden; } .skeleton-poster { width: 100%; aspect-ratio: 2/3; background: var(--bg-card); border-radius: var(--radius-md); position: relative; overflow: hidden; } .skeleton-shimmer { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(239, 68, 68,0.06) 50%, transparent 100%); animation: shimmer 1.5s infinite; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .lazy-img { opacity: 0; filter: blur(10px); transition: opacity 0.4s ease, filter 0.4s ease; } .lazy-img.loaded { opacity: 1; filter: blur(0); } /* ================================================================ HERO BANNER SLIDER ================================================================ */ .hero-slider { position: relative; width: 100%; max-width: var(--container-max); margin: 0 auto 24px; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 21/9; background: var(--bg-card); } .hero-slider-slides { position: relative; width: 100%; height: 100%; } .hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s ease; pointer-events: none; } .hero-slide.active { opacity: 1; pointer-events: auto; } .hero-slide-bg { position: absolute; inset: 0; } .hero-slide-bg img { width: 100%; height: 100%; object-fit: cover; } .hero-slide-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(11,10,16,0.92) 0%, rgba(11,10,16,0.6) 50%, rgba(11,10,16,0.1) 100%); } html.light .hero-slide-overlay { background: linear-gradient(to right, rgba(245,245,247,0.95) 0%, rgba(245,245,247,0.7) 50%, rgba(245,245,247,0.1) 100%); } .hero-slide-content { position: absolute; bottom: 0; left: 0; padding: clamp(16px, 4vw, 48px); max-width: 55%; z-index: 2; } .hero-slide-badge { margin-bottom: 8px; display: inline-block; } .hero-slide-title { font-size: clamp(1.1rem, 3vw, 2rem); font-weight: 800; line-height: 1.2; margin-bottom: 8px; color: var(--text-primary); } .hero-slide-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 0.9rem; color: var(--text-secondary); } .hero-slide-rating { display: flex; align-items: center; gap: 4px; color: #fbbf24; font-weight: 600; } .hero-slide-rating .material-symbols-outlined { font-size: 16px; } .hero-slide-summary { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .hero-slide-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 24px; background: var(--accent); color: #fff; border-radius: var(--radius-full); font-weight: 600; font-size: 0.85rem; transition: background var(--transition); text-decoration: none; } .hero-slide-btn:hover { background: var(--accent-hover); } .hero-slider-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; background: rgba(0,0,0,0.4); color: #fff; border: none; border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--transition); } .hero-slider-nav:hover { background: rgba(0,0,0,0.7); } .hero-slider-prev { left: 12px; } .hero-slider-next { right: 12px; } .hero-slider-dots { position: absolute; bottom: 16px; right: 48px; display: flex; gap: 8px; z-index: 5; } .hero-slider-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.5); background: transparent; cursor: pointer; transition: all var(--transition); padding: 0; } .hero-slider-dot.active { background: var(--accent); border-color: var(--accent); transform: scale(1.2); } @media (max-width: 768px) { .hero-slider { aspect-ratio: 16/9; border-radius: 0; margin-bottom: 16px; } .hero-slide-content { max-width: 80%; } .hero-slide-summary { display: none; } .hero-slider-nav { width: 32px; height: 32px; } .hero-slider-dots { right: 20px; bottom: 10px; } } /* ================================================================ ADVANCED SEARCH FILTERS ================================================================ */ .search-input-row { margin-bottom: 16px; } .search-text-input { width: 100%; padding: 12px 16px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-size: 0.95rem; font-family: inherit; outline: none; transition: border-color var(--transition); } .search-text-input:focus { border-color: var(--accent); } .filters-bar-wrap { flex-wrap: wrap; } .active-filters { display: none; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .filter-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; background: var(--accent-subtle); border: 1px solid var(--accent); border-radius: var(--radius-full); color: var(--accent); font-size: 0.78rem; font-weight: 500; } .filter-chip-remove { background: none; border: none; color: var(--accent); font-size: 1rem; cursor: pointer; padding: 0; line-height: 1; } /* ================================================================ SIMILAR CONTENT CAROUSEL ================================================================ */ .similar-section { overflow: hidden; } .similar-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; padding: 8px 0 16px; cursor: grab; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; } .similar-carousel::-webkit-scrollbar { display: none; } .similar-card { flex: 0 0 140px; scroll-snap-align: start; text-decoration: none; color: var(--text-primary); transition: transform var(--transition); } .similar-card:hover { transform: translateY(-4px); } .similar-card-poster { width: 100%; aspect-ratio: 2/3; border-radius: var(--radius-md); overflow: hidden; background: var(--bg-card); margin-bottom: 6px; } .similar-card-poster img { width: 100%; height: 100%; object-fit: cover; } .similar-card-title { font-size: 0.75rem; font-weight: 500; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .similar-card-year { font-size: 0.7rem; color: var(--text-muted); } /* ================================================================ COMMENT REPLY SYSTEM ================================================================ */ .comment-actions-row { display: flex; align-items: center; gap: 12px; margin-top: 6px; } .comment-reply-btn { display: inline-flex; align-items: center; gap: 4px; background: none; border: none; color: var(--text-muted); font-size: 0.75rem; cursor: pointer; padding: 2px 0; font-family: inherit; transition: color var(--transition); } .comment-reply-btn:hover { color: var(--accent); } .comment-replies { margin-left: 48px; margin-top: 12px; padding-left: 16px; border-left: 2px solid var(--border); } .comment-reply-item { padding: 8px 0; } .comment-reply-item .comment-avatar { width: 28px; height: 28px; min-width: 28px; } .comment-reply-item .comment-avatar img, .comment-reply-item .comment-avatar-placeholder { width: 28px; height: 28px; font-size: 0.7rem; } .comment-reply-form { margin-top: 8px; display: flex; gap: 8px; } .comment-reply-form textarea { flex: 1; padding: 8px 12px; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-primary); font-family: inherit; font-size: 0.8rem; resize: none; min-height: 60px; outline: none; } .comment-reply-form textarea:focus { border-color: var(--accent); } .comment-reply-form .reply-submit-btn { align-self: flex-end; padding: 6px 14px; background: var(--accent); color: #fff; border: none; border-radius: var(--radius-md); font-size: 0.78rem; font-weight: 600; cursor: pointer; font-family: inherit; } .comment-reply-form .reply-cancel-btn { align-self: flex-end; padding: 6px 14px; background: transparent; color: var(--text-muted); border: 1px solid var(--border); border-radius: var(--radius-md); font-size: 0.78rem; cursor: pointer; font-family: inherit; } /* ================================================================ NOTIFICATION SYSTEM ================================================================ */ .notif-bell-wrapper { position: relative; } .notif-bell-btn { position: relative; } .notif-badge { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px; background: #ef4444; color: #fff; font-size: 0.6rem; font-weight: 700; border-radius: 99px; display: flex; align-items: center; justify-content: center; padding: 0 4px; line-height: 1; } .notif-dropdown { position: absolute; top: calc(100% + 8px); right: 0; width: 340px; max-height: 400px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); z-index: 1100; display: none; flex-direction: column; overflow: hidden; } .notif-dropdown.open { display: flex; } .notif-dropdown-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: 0.85rem; } .notif-mark-all-btn { background: none; border: none; color: var(--accent); font-size: 0.72rem; cursor: pointer; font-family: inherit; font-weight: 500; } .notif-dropdown-list { overflow-y: auto; flex: 1; max-height: 340px; } .notif-item { display: flex; gap: 10px; padding: 10px 16px; cursor: pointer; transition: background var(--transition); border-bottom: 1px solid rgba(239, 68, 68,0.05); text-decoration: none; color: inherit; } .notif-item:hover { background: var(--bg-card-hover); } .notif-item.unread { background: var(--accent-subtle); } .notif-item-icon { width: 32px; height: 32px; border-radius: 50%; background: var(--accent-subtle); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .notif-item-icon .material-symbols-outlined { font-size: 16px; color: var(--accent); } .notif-item-content { flex: 1; min-width: 0; } .notif-item-title { font-size: 0.78rem; font-weight: 500; line-height: 1.3; color: var(--text-primary); } .notif-item-message { font-size: 0.7rem; color: var(--text-muted); margin-top: 2px; } .notif-item-time { font-size: 0.65rem; color: var(--text-muted); margin-top: 2px; } .notif-empty { padding: 32px 16px; text-align: center; color: var(--text-muted); font-size: 0.82rem; } @media (max-width: 480px) { .notif-dropdown { width: calc(100vw - 16px); right: -60px; max-width: 360px; } } /* ================================================================ AUTH PAGE EXTRAS ================================================================ */ .auth-forgot-link { display: block; text-align: right; font-size: 0.78rem; color: var(--accent); margin-top: 4px; text-decoration: none; } .auth-forgot-link:hover { text-decoration: underline; } .auth-success { background: rgba(34, 197, 94, 0.1); border: 1px solid rgba(34, 197, 94, 0.3); color: #22c55e; padding: 12px 16px; border-radius: var(--radius-md); font-size: 0.85rem; margin-bottom: 16px; } .auth-subtitle { color: var(--text-secondary); font-size: 0.85rem; margin-bottom: 20px; text-align: center; } @media (max-width: 480px) { .comment-replies { margin-left: 24px; padding-left: 12px; } } /* ===================== BLOG ===================== */ .blog-container { max-width: var(--container-max); margin: 0 auto; padding: 24px var(--container-padding); } .blog-header { text-align: center; margin-bottom: 32px; padding: 40px 0 24px; } .blog-main-title { font-size: 2rem; font-weight: 800; color: var(--text-primary); margin-bottom: 8px; } .blog-main-desc { color: var(--text-secondary); font-size: 1rem; max-width: 600px; margin: 0 auto; } /* Blog Breadcrumb */ .blog-breadcrumb { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 24px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .blog-breadcrumb a { color: var(--text-secondary); text-decoration: none; transition: color var(--transition); } .blog-breadcrumb a:hover { color: var(--accent); } .blog-breadcrumb-sep { color: var(--text-muted); opacity: 0.5; } /* Blog Filters */ .blog-filters { display: flex; gap: 8px; margin-bottom: 28px; flex-wrap: wrap; justify-content: center; } .blog-filter-btn { padding: 8px 20px; border-radius: var(--radius-full); background: var(--bg-card); color: var(--text-secondary); text-decoration: none; font-size: 0.85rem; font-weight: 500; border: 1px solid var(--border); transition: all var(--transition); } .blog-filter-btn:hover, .blog-filter-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); } /* Blog Featured */ .blog-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 32px; text-decoration: none; border: 1px solid var(--border); transition: transform var(--transition), box-shadow var(--transition); } .blog-featured:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); } .blog-featured-image { position: relative; overflow: hidden; aspect-ratio: 16/10; } .blog-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; } .blog-featured:hover .blog-featured-image img { transform: scale(1.05); } .blog-featured-content { padding: 28px 24px; display: flex; flex-direction: column; justify-content: center; gap: 12px; } .blog-featured-content .blog-card-category { position: static; align-self: flex-start; } .blog-featured-title { font-size: 1.4rem; font-weight: 700; color: var(--text-primary); line-height: 1.3; } .blog-featured-desc { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /* Blog Grid */ .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 32px; } /* Blog Card */ .blog-card { background: var(--bg-card); border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; border: 1px solid var(--border); transition: transform var(--transition), box-shadow var(--transition); } .blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow); } .blog-card-image { position: relative; overflow: hidden; aspect-ratio: 16/9; } .blog-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; } .blog-card:hover .blog-card-image img { transform: scale(1.05); } .blog-card-category { position: absolute; top: 12px; left: 12px; padding: 4px 10px; border-radius: var(--radius-full); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } .blog-cat-dizi { background: rgba(239, 68, 68, 0.9); color: #fff; } .blog-cat-film { background: rgba(236, 72, 153, 0.9); color: #fff; } .blog-cat-anime { background: rgba(34, 197, 94, 0.9); color: #fff; } .blog-cat-genel { background: rgba(59, 130, 246, 0.9); color: #fff; } .blog-card-body { padding: 16px; display: flex; flex-direction: column; gap: 8px; } .blog-card-title { font-size: 0.95rem; font-weight: 600; color: var(--text-primary); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .blog-card-desc { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .blog-card-meta { display: flex; gap: 12px; font-size: 0.75rem; color: var(--text-muted); } /* Blog Article Detail */ .blog-article { max-width: 800px; margin: 0 auto 48px; } .blog-article-header { margin-bottom: 24px; } .blog-article-category { display: inline-block; padding: 4px 12px; border-radius: var(--radius-full); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; } .blog-article-title { font-size: 1.8rem; font-weight: 800; color: var(--text-primary); line-height: 1.3; margin-bottom: 16px; } .blog-article-meta { display: flex; gap: 20px; font-size: 0.8rem; color: var(--text-muted); flex-wrap: wrap; } .blog-article-meta span { display: flex; align-items: center; gap: 4px; } .blog-article-meta .material-symbols-outlined { font-size: 16px; } .blog-article-hero { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 32px; aspect-ratio: 16/9; } .blog-article-hero img { width: 100%; height: 100%; object-fit: cover; } /* Blog Article Body */ .blog-article-body { color: var(--text-secondary); font-size: 0.95rem; line-height: 1.8; } .blog-article-body h2 { font-size: 1.4rem; font-weight: 700; color: var(--text-primary); margin: 32px 0 16px; } .blog-article-body h3 { font-size: 1.15rem; font-weight: 600; color: var(--text-primary); margin: 24px 0 12px; } .blog-article-body h4 { font-size: 1rem; font-weight: 600; color: var(--accent-hover); margin: 20px 0 8px; } .blog-article-body p { margin-bottom: 16px; } .blog-article-body ul, .blog-article-body ol { margin: 12px 0 20px 20px; } .blog-article-body li { margin-bottom: 8px; line-height: 1.7; } .blog-article-body strong { color: var(--text-primary); font-weight: 600; } /* Blog Article Footer */ .blog-article-footer { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; } .blog-article-tags { display: flex; gap: 6px; flex-wrap: wrap; } .blog-tag { padding: 4px 10px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-full); font-size: 0.72rem; color: var(--text-muted); } .blog-share { display: flex; align-items: center; gap: 8px; } .blog-share-label { font-size: 0.8rem; color: var(--text-muted); } .blog-share-btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bg-card); border: 1px solid var(--border); color: var(--text-secondary); transition: all var(--transition); text-decoration: none; } .blog-share-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); } /* Blog Related */ .blog-related { max-width: 800px; margin: 0 auto; } .blog-section-title { font-size: 1.2rem; font-weight: 700; color: var(--text-primary); margin-bottom: 20px; } /* Blog Pagination */ .blog-pagination { display: flex; justify-content: center; gap: 6px; margin: 32px 0; } .blog-page-btn { padding: 8px 14px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); color: var(--text-secondary); font-size: 0.85rem; text-decoration: none; transition: all var(--transition); } .blog-page-btn:hover, .blog-page-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); } /* Blog Empty */ .blog-empty { text-align: center; padding: 80px 20px; color: var(--text-muted); } .blog-empty .material-symbols-outlined { font-size: 48px; margin-bottom: 12px; opacity: 0.5; } /* Blog Responsive */ @media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } .blog-featured { grid-template-columns: 1fr; } .blog-article-title { font-size: 1.4rem; } } @media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } .blog-main-title { font-size: 1.5rem; } .blog-article-title { font-size: 1.2rem; } .blog-article-body { font-size: 0.9rem; } .blog-featured-content { padding: 16px; } .blog-featured-title { font-size: 1.1rem; } .blog-article-footer { flex-direction: column; } } /* ============================================================ Cast Carousel (Film/Dizi detay sayfası) ============================================================ */ .cast-section { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding) 32px; } .cast-section .section-header h2 { display: flex; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 700; color: var(--text-primary); } .cast-section .section-header h2 .material-symbols-outlined { font-size: 1.3rem; color: var(--accent); } .cast-carousel { display: flex; gap: 16px; overflow-x: auto; padding: 8px 0 16px; scroll-snap-type: x mandatory; cursor: grab; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; } .cast-carousel:active { cursor: grabbing; } .cast-carousel::-webkit-scrollbar { display: none; } .cast-carousel { -ms-overflow-style: none; scrollbar-width: none; } .cast-card { flex: 0 0 110px; scroll-snap-align: start; text-align: center; text-decoration: none; color: inherit; transition: transform 0.2s; } .cast-card:hover { transform: translateY(-4px); } .cast-card-photo { width: 90px; height: 90px; border-radius: 50%; overflow: hidden; margin: 0 auto 8px; background: var(--bg-tertiary, #1e293b); border: 2px solid rgba(255,255,255,0.08); } .cast-card-photo img { width: 100%; height: 100%; object-fit: cover; } .cast-card-photo-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 2rem; font-weight: 700; color: var(--text-muted, #94a3b8); background: var(--bg-tertiary, #1e293b); } .cast-card-name { font-size: 0.8rem; font-weight: 600; color: var(--text-primary); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .cast-card-character { font-size: 0.7rem; color: var(--text-muted, #94a3b8); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* ============================================================ Actor Detail Page (/oyuncu/slug) ============================================================ */ .actor-hero { max-width: 900px; margin: 0 auto 32px; padding: 32px 20px; display: flex; gap: 32px; align-items: flex-start; } .actor-photo-wrap { flex-shrink: 0; } .actor-photo { width: 180px; height: 240px; border-radius: 12px; overflow: hidden; background: var(--bg-tertiary, #1e293b); } .actor-photo img { width: 100%; height: 100%; object-fit: cover; } .actor-photo-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 4rem; font-weight: 700; color: var(--text-muted, #94a3b8); } .actor-info { flex: 1; min-width: 0; } .actor-name { font-size: 1.75rem; font-weight: 800; color: var(--text-primary); margin: 0 0 12px; line-height: 1.2; } .actor-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; font-size: 0.875rem; color: var(--text-muted, #94a3b8); } .actor-meta-item { display: flex; align-items: center; gap: 4px; } .actor-meta-item .material-symbols-outlined { font-size: 1rem; color: var(--accent); } .actor-stats { display: flex; gap: 24px; margin-bottom: 16px; } .actor-stat { text-align: center; } .actor-stat-value { font-size: 1.5rem; font-weight: 800; color: var(--accent); display: block; } .actor-stat-label { font-size: 0.75rem; color: var(--text-muted, #94a3b8); } .actor-biography { font-size: 0.9rem; color: var(--text-secondary, #cbd5e1); line-height: 1.7; } .actor-biography-loading { color: var(--text-muted, #94a3b8); font-style: italic; } .actor-filmography-section { max-width: 900px; margin: 0 auto 32px; padding: 0 20px; } .actor-filmography-section .section-header h2 { display: flex; align-items: center; gap: 8px; font-size: 1.25rem; font-weight: 700; color: var(--text-primary); } .actor-filmography-section .section-header h2 .material-symbols-outlined { font-size: 1.3rem; color: var(--accent); } .actor-role-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 4px 6px; background: rgba(0,0,0,0.85); font-size: 0.65rem; color: var(--text-muted, #94a3b8); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .grid-card-poster { position: relative; } /* ── Actor page responsive ── */ @media (max-width: 600px) { .actor-hero { flex-direction: column; align-items: center; text-align: center; padding: 20px; gap: 20px; } .actor-photo { width: 140px; height: 190px; } .actor-name { font-size: 1.4rem; } .actor-meta { justify-content: center; } .actor-stats { justify-content: center; } .cast-card { flex: 0 0 95px; } .cast-card-photo { width: 75px; height: 75px; } } /* ============================================================ Dizi Takvimi ============================================================ */ /* ============================================================ Calendar Page - Responsive Design ============================================================ */ .calendar-page { padding: 100px var(--container-padding) 120px; max-width: var(--container-max); margin: 0 auto; } .calendar-container { width: 100%; } /* Header */ .calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; } .calendar-header-left { flex-shrink: 0; } .calendar-title { font-size: 1.4rem; font-weight: 700; display: flex; align-items: center; gap: 10px; color: var(--text-primary); } .calendar-title .material-symbols-outlined { color: var(--accent); font-size: 28px; } .calendar-header-center { display: flex; align-items: center; gap: 12px; } .calendar-month-label { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); min-width: 150px; text-align: center; white-space: nowrap; } .calendar-nav-btn { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--radius-md); background: var(--bg-card); border: 1px solid var(--border); color: var(--text-secondary); text-decoration: none; transition: var(--transition); } .calendar-nav-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); } .calendar-header-right { display: flex; align-items: center; gap: 10px; } .calendar-view-toggle, .calendar-filter-toggle { display: flex; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border); } .calendar-view-btn, .calendar-filter-btn { padding: 7px 16px; font-size: 0.8rem; font-weight: 500; background: var(--bg-card); color: var(--text-secondary); border: none; cursor: pointer; transition: var(--transition); } .calendar-view-btn:hover, .calendar-filter-btn:hover { background: var(--bg-card-hover); color: var(--text-primary); } .calendar-view-btn:not(:last-child), .calendar-filter-btn:not(:last-child) { border-right: 1px solid var(--border); } .calendar-view-btn.active, .calendar-filter-btn.active { background: var(--accent); color: #fff; } /* Monthly Grid */ .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: var(--border); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); } .calendar-day-header { background: var(--bg-card); padding: 12px 6px; text-align: center; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.8px; } .calendar-day { background: var(--bg-dark); min-height: 120px; padding: 8px 6px; position: relative; transition: background 0.2s; overflow: hidden; } .calendar-day-empty { background: var(--bg-darker); min-height: 80px; } .calendar-day-has-episodes { cursor: pointer; } .calendar-day-has-episodes:hover { background: var(--bg-card); } .calendar-day-today { background: var(--accent-subtle); box-shadow: inset 3px 0 0 var(--accent); } .calendar-day-num { font-size: 0.82rem; font-weight: 600; color: var(--text-muted); display: block; margin-bottom: 6px; } .calendar-day-today .calendar-day-num { color: var(--accent); font-weight: 700; } .calendar-day-episodes { display: flex; flex-direction: column; gap: 3px; } .calendar-ep-mini { display: flex; align-items: center; gap: 4px; padding: 2px 4px; border-radius: 4px; background: var(--bg-card); overflow: hidden; min-width: 0; } .calendar-ep-poster { width: 18px; height: 26px; object-fit: cover; border-radius: 3px; flex-shrink: 0; } .calendar-ep-name { font-size: 0.65rem; font-weight: 500; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; line-height: 1.3; } .calendar-ep-num { font-size: 0.6rem; color: var(--accent); font-weight: 600; flex-shrink: 0; white-space: nowrap; } .calendar-ep-more { font-size: 0.65rem; color: var(--accent); font-weight: 600; text-align: center; padding: 2px 0; background: var(--accent-subtle); border-radius: 4px; margin-top: 1px; } /* Weekly View */ .calendar-week-list { display: flex; flex-direction: column; gap: 2px; background: var(--border); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); } .calendar-week-day { background: var(--bg-dark); padding: 16px 20px; } .calendar-week-today { box-shadow: inset 3px 0 0 var(--accent); background: var(--accent-subtle); } .calendar-week-day-header { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border); } .calendar-week-day-name { font-weight: 600; color: var(--text-primary); font-size: 0.95rem; } .calendar-week-day-date { font-size: 0.8rem; color: var(--text-muted); } .calendar-week-day-episodes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; } .calendar-week-empty { font-size: 0.82rem; color: var(--text-muted); padding: 4px 0; font-style: italic; } .calendar-week-episode { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: var(--bg-card); border-radius: var(--radius-md); text-decoration: none; transition: var(--transition); border: 1px solid transparent; } .calendar-week-episode:hover { background: var(--bg-card-hover); border-color: var(--accent); } .calendar-week-ep-poster { width: 36px; height: 52px; object-fit: cover; border-radius: 4px; flex-shrink: 0; } .calendar-week-ep-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; } .calendar-week-ep-title { font-size: 0.88rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .calendar-week-ep-detail { font-size: 0.76rem; color: var(--accent); font-weight: 500; } /* Day Detail Modal */ .calendar-modal-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; } .calendar-modal-backdrop.open { opacity: 1; visibility: visible; } .calendar-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.92); width: 92%; max-width: 520px; max-height: 80vh; background: var(--bg-card); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4); z-index: 9999; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); } .calendar-modal.open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); } .calendar-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); flex-shrink: 0; } .calendar-modal-title { font-size: 1.05rem; font-weight: 600; color: var(--text-primary); } .calendar-modal-close { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 6px; border-radius: var(--radius-sm); transition: var(--transition); display: flex; align-items: center; justify-content: center; } .calendar-modal-close:hover { color: var(--text-primary); background: var(--bg-card-hover); } .calendar-modal-body { padding: 16px 20px; overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 8px; } .calendar-modal-loading, .calendar-modal-empty { text-align: center; padding: 32px 20px; color: var(--text-muted); font-size: 0.88rem; } .calendar-modal-episode { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--bg-dark); border-radius: var(--radius-md); text-decoration: none; transition: var(--transition); border: 1px solid transparent; } .calendar-modal-episode:hover { border-color: var(--accent); background: var(--accent-subtle); } .calendar-modal-ep-poster { width: 40px; height: 58px; object-fit: cover; border-radius: 4px; flex-shrink: 0; } .calendar-modal-ep-info { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; } .calendar-modal-ep-title { font-size: 0.9rem; font-weight: 600; color: var(--text-primary); } .calendar-modal-ep-detail { font-size: 0.78rem; color: var(--accent); font-weight: 500; } .calendar-modal-ep-overview { font-size: 0.76rem; color: var(--text-muted); line-height: 1.4; margin-top: 2px; } /* Mobile List View */ .calendar-mobile-list { display: none; } .calendar-mobile-empty { text-align: center; padding: 60px 20px; color: var(--text-muted); font-size: 0.9rem; } .calendar-mobile-day { margin-bottom: 20px; } .calendar-mobile-today { box-shadow: inset 3px 0 0 var(--accent); padding-left: 16px; background: var(--accent-subtle); border-radius: var(--radius-md); padding: 12px 12px 12px 16px; } .calendar-mobile-day-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } .calendar-mobile-day-num { font-size: 1.5rem; font-weight: 700; color: var(--text-primary); line-height: 1; } .calendar-mobile-day-name { font-size: 0.82rem; color: var(--text-muted); font-weight: 500; } .calendar-mobile-today-badge { font-size: 0.68rem; font-weight: 600; color: #fff; background: var(--accent); padding: 3px 10px; border-radius: var(--radius-full); margin-left: auto; } .calendar-mobile-episode { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: var(--bg-card); border-radius: var(--radius-md); text-decoration: none; margin-bottom: 6px; transition: var(--transition); border: 1px solid transparent; } .calendar-mobile-episode:hover, .calendar-mobile-episode:active { background: var(--bg-card-hover); border-color: var(--border); } .calendar-mobile-ep-poster { width: 36px; height: 52px; object-fit: cover; border-radius: 4px; flex-shrink: 0; } .calendar-mobile-ep-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; } .calendar-mobile-ep-title { font-size: 0.88rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .calendar-mobile-ep-detail { font-size: 0.75rem; color: var(--accent); font-weight: 500; } /* Calendar Stats Bar */ .calendar-stats { display: flex; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; } .calendar-stat { display: flex; align-items: center; gap: 8px; padding: 10px 16px; background: var(--bg-card); border-radius: var(--radius-md); border: 1px solid var(--border); flex: 1; min-width: 140px; } .calendar-stat-icon { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--accent-subtle); border-radius: var(--radius-sm); color: var(--accent); flex-shrink: 0; } .calendar-stat-icon .material-symbols-outlined { font-size: 20px; } .calendar-stat-info { display: flex; flex-direction: column; } .calendar-stat-num { font-size: 1.1rem; font-weight: 700; color: var(--text-primary); line-height: 1.2; } .calendar-stat-label { font-size: 0.72rem; color: var(--text-muted); font-weight: 500; } /* Responsive: Tablet (769px - 1024px) */ @media (max-width: 1024px) { .calendar-header { gap: 12px; } .calendar-title { font-size: 1.2rem; } .calendar-month-label { font-size: 1rem; min-width: 130px; } .calendar-day { min-height: 100px; padding: 6px 4px; } .calendar-day-empty { min-height: 60px; } .calendar-ep-poster { display: none; } .calendar-ep-mini { padding: 3px 5px; } .calendar-ep-name { font-size: 0.62rem; } .calendar-ep-num { font-size: 0.58rem; } } /* Responsive: Mobile */ @media (max-width: 768px) { .calendar-page { padding: 80px 16px 100px; } .calendar-header { flex-direction: column; align-items: stretch; gap: 12px; } .calendar-header-left { display: flex; align-items: center; justify-content: space-between; } .calendar-header-center { justify-content: center; gap: 8px; } .calendar-month-label { font-size: 1.05rem; min-width: auto; } .calendar-grid-wrapper, .calendar-week-wrapper { display: none !important; } .calendar-mobile-list { display: block; } .calendar-header-right { justify-content: center; } .calendar-view-toggle { display: none; } .calendar-stats { gap: 8px; } .calendar-stat { min-width: 0; padding: 8px 12px; } .calendar-stat-num { font-size: 0.95rem; } .calendar-stat-label { font-size: 0.68rem; } .calendar-modal { width: 96%; max-height: 85vh; } } /* Responsive: Small Mobile */ @media (max-width: 400px) { .calendar-page { padding: 72px 12px 90px; } .calendar-title { font-size: 1.1rem; } .calendar-month-label { font-size: 0.95rem; } .calendar-stat { flex: 0 0 calc(50% - 4px); } } /* ============================================================ AI Chatbot (Floating) ============================================================ */ .chatbot-fab { position: fixed; bottom: 90px; right: 24px; width: 56px; height: 56px; border-radius: 50%; background: var(--accent); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(239, 68, 68, 0.4); z-index: 9990; transition: transform 0.3s, background 0.3s, box-shadow 0.3s; } .chatbot-fab:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(239, 68, 68, 0.5); } .chatbot-fab.open { transform: rotate(45deg); background: var(--bg-card-hover); box-shadow: 0 2px 8px rgba(0,0,0,0.3); } .chatbot-fab .material-symbols-outlined { font-size: 28px; transition: transform 0.3s; } .chatbot-panel { position: fixed; bottom: 160px; right: 24px; width: 380px; max-height: 500px; background: var(--bg-card); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); z-index: 9991; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(20px) scale(0.95); transition: opacity 0.25s, visibility 0.25s, transform 0.25s; } .chatbot-panel.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); } .chatbot-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--border); border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: linear-gradient(135deg, var(--accent) 0%, #b91c1c 100%); } .chatbot-header-title { display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; font-size: 0.95rem; } .chatbot-header-title .material-symbols-outlined { font-size: 22px; } .chatbot-close { background: none; border: none; color: rgba(255, 255, 255, 0.8); cursor: pointer; padding: 2px; border-radius: var(--radius-sm); display: flex; transition: var(--transition); } .chatbot-close:hover { color: #fff; background: rgba(255, 255, 255, 0.15); } .chatbot-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; min-height: 200px; max-height: 340px; } .chatbot-message { max-width: 85%; padding: 10px 14px; border-radius: 14px; font-size: 0.85rem; line-height: 1.5; word-wrap: break-word; } .chatbot-message a { color: var(--accent-hover); text-decoration: underline; } .chatbot-message-user { align-self: flex-end; background: var(--accent); color: #fff; border-bottom-right-radius: 4px; } .chatbot-message-bot { align-self: flex-start; background: var(--bg-dark); color: var(--text-primary); border: 1px solid var(--border); border-bottom-left-radius: 4px; } .chatbot-message-bot strong { color: var(--accent-hover); } .chatbot-welcome { text-align: center; color: var(--text-muted); font-size: 0.82rem; padding: 20px 10px; } .chatbot-loading { padding: 14px; } .chatbot-dots { display: flex; gap: 5px; } .chatbot-dots span { width: 8px; height: 8px; border-radius: 50%; background: var(--text-muted); animation: chatbotDots 1.2s infinite ease-in-out; } .chatbot-dots span:nth-child(2) { animation-delay: 0.2s; } .chatbot-dots span:nth-child(3) { animation-delay: 0.4s; } @keyframes chatbotDots { 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; } 40% { transform: scale(1); opacity: 1; } } .chatbot-input-area { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--border); } .chatbot-input { flex: 1; background: var(--bg-input); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 8px 16px; color: var(--text-primary); font-size: 0.85rem; outline: none; transition: var(--transition); } .chatbot-input:focus { border-color: var(--accent); } .chatbot-input::placeholder { color: var(--text-muted); } .chatbot-send { width: 38px; height: 38px; border-radius: 50%; background: var(--accent); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: var(--transition); flex-shrink: 0; } .chatbot-send:hover { background: var(--accent-hover); } .chatbot-send:disabled { opacity: 0.5; cursor: not-allowed; } @media (max-width: 768px) { .chatbot-fab { bottom: 80px; right: 16px; width: 50px; height: 50px; } .chatbot-panel { bottom: 0; right: 0; left: 0; width: 100%; max-height: 75vh; border-radius: var(--radius-lg) var(--radius-lg) 0 0; } } /* Light theme support */ .light .calendar-day { background: #fff; } .light .calendar-day-empty { background: #f8f8fa; } .light .calendar-day-today { background: rgba(239, 68, 68, 0.05); } .light .calendar-ep-mini { background: #f3f1f9; } .light .calendar-week-day { background: #fff; } .light .calendar-week-episode { background: #f8f8fa; } .light .calendar-modal { background: #fff; } .light .calendar-modal-episode { background: #f8f8fa; } .light .chatbot-panel { background: #fff; } .light .chatbot-message-bot { background: #f3f1f9; border-color: #e5e0f0; } .light .chatbot-input { background: #f8f8fa; } /* SEO Description */ .seo-description { max-width: 900px; margin: 0 auto 1.5rem; padding: 0 1rem; } .seo-description p { color: var(--text-muted); font-size: 0.875rem; line-height: 1.7; margin: 0; } .seo-description strong { color: var(--text-secondary); } .light .seo-description p { color: #666; } .light .seo-description strong { color: #444; } /* Same Actor Section */ .actor-series-section { margin-top: 1.5rem; } .actor-series-section .section-header h2 { font-size: 1.1rem; display: flex; align-items: center; gap: 0.5rem; } .actor-series-section .section-header h2 .material-symbols-outlined { font-size: 1.3rem; color: var(--accent); } /* Screen reader only - visually hidden but accessible */ .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } /* Player load error overlay */ .player-load-error { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: rgba(0,0,0,0.85); color: #fff; z-index: 16; } .player-load-error p { font-size: 15px; opacity: 0.8; margin: 0; } .site-intro { max-width: var(--container-max); margin: 0 auto; padding: 10px var(--container-padding) 4px; text-align: center; } .site-intro-title { font-size: 0.85rem; font-weight: 500; color: var(--text-muted); line-height: 1.4; } .site-intro-desc { font-size: 0.75rem; color: var(--text-muted); opacity: 0.7; margin-top: 2px; } img.lazyload { filter: blur(8px); transition: filter 0.3s ease; } img.lazyloaded { filter: blur(0); } .legal-page{max-width:var(--container-max);margin:0 auto;padding:40px var(--container-padding) 80px} .legal-container{max-width:780px;margin:0 auto} .legal-header{margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--border)} .legal-title{font-size:2rem;font-weight:800;margin-bottom:8px} .legal-updated{font-size:0.82rem;color:var(--text-muted)} .legal-content{display:flex;flex-direction:column;gap:32px} .legal-section h2{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)} .legal-section h3{font-size:0.95rem;font-weight:600;color:var(--text-secondary);margin:16px 0 8px} .legal-section p{font-size:0.9rem;color:var(--text-secondary);line-height:1.8;margin-bottom:12px} .legal-section ul{padding-left:20px;display:flex;flex-direction:column;gap:6px} .legal-section ul li{font-size:0.88rem;color:var(--text-secondary);line-height:1.7} .legal-section a{color:var(--accent);text-decoration:none} .legal-section a:hover{text-decoration:underline} .dmca-contact-email{display:inline-block;margin:12px 0;padding:12px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-weight:500} .dmca-contact-email a{color:var(--accent)} .contact-email-box{margin:16px 0} .contact-email-link{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-weight:500;color:var(--accent)!important;transition:all var(--transition)} .contact-email-link:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:var(--shadow-glow)} .contact-topics{display:flex;flex-direction:column;gap:16px;margin-top:4px} .contact-topic-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)} .contact-topic-item .material-symbols-outlined{font-size:1.3rem;color:var(--accent);flex-shrink:0;margin-top:2px} .contact-topic-item strong{display:block;font-size:0.9rem;color:var(--text-primary);margin-bottom:4px} .contact-topic-item p{font-size:0.82rem;color:var(--text-muted);margin:0;line-height:1.6} .footer-logo-link{display:inline-block;margin-bottom:14px} .footer-logo{font-size:1.5rem;font-weight:800;color:var(--accent);letter-spacing:-0.02em} .footer-brand-desc{font-size:0.82rem;color:var(--text-muted);line-height:1.75;margin-bottom:14px} .footer-brand-desc strong{color:var(--text-secondary);font-weight:500} .footer-contact-mail{display:flex;align-items:center;gap:6px;font-size:0.8rem;color:var(--text-muted)} .footer-contact-mail a{color:var(--text-muted);transition:color var(--transition)} .footer-contact-mail a:hover{color:var(--accent)} .footer-contact-mail svg{flex-shrink:0;opacity:0.6} .footer-seo{border-top:1px solid var(--border);padding:20px 0;margin-bottom:0} .footer-seo-text{font-size:0.77rem;color:var(--text-muted);line-height:1.85;opacity:0.65} .footer-seo-text strong{color:var(--text-secondary);font-weight:600;opacity:1} .footer-seo-text a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,0.18);transition:color var(--transition)} .footer-seo-text a:hover{color:var(--accent)} .footer-bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap} .footer-copyright{font-size:0.78rem;color:var(--text-muted)} .footer-disclaimer{font-size:0.74rem;color:var(--text-muted);opacity:0.5} @media(max-width:768px){.footer-col-brand{grid-column:1/-1} .footer-bottom-bar{flex-direction:column;align-items:flex-start;gap:6px}} 
.adsterra-slot{margin:0 auto;overflow:hidden;background:rgba(255,255,255,0.02);border-radius:6px;min-height:0}.adsterra-strip{width:100%;display:flex;justify-content:center;padding:12px 0;background:transparent}.adsterra-strip-top{padding:8px 0 0}.adsterra-strip-mid{padding:24px 12px 8px}.adsterra-728{max-width:728px}.adsterra-300{max-width:300px}@media(max-width:767px){.adsterra-strip-top{display:none}}.homepage-section-adsterra{text-align:center;padding:8px 12px 24px;min-height:60px}.homepage-section-adsterra .adsterra-native{max-width:100%}.adsterra-sticky-mobile{display:none}@media(max-width:768px){.adsterra-sticky-mobile{display:block;position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:998;background:rgba(0,0,0,0.85);backdrop-filter:blur(6px);padding:4px 0;text-align:center;border-top:1px solid rgba(255,255,255,0.05)}.adsterra-sticky-mobile .adsterra-slot{margin:0 auto;background:transparent}body{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px)) !important}.scroll-to-top{bottom:calc(130px + env(safe-area-inset-bottom,0px)) !important}.detail-toast{bottom:calc(130px + env(safe-area-inset-bottom,0px)) !important}}

@media (max-width:900px){.site-header,.watch-content,.watch-sidebar,.player-loading-overlay,.account-card-rating-badge,.trailer-modal-overlay,.report-modal-overlay,.calendar-modal-backdrop,.adsterra-sticky-mobile{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}}

/* ════════════════════════════════════════════════════════════════════════
   NETFLIX × DIZIPAL.IM REDESIGN — 2026-05-25
   GERİ ALMA: Aşağıdaki "REDESIGN-START" ↔ "REDESIGN-END" arasını sil +
   includes/header.php inline :root token'larını yedekten geri yükle.
   Yedek: _design_backup_20260525_* (style.css/min, header.php, footer.php)
   ════════════════════════════════════════════════════════════════════════ */
/* REDESIGN-START */

/* ── 1. TASARIM TOKEN'LARI (dizipal.im paleti) ──────────────────────────── */
:root, html.dark, html.light {
    --bg-dark: #0a0a0b;
    --bg-darker: #050506;
    --bg-card: #161616;
    --bg-card-hover: #202023;
    --bg-input: #1a1a1c;
    --accent: #ff3c3c;
    --accent-hover: #ff5c5c;
    --accent-glow: rgba(255, 60, 60, .35);
    --accent-subtle: rgba(255, 60, 60, .10);
    --text-primary: #ffffff;
    --text-secondary: #bac1cd;
    --text-muted: #8a909c;
    --rating: #ffca05;
    --border: rgba(255, 255, 255, .08);
    --radius-sm: 5px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --shadow: 0 10px 34px rgba(0, 0, 0, .6);
    --shadow-glow: 0 10px 44px rgba(255, 60, 60, .28);
    --container-max: 1560px;
}

/* ── 2. TEMEL — saf siyah, Netflix/dizipal zemin ────────────────────────── */
html, body, body.body-dark, html.light body {
    background-color: #0a0a0b !important;
    color: var(--text-primary);
}
body {
    font-family: 'Host Grotesk', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    -webkit-font-smoothing: antialiased;
}
::selection { background: var(--accent); color: #fff; }
/* İnce, koyu scrollbar */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: #2a2a2e; border-radius: 10px; }
*::-webkit-scrollbar-thumb:hover { background: #3a3a40; }

/* ── 3. HEADER — tam genişlik, koyu cam, Netflix bar ────────────────────── */
.site-header, .site-header.site-header-compact {
    max-width: none !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, rgba(7,7,9,.96) 0%, rgba(10,10,12,.82) 100%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    backdrop-filter: blur(14px) saturate(160%);
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 4px 24px rgba(0,0,0,.45);
}
.header-inner { max-width: var(--container-max) !important; height: 68px !important; }
.site-header-compact .header-inner { height: 60px !important; }
.logo, .logo-dizipal {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    color: var(--accent) !important;
    text-transform: none;
    text-shadow: none;
}
.nav-link {
    color: var(--text-secondary) !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
    border-radius: var(--radius-sm);
    transition: color .18s ease, background .18s ease;
}
.nav-link:hover { color: #fff !important; background: rgba(255,255,255,.06); }
.nav-link.active { color: #fff !important; }
.nav-link.active::after {
    content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px;
    height: 2px; background: var(--accent); border-radius: 2px;
}
.nav-link { position: relative; }
.header-search-inline {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: var(--radius-full) !important;
}
.header-search-inline input { color: #fff !important; }
.header-login-btn {
    background: var(--accent) !important;
    color: #fff !important;
    border-radius: var(--radius-full) !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(255,60,60,.3);
    transition: background .18s ease, transform .18s ease;
}
.header-login-btn:hover { background: var(--accent-hover) !important; transform: translateY(-1px); }
.header-icon-btn:hover { color: #fff; }
.announcement-bar { background: var(--accent) !important; color: #fff !important; font-weight: 600; }

/* ── 4. HERO — sinematik, tam genişlik (Netflix banner) ─────────────────── */
.site-intro { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.hero-slider {
    max-width: none !important;
    width: 100% !important;
    height: clamp(440px, 62vh, 700px) !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    overflow: hidden;
}
.hero-slider-slides { height: 100%; }
.hero-slide-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.hero-slide-overlay {
    background:
        linear-gradient(to top, #0a0a0b 2%, rgba(10,10,11,.55) 30%, rgba(10,10,11,0) 60%),
        linear-gradient(to right, rgba(10,10,11,.92) 0%, rgba(10,10,11,.55) 42%, rgba(10,10,11,0) 75%) !important;
}
.hero-slide-content {
    max-width: min(620px, 56%) !important;
    padding: 0 0 clamp(40px, 7vh, 88px) clamp(20px, 6vw, 84px) !important;
    bottom: 0;
}
.hero-slide-title {
    font-size: clamp(1.8rem, 5vw, 3.6rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    line-height: 1.05 !important;
    text-shadow: 0 4px 24px rgba(0,0,0,.6);
    margin-bottom: 14px !important;
}
.hero-slide-meta { gap: 14px !important; margin-bottom: 12px; }
.hero-slide-rating { color: var(--text-secondary); font-weight: 600; }
.hero-slide-rating .filled, .hero-slide-rating .material-symbols-outlined { color: var(--rating) !important; }
.hero-slide-summary {
    color: var(--text-secondary) !important;
    font-size: clamp(.9rem, 1.4vw, 1.05rem) !important;
    line-height: 1.6; max-width: 540px; margin-bottom: 22px !important;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.hero-slide-btn {
    background: var(--accent) !important;
    color: #fff !important;
    padding: 13px 34px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 8px 26px rgba(255,60,60,.4);
    transition: transform .16s ease, background .16s ease;
}
.hero-slide-btn:hover { background: var(--accent-hover) !important; transform: scale(1.04); }
.hero-slide-badge.badge {
    background: rgba(255,60,60,.16) !important; color: var(--accent-hover) !important;
    border: 1px solid rgba(255,60,60,.35); backdrop-filter: blur(4px); margin-bottom: 14px;
}
.hero-slider-nav {
    background: rgba(0,0,0,.5) !important; border: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important; opacity: 0; transition: opacity .2s ease, background .2s ease;
}
.hero-slider:hover .hero-slider-nav { opacity: 1; }
.hero-slider-nav:hover { background: var(--accent) !important; }
.hero-slider-dot { background: rgba(255,255,255,.4) !important; }
.hero-slider-dot.active { background: var(--accent) !important; width: 26px !important; border-radius: 4px; }

/* ── 5. KONTEYNER — kutuyu kaldır, tam genişlik akış ────────────────────── */
.homepage-boxed {
    max-width: var(--container-max) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 auto 56px !important;
    overflow: visible !important;
}
.homepage-hero { padding: 28px var(--container-padding) 8px !important; align-items: stretch !important; }
.homepage-search-wrap { width: 100%; max-width: 560px; margin: 0 auto; }
.homepage-search {
    background: var(--bg-card) !important; border: 1px solid var(--border) !important;
    border-radius: var(--radius-full) !important;
}
.homepage-search input { color: #fff !important; }
.homepage-main { padding: 0 var(--container-padding) !important; }
.homepage-section { margin-bottom: 44px !important; }

/* ── 6. SECTION BAŞLIKLARI ──────────────────────────────────────────────── */
.homepage-section-head { margin-bottom: 18px !important; align-items: center; }
.homepage-section-title {
    font-size: clamp(1.15rem, 2vw, 1.55rem) !important;
    font-weight: 800 !important; letter-spacing: -.01em; color: #fff !important;
    display: inline-flex; align-items: center; gap: 10px; position: relative; padding-left: 14px;
}
.homepage-section-title::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 4px; height: 1.1em; background: var(--accent); border-radius: 3px;
}
.homepage-section-title .material-symbols-outlined { color: var(--accent) !important; }
.homepage-section-link, .homepage-section-btn {
    color: var(--text-secondary) !important; font-weight: 600 !important; font-size: .85rem !important;
    transition: color .18s ease;
}
.homepage-section-link:hover, .homepage-section-btn:hover { color: var(--accent) !important; }

/* ── 7. KARTLAR — Netflix hover-büyüme + poster odaklı ──────────────────── */
.homepage-grid, .content-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
    gap: 16px !important;
}
.homepage-card, .grid-card, .grid-card-link {
    border-radius: var(--radius-md) !important;
    background: transparent !important;
    border: none !important;
    transition: transform .28s cubic-bezier(.25,.8,.3,1), box-shadow .28s ease;
    will-change: transform;
}
.homepage-card-poster, .grid-card-poster, .trend-card-poster {
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
    aspect-ratio: 2/3;
    background: var(--bg-card);
    box-shadow: 0 6px 18px rgba(0,0,0,.45);
}
.homepage-card-poster img, .grid-card-poster img, .trend-card-poster img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .4s ease;
}
.homepage-card:hover, .grid-card:hover {
    transform: scale(1.07) translateY(-4px);
    z-index: 6; position: relative;
}
.homepage-card:hover .homepage-card-poster,
.grid-card:hover .grid-card-poster {
    box-shadow: 0 18px 48px rgba(0,0,0,.7), 0 0 0 2px rgba(255,60,60,.55);
}
.homepage-card:hover .homepage-card-poster img,
.grid-card:hover .grid-card-poster img { transform: scale(1.06); }
/* Overlay gradient + bilgi */
.homepage-card-overlay, .grid-card-overlay, .trend-card-overlay {
    background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 75%) !important;
    opacity: 0; transition: opacity .25s ease;
}
.homepage-card:hover .homepage-card-overlay,
.grid-card:hover .grid-card-overlay,
.trend-card:hover .trend-card-overlay { opacity: 1; }
.homepage-card-title, .grid-card-title, .trend-card-title {
    font-size: 1.02rem !important; font-weight: 800 !important; color: #fff !important;
    line-height: 1.3; letter-spacing: -.01em; text-shadow: 0 2px 8px rgba(0,0,0,.85);
}
.homepage-card-meta-row, .grid-card-meta, .trend-card-meta { color: var(--text-secondary) !important; font-size: .82rem; font-weight: 600; }
.meta-rating .filled, .grid-card-rating .filled, .trend-card-meta .filled,
.meta-rating .material-symbols-outlined, .grid-card-rating .material-symbols-outlined { color: var(--rating) !important; }
.grid-card-play { background: var(--accent) !important; color: #fff !important; box-shadow: 0 6px 20px rgba(255,60,60,.5); }

/* ── 8. ROZETLER (badge) ────────────────────────────────────────────────── */
.badge {
    background: rgba(0,0,0,.6) !important;
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #fff !important; font-weight: 700 !important; letter-spacing: .05em;
}
.badge-film { color: #ff8a8a !important; border-color: rgba(255,60,60,.4) !important; }
.badge-dizi { color: #8ab4ff !important; border-color: rgba(80,140,255,.4) !important; }
.badge-anime { color: #d49bff !important; border-color: rgba(180,100,255,.4) !important; }
.badge-yeni { background: var(--accent) !important; color: #fff !important; border-color: transparent !important; }

/* ── 9. TREND CAROUSEL (yatay row — Netflix) ────────────────────────────── */
/* DİKKAT: carousel overflow/padding'e DOKUNMA — orijinal JS .trend-carousel-inner'i kaydırır.
   overflow değiştirilince dikey scroll + sol/sağ ok bozuluyor. Hover'da SADECE poster görseli büyür. */
.trend-card-poster img { transition: transform .4s ease; }
.trend-card:hover .trend-card-poster img { transform: scale(1.07); }
.trend-card:hover .trend-card-poster { box-shadow: 0 14px 40px rgba(0,0,0,.7), 0 0 0 2px rgba(255,60,60,.5); }
.trend-number {
    color: rgba(255,255,255,.16) !important;
    font-weight: 900 !important;
    -webkit-text-stroke: 2px rgba(255,60,60,.55);
    text-shadow: none !important;
}
.trend-carousel-nav {
    background: rgba(0,0,0,.6) !important; border: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important; opacity: 0; transition: opacity .2s ease, background .2s ease;
}
.trend-carousel-wrapper:hover .trend-carousel-nav { opacity: 1; }
.trend-carousel-nav:hover { background: var(--accent) !important; }

/* ── 10. SON BÖLÜMLER ───────────────────────────────────────────────────── */
.episodes-grid-home { gap: 12px !important; }
.episode-row-home {
    background: var(--bg-card) !important; border: 1px solid var(--border) !important;
    border-radius: var(--radius-md) !important; transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.episode-row-home:hover { background: var(--bg-card-hover) !important; border-color: rgba(255,60,60,.35) !important; transform: translateY(-2px); }
.episode-row-thumb { border-radius: var(--radius-sm) !important; overflow: hidden; }
.episode-row-title { color: #fff !important; font-weight: 700 !important; }
.episode-row-detail { color: var(--text-secondary) !important; }
.episode-row-time { color: var(--text-muted) !important; }
.episode-new-badge { background: var(--accent) !important; color: #fff !important; font-weight: 700; }

/* ── 11. BUTONLAR ───────────────────────────────────────────────────────── */
.section-more-btn, .hero-slide-btn {
    background: var(--accent) !important; color: #fff !important;
    border-radius: var(--radius-md) !important; font-weight: 700 !important; border: none !important;
    transition: background .18s ease, transform .16s ease;
}
.section-more-btn:hover { background: var(--accent-hover) !important; transform: translateY(-2px); }

/* ── 12. FOOTER ─────────────────────────────────────────────────────────── */
.site-footer, .site-footer-stitch {
    background: #060607 !important; border-top: 1px solid rgba(255,255,255,.07) !important;
    margin-top: 40px;
}
.footer-col-title { color: #fff !important; font-weight: 800 !important; }
.footer-col-links a, .footer-seo-text { color: var(--text-secondary) !important; }
.footer-col-links a:hover { color: var(--accent) !important; }
.footer-logo { color: var(--accent) !important; font-weight: 800; }
.scroll-to-top { background: var(--accent) !important; color: #fff !important; box-shadow: 0 6px 22px rgba(255,60,60,.4); }
.bottom-nav-label { color: var(--text-secondary); }

/* ── 13. RESPONSIVE ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .hero-slider { height: clamp(360px, 56vh, 480px) !important; }
    .hero-slide-content { max-width: 88% !important; padding-left: 18px !important; padding-bottom: 34px !important; }
    .hero-slide-title { font-size: clamp(1.5rem, 8vw, 2.2rem) !important; }
    .homepage-boxed { margin: 0 0 32px !important; }
    .homepage-grid, .content-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important; gap: 10px !important; }
    .homepage-card:hover, .grid-card:hover { transform: none; }
    .site-header, .site-header.site-header-compact { border-radius: 0 !important; }
}

/* ── 14. LANDSCAPE ROW KARTLARI (Netflix/dizipal 16:9) ─────────────────── */
.trend-carousel-inner .hl-card { flex: 0 0 300px !important; max-width: 300px; border-radius: var(--radius-md); scroll-snap-align: start; }
.hl-card-img { position: relative; aspect-ratio: 16/9; border-radius: var(--radius-md); overflow: hidden; background: var(--bg-card); box-shadow: 0 6px 18px rgba(0,0,0,.5); transition: box-shadow .25s ease; }
.hl-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.hl-card-grad { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.93) 0%, rgba(0,0,0,.5) 32%, rgba(0,0,0,0) 68%); transition: opacity .25s ease; }
.hl-card-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; z-index: 2; transform: translateY(3px); transition: transform .25s ease; }
.hl-card-title { display: block; font-size: 1.05rem; font-weight: 800; color: #fff; line-height: 1.25; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 2px 8px rgba(0,0,0,.9); }
.hl-card-meta { display: flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 600; color: var(--text-secondary); margin-top: 4px; }
.hl-card-meta .hl-rate { display: inline-flex; align-items: center; gap: 3px; }
.hl-card-meta .hl-rate .filled { color: var(--rating) !important; font-size: 14px; }
.hl-card:hover .hl-card-img { box-shadow: 0 16px 44px rgba(0,0,0,.7), 0 0 0 2px rgba(255,60,60,.6); }
.hl-card:hover .hl-card-img img { transform: scale(1.08); }
.hl-card:hover .hl-card-info { transform: translateY(0); }
.hl-row .trend-carousel-inner { padding-top: 6px; padding-bottom: 14px; }
@media (max-width: 768px) { .trend-carousel-inner .hl-card { flex-basis: 230px !important; max-width: 230px; } }
@media (max-width: 480px) { .trend-carousel-inner .hl-card { flex-basis: 200px !important; max-width: 200px; } }


/* Ä±â 15. MOBÄ°L Ä°NCE AYAR (her Åey akÄ±cÄ± + profesyonel) ââ */
@media (hover: none), (max-width: 768px) {
    /* Dokunmatikte hover yok â poster baÅlÄ±ÄÄ±/bilgisi HER ZAMAN gÃ¶rÃ¼nÃ¼r */
    .homepage-card-overlay, .grid-card-overlay, .trend-card-overlay {
        opacity: 1 !important;
        background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.28) 44%, rgba(0,0,0,0) 74%) !important;
    }
}
@media (max-width: 768px) {
    body { overflow-x: clip; }
    .logo, .logo-dizipal { font-size: 1.3rem !important; }
    .homepage-main { padding: 0 12px !important; }
    .homepage-section { margin-bottom: 28px !important; }
    .homepage-section-head { margin-bottom: 12px !important; }
    .homepage-section-title { font-size: 1.12rem !important; }
    .trend-carousel-inner { padding-left: 0 !important; padding-right: 0 !important; padding-bottom: 12px !important; }
    .homepage-card-title, .grid-card-title, .trend-card-title { font-size: .92rem !important; }
    .hl-card-title { font-size: .96rem !important; }
    .hl-card-meta, .homepage-card-meta-row, .grid-card-meta, .trend-card-meta { font-size: .76rem !important; }
    .hl-card-info { padding: 10px 12px !important; }
}
@media (max-width: 480px) {
    .homepage-section-title { font-size: 1.04rem !important; }
}


/* ── 16. CAROUSEL DOKUNMATİK KAYDIRMA + MOBİL OK GÖSTERGESİ ─────────────── */
/* Sorun: base CSS .trend-carousel-inner{touch-action:pan-y} → yatay parmak
   kaydırması engelliydi (mobilde row'lar kaymıyordu). pan-x pan-y: yatay swipe
   carousel'i, dikey swipe sayfayı kaydırır. */
.trend-carousel-inner { touch-action: pan-x pan-y !important; overscroll-behavior-x: contain; }
/* Mobilde hover yok → ok'lar görünür olsun: hem "kaydırılabilir" göstergesi hem dokunulabilir buton */
@media (hover: none), (max-width: 768px) {
    .trend-carousel-nav { opacity: .85 !important; width: 38px !important; height: 38px !important; }
    .trend-carousel-prev { left: 4px !important; }
    .trend-carousel-next { right: 4px !important; }
    .trend-carousel-nav:active { opacity: 1 !important; background: var(--accent) !important; transform: translateY(-50%) scale(.94); }
    /* Sağ kenarda hafif "devamı var" ipucu gradyanı */
    .trend-carousel { position: relative; }
    .trend-carousel::after {
        content: ""; position: absolute; top: 0; bottom: 14px; right: 0; width: 36px; z-index: 1;
        pointer-events: none; background: linear-gradient(to right, rgba(10,10,11,0), rgba(10,10,11,.85));
    }
}


/* ── 17. TREND POSTER KARTI — ekrana göre responsive genişlik ─────────── */
@media (max-width: 1100px) { .trend-carousel-inner .trend-card { flex-basis: 168px; } }
@media (max-width: 768px)  { .trend-carousel-inner .trend-card { flex-basis: 140px; } }
@media (max-width: 480px)  { .trend-carousel-inner .trend-card { flex-basis: 122px; } }
/* ── 18. DETAY: HAKKINDA + SSS (FAQ) — özgün içerik + zengin sonuç ─────── */
.detail-faq { max-width: var(--container-max); margin: 34px auto; padding: 0 var(--container-padding); }
.detail-faq-title { font-size: 1.3rem; font-weight: 800; color: #fff; margin-bottom: 12px; }
.detail-faq-intro { color: var(--text-secondary); line-height: 1.7; margin-bottom: 20px; font-size: .95rem; }
.detail-faq-intro strong { color: #fff; }
.detail-faq-list { display: flex; flex-direction: column; gap: 8px; }
.detail-faq-item { background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }
.detail-faq-item summary { cursor: pointer; padding: 14px 18px; font-weight: 600; color: #fff; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.detail-faq-item summary::-webkit-details-marker { display: none; }
.detail-faq-item summary::after { content: '+'; color: var(--accent); font-size: 1.35rem; font-weight: 700; line-height: 1; }
.detail-faq-item[open] summary::after { content: '\2212'; }
.detail-faq-item[open] summary { color: var(--accent); }
.detail-faq-answer { padding: 0 18px 16px; color: var(--text-secondary); line-height: 1.7; font-size: .9rem; }
@media (max-width: 768px) { .detail-faq-title { font-size: 1.12rem; } .detail-faq { margin: 24px auto; } }
/* ── 19. ANASAYFA "POPÜLER" HERO (dizipal.im tarzı öne çıkan blok) ─────── */
.populer-hero { position: relative; max-width: var(--container-max); margin: 18px auto 10px; border-radius: var(--radius-lg); overflow: hidden; min-height: 360px; background: var(--bg-card); border: 1px solid var(--border); display: flex; align-items: center; }
.populer-hero-bg { position: absolute; top: 0; right: 0; bottom: 0; width: 70%; z-index: 0; }
.populer-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
.populer-hero-fade { position: absolute; inset: 0; background: linear-gradient(to right, var(--bg-card) 18%, rgba(22,22,22,.45) 52%, rgba(0,0,0,0) 100%); }
.populer-hero-content { position: relative; z-index: 2; max-width: 52%; padding: clamp(22px,4vw,52px); }
.populer-badge { display: inline-block; background: var(--accent); color: #fff; font-weight: 800; font-size: .7rem; letter-spacing: .09em; padding: 5px 12px; border-radius: 6px; margin-bottom: 16px; }
.populer-hero-title { font-size: clamp(1.9rem,4.2vw,3.4rem); font-weight: 800; line-height: 1.04; letter-spacing: -.02em; color: #fff; margin: 0 0 12px; text-shadow: 0 3px 18px rgba(0,0,0,.6); }
.populer-hero-meta { display: flex; align-items: center; gap: 12px; color: var(--text-secondary); font-weight: 600; font-size: .88rem; margin-bottom: 14px; flex-wrap: wrap; }
.populer-type { background: rgba(255,255,255,.1); padding: 3px 11px; border-radius: var(--radius-full); }
.populer-imdb .material-symbols-outlined { color: var(--rating); font-size: 17px; vertical-align: -3px; }
.populer-hero-desc { color: var(--text-secondary); line-height: 1.6; max-width: 480px; margin-bottom: 22px; font-size: .95rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.populer-hero-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--accent); color: #fff; font-weight: 700; padding: 13px 30px; border-radius: var(--radius-md); box-shadow: 0 8px 26px rgba(255,60,60,.4); transition: transform .16s ease, background .16s ease; }
.populer-hero-btn:hover { background: var(--accent-hover); transform: scale(1.04); }
@media (max-width: 768px) {
    .populer-hero { display: block; min-height: 0; margin: 12px 12px 8px; }
    .populer-hero-bg { position: relative; width: 100%; height: 210px; }
    .populer-hero-fade { background: linear-gradient(to top, var(--bg-card) 6%, rgba(22,22,22,.2) 55%, rgba(0,0,0,0) 100%); }
    .populer-hero-content { max-width: 100%; padding: 0 18px 22px; margin-top: -44px; }
    .populer-hero-title { font-size: 1.55rem; }
    .populer-hero-desc { -webkit-line-clamp: 2; margin-bottom: 16px; }
}
/* TREND CAROUSEL FIX 2026-05-25 */
.trend-carousel-inner{scroll-snap-type:none !important}
.trend-carousel-inner.dragging{cursor:grabbing !important;scroll-behavior:auto !important;user-select:none;-webkit-user-select:none}
.trend-card img{-webkit-user-drag:none;user-select:none}
/* REDESIGN-END */
