/* Header used on templates for module product*/
.product-sub-hero h1{
    word-break: break-word;
    hyphens: auto;
    word-wrap: break-word;
    text-shadow: var( --subHeroTextShadow );
}

.product-sub-hero h4{
    word-break: break-word;
    hyphens: auto;
    word-wrap: break-word;
    text-shadow: var( --subHeroTextShadow );
}

.product-sub-hero .btn {
    border: 2px solid var( --subHeroButtonBorderColor );
    background-color: var( --subHeroButtonBackgroundColor );
    color: var( --subHeroButtonTextColor );
    margin-top: 20px;
}

.product-sub-hero .btn:hover{
    background-color: var( --subHeroButtonBackgroundColorHover );
    opacity: 1;
}

.product-sub-hero.introsmall {
    background-color: var( --subHeroTypeSmallBackgroundColor );
}

@media (max-width: 894px) {
    .product-sub-hero.introsmall .intro-body {
        padding: 20px 0 20px !important;
    }
}

.product-sub-hero.introsmall .intro-body  h1{
    text-shadow: var( --subHeroTypeSmallTextShadow );
}

.product-sub-hero.introsmall .intro-body  h4{
    text-shadow: var( --subHeroTypeSmallTextShadow );
}

.product-sub-hero.introsmall .intro-body .btn {
    border: 2px solid var( --subHeroTypeSmallButtonBorderColor );
    background-color: var( --subHeroTypeSmallButtonBackgroundColor );
    color: var( --subHeroTypeSmallButtonTextColor );
}

.product-sub-hero.introsmall .intro-body .btn:hover{
    background-color: var( --subHeroTypeSmallButtonBackgroundColorHover );
}


/* Product listing */
.product-container img{
    width: 100%;
    height: auto;
}

.product-container.section-search {
    padding-top: 80px;
    padding-bottom: 0px;
}

.product-container.section-taxonomy {
    padding-top: 0px;
    padding-bottom: 80px;
}

.product-container.section-product {
    padding-top: 0px;
    padding-bottom: 80px;
}

.post-type-archive-products .section-general-text {
    padding-top: 80px;
    padding-bottom: 0px;
}

.post-type-archive-products .section-general-text.section-general-text-bottom {
    padding-bottom: 80px;
}

.post-type-archive-products .product-container.section-taxonomy {
    padding-top: 0px;
    padding-bottom: 80px;
}


/* Grid */
.product-container.product-grid .row {
    display: flex;
    flex-wrap: wrap;
}

.product-container.product-grid .badge {
	background-color: var( --productBadgePriceBackgroundColor );
}

.product-container.product-grid .badge.price {
    position: absolute;
    top: -20px;
    right: -10px;
    width: 70px;
    height: 70px;
    z-index: 1;
    border-radius: 50% !important;
}

.product-container.product-grid .badge.price .price-text {
    font-size: 12px;
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    font-weight: 800;
    word-break: break-word;
    hyphens: auto;
    word-wrap: break-word;
    line-height: 15px;
    white-space: normal;
}

.product-container.product-grid a {
    text-decoration: none;
}

.product-container.product-grid h5 {
    margin-top: 20px;
}

.product-container.product-grid .category-item {
    margin-bottom: 15px;
    font-size: 13px;
}

.product-container.product-grid div[class*="col-"] {
    margin-top: 0px;
}

.product-container.product-grid div[class*="col-"]:nth-child(n+5) {
    margin-top: 60px;
}

@media (max-width: 991px) {
    .product-container.product-grid div[class*="col-"]:nth-child(n+3) {
    margin-top: 60px;
}

.product-container.product-grid div[class*="col-"]:first-child {
        margin-top: 0px;
    }
}

@media (max-width: 767px) {
    .product-container.product-grid div[class*="col-"] {
        margin-top: 60px;
    }

    .product-container.product-grid div[class*="col-"]:first-child {
        margin-top: 0px;
    }
}


/* List */
.product-container.product-list ul.product-item {
    padding: 0;
}

.product-container.product-list ul.product-item a {
    text-decoration: none;
    padding-top: 5px;
    padding-bottom: 5px;
    display: block;
}

.product-container.product-list ul.product-item a:first-child {
    padding-top: 0px;
}

.product-container.product-list ul.product-item a:last-child {
    padding-bottom: 0px;
}

.product-container.product-list ul.product-item li {
    display: table;
}

.product-container.product-list ul.product-item li span {
    display: table-cell;
}

.product-container.product-list ul.product-item li span.read-more {
    padding-left: 0.4em;
    padding-right: 0.4em;
}

.product-container.product-list ul.product-item li span:first-child { /* TITLE */
    position: relative;
    overflow: hidden; /* Don't go underneath the price */
}

.product-container.product-list ul.product-item li span:first-child:after { /* DASHES */
  content: "";
  position: absolute;
  bottom: 0.5em; /* Set as you want */       
  margin-left: 0.5em; /* Keep same for the next span's left padding */
  width: 100%;
  border-bottom: 1px dashed #000;
}

