.shoppingCart { position: relative; } .cartIcon { position: fixed; top: 20px; right: 20px; cursor: pointer; font-size: 20px; background-color: #FFA550; padding: 12px; border-radius: 50%; color: white; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; } .cartIcon:hover { background-color: #FF8C00; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25); transform: scale(1.05); } .cartCount { position: absolute; top: -8px; right: -8px; background-color: red; color: white; font-size: 12px; border-radius: 50%; padding: 3px 6px; font-weight: bold; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .cartPopup { position: fixed; top: 60px; right: 20px; width: 350px; background-color: white; border: 1px solid #ccc; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); padding: 20px; z-index: 1000; border-radius: 10px; overflow-y: auto; max-height: 400px; } .cartPopup h4 { margin-top: 0; font-size: 1.5em; color: #333; } .cartItems { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; max-height: 250px; overflow-y: auto; padding-right: 10px; } .cartItems::-webkit-scrollbar { width: 8px; } .cartItems::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.2); border-radius: 4px; } .cartItems::-webkit-scrollbar-thumb:hover { background-color: rgba(0, 0, 0, 0.3); } .cartItemCard { background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 6px; padding: 8px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); transition: box-shadow 0.2s ease; font-size: 0.9em; width: 100%; height: 40px; box-sizing: border-box; position: relative; } .cartItemCard:hover { box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); } .cartItemCard p { margin: 0; font-size: 0.95em; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 50%; } .cartItemCard span { font-size: 0.85em; color: #555; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 30%; text-align: right; margin-right: 40px; } .removeButton { background: none; border: none; color: red; font-size: 1.2em; cursor: pointer; position: absolute; display: flex; align-items: center; justify-content: center; right: 10px; top: 50%; transform: translateY(-50%); transition: color 0.3s ease, transform 0.2s ease; width: 20px; height: 20px; } .removeButton:hover { color: darkred; transform: translateY(-50%) scale(1.3); } .checkoutButton { background-color: #FFA550; color: white; border: none; padding: 12px; cursor: pointer; width: 100%; margin-top: 20px; border-radius: 4px; font-size: 1.1em; transition: background-color 0.3s ease; } .checkoutButton:hover { background-color: #FF8C00; } .ingredientList { margin-top: 0; padding-left: 0; } .ingredientList ul { list-style: none; padding-left: 0; } .ingredientList li { position: relative; margin-bottom: 10px; display: flex; align-items: center; padding-left: 1.75em; color: #555; font-size: 1.15em; line-height: 1.6; transition: transform 0.3s ease; } .ingredientList 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; } .ingredientList li:hover::before { transform: translateY(-50%) scale(1.2); background-color: #FF8C00; } .ingredientList li:hover { transform: translateX(7px); } .ingredientList input[type="checkbox"] { margin-right: 10px; accent-color: #FFA550; transform: scale(1.2); cursor: pointer; } .ingredientList input[type="checkbox"]:checked + label::before { background-color: #FF8C00; } .toggleTitle { cursor: pointer; font-size: 1.85em; font-weight: 600; margin-bottom: 0.75em; color: #333; transition: color 0.3s ease; display: inline-block; position: relative; padding-bottom: 10px; } .toggleTitle:hover { color: #FFA550; } .ingredientList { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-in-out; } .show { max-height: 500px; } .hide { max-height: 0; } .gramsText { font-size: 10px; color: #333; display: inline-block; }