/* 
    layout 
 */
#content > .container-fluid {
    max-width: 1550px !important;
}
@media (max-width: 768px) {
    #content.pt-5 {
        padding-top: 0 !important;
    }
    #content > .container-fluid.mt-4{
        margin-top: 0 !important;
    }
}

/* sticky summary */
body.single-product,
body.single-product #page,
body.single-product .product {
    overflow: visible !important;
}
#sticky-summary {
    position: sticky !important;
    top: 90px !important;
}
.vi-wpvs-variation-wrap {
    position: sticky !important;
}
body > .vi-wpvs-variation-wrap {
    display: none !important;
}
.vi-wpvs-variation-wrap-option.vi-wpvs-hidden.vi-wpvs-variation-wrap-option-show {
    display: block !important;
    visibility: visible !important;
    position: absolute;
    width: 100%;
}

#content.modal--open #sticky-summary {
    position: unset !important;
}

.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
    width: 56% !important;
}
.storefront-full-width-content.single-product div.product .summary {
    width: 42% !important;
}
@media (max-width: 1200px) {
    .storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
        width: 50% !important;
    }
    .storefront-full-width-content.single-product div.product .summary {
        width: 48% !important;
    }
}
@media (max-width: 920px) {
    .storefront-full-width-content.single-product div.product .woocommerce-product-gallery,
    .storefront-full-width-content.single-product div.product .summary {
        width: 100% !important;
    }
}


/*
    product gallery
 */
/* custom gallery */
.storefront-full-width-content.single-product div.product .woocommerce-product-gallery,
.storefront-full-width-content.single-product div.product .images,
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .images {
    margin: 0 !important;
}

.woocommerce-product-gallery__image {
    position: relative;
    overflow: hidden;
    border: 8px solid #fff;
    z-index: 1;
    width: 100% !important;
}
.woocommerce-product-gallery__image:first-child,
.woocommerce-product-gallery__image.full-width {
    max-height: calc(100vh - 130px) !important;
}
.woocommerce-product-gallery__image.col-sm-6 {
    /*max-height: 300px !important;*/
    max-height: calc(60vh - 80px) !important;
}
.woocommerce-product-gallery__image.col-sm-6.col-sm-12 {
    max-height: 400px !important;
}
.woocommerce-product-gallery__image.col-sm-6.col-sm-12,
.woocommerce-product-gallery__image.col-sm-6.full-width {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    max-height: calc(100vh - 130px) !important;
}
.woocommerce-product-gallery__image.col-sm-6.full-width {
    
}
.woocommerce-product-gallery__image.portrait {
    width: 50% !important;
    display: inline-block;
}
.woocommerce-product-gallery__image.landscape {
    width: 100% !important;
    border-width: 4px 8px 10px;
}
.woocommerce-product-gallery__image::after {
  content: '';
}
.woocommerce-product-gallery__image img {
    width: 100% !important;
    object-fit: fill;
    object-position: center center;
    transition: .5s ease all;
    transform: scale(1.075);
}
.woocommerce-product-gallery__image:first-child img {
    object-fit: none;
}
.woocommerce-product-gallery__image.col-sm-6 img {
    object-fit: cover;
}
.woocommerce-product-gallery__image.col-sm-6.col-sm-12 img,
.woocommerce-product-gallery__image.col-sm-6.full-width img {
    width: 100% !important;
    object-fit: cover;
}
.woocommerce-product-gallery__image.col-sm-6.full-width img {
    height: calc(90vh - 20px) !important;
}
.woocommerce-product-gallery__image.portrait img {
    height: 480px !important;
}
.woocommerce-product-gallery__image.landscape img {
    height: 500px !important;
}
.woocommerce-product-gallery__image a:hover img {
    transform: scale(1.15);
}


/* TODO >>  */

@media (max-width: 576px) {
    .woocommerce-product-gallery__image.portrait {
        max-height: 240px !important;
        display: inline-block;
    }
    .woocommerce-product-gallery__image.portrait img {
        max-height: 232px !important;
    }
    .woocommerce-product-gallery__image.landscape img {
        width: 100% !important;
        height: 240px !important;
    }
}

/* lightbox */
.pswp__bg {
    /* background style.css */
    opacity: 0.85 !important;
}
.pswp__ui.pswp__ui--fit ,
.pswp__button,
.pswp__caption {
    display: none !important;
}
.pswp--zoom-allowed .pswp__img {
    cursor: grab;
    border-radius: 0 !important;
    -webkit-box-shadow: 0 .5rem 1rem rgba(0,0,0,.3) !important;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.3) !important;
}


/*
    product informations
 */
