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 | }
|
---|