/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.59
*/

/* =Theme customization starts here
------------------------------------------------------- */

h2 {
    font-size: 30px
}

.home-title h2 {
    font-size: 2.5rem;
    text-align: center;
}

.fancybox__container {
    z-index: 1000000000000;
}

.pages-container {
    padding-bottom: 10%;
}

.text-section {}

.text-section h1 {
    font-size: 2.5rem;
}

.text-section .et_pb_text_inner {
    font-size: 16px;
    font-weight: 400;
}

.text-section .btn {
    border: 1px solid #8d8d8d;
    border-radius: 0;
    padding: 8px 43px;
    font-weight: 400;
    font-size: 16px;
    transition: 0.3s;
    display: block;
    width: fit-content;
    margin-top: -13px;
}

.text-section .btn:hover {
    background: #8d8d8d;
    transition: 0.3s;
}

.about-txt-vceter {
	    display: flex;
    align-items: center;
}

.page-intro-bg {
    height: 300px;
    margin-bottom: 5%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end !important;
    padding-bottom: 23px;
    position: relative;
    background-size: cover;
    background-position: center;
}

.page-intro-bg::before {
    display: block;
    content: "";
    background: linear-gradient(90deg, rgb(0 0 0 / 47%) 0%, rgba(255, 255, 255, 0) 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.page-intro-bg .inner {
    width: 90%;
    max-width: 1920px;
    margin: 0 auto;
}

.page-intro-title {
    color: #FFF;
    font-size: 52px;
    z-index: 2;
    position: relative;
}

.container,
.et_pb_row {
    width: 90%;
    overflow: hidden;
}

.whatsapp-btn {
    color: white;
    font-size: 40px;
    padding: 7px 0px;
    text-align: center;
    width: 56px;
    height: 56px;
    border-radius: 100%;
    bottom: 30px;
    right: 40px;
    background-color: #131313 !important;
    position: fixed;
    z-index: 1000;
}

#main-header .et-search-form input {
    font-size: 16px;
    background: #FFF;
    width: 50%;
    height: 45px;
    padding: 10px;
}

#main-header .et_close_search_field {
    color: #FFF;
	
}

.home #page-container {
    padding-top: 0px !Important;
}

.home #main-header {
    background-color: #9a2a2a00;
    box-shadow: none;
}

.home #main-header.et-fixed-header {
    background: #000000e3;
}

.home #main-header #top-menu a,
.home #et_search_icon:before {
    color: #FFF;
    font-weight: 400;
}

#main-header #top-menu a {
    color: #000;
    font-weight: 400;
    position: relative;
}

#main-header #top-menu a:hover {
    opacity: 1;
}

#main-header #top-menu a:hover::after {
    opacity: 1;
    transition: 0.3s;
}

.home #main-header #top-menu a::after {
    background: #FFF;
}

.home #main-header.et-fixed-header #top-menu a::after {
    bottom: 16px;
}

#main-header #top-menu a::after {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background: #3d3d3f;
    position: absolute;
    bottom: 26px;
    opacity: 0;
    transition: 0.3s;
}

#main-header #top-menu li {
    font-size: 16px;
}

#et-top-navigation .et-cart-info {
    display: none;
}

#main-slider,
#main-slider .et_pb_slide {
    height: 100vh;
}

#main-slider .et_pb_slide_description {
    padding: 0;
    width: 50%;
    margin: 0;
}

#main-slider .et_pb_slide_description h2 {
    font-size: 3.2rem;
    line-height: normal;
    margin-bottom: 20px
}

#main-slider .et_pb_slide_description span {
    font-size: 20px;
}

#main-content .container:before {
    display: none;
}

.home .featured-products .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.2rem;
}

.home .featured-products .woocommerce ul.products li.product .et_shop_image {
    border: 1px solid #e5e5e5
}

ul.product-categories-list {
    display: flex;
    align-items: center;
    /* justify-content: space-around; */
    flex-wrap: wrap;
    /* <-- Esto permite el salto de línea */
}

ul.product-categories-list li:hover::before {
    transition: 0.3s;
    background: #0000000f;
}

ul.product-categories-list li:hover .cat-bg {
    transition: 0.3s;
    transform: scale(1.1);
}

ul.product-categories-list li h3 {
    transition: 0.3s;
    text-shadow: 1px 1px 1px #000;
}

ul.product-categories-list li::before {
    display: block;
    content: "";
    background: #00000082;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    transition: 0.3s;
}