h1.product_title {
    margin: 0 0 20px;
    margin-bottom: 20px;
    text-align: left;
    color: #111;
    font-family: "Roboto Condensed", sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1 !important;
}
h1.product_title .badge.h6 {
    font-size: 12px !important;
    text-transform: none !important;
    vertical-align: super !important;
    font-weight: normal !important;
    letter-spacing: 1px !important;
}
.short-description {
    font-family: 'ModernSans Light';
    font-size: 18px;
    text-align: justify;
    text-justify: inter-word;
}
.product_meta .sku {
    text-transform: uppercase;
}
.single-product div.product .product_meta,
.short-description {
    margin-bottom: 15px;
}
.single-product div.product .product_meta {
    border-width: 0 !important;
    color: #bbb;
    font-size: 14px !important;
}
.woocommerce-product-details__short-description > p {
    margin: 0 !important;
}
#price-order > .price {
    padding: 0 !important;
}
.price {
    margin: 0;
    color: #111;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 24px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1;
}
.price > del {
    letter-spacing: 0;
}
.price > .onsale {
    border-color: #6d6d6d;
    color: #6d6d6d;
    font-size: 11px;
    font-family: "Source Sans Pro","HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
    line-height: 1.55;
    letter-spacing: 0;
    vertical-align: top;
    margin: 0 0.5em;
}


#main .product-type-grouped p.price {
    display: none !important;
}

/* description  - the_content() */
.open-title {
    font-family: "Open Sans",sans-serif;
    font-weight: bold;
    color: #666;
    margin-bottom: 0.5em;
}
.modern-text {
    line-height: 1.2;
    font-family: 'ModernSans Light';
    font-size: 16px;
    color: #666;
    text-align: justify;
    text-justify: inter-word;
}
.product-description p {
    margin-bottom: 0.5em !important;
}
.woocommerce-product-details__short-description {
    font-size: 18px;
    
}
.details-content h4 {
    font-size: 18px;
}
.details-content ul {
    margin: 0 0 1em 2em;
}

/* hashtags */
.hashtags .h5 {
    font-size: 15px !important;
}

/* only rdv */
.single-product div.product .single-rdv {
    margin-bottom: 50px;
    padding: 15px 20px;
    border-radius: 2px;
    background: #f8f8f8;
    font-family: "Source Sans Pro","HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
    line-height: 1.618;
    text-rendering: optimizeLegibility;
    font-weight: 400;
    text-align: left;
    color: #222;
    font-size: 13px;
    font-style: italic;
}

/*
    forms
 */
form {
    position: relative;
}
.single-product div.product form.cart {
    margin-bottom: 50px !important;
    padding: 15px 20px 0 20px !important;
    border-radius: 2px;
    background: #f8f8f8;
}
.single-product div.product form.cart.pb-3 {
    padding: 15px 20px !important;
}

/* simple */
.quantity > label {
    height: unset !important;
    overflow: visible !important;
    position: relative !important;
    width: unset !important;
    top: unset !important;
    clip-path: unset !important;
}
.quantity > .qty {
    width: 6em !important;
    margin: 0 10px !important;
}

/* variation */
.product-type-variable .single_add_to_cart_button {
    display: none !important;
}
.variations .vi-wpvs-variation-style {
    display: unset !important;
    border: unset !important;
    grid-auto-columns: unset !important;
    grid-auto-rows: unset !important;
    margin-bottom: 0 !important;
    z-index: 1000 !important;
}
.variations .vi-wpvs-variation-style.vi-wpvs-variation-style-horizontal {
    grid-template-columns: unset !important;
    grid-gap: unset !important;
    align-items: unset !important;
    justify-items: unset !important;
}
.variations .vi-wpvs-variation-style.vi-wpvs-variation-style-vertical {
    grid-template-columns: unset !important;
    grid-gap: unset !important;
}
.variations .row.justify-content-start {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}
p.stock {
    padding: 0 8px !important;
    margin: 0 0 1em !important;
    color: #343a40 !important;
    font-style: italic;
}
p.stock::before {
    display: none !important;
}
ul.woocommerce-error {
    width: auto !important;
    position: absolute !important;
    right: 6px !important;
    margin-bottom: 0 !important;
    padding: 1em 3em 1em 1em !important;
    z-index: 10;
}
ul.woocommerce-error .remove-message {
    position: absolute;
    right: 5px;
    top: calc(50% - 10.5px);
    margin: 0 !important;
}
.rtl ul.woocommerce-error {
    right: unset !important;
    left: 6px !important;
    padding: 1em 1em 1em 3em !important;
}
.rtl ul.woocommerce-error .remove-message {
    position: absolute;
    right: unset !important;
    left: 5px !important;
}

#wc-single-variation .stock.in-stock {
    display: none;
}

a.reset_variations::before {
    content: '' !important;
    display: none !important;
}
a.reset_variations {
    font-size: 15px;
    color: #111;
    vertical-align: middle;
}
a.reset_variations:hover {
    text-decoration: none;
}
.vi-wpvs-variation-wrap .vi-wpvs-variation-wrap-select-wrap .vi-wpvs-variation-button-select::after {
    right: 5px !important;
}

