/** * ═══════════════════════════════════════════════════════════ * Roz Skin - نظام الهوية البصرية الموحد 100% * Unified Brand Identity System * ═══════════════════════════════════════════════════════════ */ /* ═══════════════════════════════════════════════════════════ 1. المتغيرات الأساسية - Core Variables ═══════════════════════════════════════════════════════════ */ :root { /* الألوان الأساسية - Primary Colors */ --brand-primary: #D1537A; /* وردي بيري - أغمق */ --brand-primary-light: #E57393; /* وردي فاتح */ --brand-primary-dark: #B8405E; /* وردي داكن */ --brand-primary-hover: #A02D4A; /* للتفاعل */ /* الألوان الثانوية - Secondary Colors */ --brand-secondary: #207D88; /* تركواز */ --brand-secondary-light: #3A9BA6; /* تركواز فاتح */ --brand-secondary-dark: #186570; /* تركواز داكن */ /* الألوان المحايدة - Neutral Colors */ --brand-white: #FFFFFF; --brand-black: #1F2937; --brand-gray-50: #F9FAFB; --brand-gray-100: #F3F4F6; --brand-gray-200: #E5E7EB; --brand-gray-300: #D1D5DB; --brand-gray-400: #9CA3AF; --brand-gray-500: #6B7280; --brand-gray-600: #4B5563; --brand-gray-700: #374151; --brand-gray-800: #1F2937; --brand-gray-900: #111827; /* الخلفيات - Backgrounds */ --brand-bg-primary: #FAF7F7; --brand-bg-secondary: #F8F5F5; --brand-bg-card: #FFFFFF; /* النصوص - Text Colors */ --brand-text-primary: #1F2937; --brand-text-secondary: #4B5563; --brand-text-light: #9CA3AF; /* الانحناءات - Border Radius */ --brand-radius-sm: 8px; --brand-radius-md: 12px; --brand-radius-lg: 16px; --brand-radius-xl: 20px; --brand-radius-2xl: 24px; --brand-radius-full: 9999px; /* الظلال - Shadows */ --brand-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06); --brand-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08); --brand-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1); --brand-shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.12); --brand-shadow-primary: 0 8px 24px rgba(209, 83, 122, 0.25); /* المسافات - Spacing */ --brand-space-1: 0.25rem; /* 4px */ --brand-space-2: 0.5rem; /* 8px */ --brand-space-3: 0.75rem; /* 12px */ --brand-space-4: 1rem; /* 16px */ --brand-space-5: 1.25rem; /* 20px */ --brand-space-6: 1.5rem; /* 24px */ --brand-space-8: 2rem; /* 32px */ --brand-space-10: 2.5rem; /* 40px */ --brand-space-12: 3rem; /* 48px */ --brand-space-16: 4rem; /* 64px */ /* الخطوط - Typography */ --brand-font-family: 'Tajawal', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --brand-font-size-xs: 0.75rem; /* 12px */ --brand-font-size-sm: 0.875rem; /* 14px */ --brand-font-size-base: 1rem; /* 16px */ --brand-font-size-lg: 1.125rem; /* 18px */ --brand-font-size-xl: 1.25rem; /* 20px */ --brand-font-size-2xl: 1.5rem; /* 24px */ --brand-font-size-3xl: 1.875rem; /* 30px */ --brand-font-size-4xl: 2.25rem; /* 36px */ --brand-font-size-5xl: 3rem; /* 48px */ /* الانتقالات - Transitions */ --brand-transition-fast: 150ms ease; --brand-transition-base: 250ms ease; --brand-transition-slow: 350ms ease; } /* ═══════════════════════════════════════════════════════════ 2. الإعدادات العامة - Global Settings ═══════════════════════════════════════════════════════════ */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--brand-font-family); font-size: var(--brand-font-size-base); line-height: 1.6; color: var(--brand-text-primary); background-color: var(--brand-bg-primary); direction: rtl; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ═══════════════════════════════════════════════════════════ 3. الأزرار - Buttons ═══════════════════════════════════════════════════════════ */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--brand-space-2); padding: var(--brand-space-3) var(--brand-space-6); font-family: var(--brand-font-family); font-size: var(--brand-font-size-base); font-weight: 600; line-height: 1.5; text-align: center; text-decoration: none; border: 2px solid transparent; border-radius: var(--brand-radius-lg); cursor: pointer; transition: all var(--brand-transition-base); min-height: 48px; white-space: nowrap; } .btn-primary { background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%); color: var(--brand-white); box-shadow: var(--brand-shadow-primary); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(209, 83, 122, 0.35); } .btn-primary:active { transform: translateY(0); } .btn-secondary { background: linear-gradient(135deg, var(--brand-secondary) 0%, var(--brand-secondary-dark) 100%); color: var(--brand-white); box-shadow: 0 8px 24px rgba(32, 125, 136, 0.25); } .btn-secondary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(32, 125, 136, 0.35); } .btn-outline { background: var(--brand-white); color: var(--brand-primary); border-color: var(--brand-primary); } .btn-outline:hover { background: var(--brand-primary); color: var(--brand-white); } .btn-lg { padding: var(--brand-space-4) var(--brand-space-8); font-size: var(--brand-font-size-lg); min-height: 56px; } .btn-sm { padding: var(--brand-space-2) var(--brand-space-4); font-size: var(--brand-font-size-sm); min-height: 40px; } /* ═══════════════════════════════════════════════════════════ 4. البطاقات - Cards ═══════════════════════════════════════════════════════════ */ .card { background: var(--brand-bg-card); border-radius: var(--brand-radius-xl); box-shadow: var(--brand-shadow-md); overflow: hidden; transition: all var(--brand-transition-base); height: 100%; display: flex; flex-direction: column; } .card:hover { transform: translateY(-8px); box-shadow: var(--brand-shadow-xl); } .card-image { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: linear-gradient(135deg, var(--brand-gray-50) 0%, var(--brand-gray-100) 100%); } .card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); } .card:hover .card-image img { transform: scale(1.1); } .card-body { padding: var(--brand-space-5); flex: 1; display: flex; flex-direction: column; } .card-title { font-size: var(--brand-font-size-lg); font-weight: 700; color: var(--brand-text-primary); margin-bottom: var(--brand-space-2); line-height: 1.3; } .card-description { font-size: var(--brand-font-size-sm); color: var(--brand-text-secondary); margin-bottom: var(--brand-space-4); line-height: 1.6; flex: 1; } .card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: var(--brand-space-4); border-top: 1px solid var(--brand-gray-200); } /* ═══════════════════════════════════════════════════════════ 5. الشبكة - Grid System ═══════════════════════════════════════════════════════════ */ .container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--brand-space-4); } .grid { display: grid; gap: var(--brand-space-6); } .grid-cols-1 { grid-template-columns: repeat(1, 1fr); } .grid-cols-2 { grid-template-columns: repeat(2, 1fr); } .grid-cols-3 { grid-template-columns: repeat(3, 1fr); } .grid-cols-4 { grid-template-columns: repeat(4, 1fr); } @media (max-width: 768px) { .grid-cols-2, .grid-cols-3, .grid-cols-4 { grid-template-columns: repeat(1, 1fr); } } @media (min-width: 769px) and (max-width: 1024px) { .grid-cols-3, .grid-cols-4 { grid-template-columns: repeat(2, 1fr); } } /* ═══════════════════════════════════════════════════════════ 6. النصوص - Typography ═══════════════════════════════════════════════════════════ */ h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.2; color: var(--brand-text-primary); margin-bottom: var(--brand-space-4); } h1 { font-size: var(--brand-font-size-5xl); } h2 { font-size: var(--brand-font-size-4xl); } h3 { font-size: var(--brand-font-size-3xl); } h4 { font-size: var(--brand-font-size-2xl); } h5 { font-size: var(--brand-font-size-xl); } h6 { font-size: var(--brand-font-size-lg); } p { margin-bottom: var(--brand-space-4); line-height: 1.6; } .text-primary { color: var(--brand-primary); } .text-secondary { color: var(--brand-text-secondary); } .text-light { color: var(--brand-text-light); } /* ═══════════════════════════════════════════════════════════ 7. الشارة - Badge ═══════════════════════════════════════════════════════════ */ .badge { display: inline-flex; align-items: center; gap: var(--brand-space-1); padding: var(--brand-space-1) var(--brand-space-3); font-size: var(--brand-font-size-xs); font-weight: 700; border-radius: var(--brand-radius-full); white-space: nowrap; } .badge-primary { background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%); color: var(--brand-white); box-shadow: 0 4px 12px rgba(209, 83, 122, 0.3); } .badge-secondary { background: var(--brand-gray-100); color: var(--brand-text-secondary); } /* ═══════════════════════════════════════════════════════════ 8. الأسعار - Pricing ═══════════════════════════════════════════════════════════ */ .price-container { display: flex; align-items: center; gap: var(--brand-space-2); } .price-current { font-size: var(--brand-font-size-2xl); font-weight: 700; color: var(--brand-primary); } .price-old { font-size: var(--brand-font-size-base); color: var(--brand-text-light); text-decoration: line-through; } /* ═══════════════════════════════════════════════════════════ 9. التقييمات - Ratings ═══════════════════════════════════════════════════════════ */ .rating { display: flex; align-items: center; gap: var(--brand-space-1); } .rating-stars { display: flex; gap: 2px; color: #FFC107; } .rating-count { font-size: var(--brand-font-size-sm); color: var(--brand-text-light); } /* ═══════════════════════════════════════════════════════════ 10. الأيقونات - Icons ═══════════════════════════════════════════════════════════ */ .icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--brand-radius-full); background: var(--brand-white); border: 1px solid var(--brand-gray-200); cursor: pointer; transition: all var(--brand-transition-base); } .icon-btn:hover { background: var(--brand-primary); border-color: var(--brand-primary); color: var(--brand-white); transform: scale(1.1); } /* ═══════════════════════════════════════════════════════════ 11. الحركات - Animations ═══════════════════════════════════════════════════════════ */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } } .fade-in { animation: fadeIn 0.5s ease-out; } .fade-in-up { animation: fadeInUp 0.6s ease-out; } /* ═══════════════════════════════════════════════════════════ 12. الأدوات المساعدة - Utilities ═══════════════════════════════════════════════════════════ */ .text-center { text-align: center; } .text-right { text-align: right; } .text-left { text-align: left; } .flex { display: flex; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .gap-2 { gap: var(--brand-space-2); } .gap-4 { gap: var(--brand-space-4); } .gap-6 { gap: var(--brand-space-6); } .mt-4 { margin-top: var(--brand-space-4); } .mb-4 { margin-bottom: var(--brand-space-4); } .my-8 { margin-top: var(--brand-space-8); margin-bottom: var(--brand-space-8); } .py-12 { padding-top: var(--brand-space-12); padding-bottom: var(--brand-space-12); } .rounded-lg { border-radius: var(--brand-radius-lg); } .rounded-xl { border-radius: var(--brand-radius-xl); } .rounded-full { border-radius: var(--brand-radius-full); } .shadow-sm { box-shadow: var(--brand-shadow-sm); } .shadow-md { box-shadow: var(--brand-shadow-md); } .shadow-lg { box-shadow: var(--brand-shadow-lg); } /* ═══════════════════════════════════════════════════════════ 13. الاستجابة للموبايل - Mobile Responsive ═══════════════════════════════════════════════════════════ */ @media (max-width: 768px) { :root { --brand-font-size-5xl: 2rem; --brand-font-size-4xl: 1.75rem; --brand-font-size-3xl: 1.5rem; } .container { padding: 0 var(--brand-space-3); } .btn { width: 100%; } .card-body { padding: var(--brand-space-4); } }