ul.product-categories-list li {
    width: calc(25% - 20px);
    aspect-ratio: 1 / 1;
    /* Hace que el alto se iguale al ancho */
    margin: 0 20px 20px 0;
    position: relative;
    overflow: hidden;
}

ul.product-categories-list li .cat-link {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 100%;
}

ul.product-categories-list li:hover .cat-name {
    transition: 0.3s;
    bottom: 40px;
}

ul.product-categories-list li .cat-name {
	text-transform: uppercase;
    text-align: center;
    width: 80%;
    position: absolute;
    left: 10%;
    bottom: 20px;
    z-index: 3;
    transition: 0.3s;
}

ul.product-categories-list li .cat-name h3 {
    color: #FFF;
    font-family: 'Work Sans';
    font-size: 26px;
    line-height: 32px;
    font-weight: 600;
}

ul.product-categories-list li .cat-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: 0.3s;
}

ul.catalogue-list {
    display: flex;
    flex-direction: row;
}

ul.catalogue-list li {
    width: calc(25% - 15px);
    padding: 14px 28px;
    background: #e6e6e6;
    margin-right: 15px;
    transition: 0.3s;
    position: relative;
}

ul.catalogue-list li .link {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}


ul.catalogue-list li:hover {

    background: #c2c1c1;
    transition: 0.3s;
}

ul.catalogue-list li a {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 17px;
}

.custom-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.custom-gallery .gallery-item {
    width: calc(25% - 12px);
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    transition: 0.3s;
    position: relative;
}

.custom-gallery .gallery-item .img-bg {
    /* position: absolute; */
    background-size: cover;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-position: center;
    background-repeat: no-repeat;
}

.custom-gallery .gallery-item:hover img,
.custom-gallery .gallery-item:hover .img-bg {
    opacity: 0.7;
    transition: 0.3s;
}

.custom-gallery .gallery-item h3 {
    font-family: 'Work Sans';
    z-index: 1;
    position: relative;
    padding-top: 20px;
}

#single-news-page {
    padding: 7% 0;
}

#single-news-page .main-img {
    margin: 0 auto 25px;
    display: block;
    max-height: 300px;
    object-fit: contain;
}

#single-news-page h1.main-title {
    font-size: 38px;
    text-align: center;
    margin-bottom: 20px;
}

#single-news-page .content {
    text-align: center;
    font-size: 16px;
}

.news-custom-list {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none !important;
    padding: 0 !important;
}

.news-custom-list li.news-post {
    width: 33%;
    padding: 0 20px;
    position: relative;
}

.news-custom-list li.news-post:hover .inner-bg {
    transform: scale(1.1);
    transition: 0.3s;
}

.news-custom-list li.news-post .news-img {
    width: 100%;
    height: 270px;
    overflow: hidden;
    transition: 0.3s;
    position: relative;
}

.news-custom-list li.news-post .inner-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.3s;
}

.news-custom-list li.news-post h1 {
    padding: 14px 0;
}

.news-custom-list li.news-post .content {
    font-size: 16px;
}

.news-custom-list li.news-post .the-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

#about-page .about-content h1 {
    font-size: 2.5rem;
}

#about-page .about-content h2 {
    font-size: 2rem;
}

#about-page .about-content .et_pb_text_inner {
    font-size: 19px;
    font-weight: 400;
    line-height: 29px;
}

#about-page .grey-blocks h4 {
    font-weight: 500;
    font-family: 'Work Sans', sans-serif;
    font-size: 29px;
    padding-bottom: 20px;
}

#about-page .grey-blocks .et_pb_blurb {
    padding: 23px;
}

#about-page .grey-blocks .et_pb_blurb_description {
    font-size: 16px;
    font-weight: 400;
}

#about-page .grey-blocks .et_pb_blurb .et_pb_main_blurb_image {
    display: block;
    margin: 0px 0 16px 0;
    float: left;
}

#about-page .grey-blocks .et_pb_blurb_container {
    clear: both;
}

#about-page .ideas-section.et_pb_row {
    display: flex;
    align-items: anchor-center;
    width: 80%;
}

#contact-page .col.text {
    width: 33%;
    margin-right: 7%;
}

#contact-page .col.text .info {
    font-size: 18px;
    line-height: 28px;
    font-weight: 400;
    margin-bottom: 30px;
}

#contact-page .col.text .items {
    font-size: 17px;
    font-weight: 400;
}

#contact-page .col.text .items .item {
    margin-bottom: 15px;
}

#contact-page .col.text .items i {
    padding-right: 10px;
}

#contact-page .col.text .items a:hover {
    text-decoration: underline;
}

#contact-page .contact-info .container {
    display: flex;
}