@media (max-width: 992px) {
    .container-fluid.p-5,
    .summary.p-5 {
        padding: 3rem 2rem !important;
    }
}
@media (max-width: 768px) {
    .container-fluid.p-5,
    .summary.p-5 {
        padding: 2rem !important;
    }
}
@media (max-width: 576px) {
    .container-fluid.p-5,
    .summary.p-5 {
        padding: 1rem !important;
    }
}
.vi-wpvs-variation-wrap.vi-wpvs-variation-wrap-vi_wpvs_button_design .vi-wpvs-variation-button-select {
  padding: 10px 16px !important;
}

.single-product div.product table.variations td,
.single-product div.product table.variations th {
    display: list-item;
    float: left;
    padding: 0;
    color: #666;
    background-color: transparent;
    list-style: none;
}
form .caption {
    font-weight: 600 !important;
}
form .variations select,
form .variations .vi-wpvs-variation-button-select {
    background: #fff !important;
}
form .single_variation_wrap.custom {
    opacity: 0;
    z-index: 999 !important;
}
.single-product div.product form.cart .quantity,
.tinvwl-after-add-to-cart {
    display: inline-block;
}
form.cart .tinv-wraper,
.single_variation_wrap .tinv-wraper {
    height: 37px;
    margin: 0 6px;
}
form.cart .tinv-wraper .tinvwl_add_to_wishlist_button,
.single_variation_wrap .tinv-wraper .tinvwl_add_to_wishlist_button {
    margin-top: 0;
}
form.cart .single_add_to_cart_button, 
.single_variation_wrap .single_add_to_cart_button {
    float: left;
    padding: 9px 18px;
}
form .single_variation_wrap {
    display: none;
}
form .single_variation_wrap button,
.contact-modal button {
    font-size: 15px;
    text-transform: uppercase;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #333333;
    border-color: #333333;
}
.form-group > select,
#contactModal select {
    height: 37px;    
}
#contactModal form {
    margin-bottom: 0 !important;
}
#contactModal .modal-dialog {
    max-height: calc(100% - 50px) !important;
    margin: 70px auto 1.75rem !important;
    overflow-x: hidden !important;
}
@media (max-width: 576px) {
    #contactModal .modal-dialog {
        margin-top: 50px !important;
    }
}
#contactModal .modal-content {
    -webkit-box-shadow: 2px 5px 14px 0px #343a40, 5px 5px 13px 5px rgba(0,0,0,0); 
    box-shadow: 2px 5px 14px 0px #343a40, 5px 5px 13px 5px rgba(0,0,0,0);
    border: 1px solid #888;
}
#contactModal .modal-body {
    overflow-x: hidden !important;
}

#contactModal .product-container .html-wrap {
    flex-direction: unset !important;
    flex-wrap: unset !important;
}
#contactModal .product-container .nf-field-label,
#contactModal .product-container .nf-field-element {
    display: initial !important;
}
#contactModal .product-container .nf-field-label label {
    font-weight: normal !important;
    display: block !important;
    text-align: center !important;
}
#contactModal .product-name {
    font-family: "BebasNeue Regular";
    font-size: 20px;
    color: #333;
    line-height: 1;
    vertical-align: text-top;
}
#modal-success p {
    padding: 40px 0 !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 18px !important;
}
#contactModal .container-label-name label {
    font-weight: 700;
}
#contactModal .nf-form-layout .select2-container--default {
    margin-top: -2px !important;
}
#contactModal form .fm_empty_margin {
    margin: 0 !important;
}
body > .select2-container {
    z-index: 10001 !important;
}

/* variations */
.variations .select2-container--default {
    width: 100% !important;
}
.variations .select2-container--default .select2-selection--single {
    height: 42.5px !important;
    padding: 6px 12px !important;
}
.single-product div.product .woocommerce-product-gallery img {
    border-radius: 0 !important;
    width: 100% !important;
}
.svi-mainsection,
.svithumbnails li {
    cursor: pointer;
}
.vi-wpvs-variation-button-select {
    border: 1px solid #e2e6e9 !important;
}
.vi-wpvs-variation-style.multiple-choice {
    display: flex !important;
}

