.h-auto{
    height: auto !important;
}

.text-wrap{
    word-wrap: break-word !important;
    white-space: normal !important;
}

.text-right{
    text-align: right !important;
}

/* Sidebar */
.sidebar .widget {
    margin-bottom: 15px;
}

.sidebar .widget h3 {
    font-size: 18px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

.sidebar .widget .input-group {
    display: flex;
}

.sidebar .widget .input-group .input-text {
    flex: 1;
    margin-bottom: 0;
}

.sidebar .widget .input-group .btn {
    margin-left: 5px;
}


/* Product gallery */
.lightbox img {
    margin-bottom: 15px;
    border-radius: 4px;
    transition: opacity 0.3s;
}

.lightbox:hover img {
    opacity: 0.85;
}

/* Image fluid */
.img-fluid {
    max-width: 100%;
    height: auto;
}

.text-white {
    color: #fff !important;
}

.text-gray {
    color: #6c757d !important;
}

.border-white {
    border-color: #fff !important;
}

/* Product Detail — Owl Carousel Gallery */
.product-gallery { width: 100%; overflow: hidden; }
.product-main-carousel .product-media-item img { width: 100%; height: auto; display: block; object-fit: cover; border-radius: 4px; }
.product-main-carousel .owl-nav button { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,.45) !important; color: #fff !important; width: 36px; height: 36px; border-radius: 50% !important; display: flex !important; align-items: center; justify-content: center; transition: background .2s; font-size: 14px; }
.product-main-carousel .owl-nav button:hover { background: rgba(0,0,0,.7) !important; }
.product-main-carousel .owl-nav .owl-prev { left: 8px; }
.product-main-carousel .owl-nav .owl-next { right: 8px; }
.product-thumb-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.product-thumb-item { width: 64px; height: 64px; cursor: pointer; border: 2px solid transparent; border-radius: 4px; overflow: hidden; transition: border-color .2s; flex-shrink: 0; }
.product-thumb-item:hover { border-color: #aaa; }
.product-thumb-item.active { border-color: #333; }
.product-thumb-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Product Detail — Info Panel */
.product-info-panel { padding: 0 0 0 8px; }
.product-info-panel .product-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 0; line-height: 1.3; }
.pm-product-categories { color: #555; font-size: .9rem; }
.pm-product-categories i { margin-right: 4px; }
@media (max-width: 767px) { .product-info-panel { padding: 0; margin-top: 16px; } }
.owl-nav .owl-next i, .owl-nav .owl-prev i {
    color: #fff;
    right: 0;
    width: 100%;
    height: 100%;
    left: 0;
}