/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/



/*Home Page*/

/*Header Section*/
body.home .header_menu .bricks-nav-menu > li > a,
body.home .header_menu .bricks-nav-menu > li .brx-submenu-toggle a {
    color: #fff ;
}

#menu-main-menu .sub-menu a::after {
    content: none !important;
    display: none !important;
}
.btn-primary-header {
	color: var(--primary-white-color) !important;
}

header.brx-sticky.scrolling .btn-primary-header {
    color: var(--primary-white-color) !important;
    
}
#brx-header.brx-sticky.scrolling .btn-primary-header {
    color: var(--primary-white-color) !important;
}

#menu-main-menu > .bricks-menu-item > a {
    position: relative;
    text-decoration: none;
    display: inline-flex !important;
    width: fit-content !important;
}

#menu-main-menu > .bricks-menu-item > a:not(:has(.btn-primary-header))::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: var(--primary-b-color);
    transition: width .3s ease;
}


#menu-main-menu > .bricks-menu-item:hover > a::after,
#menu-main-menu > .bricks-menu-item.current-menu-item > a::after,
#menu-main-menu > .bricks-menu-item.current-menu-ancestor > a::after {
    width: 100%;
}


body.home .header_menu .menu-item-icon path {
    stroke: #fff;
}
header.brx-sticky.scrolling .header_menu .menu-item-icon path {
 stroke: var(--secundary-color);
}

body.home .header {
background-color: transparent;
}
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 0;
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    background-color: #fff;
}

.btn-primary-header:hover {
    background-color: var(--primary-medium-color);
 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .05);
}

header.brx-sticky.scrolling .btn-primary-header:hover {
transition: color .3s ease;
}

header.brx-sticky.scrolling .btn-primary-header {
    color: var(--secondary-color) !important;
    
}

header.brx-sticky.scrolling  {
    background-color: #fffffffa !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05) !important;
    padding: 0 !important;
    -webkit-backdrop-filter: blur(15px) !important;
    backdrop-filter: blur(15px) !important;
    transition: all 0.3s ease !important; 
}
#brx-header.scrolling #brxe-lcextt {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transition: padding 0.3s ease; 
}

.btn-primary-header {
    padding: 8px 16px;
 background-color: var(--primary-b-color);
 border-radius: 0.25rem;
}


#menu-item-101 .sub-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
}

#menu-item-101:hover .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}


#menu-item-101:hover .brx-submenu-toggle button svg {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}


:where(.brxe-nav-menu) .bricks-nav-menu {
    align-items: center !important;
}

@media (max-width: 485px) { 
    #brxe-jmmjpo > div.brxe-div.logo > a > img {
        transform: none !important;
        -webkit-transform: none !important; 
    }
}
#brxe-jmmjpo > div.brxe-div.logo > a > img {
    height: 90px !important;
    width: auto !important;
    display: block !important;
    transition: height .5s ease !important;

}
#brx-header.scrolling #brxe-jmmjpo > div.brxe-div.logo > a > img {
    height: 70px !important;
transform: scale(1) !important;
transition: transform 0.7s ease;
}
#brxe-lyufti > div.brxe-div.logo > a > img {
    height: 90px !important;
    width: auto !important;
    display: block !important;
    transition: height .5s ease !important;

}
#brx-header.scrolling #brxe-lyufti > div.brxe-div.logo > a > img {
    height: 70px !important;
transform: scale(1) !important;
transition: transform 0.7s ease;
}



.header.scrolled .nav a:not(.btn) {
    color: var(--text-main);
}
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.brx-submenu-toggle.icon-right button {
    font-size: 0.7rem;
    transition: transform 0.3s ease;
    display: inline-block; 
}




.logo a {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
}
.nav-ul {
    display: flex;
    gap: 35px;
    align-items: center;
}

/*End Header Section*/
.image-hero-bg {
width:100%;
	height:100%;
}