/* grouped product */
.product-type-grouped .short-description {
    margin-bottom: 30px !important;
    padding: 0 !important;
}
.product-type-grouped .contact-modal.pt-5 {
    padding-top: 0 !important;
}
.product-type-grouped table {
    margin-bottom: 0 !important;
}
.single-product div.product form.cart.grouped_form {
    margin-bottom: 30px !important;
    padding: 12px 6px !important;
}
form.grouped_form table tr {
    cursor: pointer !important;
}
form.grouped_form table tr img {
    border-radius: 0 !important;
}
form.grouped_form table tr:hover img {
    opacity: 0.9 !important;
}
form.grouped_form table tr:hover label a,
form.grouped_form table tr label a:hover {
    color: #343a40 !important;
    text-decoration: none !important;
    opacity: 0.8 !important;
}
form.grouped_form table:not(.has-background) tbody td {
    background: none !important;
    vertical-align: middle !important;
}
form.grouped_form .woocommerce-grouped-product-list-item__label label {
    margin: 0 !important;
}
form.grouped_form .woocommerce-grouped-product-list-item__label a {
    font-family: 'BebasNeue Regular' !important;
    font-size: 1.27rem !important;
    line-height: 1;
}
form.grouped_form .woocommerce-grouped-product-list-item__label p {
    line-height: 1;
}
form.grouped_form .woocommerce-grouped-product-list-item__price ins {
    display: block;
    line-height: 1;
}

/* message alert */
.message-container .button::after{
    display: none !important;
}
.message-container .button:hover{
    color: #333 !important;
}

/*
    recentyly viewed
 */
.recent_products {
    padding-top: 3rem !important;
}
@media screen and (max-width: 767px){
    .recent_products {
        padding: 30px 13px 0 !important;
    }
}
@media screen and (max-width: 300px){
    .recent_products .badge.cat-new {
        display: none !important;
    }
}

/*
    upsells
 */
.upsells.products > h2 {
    border-bottom: 1px solid #ccc !important;
    text-align: left !important;
    font-size: 2em !important;
}
.upsells.products ul.products.columns-3 {
    display: flex !important;
    justify-content: center !important;
    padding: 1rem 1.9rem 0;
}
.upsells ul.products.columns-3 li.product,
.upsells ul.products li.product.last {
    width: 30.4347826087%;
    float: left;
    margin-right: 4.347826087%;
    margin-bottom: 0 !important;
}
@media (min-width: 768px) {
    .upsells ul.products li.product.last {
        margin-right: 4.347826087% !important;
    }
    .upsells ul.products.columns-3 li.product:last-child {
        margin-right: 0 !important;
    }
}
@media (max-width: 899px) {
    .upsells.products ul.products.columns-3 {
        padding: 1rem 1.5rem 0;
    }
    .upsells.products ul.products.columns-3 li.product {
        margin: 0;
        width: 50%;
        padding: 0 6px;
    }
    .upsells ul.products li.product:not(:first-child):not(:nth-child(2)) {
        display: none;
    }
}
@media (max-width: 576px) {
    .upsells.products {
        display: none;
    }
}
.upsells ul.products.columns-3 li.product:hover {
    opacity: 0.92;
}
.upsells ul.products.columns-3 li.product > a > img {
    border-color: #ccc !important;
    padding: 5px;
}
.upsells ul.products.columns-3 li .short-description {
    padding: 0 19.5px !important;
    margin-top: 5px;
    line-height: 1 !important;
    text-align: center !important;
    font-size: 16px !important;
}
.upsells ul.products.columns-3 li .price {
    font-size: 13px !important;
    color: #bbb !important;
    line-height: 1.618 !important;
    letter-spacing: 0 !important;
}

/*
    translations ar
 */
 .rtl .modern-text {
    font-family: 'Open Sans',sans-serif;
 }
.rtl h1.product_title {
    text-align: right !important;
}
.rtl .details-title {
    font-family: "Arabic Light";
    text-align: right !important;
}
.rtl .short-description,
.rtl .details-content {
    font-family: Source Sans Pro,
                    HelveticaNeue-Light,
                    Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;
}
.rtl .details-content ul {
    margin: 0 2em 1em 0;
}
.rtl.single-product div.product form.cart .quantity,
.rtl.single-product div.product form.cart .single_add_to_cart_button,
.rtl.single-product div.product form.cart .tinv-wraper {
    float: right !important;
}
.rtl #variation-price #price-total .price-delivery del,
.rtl .price-min del {
    margin-right: 0;
    margin-left: 8px;
}
.rtl .onsale {
    right: auto !important;
    left: 0 !important;
}
.rtl .site-info {
    text-align: right !important;
}
@media (max-width: 768px) {
    .rtl h1 {
        text-align: center !important;
    }
    .rtl .onsale {
        right: auto !important;
        left: 8px !important;
    }
    .rtl .woocommerce-MyAccount-content h3,
    .rtl .woocommerce-MyAccount-content .button {
        margin-right: 0;
    }
    .rtl .woocommerce-EditAccountForm fieldset {
        margin: 1.618em 0;
        padding: 1em;
    }
    .rtl .woocommerce-EditAccountForm fieldset legend {
        margin-right: 0;
        padding: 1em 0;
    }
}