#contact-page .form-col {
    width: calc(50% - 10px);
    float: left;
}

#contact-page .form-col:first-of-type {
    display;
    margin-right: 20px;
}

#contact-page .form-col p {
    padding: 0;
    margin: 0;
}

#contact-page input.text,
#contact-page input.title,
#contact-page input[type=email],
#contact-page input[type=password],
#contact-page input[type=tel],
#contact-page input[type=text],
#contact-page select,
#contact-page textarea {
    border: 1px solid #000;
    font-size: 16px;
    padding: 10px;
    width: 100%;
    margin-bottom: 20px;
}

#contact-page input[type=submit] {
    background: #000000;
    border: 0;
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    padding: 12px 43px;
    cursor: pointer;
}

#sidebar .et_pb_widget {
    margin-bottom: 10px;
}

#sidebar .wp-block-search {
    margin-bottom: 38px;
}

.single-product .woocommerce-breadcrumb {
    font-size: 16px;
    letter-spacing: 1px;
    margin-bottom: 40px;
    padding-top: 5%;
}

.single-product .et_pb_wc_title h1 {
    font-size: 2.5rem;
    padding-top: 5%;
}

.single-product .et_pb_wc_description,
.single-product .product-description-title {
    font-size: 18px;
    font-weight: 400;
}

.archive.tax-product_cat .sub-cat-title {
    font-size: 1.6rem;
    padding: 23px 0;
}

.archive.tax-product_cat .woocommerce-products-header h1 {
    font-size: 2.5rem;
}

#main-footer,
.post-footer {
    background: #f2f2f2;
}

#main-footer .container {
    display: flex;
}

#main-footer .foot-title {
    font-weight: 700;
    font-family: 'Work Sans', sans-serif;
    font-size: 17px;
    padding-bottom: 13px;
}

#main-footer .col {
    width: 33%;
    padding: 38px 0 30px;
}

#main-footer .col-2 .row {
    display: flex;
}

#main-footer .inner-col {
    width: 50%;
}

#main-footer .inner-col a {
    display: block;
    margin-bottom: 5px;
}

#main-footer .d-flex {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

#main-footer .d-flex i {
    margin-right: 10px;
    font-size: 17px;
}

.post-footer .container {
    padding: 10px 0;
    font-size: 16px;
}

.post-footer a {
    float: right;
}

.search-results #left-area {
    display: flex;
    gap: 40px;
}

.search-results #left-area .post-meta {
    display: none !important;
}

.search-results article {
    width: 25%;
}

#main-footer a:hover,
.post-footer a:hover {
    text-decoration: underline;
}


@media (max-width: 980px) {
    header#main-header,
    header#main-header .et_mobile_menu
    {
        position: fixed !important;
    }
    #main-slider .et_pb_slide_description h2 {
    font-size: 2rem;
}
    #main-slider .et_pb_slide_description {
        width: 100%;
    }
    .text-section .btn {
        margin-top: 0;
        margin-bottom: 20px;
    }

    .home .mobile_nav .mobile_menu_bar:before {
        color: #ffffff !important;
    }

    .mobile_menu_bar:before {
        color: #3d3d3f !important;
    }
}

@media (max-width: 768px) {
        #main-slider .et_pb_slide_description h2 {
    font-size: 1.7rem;
}
    ul.product-categories-list li{
    width: calc(50% - 20px);
}
    .news-custom-list li.news-post {
        width: 100%;
        margin-bottom: 40px;
    }
}

@media (max-width: 500px) {
    ul.product-categories-list li{
    width: 100%;
}
    #news-section .container {
        width: 100%;
    }

    .text-section .et_pb_image_1, 
    .text-section .et_pb_text_0 {
        margin-top: 0 !Important;
        padding-top: 0 !Important;
    }

    #main-footer .container {
        flex-direction: column;
    }

#main-footer .col-1 {
    display: none;
}

    #main-footer .col {
        width: 100%;
        padding: 30px 0 0;
    }

  .post-footer a {
    float: left;
    display: block;
    margin-top: 10px;
}
    .post-footer .container {
        padding: 20px 0;
    }
    
    ul.catalogue-list {
    flex-direction: column;
}
    ul.catalogue-list li {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .custom-gallery .gallery-item, .custom-gallery .gallery-item {
    width: calc(50% - 12px);
}
    #contact-page .contact-info .container {
        flex-direction: column;
    }
    #contact-page .col.text {
    width: 100%;
    margin-right: 0;
}
    
    #contact-page .col.form {
            margin-top: 20px;
    }
}