.recipeCard { max-width: 950px; margin: 5em auto; padding: 3em; background-color: #ffffff; border-radius: 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); position: relative; } .recipeCard .backArrow { position: absolute; top: 20px; left: 20px; font-size: 2em; color: #333; cursor: pointer; transition: all 0.3s ease; } .recipeCard .backArrow:hover { color: #FFA550; transform: translateX(-5px); } .recipeCard .favoriteButton { position: absolute; top: 20px; right: 20px; display: inline-flex; align-items: center; justify-content: center; background-color: #FFA550; color: white; border: none; border-radius: 50%; width: 50px; height: 50px; cursor: pointer; font-size: 1.5em; transition: all 0.3s ease; box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); } .recipeCard .favoriteButton:hover { background-color: #FF8C00; box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2); } .recipeCard .favoriteButton:active { transform: scale(0.95); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); } .recipeCard .favoriteActive { color: red; background-color: #FFA550; } .recipeCard .favoriteActive:hover { background-color: #FF8C8C; } .recipeCard .recipeDetails { display: flex; flex-direction: column; align-items: center; text-align: center; } .recipeCard .recipeImage { width: 350px; height: 250px; object-fit: cover; border-radius: 20px; margin-bottom: 2em; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); transition: transform 0.3s ease, box-shadow 0.3s ease; filter: brightness(0.95); } .recipeCard .recipeImage:hover { transform: scale(1.01); box-shadow: 0 14px 40px rgba(0, 0, 0, 0.15); } .recipeCard .textSection { padding: 0 2em; } .recipeCard .recipeDetails h2 { color: #333; font-size: 2.6em; font-weight: 700; margin-bottom: 0.5em; transition: color 0.3s ease; } .recipeCard .recipeDetails h2:hover { color: #FFA550; } .recipeCard .description { margin-bottom: 2em; font-size: 1.25em; line-height: 1.8; color: #555; text-align: left; max-width: 750px; } .recipeCard .ingredients ul { list-style: none; padding: 0; margin: 0; } .recipeCard .ingredients ul li { position: relative; padding-left: 1.75em; margin-bottom: 0.75em; font-size: 1.15em; color: #555; line-height: 1.6; display: flex; align-items: center; transition: transform 0.2s ease; } .recipeCard .ingredients ul li::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; background-color: #FFA550; border-radius: 50%; transition: transform 0.2s ease, background-color 0.2s ease; } .recipeCard .ingredients ul li:hover { transform: translateX(7px); } .recipeCard .ingredients ul li:hover::before { transform: translateY(-50%) scale(1.2); background-color: #FF8C00; } .recipeCard .ingredients ul li label { cursor: pointer; display: flex; align-items: center; } .recipeCard .ingredients ul li input[type="checkbox"] { margin-right: 10px; accent-color: #FFA550; cursor: pointer; transform: scale(1.1); } .recipeCard .ingredients ul li:hover label { color: #FFA550; } .recipeCard .ingredients ul li input[type="checkbox"]:checked + label::before { background-color: #FF8C00; } .recipeCard h3 { color: #333; font-size: 1.85em; font-weight: 600; margin-bottom: 0.75em; text-align: left; position: relative; padding-bottom: 10px; } .recipeCard h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 55px; height: 4px; background-color: #FFA550; transition: width 0.3s ease; } .recipeCard:hover h3::after { width: 85px; } .recipeCard .videoSection { width: 100%; text-align: left; margin-bottom: 0; padding-bottom: 0; } .recipeCard .video { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12); background-color: #ffffff; transition: transform 0.3s ease, box-shadow 0.3s ease; margin-bottom: 0; } .recipeCard .video:hover { transform: scale(1.01); box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18); } .recipeCard .video iframe { width: 100%; height: 420px; border: none; border-radius: 20px; margin-bottom: -8px; } .recipeCard .loading, .recipeCard .noRecipe { text-align: center; font-size: 1.8em; color: #333; margin-top: 6em; } .starRating { display: flex; gap: 0.2em; font-size: 2em; } .star { cursor: pointer; color: gray; transition: color 0.3s ease; } .star.active { color: #FFA550; transition: color 0.3s ease; } .star:hover { color: #FFA550; transition: color 0.3s ease; } .recipeCard .addReview { margin-top: 2em; display: flex; flex-direction: column; gap: 1em; } .readOnly { opacity: 0.5; } .recipeCard .addReview textarea { width: 100%; padding: 1em; border: 1px solid #ddd; border-radius: 8px; font-size: 1.1em; margin-bottom: 1em; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); } .recipeCard .addReview select { width: 100%; padding: 0.8em; border: 1px solid #ddd; border-radius: 8px; font-size: 1.1em; margin-bottom: 1em; } .recipeCard .addReview button { padding: 0.8em 2em; background-color: #FFA550; color: white; border: none; border-radius: 8px; font-size: 1.1em; cursor: pointer; transition: all 0.3s ease; } .recipeCard .addReview button:hover { background-color: #FF8C00; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); } .recipeCard .showMoreButton { display: block; padding: 0.8em 2em; margin: 1em auto; background-color: #FFA550; color: white; border: none; border-radius: 8px; font-size: 1.1em; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); } .recipeCard .showMoreButton:hover { background-color: #FF8C00; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } .reviewsSection { margin-top: 3em; padding: 2em; background-color: #f9f9f9; border-radius: 16px; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); } .reviewsSection h3 { font-size: 2.2em; color: #333; margin-bottom: 1em; text-align: center; position: relative; } .reviewsSection h3::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background-color: #FFA550; } .reviewsSection ul { list-style-type: none; padding: 0; margin: 0; } .reviewsSection li { padding: 1.2em; margin-bottom: 1.2em; background-color: #ffffff; border-radius: 12px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; align-items: flex-start; border-left: 4px solid #FFA550; } .reviewsSection li:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .reviewsSection li strong { font-size: 1.1em; color: #333; margin-bottom: 0.5em; display: block; } .reviewsSection .reviewText { font-size: 1em; color: #555; line-height: 1.6; margin-bottom: 0.8em; display: block; } .reviewsSection .ratingText { font-size: 1em; color: #FFA550; font-weight: bold; display: flex; align-items: center; } .reviewsSection .ratingText[data-rating="1"]::before { content: '★☆☆☆☆'; } .reviewsSection .ratingText[data-rating="2"]::before { content: '★★☆☆☆'; } .reviewsSection .ratingText[data-rating="3"]::before { content: '★★★☆☆'; } .reviewsSection .ratingText[data-rating="4"]::before { content: '★★★★☆'; } .reviewsSection .ratingText[data-rating="5"]::before { content: '★★★★★'; } .reviewItem { display: flex; justify-content: space-between; align-items: flex-start; padding: 1em; margin-bottom: 1.2em; background-color: #ffffff; border-radius: 12px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; border-left: 4px solid #FFA550; position: relative; } .reviewItem .reviewContent { flex-grow: 1; margin-right: 20px; word-break: break-word; white-space: normal; } .reviewItem .ratingText { font-size: 1em; color: #FFA550; font-weight: bold; margin: 0; position: relative; bottom: 0; top: 10px; text-align: left; } .deleteButton { background-color: #ff272e; border: none; color: white; padding: 0.4em 0.8em; border-radius: 6px; font-size: 0.8em; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; position: absolute; bottom: 10px; right: 10px; } .deleteButton:hover { background-color: #FF3333; transform: scale(1.02); } .deleteButton:active { transform: scale(0.98); } @media (max-width: 768px) { .reviewsSection { padding: 1.5em; } .reviewsSection li { padding: 1em; } .reviewsSection h3 { font-size: 1.8em; } .reviewItem .ratingText { position: static; margin-top: 10px; } .deleteButton { position: static; margin-top: 10px; } }