.elementor-1791 .elementor-element.elementor-element-5581a2e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1791 .elementor-element.elementor-element-5581a2e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1791 .elementor-element.elementor-element-99b592e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1791{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-1791 .elementor-element.elementor-element-5581a2e{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-5581a2e */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

.opo-footer{
  position:relative;
  width:100vw !important;
  max-width:100vw !important;
  left:50%;
  right:50%;
  margin-left:-50vw !important;
  margin-right:-50vw !important;

  background:linear-gradient(180deg,#06152b 0%,#071b35 100%);
  color:#fff;
  font-family:'Poppins', sans-serif;
  padding:36px 20px 0 !important;
  overflow:hidden;
}

.opo-footer *{
  box-sizing:border-box;
  font-family:'Poppins', sans-serif;
}

.opo-footer-container{
  max-width:1320px;
  width:100%;
  margin:0 auto;
}

.opo-footer-main{
  display:grid;
  grid-template-columns:330px 1.2fr 1.1fr .8fr 150px;
  gap:44px;
  align-items:flex-start;
  padding-bottom:32px;
}

.opo-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  padding-left:30px;
}

.opo-footer-logo{
  width:130px;
  height:auto;
  display:block;
  margin:0 0 16px 0 !important;
}

.opo-footer-brand p{
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.55;
  margin:0;
  text-align:left;
  max-width:330px;
  padding-left:0 !important;
}

.opo-footer h3{
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
  margin:8px 0 22px;
  text-transform:uppercase;
}

.opo-footer-nav,
.opo-footer-contactos,
.opo-footer-social{
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:38px;
}

.opo-footer-menu{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
}

.opo-footer ul{
  list-style:none;
  padding:0;
  margin:0;
}

.opo-footer li{
  margin-bottom:12px;
}

.opo-footer a,
.opo-footer span{
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-size:14px;
  font-weight:400;
}

.opo-footer a:hover{
  color:#d6a11c;
}

.opo-footer-contactos li{
  display:flex;
  align-items:center;
  gap:12px;
}

.opo-footer-contactos i{
  color:#d6a11c;
  font-size:15px;
  width:17px;
}

.opo-social-icons{
  display:flex;
  align-items:center;
  gap:8px;
}

.opo-social-icons a{
  width:31px;
  height:31px;
  border:1px solid #d6a11c;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:15px;
}

.opo-social-icons a:hover{
  background:#d6a11c;
  color:#06152b;
}

.opo-footer-review{
  display:flex;
  justify-content:flex-end;
  padding-top:28px;
}

.opo-google-card{
  width:108px;
  height:72px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:8px;
  text-align:center;
  padding:10px 8px;
  color:#fff;
}

.opo-google-card span{
  display:block;
  font-size:8px;
  font-weight:700;
  color:#fff;
  margin-bottom:3px;
}

.opo-google-card strong{
  display:block;
  font-size:21px;
  line-height:1.1;
  font-weight:500;
}

.opo-google-card div{
  color:#d6a11c;
  font-size:12px;
  letter-spacing:1px;
  margin-top:3px;
}

.opo-footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.opo-footer-bottom p{
  color:rgba(255,255,255,.62);
  font-size:13px;
  margin:0;
}

.opo-footer-bottom div{
  display:flex;
  gap:34px;
}

.opo-footer-bottom a{
  color:inherit;
  font-size:13px;
  text-decoration:none;
  font-weight:inherit;
  transition:color .2s ease, opacity .2s ease;
}

.opo-footer-bottom a:hover{
  color:#d6a11c;
}

body{
  overflow-x:hidden;
}

@media(max-width:1024px){

  .opo-footer-main{
    grid-template-columns:1fr 1fr;
    gap:34px;
  }

  .opo-footer-nav,
  .opo-footer-contactos,
  .opo-footer-social{
    border-left:none;
    padding-left:0;
  }

  .opo-footer-review{
    justify-content:flex-start;
    padding-top:0;
  }
}

@media(min-width:768px){

  .opo-footer-brand p{
    margin-left:0 !important;
    padding-left:0 !important;
    text-align:left !important;
    max-width:260px !important;
  }

}

@media(max-width:767px){

  .opo-footer{
    padding:40px 24px 90px !important;
  }

  .opo-footer-container{
    max-width:100%;
    width:100%;
  }

  .opo-footer-main{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .opo-footer-brand{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .opo-footer-logo{
    width:145px !important;
    margin:0 0 18px -6px !important;
    display:block !important;
  }

  .opo-footer-brand p{
    max-width:340px !important;
    font-size:15px !important;
    line-height:1.6 !important;
    margin:0 !important;
    padding-left:0 !important;
    text-align:left !important;
  }

  .opo-footer-nav,
  .opo-footer-contactos,
  .opo-footer-social{
    border-left:none !important;
    padding-left:0 !important;
  }

  .opo-footer h3{
    font-size:18px !important;
    margin:0 0 18px !important;
  }

  .opo-footer-menu{
    grid-template-columns:1fr 1fr !important;
    gap:18px 44px !important;
  }

  .opo-footer li{
    margin-bottom:14px !important;
  }

  .opo-footer a,
  .opo-footer span{
    font-size:16px !important;
  }

  .opo-footer-contactos li{
    gap:14px !important;
    margin-bottom:16px !important;
  }

  .opo-footer-contactos i{
    font-size:18px !important;
    width:22px !important;
  }

  .opo-social-icons{
    gap:12px !important;
  }

  .opo-social-icons a{
    width:46px !important;
    height:46px !important;
    font-size:20px !important;
    border-radius:10px !important;
  }

  .opo-footer-review{
    justify-content:flex-start !important;
    padding-top:10px !important;
  }

  .opo-google-card{
    width:150px !important;
    height:auto !important;
    padding:14px !important;
  }

  .opo-google-card span{
    font-size:10px !important;
  }

  .opo-google-card strong{
    font-size:26px !important;
  }

  .opo-google-card div{
    font-size:15px !important;
  }

  .opo-footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:16px !important;
    padding:22px 0 !important;
    margin-top:28px !important;
  }

  .opo-footer-bottom p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .opo-footer-bottom div{
    flex-direction:column !important;
    gap:12px !important;
  }

  .opo-footer-bottom a{
    font-size:14px !important;
  }
}

@media(max-width:767px){

  .opo-footer-brand{
    padding-left:0 !important;
  }

}

/* Ajuste desktop: logo/texto e Google Review */
@media(min-width:1025px){

  .opo-footer-main{
    grid-template-columns:300px 1.2fr 1.1fr .8fr 170px !important;
    gap:36px !important;
  }

  .opo-footer-brand{
    padding-left:42px !important;
  }

  .opo-footer-logo{
    margin-left:0px !important;
    margin-bottom:20px !important;
  }

  .opo-footer-brand p{
    max-width:280px !important;
    margin-left:0 !important;
    padding-left:0 !important;
  }

  .opo-footer-review{
    justify-content:flex-start !important;
    padding-left:18px !important;
    padding-top:18px !important;
  }

}

/*Ligação*/
.opo-footer-phone{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.opo-footer-phone i{
  color:#d6a11c;
}

.opo-footer-phone span{
  color:rgba(255,255,255,.82);
}

.opo-footer-phone:hover span{
  color:#d6a11c;
}/* End custom CSS */