/* Johnson Restauro 1.2 - melhorias visuais após verificação real no dev.johnson.pt.
   Aplicado depois dos CSS originais para não alterar a instalação nem os plugins novos. */

/* Redes sociais: os ícones antigos não devem depender de fontes do Elementor Pro. */
.jr-original-header .elementor-social-icon,
.jr-original-footer .elementor-social-icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  padding:0!important;border:0!important;border-radius:5px!important;
  background:#f8c81c!important;color:#011633!important;
  box-shadow:none!important;line-height:1!important;text-decoration:none!important;
}
.jr-original-header .elementor-social-icon .jr-social-glyph,
.jr-original-footer .elementor-social-icon .jr-social-glyph{
  display:block!important;font-family:Arial,Helvetica,sans-serif!important;font-size:19px!important;
  font-weight:800!important;color:#011633!important;line-height:1!important;text-shadow:none!important;
}
.jr-original-header .elementor-social-icon-linkedin .jr-social-glyph,
.jr-original-footer .elementor-social-icon-linkedin .jr-social-glyph{font-size:15px!important}
.jr-original-header .elementor-social-icon:hover,
.jr-original-footer .elementor-social-icon:hover{background:#e4b50e!important;filter:none}
.jr-original-header .elementor-element-779e373 a{color:#fff!important}
.jr-original-header .elementor-element-779e373 i:before{color:#f8c81c!important}

/* Galeria de logótipos de clientes: layout simples, sem plugin Swiper antigo.
   A imagem Space-Inverters não está no conjunto recuperado e foi removida no HTML. */
.jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel-wrapper{
  width:100%!important;max-width:1220px!important;margin:0 auto!important;overflow:visible!important;
}
.jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px!important;align-items:center!important;justify-items:center!important;
  transform:none!important;width:100%!important;height:auto!important;
}
.jr-page-inicio .elementor-element-10fec55 .swiper-slide{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:78px!important;max-width:none!important;min-width:0!important;
  margin:0!important;flex:none!important;transform:none!important;
}
.jr-page-inicio .elementor-element-10fec55 .swiper-slide-inner,
.jr-page-inicio .elementor-element-10fec55 figure{width:100%!important;margin:0!important;text-align:center}
.jr-page-inicio .elementor-element-10fec55 .swiper-slide img{
  display:block!important;margin:auto!important;width:auto!important;max-width:100%!important;
  max-height:65px!important;height:auto!important;min-height:0!important;
  object-fit:contain!important;opacity:1!important;background:transparent!important;
  aspect-ratio:auto!important;box-shadow:none!important;
}
.jr-page-inicio .elementor-element-7f2216c{padding:45px 20px 50px!important}

/* Portfólio: utilizar fotografias efetivamente recuperadas em vez de cartões genéricos. */
.jr-page-inicio .jr-portfolio-card-visual{
  background-size:cover!important;background-position:center center!important;
  filter:saturate(.96);transition:transform .35s ease,filter .35s ease!important;
}
.jr-page-inicio .jr-portfolio-card:hover .jr-portfolio-card-visual{transform:scale(1.045);filter:saturate(1.1)}
.jr-page-inicio .jr-portfolio-card .jr-portfolio-card-name{
  z-index:2!important;position:absolute;font-family:Montserrat,Arial,sans-serif;
  color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.5);font-size:20px!important;
}
.jr-page-inicio .jr-portfolio-card .jr-portfolio-card-arrow{z-index:2;color:#fff!important}
.jr-page-inicio .jr-portfolio-card:nth-child(1) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/04/IMG_4933_1_-1024x768.webp')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(2) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/07/Epic-Sana-1024x760.png')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(3) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/07/brindes-e-fardamento-1024x773.jpg')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(4) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2024/01/Maresia_Neon.jpeg')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(5) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/02/IMG_0892-1024x768.webp')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(6) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/02/IMG_0956-1024x768.webp')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(7) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2022/07/IMG_20200124_153423-1024x768.jpg')!important;
}
.jr-page-inicio .jr-portfolio-card:nth-child(8) .jr-portfolio-card-visual{
  background-image:linear-gradient(0deg,rgba(1,22,51,.8),rgba(1,22,51,.03) 75%),url('/wp-content/uploads/2023/11/IMG_4618-scaled.jpg')!important;
}