.product-container.product-list ul.product-item li span + span { /* PRICE */
  text-align: right;
  width: 1%; /* Trick it */
  vertical-align: bottom; /* Keep Price text bottom-aligned */
  padding-left: 0.5em;
  padding-right: 0.5em;
  white-space: nowrap; /* Uncomment if needed */
}


/* Products single */
.product-container h2 {
    line-height: 1;
}

.product-container .product-price-wrapper {
    margin-bottom: 40px;
}

.product-container .wpcf7-submit {
    border: 2px solid var( --buttonGeneralBorderColor );
    background-color: var( --buttonGeneralBackgroundColor );
    color: var( --buttonGeneralTextColor ) !important;
}

.product-container .wpcf7-response-output {
    margin: 2em 0em 1em !important;
    padding: 0.2em 1em !important;
}

.product-container .wpcf7-response-output.wpcf7-mail-sent-ok  {
    border: 2px solid #46b450;
}

.product-container .wpcf7-response-output.wpcf7-mail-sent-failure {
    border: 2px solid #ff0000;
}

.product-container .product-specification-table-responsive {
	width: 100%;
	border: none;
    margin-bottom: 35px;
}

.product-container .product-specification-table-responsive th {
	background: #e0e0e0;
	text-transform: none;
}

.product-container .product-specification-table-responsive th,
.product-container .product-specification-table-responsive td {
	padding-left: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.product-container .product-specification-table-responsive tr {
	background: #fafafa;
}

.product-container .product-specification-table-responsive tr:nth-of-type(odd) {
	background: #f5f5f5;
}


/* Search product form */
#product-search-container {
    margin-bottom: 20px;
}

#product-search-container .wpcf7-text {
    padding-right: 83px;  
}

#product-search-container .wpcf7-submit {
    position: absolute;
    top: 0px;
    right: 15px;
    height: 46px;
    border: 2px solid var( --buttonGeneralBorderColor );
    background-color: var( --buttonGeneralBackgroundColor );
    color: var( --buttonGeneralTextColor ) !important;
}

#product-search-container .wpcf7-submit.disabled {
    background-color: #ccc;
    border: 2px solid #ccc;
    color: #b0b0b0 !important;
}

#product-search-container .info-text {
    font-size: 11px;
}


/* Search list */
#product-search-list .number-of-hits{
    margin-bottom: 10px;
}

#product-search-list .product-search-item{
    margin-bottom: 20px;
}

#product-search-list .product-search-item h2{
    margin-bottom: 0px !important;
}

#product-search-list .product-search-item a{
    text-decoration: none;
}

#product-search-list .product-search-item p{
    margin-bottom: 0px;
    font-size: 13px;
}

#product-search-list .product-search-item a.url{
    text-decoration: underline;
}


@media screen and (max-width: 1199px) {
    .product-container h2 {
        line-height: 1.7;
    }
}


/* Product thumbnails carousel */
.product-container #carousel-product .carousel-indicators {
    margin: 10px 0 0;
    text-align: left;
    width: 100%;
    position: static;
}

.product-container #carousel-product .carousel-indicators img {
    max-width: 101px;
}

.product-container #carousel-product .carousel-indicators li {
    background-color: transparent;
    -webkit-border-radius: 0;
    border-radius: 0;
    display: inline-block;
    height: auto;
    margin: 0 5px 0 0px !important;
    width: auto;
}

.product-container #carousel-product .carousel-indicators li:nth-child( 6n+6 ){
    margin-right: 0px !important;
}

.product-container #carousel-product .carousel-indicators li img {
    display: block;
    opacity: 0.3;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.product-container #carousel-product .carousel-indicators li.active img {
    opacity: 1;
}

.product-container #carousel-product .carousel-indicators li:hover img {
    opacity: 0.75;
}

.product-container #carousel-product .carousel-outer {
    position: relative;
    padding-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .product-container #carousel-product .carousel-indicators img {
        max-width: 99px;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 6n+6 ){
        margin-right: 5px !important;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 5n+5 ){
        margin-right: 0px !important;
    }
}

@media screen and (max-width: 991px) {
    .product-container #carousel-product .carousel-indicators img {
        max-width: 112px;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 6n+6 ){
        margin-right: 0px !important;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 5n+5 ){
        margin-right: 5px !important;
    }
}

@media screen and (max-width: 768px) {
    .product-container #carousel-product .carousel-indicators {
        text-align: center;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 6n+6 ){
        margin-right: 5px !important;
    }

    .product-container #carousel-product .carousel-indicators li:nth-child( 5n+5 ){
        margin-right: 5px !important;
    }
}

@media screen and (max-width: 650px) {
    .product-container #carousel-product .carousel-indicators img {
            max-width: 80px;
        }
}


/* Featured products */
.product-container.product-grid.featured-product h3 {
    margin-bottom: 30px;
}
