


/* --- Global & Section Styling --- */
body {
    background-color: #222529;
    font-family: 'Poppins', sans-serif; /* A nice modern font, use your project's font */
    color: #f8f9fa;
}

div {
    border: 1px;
}

.product-section {
    padding: 60px 0;
}

.section-title {
    font-weight: bold;
    color: #fff;
}

.section-subtitle {
    color: #ccc;
    font-size: 1.1rem;
}

/* --- Product Card Styling --- */
.product-card {
    background-color: #222529; /* Same as body for seamless look */
    border: 1px solid #333;
    text-align: left;
    transition: all 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.image-container {
    position: relative;
    overflow: hidden;
}

.image-container img {
    width: 100%;
    height: auto;
    transition: opacity 0.4s ease-in-out;
}

/* Image Flip Effect */
.image-container .back-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.product-card:hover .image-container .back-image {
    opacity: 1;
}

.product-card:hover .image-container .front-image {
    opacity: 0;
}

/* Badges */
.badges {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
}

.badges .badge {
    display: inline-block;
    padding: 5px 10px;
    color: #fff;
    font-size: 12px;
    margin-right: 5px;
    border-radius: 4px;
}
.badges .badge.new { background-color: #007bff; }
.badges .badge.sale { background-color: #dc3545; }


/* Hover Icons */
.hover-icons {
    position: absolute;
    bottom: -60px; /* Start hidden */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    transition: all 0.4s ease;
    z-index: 3;
}

.product-card:hover .hover-icons {
    bottom: 20px; /* Slide in on hover */
}

.hover-icons .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #fff;
    color: #222;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
}

.hover-icons .icon:hover {
    background-color: #e83e8c; /* Pink color */
    color: #fff;
}


/* Card Body */
.product-card .card-body {
    padding: 20px;
}

.product-name {
    font-size: 1rem;
    color: #fff;
    font-weight: 600;
}

.product-description {
    font-size: 0.9rem;
    color: #aaa;
}

.rating {
    color: #ffc107; /* Gold color for stars */
    margin: 10px 0;
}

.price {
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
}

.old-price {
    font-size: 0.9rem;
    color: #aaa;
    text-decoration: line-through;
    margin-left: 10px;
}


/* --- Owl Carousel Custom Dots --- */
.owl-theme .owl-dots {
    text-align: center;
    margin-top: 30px !important;
}

.owl-theme .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background: #555; /* Inactive dot */
    transition: all 0.3s ease;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background: #e83e8c; /* Active dot pink color */
    width: 25px; /* Active dot wider */
}


/* --- Modal Styling --- */
.modal-content {
    background-color: #fff;
    border: none;
    border-radius: 8px;
    color: #333;
}

.modal .btn-close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    background-color: #eee;
    border-radius: 50%;
}

.modal-image-gallery .main-image {
    border-radius: 8px;
    width: 100%;
}

.modal-image-gallery .thumbnails {
    display: flex;
    gap: 10px;
}

.modal-image-gallery .thumbnail-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.3s ease;
}

.modal-image-gallery .thumbnail-img.active,
.modal-image-gallery .thumbnail-img:hover {
    border-color: #e83e8c; /* Pink color */
}

.modal-product-details .modal-title {
    font-weight: 600;
}

.modal-product-details .modal-rating {
    font-size: 0.9rem;
    margin: 10px 0;
}
.modal-product-details .modal-rating i { color: #f8c107; }
.modal-product-details .modal-rating span { color: #555; margin-left: 10px; }

.modal-product-details .modal-price {
    font-size: 1.8rem;
    font-weight: bold;
    color: #111;
    margin-bottom: 20px;
}

.modal-product-details .detail-group {
    margin-bottom: 20px;
}
.modal-product-details h5 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.colors .color-swatch {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    margin-right: 10px;
    cursor: pointer;
    border: 2px solid #ddd;
    transition: border-color 0.3s ease;
}

.colors .color-swatch.active,
.colors .color-swatch:hover {
    border-color: #e83e8c;
}

.sizes .size-btn {
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 5px 15px;
    margin-right: 10px;
    border-radius: 4px;
    cursor: pointer;
}
.sizes .size-btn.active,
.sizes .size-btn:hover {
    background-color: #343a40;
    color: #fff;
    border-color: #343a40;
}
.detail-group p { margin-bottom: 5px; color: #555;}


.action-buttons .btn {
    padding: 12px 25px;
    border-radius: 5px;
    font-weight: 600;
}
.action-buttons .btn-add-to-cart {
    background-color: #e83e8c;
    color: #fff;
}
.action-buttons .btn-view-details {
    background-color: #eee;
    color: #333;
}