.hero-bg {
 position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 35%;
    z-index: 0;
}

.hero-overlay {
 position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #0f0f0fb3, #0f0f0f80);
    z-index: 1;

}
/*Hero Section*/



/*End Section*/

/* Service Section*/
.service-card:hover .service-card-overlay {
    background: linear-gradient(to bottom, #0000, #0003 40%, #000000f2);
}
.service-image-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 1.2s cubic-bezier(.23, 1, .32, 1);
    z-index: 1;
}
.brxe-button.service-card-button-link {
    font-size: .85rem !important;
    font-weight: 700!important;
    letter-spacing: 1px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all .3s ease !important;
    opacity: .85 !important;
justify-content: left;
}

.service-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #0000, #0000001a 40%, #000000d9);
    z-index: 2;
    transition: background .5s ease;
}
.service-card:hover .service-image-bg {
    transform: scale(1.1) !important;
}
.service-card:hover .service-card-content {
    transform: translateY(-5px);
}

.fas.fa-arrow-right-long {
    transition: transform .3s ease;
}
.service-card:hover .fas.fa-arrow-right-long {
    transform: translate(3px);
}

.service-card-content {
    position: relative;
    z-index: 3;
    transition: transform .6s cubic-bezier(.23, 1, .32, 1);
}

/* End Service Section*/


/* Premium Section*/

.premium-section-quality-compact {
    padding: 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.quality-split-container {
    min-height: 500px;
    width: 100%;
}
.quality-content-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.premium-quality-content-wrapper {
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 auto !important;
}

/* .premium-title {
    margin: 0 0 10px;
} */

.premium-subtitle {
    font-size: .95rem;
    color: #ffffffe6;
    margin: 0 0 25px;
    line-height: 1.5;
    font-weight: 300;
}
.quality-image-side {
    width: 100%;
    height: 100%;
}

.quality-full-bleed-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 500px;
}
.differentials-list-split {
  
    gap: 20px 40px;
}
.differential-item-split {
    display: flex;
    gap: 12px;
}
.check-circle {
    width: 20px;
    height: 20px;
    background-color: #C5A880;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .65rem;
    color: #fff;
    flex-shrink: 0;
    margin-top: 3px;
}
.differential-text h4 {
    font-size: .95rem;
    font-weight: 700;
    margin-bottom: 2px;
}
.differential-text p {
    font-size: .8rem ;
    color: #fffc ;
    line-height: 1.3 ;
}

/* End Premium Section*/

/*Process Section*/
.process-steps {
    padding: 120px 0;
    background-color: #fff;
}
.process-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.process-header {
    text-align: center;
    margin-bottom: 80px;
}
.process-header h2 {
    letter-spacing: -1.5px;
}

.process-header p {
    font-size: 1.1rem;
    color: #666;
    max-width: 700px;
  
    font-weight: 300;
}
.steps-grid-border {
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
}
.step-box {
    padding: 60px 40px;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: background-color .3s ease;
}

.step-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}
.step-num {
    font-size: .85rem;
    font-weight: 800;
    color: var(--primary-b-color) !important;
    letter-spacing: 1px;
}
.step-icon-box {
    width: 45px;
    height: 45px;
    background-color: #456bba14;
    color: var(--primary-b-color);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    transition: all .3s ease;
}
.step-content h3 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text-main);
    margin-bottom: 15px;
    line-height: 1.2;
}
.step-content p {
    font-size: .95rem;
    line-height: 1.6;
    color: #555;
    font-weight: 300;
}
.step-box:nth-child(3n) {
    border-right: none;
}
.step-box:nth-child(n+4) {
    border-bottom: none;
}
.step-box:hover {
    background-color: #f9fafb;
}

.step-box:hover .step-icon-box {
    background-color: var(--primary-b-color);
    transform: scale(1.1);
}

