/* ---------- Autocomplete ---------- */
.ac-wrapper { position: relative; }
.ac-list {
    position: absolute; top: 100%; left: 0; right: 0; z-index: 1050;
    margin: 4px 0 0; padding: 0; list-style: none;
    background: #fff; border: 1px solid #ced4da; border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,.18); max-height: 320px; overflow-y: auto;
}
.ac-list[hidden] { display: none; }
.ac-item {
    padding: 9px 12px; cursor: pointer; color: #212529;
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.ac-item small { color: #6c757d; white-space: nowrap; }
.ac-item:hover, .ac-item.active { background: #e9f2ff; }
.ac-item mark { background: #fff3a3; padding: 0; }

/* ---------- Ürün kartları ---------- */
.product-emoji {
    font-size: 3rem; text-align: center; width: 160px; height: 160px; margin: 12px auto 0;
    display: flex; align-items: center; justify-content: center;
    background: #f1f3f5; border-radius: 10px;
}
.product-img {
    display: block; width: 160px; height: 160px; max-width: 100%; margin: 12px auto 0;
    object-fit: cover; border-radius: 10px; background: #f1f3f5;
}
.admin-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; border: 1px solid #dee2e6; }

/* ---------- Ürün detay galerisi ---------- */
.gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 340px; margin: 0 auto; }
.gallery-stage.emoji, .slider {
    position: relative; width: 100%; overflow: hidden; border-radius: 14px; background: #f1f3f5;
}
.gallery-stage.emoji { aspect-ratio: 1 / 1; }

/* Slider: resimler her zaman YAN YANA dizilir, yatay kaydırılır (Bootstrap gerekmez) */
.slider-track {
    display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}
.slider-track::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 100%; width: 100%; scroll-snap-align: center; scroll-snap-stop: always; }
.gallery-slide { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; cursor: zoom-in; }

.slider-btn {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; cursor: pointer;
    background: rgba(17, 24, 39, .55); color: #fff; font-size: 1.6rem; line-height: 1; padding: 0 0 .15rem;
    display: flex; align-items: center; justify-content: center; transition: background .15s;
}
.slider-btn:hover { background: rgba(13, 110, 253, .9); }
.slider-btn.prev { left: 8px; }
.slider-btn.next { right: 8px; }
.gallery-count {
    position: absolute; right: 12px; bottom: 12px; z-index: 5; padding: 2px 10px; border-radius: 999px;
    background: rgba(17, 24, 39, .65); color: #fff; font-size: .75rem; pointer-events: none;
}
.gallery-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.gallery-thumb {
    display: block; width: 100%; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; cursor: pointer;
    border: 2px solid transparent; border-radius: 10px; background: #f1f3f5; opacity: .7;
    transition: opacity .15s, border-color .15s, transform .15s;
}
.gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-thumb:hover { opacity: 1; transform: translateY(-2px); }
.gallery-thumb.active { border-color: #0d6efd; opacity: 1; }

/* ---------- Admin resim yönetimi ---------- */
.img-manage-card { width: 130px; }
.img-manage-card img { width: 100%; height: 100px; object-fit: cover; border-radius: 6px; border: 1px solid #dee2e6; }
.img-manage-card.marked-delete img { opacity: .3; }
.dropzone {
    border: 2px dashed #adb5bd; border-radius: 12px; padding: 1.2rem; text-align: center; background: #f8f9fa;
    transition: border-color .15s, background .15s;
}
.dropzone.over { border-color: #0d6efd; background: #e9f2ff; }
.preview-thumb { width: 80px; height: 80px; object-fit: cover; border-radius: 6px; border: 1px solid #dee2e6; }

.product-card { transition: transform .15s, box-shadow .15s; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.12) !important; }
.product-title { color: #212529; text-decoration: none; }
.product-title:hover { text-decoration: underline; }
.price { font-weight: 700; font-size: 1.05rem; }
.product-card .card-body { padding: .75rem; }
.product-card .product-title { font-size: .92rem; line-height: 1.25; }

/* ---------- Sipariş durumu çizgisi ---------- */
.order-steps { position: relative; }
.order-steps .step { flex: 1; text-align: center; position: relative; color: #adb5bd; }
.order-steps .step .dot {
    width: 32px; height: 32px; border-radius: 50%; margin: 0 auto 6px;
    background: #dee2e6; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: bold;
}
.order-steps .step.done { color: #198754; }
.order-steps .step.done .dot { background: #198754; }
.order-steps .step:not(:last-child)::after {
    content: ""; position: absolute; top: 15px; left: 55%; width: 90%; height: 3px; background: #dee2e6; z-index: 0;
}
.order-steps .step.done:not(:last-child)::after { background: #198754; }
.order-steps .step .dot { position: relative; z-index: 1; }

/* Sipariş geçmişi */
.order-history li { padding: .35rem 0 .35rem .9rem; border-left: 3px solid #dee2e6; margin-left: .3rem; }
.order-history li:first-child { border-left-color: #198754; }
