#admin-banner-modal {}
#admin-banner-modal h3 {
    font-weight: 800;
    font-size: 30px;
}
#admin-banner-modal input {background: #f2f2f2;border: none;padding: 0 15px;height: 43px;border-radius: 10px;margin: 0 10px 0 0;font-weight: 300;color: #000;}
#admin-banner-modal select {-moz-appearance: none;-webkit-appearance: none;appearance: none;border-radius: 0;background: #eeeeee !important;background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>") !important;background-repeat: no-repeat !important;background-position-x: calc(100% - 7px) !important;background-position-y: 50% !important;border-radius: 10px;border: none;padding: 0 15px;height: 43px;font-weight: 300;}

#image-placeholder-container {margin: 20px 0 0 0;}
#image-placeholder-container .image-category-group { margin-bottom: 24px; }
#image-placeholder-container .image-category-group h4 {margin-bottom: 9px;font-size: 19px;font-weight: 800;border-bottom: none;padding-bottom: 0;display: flex;align-items: center;}
#image-placeholder-container .image-category-group h4::after {content:"";height: 6px;background: #f2f2f2;flex: 1;margin: 0 0 0 20px;}
#image-placeholder-container .image-group-row {display: flex;flex-wrap: wrap;gap: 12px;align-items: flex-start;}
#image-placeholder-container .image-group-row .image-placeholder {max-width: 25%;flex: 0 1 calc(25% - 9px);/* aspect-ratio: 16 / 9; *//* background-color: #f2f2f2; */border-radius: 10px;border: 2px solid #f2f2f2;overflow: hidden;position: relative;display: flex;flex-direction: column;/* justify-content: center; */align-items: center;transition: box-shadow 0.3s ease;/* flex: 1; */}
.image-placeholder img {/* width: 100%; *//* height: 100%; */object-fit: cover;opacity: 0;transition: opacity 0.4s ease;}
.image-placeholder:not(.loading) img { opacity: 1; }
.image-placeholder.loading { animation: pulse-gray 1.2s ease-in-out infinite; }
.image-placeholder.loading.active { animation: pulse-blue 1.2s ease-in-out infinite; }

@keyframes pulse-gray {
    0%, 100% { box-shadow: 0 0 0 rgba(160, 160, 160, 0.2); }
    50% { box-shadow: 0 0 10px rgba(160, 160, 160, 0.6); }
}

@keyframes pulse-blue {
    0%, 100% { box-shadow: 0 0 0 rgba(0, 123, 255, 0.2); }
    50% { box-shadow: 0 0 12px rgba(0, 123, 255, 0.9); }
}

.image-meta {padding: 10px;background: white;width: 100%;box-sizing: border-box;text-align: center;border-top: 1px solid #eee;font-size: 0.9em;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;}
.image-name {font-weight: 500;margin-bottom: 2px;flex: 0 1 100%;}
.image-meta a, .image-meta button {font-size: 12px;color: var(--c-main);text-decoration: none;margin: 0 7px;border: none;background: none;padding: 0;}
.image-meta a:hover, .image-meta button:hover {color:#000;}

.image-error { color: red; font-size: 0.9em; margin-top: 6px; }

.image-tools {margin-bottom: 16px;padding: 0;display: flex;}
.image-tools .filters {display: flex;flex-wrap: wrap;gap: 10px;align-items: center;}

.image-tools .search {
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}
.image-tools .search input {
    
}
.image-tools .search button {}


.image-tools select,
.image-tools input[type="text"] {min-width: 200px;}

