/* ========================================= متغیرهای رنگی و ریست پایه ========================================= */ :root { --bg-main: #202124; --bg-secondary: #303134; --text-primary: #e8eaed; --text-secondary: #9aa0a6; --link-color: #8ab4f8; --border-color: #3c4043; --search-border: #5f6368; --url-color: #bdc1c6; --hover-bg: #3c4043; } * { box-sizing: border-box; margin: 0; padding: 0; } @font-face { font-family: 'Vazir'; src: url('../fonts/Vazir.woff2') format('woff2'); font-weight: normal; font-display: swap; } @font-face { font-family: 'Vazir'; src: url('../fonts/Vazir-Bold.woff2') format('woff2'); font-weight: bold; font-display: swap; } body { background-color: var(--bg-main); color: var(--text-primary); font-family: 'Vazir', system-ui, sans-serif; direction: rtl; min-height: 100vh; display: flex; flex-direction: column; } a { color: var(--link-color); text-decoration: none; } a:hover { text-decoration: underline; } /* ========================================= هدر ========================================= */ header { display: flex; align-items: center; padding: 14px 24px; gap: 20px; border-bottom: 1px solid var(--border-color); position: sticky; top: 0; background-color: var(--bg-main); z-index: 100; } .logo { font-family: 'Vazir', sans-serif; font-size: 26px; font-weight: bold; color: #fff; text-decoration: none !important; flex-shrink: 0; letter-spacing: -0.5px; } .logo span.r { color: #4285f4; } .logo span.z { color: #ea4335; } .logo span.s { color: #fbbc05; } .logo span.t { color: #34a853; } /* ========================================= کادر جستجو ========================================= */ .search-wrapper { flex-grow: 1; max-width: 690px; } .search-container { display: flex; align-items: center; background-color: var(--bg-secondary); border: 1px solid var(--search-border); border-radius: 24px; padding: 0 8px 0 16px; width: 100%; height: 46px; transition: all 0.2s ease-in-out; } .search-container:hover, .search-container:focus-within { border-color: transparent; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6); background-color: #3c3f42; } .search-container input { flex-grow: 1; background: transparent; border: none; color: var(--text-primary); font-family: 'Vazir', sans-serif; font-size: 16px; height: 100%; outline: none; padding: 0 8px; } .search-container input::placeholder { color: var(--text-secondary); } .search-btn { background: transparent; border: none; color: var(--text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 6px; border-radius: 50%; transition: background 0.2s; } .search-btn:hover { background-color: var(--hover-bg); } .search-btn svg { fill: var(--text-secondary); width: 22px; height: 22px; transition: fill 0.2s; } .search-container:focus-within .search-btn svg { fill: var(--link-color); } /* ========================================= تبها ========================================= */ .tabs { display: flex; padding: 0 24px; border-bottom: 1px solid var(--border-color); gap: 4px; } .tab-btn { color: var(--text-secondary); padding: 14px 16px; cursor: pointer; font-size: 14px; background: transparent; border: none; font-family: 'Vazir', sans-serif; border-bottom: 3px solid transparent; transition: color 0.2s; position: relative; bottom: -1px; } .tab-btn:hover { color: var(--text-primary); background-color: var(--hover-bg); border-radius: 4px 4px 0 0; } .tab-btn.active { color: var(--link-color); border-bottom: 3px solid var(--link-color); } /* ========================================= محتوای اصلی ========================================= */ main { display: flex; padding: 24px 24px 24px 180px; flex-grow: 1; gap: 60px; } .results-area { flex-grow: 1; max-width: 660px; } /* ========================================= آیتم نتایج وب ========================================= */ .result-item { margin-bottom: 32px; padding: 12px; border-radius: 8px; transition: background 0.15s; } .result-item:hover { background-color: var(--bg-secondary); } .result-url { color: var(--url-color); font-size: 12px; margin-bottom: 4px; display: block; direction: ltr; text-align: right; } .result-title { color: var(--link-color); font-size: 20px; margin: 4px 0 6px 0; line-height: 1.4; display: block; font-weight: bold; } .result-title:hover { text-decoration: underline; } .result-desc { color: var(--url-color); font-size: 14px; line-height: 1.7; word-wrap: break-word; } /* ========================================= گالری تصاویر ========================================= */ .image-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; width: 100%; } .img-result { border-radius: 8px; overflow: hidden; background-color: var(--bg-secondary); transition: transform 0.2s, box-shadow 0.2s; border: 1px solid var(--border-color); cursor: pointer; } .img-result:hover { transform: scale(1.03); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); } .img-result img { width: 100%; height: 160px; object-fit: cover; display: block; } /* ========================================= سایدبار ========================================= */ .sidebar { width: 300px; flex-shrink: 0; } /* ========================================= فوتر ========================================= */ footer { text-align: center; padding: 16px 24px; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-size: 13px; margin-top: auto; } footer a { color: var(--text-secondary); margin: 0 8px; } footer a:hover { color: var(--text-primary); } /* ========================================= حالت صفحه اصلی (home-mode) ========================================= */ body.home-mode { justify-content: center; align-items: center; } body.home-mode header { flex-direction: column; padding: 0; width: 100%; max-width: 600px; border-bottom: none; background: transparent; position: static; gap: 24px; } body.home-mode .logo { font-size: 72px; text-align: center; letter-spacing: -2px; width: auto; } body.home-mode .search-wrapper { max-width: 100%; width: 100%; } body.home-mode .search-container { height: 52px; border-radius: 28px; } body.home-mode .tabs { display: none; } body.home-mode main { display: none; } body.home-mode footer { display: none; } /* ========================================= پیام خالی ========================================= */ .empty-state { text-align: center; margin-top: 60px; color: var(--text-secondary); } .empty-state svg { fill: var(--border-color); width: 64px; height: 64px; margin-bottom: 16px; display: block; margin-left: auto; margin-right: auto; } /* ========================================= واکنشگرایی ========================================= */ @media screen and (max-width: 960px) { main { padding: 20px 16px; } .sidebar { width: 260px; } } @media screen and (max-width: 768px) { header { padding: 10px 14px; gap: 12px; } .logo { font-size: 22px; } .search-container { height: 42px; } .tabs { padding: 0 12px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; } .tabs::-webkit-scrollbar { display: none; } main { flex-direction: column; padding: 16px; gap: 24px; } .results-area { max-width: 100%; } .image-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; } .sidebar { width: 100%; } body.home-mode header { padding: 0 16px; } body.home-mode .logo { font-size: 52px; } } @media screen and (max-width: 480px) { .result-title { font-size: 17px; } .image-grid { grid-template-columns: repeat(2, 1fr); } } /* ========================================= لوگو تصویری ========================================= */ .logo-img { height: 42px; width: auto; display: block; object-fit: contain; transition: opacity 0.2s; } .logo:hover .logo-img { opacity: 0.85; } /* در حالت home لوگو بزرگتر */ body.home-mode .logo-img { height: 90px; } /* ========================================= فوتر بهبود یافته ========================================= */ footer { text-align: center; padding: 20px 24px; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-size: 13px; margin-top: auto; display: flex; flex-direction: column; gap: 8px; align-items: center; } .footer-links { display: flex; gap: 16px; } .footer-links a { color: var(--text-secondary); } .footer-links a:hover { color: var(--text-primary); } .footer-copy { color: var(--text-secondary); font-size: 12px; } .footer-copy a { color: var(--link-color); font-weight: bold; } .footer-ads { font-size: 12px; color: var(--text-secondary); background-color: var(--bg-secondary); padding: 6px 16px; border-radius: 20px; border: 1px solid var(--border-color); } .footer-ads a { color: #fbbc04; font-weight: bold; direction: ltr; display: inline-block; } /* فوتر در home-mode نمایش داشته باشد */ body.home-mode footer { display: flex; /* قبلاً none بود، تغییر دادیم */ } /* استایل فوتر */ footer { background: #f8f9fa; border-top: 1px solid #dadce0; padding: 30px 20px; margin-top: 50px; text-align: center; } .footer-content { max-width: 1200px; margin: 0 auto; } .footer-links { margin-bottom: 15px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 5px; } .footer-links a { color: #5f6368; text-decoration: none; font-size: 14px; padding: 5px 10px; transition: color 0.2s; } .footer-links a:hover { color: #1a0dab; text-decoration: underline; } .footer-links .separator { color: #dadce0; font-size: 14px; user-select: none; } .footer-credit { margin-bottom: 10px; font-size: 13px; color: #70757a; } .footer-credit a { color: #1a0dab; text-decoration: none; font-weight: 500; transition: color 0.2s; } .footer-credit a:hover { color: #174ea6; text-decoration: underline; } .footer-copyright { font-size: 12px; color: #9aa0a6; } /* ریسپانسیو برای موبایل */ @media (max-width: 768px) { footer { padding: 25px 15px; } .footer-links { flex-direction: column; gap: 10px; } .footer-links .separator { display: none; } .footer-links a { display: block; padding: 8px 15px; border-bottom: 1px solid #f0f0f0; width: 100%; } .footer-links a:last-child { border-bottom: none; } .footer-credit { margin-top: 15px; padding-top: 15px; border-top: 1px solid #e8eaed; } }