source: CookCraft-FrontEnd/CookCraft-FrontEnd-master/cookcraft-app/src/css/RecipesCss/recipe-card-style.module.css

Last change on this file was d7b7f00, checked in by Gorazd Biskoski <gorazdbiskoskii@…>, 4 weeks ago

Add project

  • Property mode set to 100644
File size: 9.4 KB
Line 
1.recipeCard {
2 max-width: 950px;
3 margin: 5em auto;
4 padding: 3em;
5 background-color: #ffffff;
6 border-radius: 24px;
7 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
8 position: relative;
9}
10
11.recipeCard .backArrow {
12 position: absolute;
13 top: 20px;
14 left: 20px;
15 font-size: 2em;
16 color: #333;
17 cursor: pointer;
18 transition: all 0.3s ease;
19}
20
21.recipeCard .backArrow:hover {
22 color: #FFA550;
23 transform: translateX(-5px);
24}
25.recipeCard .favoriteButton {
26 position: absolute;
27 top: 20px;
28 right: 20px;
29 display: inline-flex;
30 align-items: center;
31 justify-content: center;
32 background-color: #FFA550;
33 color: white;
34 border: none;
35 border-radius: 50%;
36 width: 50px;
37 height: 50px;
38 cursor: pointer;
39 font-size: 1.5em;
40 transition: all 0.3s ease;
41 box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
42}
43
44.recipeCard .favoriteButton:hover {
45 background-color: #FF8C00;
46 box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
47}
48
49.recipeCard .favoriteButton:active {
50 transform: scale(0.95);
51 box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
52}
53
54.recipeCard .favoriteActive {
55 color: red;
56 background-color: #FFA550;
57}
58
59.recipeCard .favoriteActive:hover {
60 background-color: #FF8C8C;
61}
62
63
64
65.recipeCard .recipeDetails {
66 display: flex;
67 flex-direction: column;
68 align-items: center;
69 text-align: center;
70}
71
72.recipeCard .recipeImage {
73 width: 350px;
74 height: 250px;
75 object-fit: cover;
76 border-radius: 20px;
77 margin-bottom: 2em;
78 box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
79 transition: transform 0.3s ease, box-shadow 0.3s ease;
80 filter: brightness(0.95);
81}
82
83.recipeCard .recipeImage:hover {
84 transform: scale(1.01);
85 box-shadow: 0 14px 40px rgba(0, 0, 0, 0.15);
86}
87
88.recipeCard .textSection {
89 padding: 0 2em;
90}
91
92.recipeCard .recipeDetails h2 {
93 color: #333;
94 font-size: 2.6em;
95 font-weight: 700;
96 margin-bottom: 0.5em;
97 transition: color 0.3s ease;
98}
99
100.recipeCard .recipeDetails h2:hover {
101 color: #FFA550;
102}
103
104.recipeCard .description {
105 margin-bottom: 2em;
106 font-size: 1.25em;
107 line-height: 1.8;
108 color: #555;
109 text-align: left;
110 max-width: 750px;
111}
112
113.recipeCard .ingredients ul {
114 list-style: none;
115 padding: 0;
116 margin: 0;
117}
118
119.recipeCard .ingredients ul li {
120 position: relative;
121 padding-left: 1.75em;
122 margin-bottom: 0.75em;
123 font-size: 1.15em;
124 color: #555;
125 line-height: 1.6;
126 display: flex;
127 align-items: center;
128 transition: transform 0.2s ease;
129}
130
131.recipeCard .ingredients ul li::before {
132 content: '';
133 position: absolute;
134 left: 0;
135 top: 50%;
136 transform: translateY(-50%);
137 width: 10px;
138 height: 10px;
139 background-color: #FFA550;
140 border-radius: 50%;
141 transition: transform 0.2s ease, background-color 0.2s ease;
142}
143
144.recipeCard .ingredients ul li:hover {
145 transform: translateX(7px);
146}
147
148.recipeCard .ingredients ul li:hover::before {
149 transform: translateY(-50%) scale(1.2);
150 background-color: #FF8C00;
151}
152
153.recipeCard .ingredients ul li label {
154 cursor: pointer;
155 display: flex;
156 align-items: center;
157}
158
159.recipeCard .ingredients ul li input[type="checkbox"] {
160 margin-right: 10px;
161 accent-color: #FFA550;
162 cursor: pointer;
163 transform: scale(1.1);
164}
165
166.recipeCard .ingredients ul li:hover label {
167 color: #FFA550;
168}
169
170
171.recipeCard .ingredients ul li input[type="checkbox"]:checked + label::before {
172 background-color: #FF8C00;
173}
174
175.recipeCard h3 {
176 color: #333;
177 font-size: 1.85em;
178 font-weight: 600;
179 margin-bottom: 0.75em;
180 text-align: left;
181 position: relative;
182 padding-bottom: 10px;
183}
184
185.recipeCard h3::after {
186 content: '';
187 position: absolute;
188 left: 0;
189 bottom: 0;
190 width: 55px;
191 height: 4px;
192 background-color: #FFA550;
193 transition: width 0.3s ease;
194}
195
196.recipeCard:hover h3::after {
197 width: 85px;
198}
199
200.recipeCard .videoSection {
201 width: 100%;
202 text-align: left;
203 margin-bottom: 0;
204 padding-bottom: 0;
205}
206
207.recipeCard .video {
208 position: relative;
209 border-radius: 20px;
210 overflow: hidden;
211 box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
212 background-color: #ffffff;
213 transition: transform 0.3s ease, box-shadow 0.3s ease;
214 margin-bottom: 0;
215}
216
217.recipeCard .video:hover {
218 transform: scale(1.01);
219 box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
220}
221
222.recipeCard .video iframe {
223 width: 100%;
224 height: 420px;
225 border: none;
226 border-radius: 20px;
227 margin-bottom: -8px;
228}
229
230
231.recipeCard .loading, .recipeCard .noRecipe {
232 text-align: center;
233 font-size: 1.8em;
234 color: #333;
235 margin-top: 6em;
236}
237
238.starRating {
239 display: flex;
240 gap: 0.2em;
241 font-size: 2em;
242}
243
244.star {
245 cursor: pointer;
246 color: gray;
247 transition: color 0.3s ease;
248}
249
250.star.active {
251 color: #FFA550;
252 transition: color 0.3s ease;
253}
254
255.star:hover {
256 color: #FFA550;
257 transition: color 0.3s ease;
258}
259
260
261.recipeCard .addReview {
262 margin-top: 2em;
263 display: flex;
264 flex-direction: column;
265 gap: 1em;
266}
267.readOnly {
268 opacity: 0.5;
269 }
270.recipeCard .addReview textarea {
271 width: 100%;
272 padding: 1em;
273 border: 1px solid #ddd;
274 border-radius: 8px;
275 font-size: 1.1em;
276 margin-bottom: 1em;
277 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
278}
279
280.recipeCard .addReview select {
281 width: 100%;
282 padding: 0.8em;
283 border: 1px solid #ddd;
284 border-radius: 8px;
285 font-size: 1.1em;
286 margin-bottom: 1em;
287}
288
289.recipeCard .addReview button {
290 padding: 0.8em 2em;
291 background-color: #FFA550;
292 color: white;
293 border: none;
294 border-radius: 8px;
295 font-size: 1.1em;
296 cursor: pointer;
297 transition: all 0.3s ease;
298}
299
300.recipeCard .addReview button:hover {
301 background-color: #FF8C00;
302 box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
303}
304
305.recipeCard .showMoreButton {
306 display: block;
307 padding: 0.8em 2em;
308 margin: 1em auto;
309 background-color: #FFA550;
310 color: white;
311 border: none;
312 border-radius: 8px;
313 font-size: 1.1em;
314 cursor: pointer;
315 transition: all 0.3s ease;
316 box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
317}
318
319.recipeCard .showMoreButton:hover {
320 background-color: #FF8C00;
321 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
322}
323
324.reviewsSection {
325 margin-top: 3em;
326 padding: 2em;
327 background-color: #f9f9f9;
328 border-radius: 16px;
329 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
330}
331
332.reviewsSection h3 {
333 font-size: 2.2em;
334 color: #333;
335 margin-bottom: 1em;
336 text-align: center;
337 position: relative;
338}
339
340.reviewsSection h3::after {
341 content: '';
342 position: absolute;
343 bottom: -10px;
344 left: 50%;
345 transform: translateX(-50%);
346 width: 60px;
347 height: 3px;
348 background-color: #FFA550;
349}
350
351
352.reviewsSection ul {
353 list-style-type: none;
354 padding: 0;
355 margin: 0;
356}
357
358.reviewsSection li {
359 padding: 1.2em;
360 margin-bottom: 1.2em;
361 background-color: #ffffff;
362 border-radius: 12px;
363 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
364 transition: transform 0.3s ease, box-shadow 0.3s ease;
365 display: flex;
366 flex-direction: column;
367 align-items: flex-start;
368 border-left: 4px solid #FFA550;
369}
370
371.reviewsSection li:hover {
372 transform: translateY(-5px);
373 box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
374}
375
376.reviewsSection li strong {
377 font-size: 1.1em;
378 color: #333;
379 margin-bottom: 0.5em;
380 display: block;
381}
382
383.reviewsSection .reviewText {
384 font-size: 1em;
385 color: #555;
386 line-height: 1.6;
387 margin-bottom: 0.8em;
388 display: block;
389}
390
391.reviewsSection .ratingText {
392 font-size: 1em;
393 color: #FFA550;
394 font-weight: bold;
395 display: flex;
396 align-items: center;
397}
398
399.reviewsSection .ratingText[data-rating="1"]::before { content: '★☆☆☆☆'; }
400.reviewsSection .ratingText[data-rating="2"]::before { content: '★★☆☆☆'; }
401.reviewsSection .ratingText[data-rating="3"]::before { content: '★★★☆☆'; }
402.reviewsSection .ratingText[data-rating="4"]::before { content: '★★★★☆'; }
403.reviewsSection .ratingText[data-rating="5"]::before { content: '★★★★★'; }
404
405.reviewItem {
406 display: flex;
407 justify-content: space-between;
408 align-items: flex-start;
409 padding: 1em;
410 margin-bottom: 1.2em;
411 background-color: #ffffff;
412 border-radius: 12px;
413 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
414 transition: transform 0.3s ease, box-shadow 0.3s ease;
415 border-left: 4px solid #FFA550;
416 position: relative;
417}
418
419.reviewItem .reviewContent {
420 flex-grow: 1;
421 margin-right: 20px;
422 word-break: break-word;
423 white-space: normal;
424}
425
426.reviewItem .ratingText {
427 font-size: 1em;
428 color: #FFA550;
429 font-weight: bold;
430 margin: 0;
431 position: relative;
432 bottom: 0;
433 top: 10px;
434 text-align: left;
435}
436
437.deleteButton {
438 background-color: #ff272e;
439 border: none;
440 color: white;
441 padding: 0.4em 0.8em;
442 border-radius: 6px;
443 font-size: 0.8em;
444 cursor: pointer;
445 transition: background-color 0.3s ease, transform 0.2s ease;
446 position: absolute;
447 bottom: 10px;
448 right: 10px;
449}
450
451.deleteButton:hover {
452 background-color: #FF3333;
453 transform: scale(1.02);
454}
455
456.deleteButton:active {
457 transform: scale(0.98);
458}
459
460
461@media (max-width: 768px) {
462 .reviewsSection {
463 padding: 1.5em;
464 }
465
466 .reviewsSection li {
467 padding: 1em;
468 }
469
470 .reviewsSection h3 {
471 font-size: 1.8em;
472 }
473
474 .reviewItem .ratingText {
475 position: static;
476 margin-top: 10px;
477 }
478
479 .deleteButton {
480 position: static;
481 margin-top: 10px;
482 }
483}
Note: See TracBrowser for help on using the repository browser.