.header-logo { width: 170px; }
.quantity-left-minus { border-top-right-radius: 0px; border-bottom-right-radius: 0px; }
.quantity-right-plus { border-top-left-radius: 0px; border-bottom-left-radius: 0px; }
.availability { background: #fff; text-align: center; padding: 5px; margin: 0; }

.homepage-search { margin: 5% auto 10% !important; }
.search-container { background-color: white; border-radius: 50px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); padding: 10px; max-width: 500px; width: 100%; transition: all 0.3s ease; }
.search-container:hover { box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); }
.form-control.search-input { border: none; background: transparent; padding-left: 20px; font-size: 1rem; height: 50px; }
.form-control.search-input:focus { box-shadow: none; outline: none; }
.btn-search { background-color: #007bff; color: white; border-radius: 50px; padding: 10px 20px; border: none; transition: all 0.3s ease; }
.btn-search:hover { background-color: #0056b3; transform: scale(1.05); }
.search-icon { color: #6c757d; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); }

.product-image-wrapper { width: 100%; padding-top: 100%; position: relative; overflow: hidden; background-color: #f8f9fa; border: 1px solid #eee; border-top-left-radius: 5px; border-top-right-radius: 5px; }
.product-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.storeitem .card-body a {text-decoration: none; color: inherit; }
.product-title { font-size: 1.2rem; font-weight: 600; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product-description { font-size: 0.9rem; line-height: 1.2; height: 2.4em; overflow: hidden; text-overflow: ellipsis; }
.card-img-overlay-sold { background-color: rgba(0, 0, 0, 0.6); color: #ee3d2b; text-shadow: #fff 0px 0px 10px; display: flex; align-items: center; justify-content: center; font-size: clamp(2rem, 6vw, 5rem); font-weight: bold; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.card-img-overlay-sold span { transform: rotate(-60deg); display: inline-block; }

@media (max-width: 768px) { .product-title { font-size: 0.875rem; white-space:unset; } .product-description { font-size: 0.75rem; } }
@media (max-width: 576px) { .product-title { font-size: 0.8rem; white-space:unset; } .product-description { font-size: 0.7rem; } }

.custom-bg { background: linear-gradient(to right, #e2e8f0, #e5e7eb); }
.custom-btn:hover { background-color: #f3e8ff !important; transition: background-color 0.3s ease-in-out; }

@media (prefers-color-scheme: dark) {
    .custom-bg { background: linear-gradient(to right, #1f2937, #111827); color: white !important; }
    .custom-btn { background-color: #374151 !important; color: white !important; }
    .custom-btn:hover { background-color: #4b5563 !important; }
}