.step-box:hover .step-icon-box i, 
.step-box:hover .step-icon-box svg {
    color: #ffffff !important;
    fill: #ffffff !important; /* Por si es un SVG */
}
/*End Process Section*/

/*Gallery Section*/
.gallery-header-centered {
    text-align: center;
    margin-bottom: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.gallery-main-title {
        letter-spacing: -1.5px;
    color: #0d1017;
}
.gallery-main-desc-centered {
    color: #666;
    max-width: 600px;
    line-height: 1.6;
    font-size: 1.1rem;
    font-weight: 300;
}
.gallery-masonry {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 60px;
}
.gallery-item {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    background-color: #eee;
}
.gallery-item-number {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: .7rem;
    font-weight: 700;
    color: #fff;
    background-color: #0000004d;
    padding: 4px 8px;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 2;
    opacity: 0;
    transition: opacity .3s ease;
}

.gallery-item:hover .gallery-item-number {
    opacity: 1;
}
.gallery-image-wrapper {
    position: relative;
    overflow: hidden;
    background-color: #eee;
    height: 450px;
    margin-bottom: 25px;
    transition: transform .6s cubic-bezier(.23, 1, .32, 1);
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.gallery-item-number {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: .7rem;
    font-weight: 700;
    color: #fff;
    background-color: #0000004d;
    padding: 4px 8px;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 2;
    opacity: 0;
    transition: opacity .3s ease;
}
.gallery-item:hover .gallery-image-wrapper {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px #00000014;
}


.gallery-item-info-centered {
    text-align: center;
    padding: 0 10px;
    margin-bottom: 1rem;
}
.gallery-item-category {
    font-size: .75rem;
    font-weight: 600;
    color: var(--primary-b-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
}
.gallery-item-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-main);
    margin: 0;
    letter-spacing: -.5px;
}

.gallery-footer-cta {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
}
.portfolio-main-cta {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 40px !important;
    background-color: var(--primary-b-color) !important;
    color: #fff;
    font-size: .9rem !important;
    font-weight: 700 !important;
    text-decoration: none;
    letter-spacing: 1px;
    transition: all .3s ease;
    border: 1px solid var(--primary-b-color) !important;
 
}

.portfolio-main-cta:hover {
    background-color: var(--primary-b-color-variant) !important;
    color: var(--primary-white-color);
/*     transform: translateY(-3px); */
    box-shadow: 0 10px 30px #0000001a;
}
.portfolio-main-cta:hover .fas.fa-arrow-right-long {
    transform: translate(5px);
}
/*End Gallery Section*/

/*Testimonials Section*/
.testimonials-header {
    text-align: center;
    margin-bottom: 60px;
}
.section-title {
    font-size: 2.2rem;
    font-weight: 300;
    margin-bottom: 2rem;
    text-align: center;
}
.testimonials-rating-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: -10px;
}
.stars-row {
    color: gold;
    font-size: 1.2rem;
    letter-spacing: 2px;
}
.rating-desc {
    font-size: .8rem;
    font-weight: 700;
    color: var(--subheadingtext-color);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.testimonial-card {
    background: #fff;
    padding: 60px 40px 40px;
    border-radius: 16px;
    box-shadow: 0 10px 30px #00000008;
    position: relative;
    transition: all .4s cubic-bezier(.23, 1, .32, 1);
    border: 1px solid rgba(0, 0, 0, .05);
}
.quote-icon {
    font-size: 5rem;
    color: #4a6fff;
    opacity: .1;
    position: absolute;
    top: -10px;
    left: 20px;
    font-family: serif;
    pointer-events: none;
}
.card-stars {
    color: gold;
    font-size: .9rem;
    margin-bottom: 20px;
    letter-spacing: 2px;
}
.testimonial-text {
    position: relative;
    z-index: 1;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-secondary);
    font-style: italic;
    margin-bottom: 30px;
}

