/* other styles are in magic.css */ /* ========== GRID LAYOUT ========== */ .results { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1em; margin-top: 20px; } /* Responsive: show 1 per row on small screens */ @media screen and (max-width: 768px) { .results { grid-template-columns: 1fr; } } /* ========== CARD STYLING ========== */ .card { position: relative; padding: 10px; border: 1px solid #ccc; background: #fafafa; text-align: center; transition: box-shadow 0.2s transform 0.2s; border-radius: 10px; } .card:hover { box-shadow: 0 0 10px #aaa; transform: scale(1.1); /* pop out by 10% */ z-index: 2; /* ensure it appears above others */ } .card img { width: 100%; height: auto; } /* ========== ACTION BUTTONS ========== */ .actions { margin-top: 10px; display: flex; justify-content: space-around; } .actions .info { background-color: #007bff; color: white; border: none; padding: 0.5em 1em; cursor: pointer; border-radius: 5px; margin-right: 0.5em; } .actions .info:hover { background-color: #0056b3; } .actions .request { background-color: #28a745; color: white; border: none; padding: 0.5em 1em; cursor: pointer; border-radius: 5px; } .actions .request:hover { background-color: #1e7e34; } /* ========== MODAL ========== */ .modal { position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.4); } .modal-content { background-color: #fefefe; margin: 5% auto; padding: 20px; border: 1px solid #888; width: 50%; border-radius: 10px; } .close { float: right; font-size: 28px; font-weight: bold; cursor: pointer; } /* ========== IMAGE CONTAINER ========== */ .image-container { position: relative; overflow: hidden; } .image-container img { width: 100%; height: auto; display: block; transition: filter 0.3s ease; } /* ========== BLUR CONTROL VIA BODY CLASS ========== */ body.nsfw-disabled .image-container.nsfw img { filter: grayscale(100%) blur(5px) !important; /* Ensure the blur is applied */ transition: filter 0.3s ease; /* Add smooth transition */ } body.nsfw-disabled .image-container.nsfw:hover img { filter: none !important; /* Remove blur on hover */ } /* ========== BADGE ========== */ .adult-badge { position: absolute; top: 8px; left: 8px; background-color: rgba(255, 0, 0, 0.8); color: white; padding: 4px 8px; font-size: 12px; font-weight: bold; border-radius: 4px; z-index: 1; pointer-events: none; } .search-bar { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; } .search-bar select { padding: 5px; border: 1px solid #ccc; border-radius: 4px; } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); z-index: 1; } .dropdown-content .dropdown-item { padding: 8px 16px; cursor: pointer; } .dropdown-content .dropdown-item:hover { background-color: #f1f1f1; } .dropdown-content.show { display: block; } .reset { /* Implement design here */ background-color: #f44336; /* round the edges of the button */ border-radius: 9px; } .selectors { display: flex; gap: 10px; margin-bottom: 8px; margin-top: 5px; flex-wrap: wrap; } /* ========== KOMGA SPECIFIC STYLES ========== */ .card.komga { border: 3px solid green; box-sizing: border-box; /* disable the request button for entries in Komga */ /* only allow the info button to be clicked */ opacity: 0.3; } .card.requested { border: 3px solid orange; box-sizing: border-box; /* disable the request button for entries in Komga */ /* only allow the info button to be clicked */ opacity: 0.3; } .card.manga.requested .request { pointer-events: none; opacity: 0.5; } .card.komga .request { pointer-events: none; opacity: 0.5; } .card.komga:hover, .card.requested:hover { transform: none !important; box-shadow: none !important; z-index: auto !important; } .card .delete-button { position: absolute; top: 5px; right: 5px; background-color: #dc3545; color: white; border: none; padding: 0.5em; cursor: pointer; border-radius: 50%; z-index: 3; opacity: 1; } .card:hover .delete-button { display: block; }