a {
    text-decoration: none;
}


/*
|--------------------------------------------------------------------------
| Product Card
|--------------------------------------------------------------------------
*/

.sw-product-card {
    transition: 0.3s ease;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.sw-product-card:hover {
    transform: translateY(-5px);
}


/*
|--------------------------------------------------------------------------
| Product Image
|--------------------------------------------------------------------------
*/

.sw-product-image {
    position: relative;
    overflow: hidden;
}

.sw-product-image-link {
    display: block;
    position: relative;
}

.sw-main-image,
.sw-hover-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: 0.4s ease;
    display: block;
}

/* Hover Image */

.sw-hover-image {
    position: absolute;
    inset: 0;
    opacity: 0;
}


/* Hover Effect Only If Gallery Image Exists */

.sw-product-image-link.has-hover-image:hover .sw-hover-image {
    opacity: 1;
    transform: scale(1.05);
}

.sw-product-image-link.has-hover-image:hover .sw-main-image {
    opacity: 0;
    transform: scale(1.05);
}


/*
|--------------------------------------------------------------------------
| Sale Badge
|--------------------------------------------------------------------------
*/

.sw-sale-badge {
    top: 10px;
    left: 10px;
    z-index: 2;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 50px;
}


/*
|--------------------------------------------------------------------------
| Stock Badge
|--------------------------------------------------------------------------
*/

.sw-stock-badge {
    top: 10px;
    right: 10px;
    z-index: 2;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 50px;
}


/*
|--------------------------------------------------------------------------
| Product Title
|--------------------------------------------------------------------------
*/

.sw-product-card h2 {
    line-height: 1.4;
}

.sw-product-card h2 a:hover {
    color: #000;
}


/*
|--------------------------------------------------------------------------
| Rating
|--------------------------------------------------------------------------
*/

.sw-product-rating {
    font-size: 14px;
}


/*
|--------------------------------------------------------------------------
| Buttons
|--------------------------------------------------------------------------
*/

.sw-product-card .btn {
    border-radius: 8px;
}

/*
|--------------------------------------------------------------------------
| Quick View
|--------------------------------------------------------------------------
*/

.sw-quickview-category a {
    text-decoration: none;
    color: #777;
    font-size: 14px;
}

.sw-quickview-cart table.variations {
    width: 100%;
    margin-bottom: 15px;
}

.sw-quickview-cart .quantity {
    margin-bottom: 15px;
}

.sw-quickview-cart .single_add_to_cart_button {
    width: 100%;
}

/*
|--------------------------------------------------------------------------
| Quick View Button
|--------------------------------------------------------------------------
*/

.sw-quick-view-btn {
    position: absolute;
    opacity: 0;
    transition: 0.3s ease;
    z-index: 5;
    border-radius: 50px;
    top: 0%;
    right: 0%;
}

.sw-product-card:hover .sw-quick-view-btn {
    opacity: 1;
}

/*
|--------------------------------------------------------------------------
| Product Labels
|--------------------------------------------------------------------------
*/

.sw-product-labels {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sw-product-labels .badge {
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 50px;
    width: fit-content;
}

/*
|--------------------------------------------------------------------------
| Personalize Modal
|--------------------------------------------------------------------------
*/

.sw-modal-step {
    min-height: auto;
    width: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem 1rem 2rem 1rem;
}

#swPersonalizeModal .modal-content {
    border-radius: 20px;
    overflow: hidden;
}

.sw-customize-btn {
    border-radius: 50px;
    padding: 12px 24px;
}

.modal-body .sw-btn-close{
    background: transparent !important;
    color: #000 !important;
    padding: 0px 8px !important;
    opacity: 0.7;
}
.modal-body .sw-btn-close:hover{
    opacity: 1;
}

/*---Variation-------*/

.variations{
    margin-bottom : 5px;
    border-width: 1px;
}
.variations label{
    padding: 0px;
}
.variations .woo-variation-items-wrapper{
    padding: 3px;
}
.woo-variation-items-wrapper .reset_variations{
    display: none !important;
}


/*----------Addons Form-------------*/

.single_variation_wrap .woocommerce-variation-add-to-cart .added_to_cart.wc-forward{
    display: none;
}

/*
|--------------------------------------------------------------------------
| Modal Back Button
|--------------------------------------------------------------------------
*/

.sw-modal-back-btn {
    position: absolute;
    top: 10px;
    left: 12px;
    z-index: 10;
    border: 0;
    background: transparent !important;
    font-size: 24px;
    line-height: 1;
    padding: 0;
    color: #000 !important;
    opacity: 0.7;
    display: flex;
    justify-content: flex-start;
    width: 3%;
}

.sw-modal-back-btn:hover {
    opacity: 1;
    background: none;
    color: #000;
}

/*---Show Error message-----*/

.spap-field.sw-error input,
.spap-field.sw-error textarea,
.spap-field.sw-error select{
    border-color:#dc3545 !important;
}

.sw-field-error{
    font-size:13px;
}