.testimonial-author strong {
    display: block;
    color: var(--text-main);
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.testimonial-author span {
    font-size: .85rem;
    color: #4a6fff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
}


/*End Testimonials Section*/
/*  Final CTA Section*/

.final-cta:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50px;
    width: 2px;
    height: 40px;
    background-color: var(--primary-b-color);
    opacity: .3;
}

.cta-watermark {
    position: absolute;
    bottom: -20px;
    left: 5%;
    font-size: 12rem;
    font-weight: 800;
    color: #ffffff08;
    pointer-events: none;
    line-height: 1;
    white-space: nowrap;
    z-index: 0;
}
.cta-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .1;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 30px 30px;
}
.cta-flex {
    gap: 60px;
    text-align: left;
    position: relative;
    z-index: 1;
}

.cta-content-left {
    max-width: 800px;
}
.cta-title-alt {
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1.15;
    margin-bottom: 0;
    letter-spacing: -1.5px;
}
.cta-title-alt strong {
    font-weight: 800;
    color: #fff;
}
.btn-whatsapp-premium {
    position: relative;
    color: var(--text-main);
    padding: 20px 48px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 600;
    font-size: 1.15rem;
    text-transform: none;
    letter-spacing: 0;
    transition: all .4s cubic-bezier(.23, 1, .32, 1);
    box-shadow: 0 15px 35px #00000026;
    background: #fff;
    overflow: hidden;
}

/*End Final CTA Section*/

/*Footer Menu*/
.footer {
    background-color: var(--secundary-color);
    padding: 80px 0 40px;
    color: #fff;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .05);
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}
.footer-col-main {
    max-width: 400px;
}
.footer-logo-alt {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 25px;
    letter-spacing: 1px;
}
.footer-logo-img {
    height: 70px;
    width: auto;
    display: block;
}
.footer-desc-alt {
    color: #ffffff80;
    line-height: 1.8;
    font-size: .95rem;
    margin-bottom: 30px;
}
.social-icons-circular {
    display: flex;
    gap: 15px;
}
.footer-col h4 {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 25px;
    color: #fff;
}

.footer-bottom-alt {
    border-top: 1px solid rgba(255, 255, 255, .05);
    padding-top: 40px;
    text-align: center;
}
.footer-col ul li a {
    color: #ffffff80;
    font-size: .95rem;
    transition: color .3s ease;
}

.contact-list-alt li {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #ffffff80;
    font-size: .95rem;
     margin-bottom: 20px;
}
.social-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: all .3s ease;
}
.footer-bottom-alt {
    border-top: 1px solid rgba(255, 255, 255, .05);
    padding-top: 40px;
    text-align: center;
}
.footer-bottom-alt p {
    color: #ffffff4d;
    font-size: .85rem;
}
.brxe-logo.footer-logo-img > img {
height: 70px;
    width: auto;
    display: block;
}
.footer-col ul li a:hover {
    color: #fff;
}

.btn-whatsapp-premium:hover {
   
    box-shadow: 0 20px 45px #0003;
    background-color: var(--primary-medium-color);
}
.contact-icon {
color: var(--primary-b-color);
}
/*End Footer Menu*/
/*End Home Page*/

/*Quienes Somos Page*/

/*Hero Section*/
.page-hero:after {
    content: "";
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 300px;
    height: 300px;
    background-color: var(--secondary);
    border-radius: 50%;
    opacity: .1;
    z-index: 0;
}
.page-hero:after {
    background-color: #fff;
    opacity: .1;
}

.page-hero-title {
    font-weight: 700;
    color: var(--primary-white-color);
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}


.page-hero-subtitle {
    font-size: 1.2rem;
    color: #fffc;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    line-height: 1.6;
}

/*End Hero Section*/


/*Timeline Section*/

