.elementor-23303 .elementor-element.elementor-element-4537cbf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-6e761b0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:3%;--padding-bottom:7%;--padding-left:1%;--padding-right:1%;}.elementor-23303 .elementor-element.elementor-element-cd4ad99{--display:flex;--min-height:331px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;}.elementor-23303 .elementor-element.elementor-element-cd4ad99:not(.elementor-motion-effects-element-type-background), .elementor-23303 .elementor-element.elementor-element-cd4ad99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://vivacemento.com/wp-content/uploads/2026/07/Implementing-microcement-in-a-villa.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-23303 .elementor-element.elementor-element-4d2bbe7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-1490d27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-5148f59{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-f8ddbe7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-32cb1ec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0%;--padding-bottom:8%;--padding-left:0%;--padding-right:0%;}.elementor-23303 .elementor-element.elementor-element-10ba86b{--wd-brd-radius:5px;}.elementor-23303 .elementor-element.elementor-element-62d7c1a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-23303 .elementor-element.elementor-element-9febda5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-23303 .elementor-element.elementor-element-4537cbf{--width:100%;}.elementor-23303 .elementor-element.elementor-element-6e761b0{--width:94%;}.elementor-23303 .elementor-element.elementor-element-4d2bbe7{--width:94%;}.elementor-23303 .elementor-element.elementor-element-1490d27{--width:94%;}.elementor-23303 .elementor-element.elementor-element-5148f59{--width:94%;}.elementor-23303 .elementor-element.elementor-element-32cb1ec{--width:94%;}.elementor-23303 .elementor-element.elementor-element-62d7c1a{--width:94%;}}@media(min-width:1025px){.elementor-23303 .elementor-element.elementor-element-cd4ad99:not(.elementor-motion-effects-element-type-background), .elementor-23303 .elementor-element.elementor-element-cd4ad99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:767px){.elementor-23303 .elementor-element.elementor-element-cd4ad99:not(.elementor-motion-effects-element-type-background), .elementor-23303 .elementor-element.elementor-element-cd4ad99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://vivacemento.com/wp-content/uploads/2026/07/Implementing-microcement-in-a-villa-with-Vivasmento-1.webp");background-position:center center;}.elementor-23303 .elementor-element.elementor-element-10ba86b > .elementor-widget-container{padding:9px 9px 9px 9px;}}/* Start custom CSS for html, class: .elementor-element-d6be1f6 */.vc-project-hero{

padding:55px 32px;

background:#fff;

}

.vc-project-wrapper{

display:flex;

align-items:center;

gap:70px;

width:100%;

}

.vc-project-image{

flex:0 0 38%;

}