/* Quem Somos: a medalha de anos é ancorada à fotografia, nunca ao texto. */
.jr-page-inicio .elementor-element-46cb2f81 > .elementor-container{
  display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  max-width:1220px!important;gap:20px!important;
}
.jr-page-inicio .elementor-element-46cb2f81 > .elementor-container > .elementor-column:first-child{
  position:relative!important;flex:0 0 calc(47% - 10px)!important;width:calc(47% - 10px)!important;min-width:0;
}
.jr-page-inicio .elementor-element-46cb2f81 > .elementor-container > .elementor-column:last-child{
  position:relative!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-32a7849f img{
  display:block!important;width:100%!important;height:auto!important;object-fit:cover!important;
  max-height:560px;min-height:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134{
  position:absolute!important;left:auto!important;right:8px!important;top:auto!important;
  bottom:22px!important;z-index:3!important;width:164px!important;max-width:42%!important;
  transform:none!important;margin:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .elementskit-funfact{
  width:100%!important;background:#f8c81c!important;border:0!important;
  padding:16px 8px!important;box-shadow:0 8px 22px rgba(1,22,51,.16)!important;
  border-radius:24px 0 24px 0!important;text-align:center!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .elementskit-funfact-inner{
  padding:0!important;display:block!important;min-height:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .funfact-icon{display:none!important}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .number-percentage-wraper{
  font-size:30px!important;font-family:Montserrat,Arial,sans-serif!important;font-weight:800!important;
  line-height:1.1!important;color:#011633!important;margin:0 0 6px!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .number-percentage{
  font-size:30px!important;font-weight:800!important;color:#011633!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134 .funfact-title{
  font-size:14px!important;line-height:1.25!important;font-weight:600!important;color:#011633!important;
  margin:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-element-f6179e8{
  text-align:left!important;font-size:16px!important;line-height:1.7!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-widget-elementskit-icon-box{margin:0 0 15px!important}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-widget-elementskit-icon-box .elementskit-infobox{
  display:block!important;min-height:0!important;padding:0 0 7px!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-widget-elementskit-icon-box .elementskit-box-header{
  display:none!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementor-widget-elementskit-icon-box .box-body{
  padding:0!important;margin:0!important;display:block!important;width:100%!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementskit-info-box-title{
  margin:0 0 7px!important;font-size:20px!important;line-height:1.35!important;
}
.jr-page-inicio .elementor-element-46cb2f81 .elementskit-infobox .box-body p{
  margin:0 0 8px!important;line-height:1.6!important;font-size:15px!important;
}

/* Orçamento: remover imagens ornamentais dispersas do plugin original, manter formulário funcional. */
.jr-page-inicio section#orcamento{
  padding:70px 20px 85px!important;background:#f3f5fc!important;
}
.jr-page-inicio section#orcamento > .elementor-container{max-width:900px!important}
.jr-page-inicio section#orcamento .elementor-widget-image.elementor-absolute{display:none!important}
.jr-page-inicio section#orcamento .elementor-element-e13c8d3{text-align:center!important;margin:0 auto 15px!important}
.jr-page-inicio section#orcamento .elementor-element-e13c8d3 .elementor-heading-title{
  max-width:810px!important;margin:0 auto 16px!important;font-size:clamp(27px,3.2vw,38px)!important;
}
.jr-page-inicio section#orcamento .jr-form-slot{padding:0!important;max-width:820px!important;margin:0 auto!important}
.jr-page-inicio section#orcamento .jr-contact-form{margin:0 auto!important;max-width:820px!important}

/* Rodapé: suavizar a transição e reduzir espaços excessivos. */
.jr-original-footer .elementor-element-5122bfca{
  margin-bottom:0!important;padding:30px 20px 0!important;z-index:1!important;
}
.jr-original-footer .elementor-element-36433e3{
  background:#011633!important;padding-top:30px!important;
}
.jr-original-footer .elementor-element-2210e1ce{
  padding-top:38px!important;padding-bottom:48px!important;
}
.jr-original-footer .elementor-element-10251ee4>.elementor-widget-wrap{
  padding:26px 34px!important;
}

@media(max-width:1024px){
  .jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{grid-template-columns:repeat(4,minmax(0,1fr))}
  .jr-page-inicio .elementor-element-46cb2f81 > .elementor-container{gap:12px!important}
  .jr-page-inicio .elementor-element-46cb2f81 > .elementor-container > .elementor-column:first-child{flex:0 0 45%!important;width:45%!important}
}
@media(max-width:780px){
  .jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jr-page-inicio .elementor-element-46cb2f81 > .elementor-container{flex-direction:column!important;gap:22px!important}
  .jr-page-inicio .elementor-element-46cb2f81 > .elementor-container > .elementor-column:first-child,
  .jr-page-inicio .elementor-element-46cb2f81 > .elementor-container > .elementor-column:last-child{
    width:100%!important;flex:0 0 auto!important;
  }
  .jr-page-inicio .elementor-element-46cb2f81 .elementor-element-7c5fe134{
    width:132px!important;right:10px!important;bottom:10px!important;
  }
}
@media(max-width:520px){
  .jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jr-page-inicio .elementor-element-7f2216c{padding:35px 12px!important}
  .jr-page-inicio .jr-portfolio-card{height:205px}
  .jr-original-footer .elementor-element-10251ee4>.elementor-widget-wrap{padding:22px!important}
}

/* Ajuste final: manter o carrossel original numa linha, com deslocacao automatica suave. */
.jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel-wrapper{overflow:hidden!important}
.jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{
 display:flex!important;grid-template-columns:none!important;gap:0!important;
 width:100%!important;align-items:center!important;transition:transform .7s ease!important;
}
.jr-page-inicio .elementor-element-10fec55 .swiper-slide{
 flex:0 0 16.666667%!important;width:16.666667%!important;padding:0 12px!important;
}
@media(max-width:1024px){.jr-page-inicio .elementor-element-10fec55 .swiper-slide{flex-basis:25%!important;width:25%!important}}
@media(max-width:780px){.jr-page-inicio .elementor-element-10fec55 .swiper-slide{flex-basis:33.3333%!important;width:33.3333%!important}}
@media(max-width:520px){.jr-page-inicio .elementor-element-10fec55 .swiper-slide{flex-basis:50%!important;width:50%!important}}
@media(prefers-reduced-motion:reduce){.jr-page-inicio .elementor-element-10fec55 .elementor-image-carousel{transition:none!important}}