.about-timeline-section {
    padding: 20px 0 100px;
    background-color: var(--primary-b-color);
}
.timeline-container {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 0;
}
.timeline-item-left {
    padding: 60px 0;
    position: relative;
    width: 100%;
}
.timeline-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.timeline-image {
    width: calc(50% - 60px);
    height: 450px;
    border-radius: 12px;
    box-shadow: 0 20px 40px #0000001a;
    overflow: hidden;
    flex-shrink: 0;
}
.timeline-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}
.timeline-text {
    width: calc(50% - 60px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.timeline-year {
    font-size: 2.5rem;
    font-weight: 800;
    color: #fff;
    display: block;
    margin-bottom: 15px;
}
.timeline-text h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: #fff;
}
.timeline-text p {
    color: #fffc;
    line-height: 1.8;
    font-size: 1.1rem;
    margin: 0;
}
.timeline-item-left:after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 50%;
    transform: translate(-50%);
    background-color: #fff;
    border: 4px solid var(--primary-b-color);
    top: 50%;
    border-radius: 50%;
    z-index: 2;
}
.timeline-item-right {
    left: 0;
}
.timeline-item-right {
    padding: 60px 0;
    position: relative;
    width: 100%;
}
.timeline-item-right .timeline-content {
    flex-direction: row-reverse;
}
.timeline-item-right:after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 50%;
    transform: translate(-50%);
    background-color: #fff;
    border: 4px solid var(--primary-b-color);
    top: 50%;
    border-radius: 50%;
    z-index: 2;
}
.timeline-item-right:after {
    left: 50%;
}
.timeline-container:after {
    content: "";
    position: absolute;
    width: 2px;
    background-color: #fff3;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -1px;
}

/*Values Section*/

.section-header-values {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}
.values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
}
.value-card {
    background: #fff;
    padding: 40px 30px;
    border-right: 1px solid #e5e7eb;
    text-align: center;
}
.value-icon {
    width: 55px;
    height: 55px;
    background-color: #456bba14;
    color: var(--primary-b-color);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0 auto 20px;
    transition: all .3s ease;
}
.value-card h3 {
    font-size: 1.2rem;
    margin-bottom: 12px;
    color: #333;
}
.value-card p {
    font-size: .93rem;
    color: var(--paragraph-light-color);
    line-height: 1.6;
}

.value-card:hover {
    background-color: #f9fafb;
}
.value-card:hover .value-icon {
    background-color: var(--primary-b-color);
    color: #fff;
}

/*Factory Showroom Section*/
.factory-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.factory-image-block {
    position: relative;
}
.image-stack {
    position: relative;
    padding-bottom: 40px;
}
.img-main {
    width: 90%;
    border-radius: 12px;
    box-shadow: 0 20px 40px #0000001a;
}
.img-sub {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    border-radius: 8px;
    border: 8px solid #fff;
    box-shadow: 0 10px 30px #00000026;
}
.factory-text-block p {
    font-size: 1.1rem;
    color: var(--paragraph-light-color);
    line-height: 1.8;
    margin-bottom: 20px;
}
.factory-feats {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 35px;
}
.feat-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background-color: var(--color-b-light);
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, .05);
    transition: all .3s ease;
}
.feat-item span {
    font-weight: 600;
    font-size: .95rem;
    color: #333;
}

/*Contact Page*/
/*Contact Section*/
.contact-main-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 160px;
}
.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.contact-card {
    background: #fff;
    padding: 40px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 4px 20px #00000008;
    transition: transform .3s ease;
    border: 1px solid var(--grey-light);
}
.card-icon {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--primary-b-color);
}
.contact-card p {
    font-size: .95rem;
    color: var(--grey-muted-s);
    margin-bottom: 20px;
    line-height: 1.5;
}
.card-link {
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-b-color);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.contact-form-container {
    background: #fff;
    padding: 60px;
    border-radius: 24px;
    border: 1px solid var(--grey-light);
    box-shadow: 0 30px 60px #0000000a;
}
.contact-value-block {
    padding-top: 20px;
}
.contact-card:hover {
    transform: translateY(-8px);
}