.vc-project-image img{

width:100%;

height:620px;

object-fit:cover;

display:block;

border-radius:10px;

border:1px solid #ececec;

box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.vc-project-content{

flex:1;

}

.vc-label{

display:inline-block;

padding:8px 16px;

background:#f8f8f8;

color:#bb1e28;

border-radius:40px;

font-size:13px;

font-weight:700;

margin-bottom:18px;

}

.vc-project-content h1{

font-size:35px;

line-height:1.35;

margin:0;

color:#0a0a0a;

font-weight:700;

}

.vc-project-content p{

margin:28px 0;

font-size:17px;

line-height:2;

color:#49494a;

max-width:720px;

}

.vc-info{

display:flex;

gap:18px;

margin-bottom:35px;

flex-wrap:wrap;

}

.vc-info div{

padding-left:22px;

border-left:2px solid #ececec;

}

.vc-info div:last-child{

border:none;

padding-left:0;

}

.vc-info small{

display:block;

font-size:13px;

color:#888;

margin-bottom:6px;

}

.vc-info strong{

font-size:16px;

color:#0a0a0a;

}

.vc-buttons{

display:flex;

gap:14px;

flex-wrap:wrap;

}

.btn-main,
.btn-second{

padding:13px 24px;

border-radius:10px;

text-decoration:none;

font-size:15px;

font-weight:700;

transition:.25s;

}

.btn-main{

background:#bb1e28;

color:#fff;

}

.btn-main:hover{

background:#981821;

color:#fff;

}

.btn-second{

background:#0a0a0a;

color:#fff;

}

.btn-second:hover{

background:#343434;

color:#fff;

}

@media(max-width:991px){

.vc-project-wrapper{

flex-direction:column;

gap:35px;

}

.vc-project-image{

width:100%;

}

.vc-project-image img{

height:auto;

max-height:650px;

}

.vc-project-content{

width:100%;

}

.vc-project-content h1{

font-size:32px;

}

.vc-info{

flex-direction:column;

gap:15px;

}

.vc-info div{

border:none;

padding:0;

}

}

@media(max-width:576px){

.vc-project-hero{

padding:40px 18px;

}

.vc-project-content h1{

font-size:28px;

}

.vc-project-content p{

font-size:15px;

}

.vc-buttons{

flex-direction:column;

}

.btn-main,
.btn-second{

text-align:center;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ec9b9da */.vc-project-specs{

padding:70px 70px;

background:#fff;

}

.vc-specs-title{

text-align:center;

max-width:720px;

margin:0 auto 45px;

}

.vc-specs-title span{

display:inline-block;

padding:7px 18px;

background:#f5f5f5;

border-radius:50px;

font-size:13px;

font-weight:600;

color:#bb1e28;

margin-bottom:16px;

}

.vc-specs-title h2{

font-size:32px;

margin:0 0 15px;

font-weight:700;

color:#0a0a0a;

}

.vc-specs-title p{

margin:0;

font-size:16px;

line-height:2;

color:#666;

}

.vc-specs-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

}

.spec-item{

background:#fafafa;

border:1px solid #ececec;

border-radius:16px;

padding:22px;

transition:.3s;

}

.spec-item:hover{

border-color:#bb1e28;

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.spec-item .label{

display:block;

font-size:13px;

font-weight:600;

color:#888;

margin-bottom:10px;

}

.spec-item strong{

display:block;

font-size:18px;

font-weight:700;

color:#0a0a0a;

line-height:1.7;

}

@media(max-width:992px){

.vc-specs-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.vc-project-specs{

padding:50px 18px;

}

.vc-specs-grid{

grid-template-columns:1fr;

}

.vc-specs-title h2{

font-size:28px;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-093b3ef */.vc-case-study{

padding:90px 30px;

background:#fff;

}

.vc-case-container{

display:grid;

grid-template-columns:2fr 1fr;

gap:40px;

align-items:start;

max-width:1400px;

margin:auto;

}

.vc-case-label{

display:inline-block;

padding:7px 18px;

background:#f4f4f4;

border-radius:40px;

font-size:13px;

font-weight:700;

color:#bb1e28;

margin-bottom:18px;

}

.vc-case-content h2{

margin:0 0 20px;

font-size:32px;

font-weight:700;

color:#0a0a0a;

}

.vc-case-content p{

font-size:16px;

line-height:2.1;

color:#555;

margin-bottom:18px;

}

.vc-case-box{

background:#fafafa;

border:1px solid #ececec;

border-radius:18px;

padding:30px;

position:sticky;

top:30px;

}

.vc-case-box h3{

margin:0 0 22px;

font-size:22px;

font-weight:800;

color:#0a0a0a;

}

.vc-case-box ul{

padding:0;

margin:0;

list-style:none;

}

.vc-case-box li{

position:relative;

padding-right:28px;

margin-bottom:18px;

line-height:1.9;

color:#444;

font-size:15px;

}

.vc-case-box li:before{

content:"✓";

position:absolute;

right:0;

top:0;

font-weight:700;

color:#bb1e28;

}

@media(max-width:991px){

.vc-case-container{

grid-template-columns:1fr;

}

.vc-case-box{

position:relative;

top:auto;

}

}

@media(max-width:576px){

.vc-case-study{

padding:50px 18px;

}

.vc-case-content h2{

font-size:28px;

}

.vc-case-content p{

font-size:15px;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9945e0b */.vc-process{
    padding:80px 0;
}

.vc-process-header{
    text-align:center;
    max-width:850px;
    margin:0 auto 60px;
}

.vc-process-header span{
    display:inline-block;
    font-size:13px;
    letter-spacing:2px;
    color:#bb1e28;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:12px;
}

.vc-process-header h2{
    font-size:32px;
    margin-bottom:20px;
    color:#222;
}

.vc-process-header p{
    font-size:17px;
    color:#666;
    line-height:2;
}

.vc-process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.vc-step{
    background:#fff;
    border:1px solid #bb1e28;
    border-radius:18px;
    padding:35px 25px;
    text-align:center;
    transition:.3s;
    position:relative;
}

.vc-step:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.vc-step-number{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#bb1e28;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    font-size:22px;
    font-weight:700;
}

.vc-step h3{
    font-size:22px;
    margin-bottom:15px;
    color:#222;
}

.vc-step p{
    color:#666;
    line-height:1.9;
    font-size:15px;
}

@media(max-width:1024px){

.vc-process-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.vc-process-grid{
grid-template-columns:1fr;
}

.vc-process-header h2{
font-size:30px;
}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a3b0b5b *//* ===============================
   BEFORE AFTER
================================ */

.vc-before-after{
    padding:40px 20px;
}

.vc-ba-title{
    max-width:850px;
    margin:0 auto 40px;
    text-align:center;
}

.vc-ba-title span{
    display:inline-block;
    color:#bb1e28;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:12px;
}

.vc-ba-title h2{
    font-size:32px;
    margin-bottom:18px;
    color:#222;
}

.vc-ba-title p{
    color:#666;
    line-height:2;
    font-size:16px;
}

/*========================*/

.vc-ba-wrapper{

display:flex;
justify-content:center;
align-items:center;
gap:35px;

direction:ltr;

}

/*========================*/

.vc-ba-item{

flex:1;
max-width:520px;

direction:rtl;

background:#fff;

border-radius:22px;

overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

border:1px solid #eee;

}

.vc-ba-item:hover{

transform:translateY(-8px);

}

/*========================*/

.vc-ba-item.after-card{

border:3px solid #bb1e28;

box-shadow:0 25px 60px rgba(187,30,40,.18);

}

/*========================*/

.vc-ba-image{

position:relative;
overflow:hidden;

}

.vc-ba-image img{

width:100%;
height:480px;
object-fit:cover;

display:block;

transition:.45s;

}

.vc-ba-item:hover img{

transform:scale(1.05);

}

/*========================*/

.vc-ba-badge{

position:absolute;

top:20px;
left:20px;

padding:10px 20px;

border-radius:40px;

font-size:12px;

font-weight:700;

letter-spacing:1px;

color:#fff;

}

.before{

background:#444;

}

.after{

background:#bb1e28;

}

/*========================*/

.vc-ba-item h3{

font-size:25px;

margin:28px 20px 12px;

text-align:center;

color:#222;

}

.vc-ba-item p{

padding:0 25px 28px;

text-align:center;

color:#666;

line-height:1.9;

}

/*========================*/

.vc-ba-arrow{

width:90px;

display:flex;
justify-content:center;
align-items:center;

flex-shrink:0;

}

.vc-ba-arrow svg{

width:72px;
height:72px;

stroke:#bb1e28;

animation:arrowMove 2s infinite;

}

@keyframes arrowMove{

0%{

transform:translateX(0);

}

50%{

transform:translateX(10px);

}

100%{

transform:translateX(0);

}

}

/*========================*/

@media(max-width:991px){

.vc-before-after{

padding:70px 20px;

}

.vc-ba-title h2{

font-size:34px;

}

.vc-ba-wrapper{

flex-direction:column;

}

.vc-ba-arrow{

transform:rotate(90deg);

margin:15px 0;

}

.vc-ba-image img{

height:360px;

}

}

/*========================*/

@media(max-width:767px){

.vc-before-after{

padding:60px 15px;

}

.vc-ba-title{

margin-bottom:40px;

}

.vc-ba-title h2{

font-size:28px;

}

.vc-ba-title p{

font-size:15px;

}

.vc-ba-image img{

height:250px;

}

.vc-ba-item h3{

font-size:20px;

}

.vc-ba-item p{

font-size:14px;

padding:0 18px 22px;

}

.vc-ba-badge{

font-size:11px;
padding:7px 14px;

}

.vc-ba-arrow svg{

width:55px;
height:55px;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b1d1f1d */.vc-gallery{

padding:20px 5px;

background:#fff;

}

.vc-section-title{

text-align:center;

max-width:720px;

margin:0 auto 3px;

}

.vc-section-title span{

display:inline-block;

padding:7px 18px;

background:#f5f5f5;

border-radius:50px;

font-size:13px;

font-weight:700;

color:#bb1e28;

margin-bottom:16px;

}

.vc-section-title h2{

margin:0 0 15px;

font-size:32px;

font-weight:700;

color:#0a0a0a;

}

.vc-section-title p{

margin:0;

font-size:16px;

line-height:2;

color:#666;

}



.vc-gallery-grid{

grid-template-columns:1fr;

}

.gallery-item img{

height:auto;

}

.vc-section-title h2{

font-size:28px;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84d5af7 */.vc-product-showcase{

padding:50px 0;

background:#fff;

}

.vc-container{

width:100% !important;

max-width:1300px !important;

margin:0 auto !important;

padding-inline:17px !important;

box-sizing:border-box;

}

.vc-product-grid{

display:grid;

grid-template-columns:420px 1fr;

gap:70px;

align-items:center;

}

.vc-product-image img{

width:100%;

display:block;

border-radius:18px;

box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.vc-badge{

display:inline-block;

padding:7px 16px;

border-radius:40px;

background:#f5f5f5;

color:#bb1e28;

font-size:13px;

font-weight:700;

margin-bottom:18px;

}

.vc-product-content h2{

font-size:25px;

line-height:1.5;

margin-bottom:22px;

color:#0a0a0a;

font-weight:700;

}

.vc-product-content p{

font-size:16px;

line-height:2.15;

color:#555;

margin-bottom:28px;

}

.vc-product-content ul{

margin:0;

padding:0;

list-style:none;

display:grid;

grid-template-columns:repeat(2,minmax(200px,1fr));

gap:14px 26px;

margin-bottom:35px;

}

.vc-product-content ul li{

position:relative;

padding-right:26px;

font-size:15px;

color:#444;

line-height:1.9;

}

.vc-product-content ul li:before{

content:"✓";

position:absolute;

right:0;

top:0;

color:#bb1e28;

font-weight:700;

}

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 30px;

background:#bb1e28;

color:#fff;

border-radius:10px;

font-weight:700;

text-decoration:none;

transition:.3s;

}

.btn-primary:hover{

background:#971821;

color:#f1f1f1;

}

@media(max-width:992px){

.vc-product-grid{

grid-template-columns:1fr;

gap:40px;

}

.vc-product-image{

max-width:420px;

margin:auto;

}

}

@media(max-width:768px){

.vc-product-showcase{

padding:60px 0;

}

.vc-product-content h2{

font-size:30px;

}

.vc-product-content ul{

grid-template-columns:1fr;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8057004 */.vc-contact-section{

position:relative;

padding:60px 0;

overflow:hidden;

background:#fff;

}

.vc-contact-bg{

position:absolute;

width:420px;

height:420px;

border-radius:50%;

filter:blur(110px);

opacity:.08;

pointer-events:none;

}

.bg-one{

background:#bb1e28;

top:-120px;

left:-120px;

}

.bg-two{

background:#0a0a0a;

bottom:-160px;

right:-160px;

}

.vc-contact-box{

position:relative;

max-width:900px;

margin:auto;

text-align:center;

padding:55px 45px;

border:1px solid #ededed;

border-radius:22px;

background:#fff;

box-shadow:0 15px 45px rgba(0,0,0,.05);

}

.vc-contact-subtitle{

display:inline-block;

padding:8px 18px;

border-radius:30px;

background:#f7f7f7;

color:#bb1e28;

font-size:13px;

font-weight:600;

margin-bottom:18px;

}

.vc-contact-box h2{

margin:0 0 22px;

font-size:32px;

font-weight:700;

color:#0a0a0a;

line-height:1.5;

}

.vc-contact-box p{

max-width:700px;

margin:0 auto 40px;

font-size:16px;

line-height:2.1;

color:#555;

}

.vc-contact-items{

display:flex;

justify-content:center;

gap:35px;

flex-wrap:wrap;

}

.vc-contact-item{

display:flex;

align-items:center;

gap:18px;

padding:22px 28px;

border:1px solid #ececec;

border-radius:16px;

min-width:290px;

transition:.35s;

background:#fff;

}

.vc-contact-item:hover{

transform:translateY(-4px);

box-shadow:0 12px 35px rgba(0,0,0,.06);

}

.vc-contact-item .icon{

width:58px;

height:58px;

border-radius:50%;

background:#bb1e28;

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

color:#fff;

flex-shrink:0;

}

.vc-contact-item small{

display:block;

font-size:13px;

color:#888;

margin-bottom:6px;

text-align:right;

}

.vc-contact-item a{

font-size:20px;

font-weight:700;

text-decoration:none;

color:#0a0a0a;

}

.vc-contact-item a:hover{

color:#bb1e28;

}

@media(max-width:768px){

.vc-contact-section{

padding:60px 0;

}

.vc-contact-box{

padding:35px 22px;

}

.vc-contact-box h2{

font-size:30px;

}

.vc-contact-item{

min-width:100%;

justify-content:flex-start;

}

}/* End custom CSS */