index.styl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. .home-page
  2. padding: 2rem 1rem
  3. max-width: 1200px
  4. margin: 0 auto
  5. .home-hero
  6. text-align: center
  7. padding: 4rem 0
  8. border-bottom: 1px solid $gray-200
  9. margin-bottom: 4rem
  10. .dark &
  11. border-bottom-color: $gray-700
  12. .home-hero__title
  13. font-size: 3rem
  14. font-weight: bold
  15. color: $gray-900
  16. margin-bottom: 1rem
  17. line-height: 1.2
  18. .dark &
  19. color: $white
  20. .home-hero__subtitle
  21. font-size: 1.25rem
  22. color: $gray-600
  23. margin-bottom: 2rem
  24. max-width: 600px
  25. margin-left: auto
  26. margin-right: auto
  27. .dark &
  28. color: $gray-400
  29. .home-hero__actions
  30. display: flex
  31. gap: 1rem
  32. justify-content: center
  33. flex-wrap: wrap
  34. .home-features
  35. padding: 4rem 0
  36. border-bottom: 1px solid $gray-200
  37. margin-bottom: 4rem
  38. .dark &
  39. border-bottom-color: $gray-700
  40. .home-features__title
  41. font-size: 2.25rem
  42. font-weight: bold
  43. text-align: center
  44. color: $gray-900
  45. margin-bottom: 3rem
  46. .dark &
  47. color: $white
  48. .home-features__grid
  49. display: grid
  50. grid-template-columns: 1fr
  51. gap: 2rem
  52. @media (min-width: 768px)
  53. grid-template-columns: repeat(2, 1fr)
  54. @media (min-width: 1024px)
  55. grid-template-columns: repeat(3, 1fr)
  56. .home-feature
  57. background-color: $white
  58. padding: 2rem
  59. border-radius: 0.5rem
  60. box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1)
  61. text-align: center
  62. transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out
  63. &:hover
  64. transform: translateY(-2px)
  65. box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
  66. .dark &
  67. background-color: $gray-800
  68. .home-feature__icon
  69. width: 4rem
  70. height: 4rem
  71. margin: 0 auto 1rem
  72. background-color: $primary-100
  73. border-radius: 50%
  74. display: flex
  75. align-items: center
  76. justify-content: center
  77. font-size: 1.5rem
  78. .dark &
  79. background-color: $primary-900
  80. .home-feature__title
  81. font-size: 1.25rem
  82. font-weight: 600
  83. color: $gray-900
  84. margin-bottom: 1rem
  85. .dark &
  86. color: $white
  87. .home-feature__description
  88. color: $gray-600
  89. line-height: 1.6
  90. .dark &
  91. color: $gray-400
  92. .home-categories
  93. padding: 4rem 0
  94. border-bottom: 1px solid $gray-200
  95. margin-bottom: 4rem
  96. .dark &
  97. border-bottom-color: $gray-700
  98. .home-categories__title
  99. font-size: 2.25rem
  100. font-weight: bold
  101. text-align: center
  102. color: $gray-900
  103. margin-bottom: 3rem
  104. .dark &
  105. color: $white
  106. .home-categories__grid
  107. display: grid
  108. grid-template-columns: 1fr
  109. gap: 1.5rem
  110. @media (min-width: 640px)
  111. grid-template-columns: repeat(2, 1fr)
  112. @media (min-width: 1024px)
  113. grid-template-columns: repeat(4, 1fr)
  114. .home-category
  115. background-color: $white
  116. border-radius: 0.5rem
  117. overflow: hidden
  118. box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1)
  119. transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out
  120. &:hover
  121. transform: translateY(-2px)
  122. box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
  123. .dark &
  124. background-color: $gray-800
  125. .home-category__image
  126. width: 100%
  127. height: 200px
  128. object-fit: cover
  129. .home-category__content
  130. padding: 1.5rem
  131. .home-category__name
  132. font-size: 1.125rem
  133. font-weight: 600
  134. color: $gray-900
  135. margin-bottom: 0.5rem
  136. .dark &
  137. color: $white
  138. .home-category__count
  139. color: $gray-500
  140. font-size: 0.875rem
  141. .dark &
  142. color: $gray-400
  143. .home-cta
  144. background: linear-gradient(135deg, $primary-500, $accent-500)
  145. color: $white
  146. padding: 4rem 1rem
  147. text-align: center
  148. border-radius: 1rem
  149. margin: 4rem 0
  150. .home-cta__title
  151. font-size: 2.25rem
  152. font-weight: bold
  153. margin-bottom: 1rem
  154. .home-cta__description
  155. font-size: 1.125rem
  156. margin-bottom: 2rem
  157. opacity: 0.9
  158. max-width: 600px
  159. margin-left: auto
  160. margin-right: auto
  161. .home-cta__button
  162. background-color: $white
  163. color: $primary-600
  164. padding: 0.75rem 2rem
  165. border-radius: 0.5rem
  166. font-weight: 600
  167. text-decoration: none
  168. display: inline-block
  169. transition: all 0.2s ease-in-out
  170. &:hover
  171. background-color: $gray-100
  172. transform: translateY(-1px)
  173. @media (max-width: 768px)
  174. .home-hero
  175. padding: 2rem 0
  176. .home-hero__title
  177. font-size: 2rem
  178. .home-hero__subtitle
  179. font-size: 1.125rem
  180. .home-features,
  181. .home-categories
  182. padding: 2rem 0
  183. .home-features__title,
  184. .home-categories__title
  185. font-size: 1.875rem
  186. .home-cta
  187. padding: 2rem 1rem
  188. margin: 2rem 0
  189. .home-cta__title
  190. font-size: 1.875rem
  191. .home-cta__description
  192. font-size: 1rem