.value-badge {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--primary-b-color);
    display: block;
    margin-bottom: 15px;
}
.value-title {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 25px;
    color: #000;
    letter-spacing: -1.5px;
}
.value-text {
    font-size: 1.15rem;
    color: var(--paragraph-light-color);
    line-height: 1.7;
    margin-bottom: 40px;
}
.value-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.value-list li {
    font-size: 1rem;
    color: var(--paragraph-light-color);
    padding-left: 30px;
    position: relative;
}
.value-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 15px;
    height: 1px;
    background-color: var(--primary-b-color);
}
.value-image-preview {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid var(--grey-light);
    color: var(--grey-muted-s);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/*FAQ Section*/
.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}
.faq-item h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #000;
}
.faq-item p {
    color: var(--grey-muted-s);
    line-height: 1.7;
    font-size: 1rem;
}

/*Projects Page*/
/*Project filter section*/

.projects-filter-header {
    text-align: center;
    margin-bottom: 40px;
}
.projects-filter-header h2 {
    color: var(--primary-b-color);
    
}
.projects-filter-header p {
    color: var(--paragraph-light-color);
    font-size: 1.1rem;
}

.filter-bar {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}


.filter-btn {
    padding: 8px 20px !important;
    border-radius: 4px !important;
    border: 1px solid var(--grey-light) !important;
    background: var(--color-b-light) !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    color: var(--grey-muted-s) !important;
    cursor: pointer;
    transition: all .3s ease !important;
}

/* Estado ACTIVO - Corregido para que coincida con el JS y gane a los !important */
.filter-btn.active-filter {
    background-color: var(--secundary-color) !important;
    color: #fff !important;
    border-color: var(--secundary-color) !important;
}
/*Project Full Gallery*/
.projects-full-gallery-section {
    width: 100%;
    padding: 0 20px;
/*     margin-bottom: 120px; */
}

.masonry-item-full {
   
    margin-bottom: 15px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f7f9ff;
    position: relative;
    cursor: pointer;
}

.masonry-image-wrapper-full {
    position: relative;
    width: 100%;
}
.masonry-image-wrapper-full img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 1.2s cubic-bezier(.2, 0, .2, 1);
}
.masonry-overlay-full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #000000d9, #0000 60%);
    opacity: 0;
    transition: opacity .4s ease;
    display: flex;
    align-items: flex-end;
    padding: 25px;
}
.masonry-info-full {
    color: #fff;
    transform: translateY(15px);
    transition: transform .5s cubic-bezier(.2, 0, .2, 1);
}
.masonry-category-full {
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--primary-b-color);
    margin-bottom: 6px;
    display: block;
}
.masonry-title-full {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}
.masonry-item-full:hover img {
    transform: scale(1.05);
}
.masonry-item-full:hover .masonry-overlay-full {
    opacity: 1;
}
.masonry-item-full:hover .masonry-info-full {
    transform: translateY(0);
}

/*Project FAQ Section*/
.project-faq-header {
    text-align: center;
/*     margin-bottom: 60px; */
}
.project-faq-badge {
    font-size: .75rem;
    font-weight: 700;
    color: var(--primary-b-color);
    letter-spacing: 2px;
    display: block;
    margin-bottom: 15px;
}

.project-faq-header h2 {
  
    font-weight: 700;
    letter-spacing: -1px;
}
.project-faq-header {
 margin-bottom:40px;
}
.project-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 1000px;
    margin: 0 auto;
}
.project-faq-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #0d1017;
}
.project-faq-card p {
    font-size: 1rem;
    color: var(--grey-muted);
    line-height: 1.6;
}

/*How We Work Page*/
/*BeforeAfter Section*/

.before-after-section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}
.before-after-desc {
    max-width: 600px;
    margin: 0 auto 40px;
    color: var(--paragraph-light-color);
    font-size: 1.1rem;
}
.before-after-container {
    max-width: 1000px;
    margin: 0 auto;
}
.before-after-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #222;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 40px 80px #0003;
}
.before-after-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}
.before-after-label {
    position: absolute;
    top: 20px;
    padding: 8px 16px;
    background: #0009;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    color: #fff;
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: 1px;
    border-radius: 4px;
    z-index: 5;
}
.before-after-label.before {
    left: 20px;
}
.before-after-label.after {
    right: 20px;
}
.ba-slider {
    position: absolute;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    margin: 0;
    z-index: 10;
    cursor: ew-resize;
}
.ba-slider-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background: #fff;
    z-index: 8;
    pointer-events: none;
}
.ba-slider-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: #fff;
    color: var(--primary-b-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px #0000004d;
    font-size: 1.2rem;
}

/*IntegralProcess Section*/
.integralprocess-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}
.integralprocess-expanded-steps {
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.exp-step-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.exp-step-left {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.exp-step-image {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 50px #0000001a;
}
.exp-step-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.exp-step-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
.exp-step-content p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #555;
    font-weight: 300;
}
.exp-step-num {
    font-size: 2.5rem;
    font-weight: 800;
    color: #456bba1f;
    line-height: 1;
}
.exp-step-icon {
    width: 50px;
    height: 50px;
    background-color: #456bba14;
    color: var(--primary-b-color);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    transition: all .3s ease;
}

/*Kitchen Page*/
/*Kitchen Hero Section*/
.kitchen-section-hero {
    background-color: var(--color-b-light);
    padding: 180px 0 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.kitchen-hero-title {

    font-weight: 700;
    color: var(--primary-b-color);
    position: relative;
    z-index: 1;
}
.kitchen-hero-subtitle {
    font-size: 1.2rem;
    color: var(--paragraph-light-color);
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    line-height: 1.6;
}
.kitchen-section-hero:after {
    content: "";
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 300px;
    height: 300px;
    background-color: var(--secondary-color-b);
    border-radius: 50%;
    opacity: .1;
    z-index: 0;
}
/*Kitchen Intro Section*/
.kitchen-intro-grid {
    gap: 80px;
    align-items: center;
}
.kitchen-intro-image-container img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 30px 60px #0000001a;
}
.kitchen-intro-content p {
    font-size: 0.8rem;
    color: #555;
    margin-bottom: 40px;
    line-height: 1.8;
}
.kitchen-features-mini-grid {

    gap: 30px;
}
.kitchen-mini-feature {
    display: flex;
    gap: 15px;
}
.kitchen-mini-feature h4 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 5px;
    color: #000;
}
.kitchen-mini-feature p {
    font-size: .85rem;
    line-height: 1.4;
    margin-bottom: 0;
    color: #555;
}

/*Kitchen Gallery Section*/
.kitchen-gallery-header {
    text-align: center;
    max-width: 700px;
 
}
.kitchen-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 300px;
    gap: 20px;
    margin-top: 50px;
}
.kitchen-gallery-item.large {
    grid-row: span 2;
    grid-column: span 2;
	border-radius: 8px;
    overflow: hidden;
}
.kitchen-gallery-item {
border-radius: 8px;
    overflow: hidden;
}

.kitchen-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.kitchen-gallery-item:hover img {
    transform: scale(1.05);
}

/*Placares Page*/
/*Placares Gallery Section*/
.placares-header-section {
    text-align: center;
    max-width: 700px;
 
}
.placares-gallery-grid {

    grid-auto-rows: 300px;
    gap: 20px;
    margin-top: 50px;
}
.placares-gallery-item.large {
grid-row: span 2;
    grid-column: span 2;

}
.placares-gallery-item {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    background-color: #eee;
}
.placares-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.placares-gallery-item:hover img {
    
transform: scale(1.05);
}
.form-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 40px;
    color: #000;
}