/* SAFETY Site Assets FINAL — versão consolidada
   O cabeçalho/contatos é controlado pelo Elementor. O plugin não altera sua grade. */

/* Identidade e imagens */
.safety-v3-img{display:block;max-width:100%;height:auto}
.safety-header-logo{width:100%;max-width:190px;max-height:70px;object-fit:contain;object-position:left center}
.safety-footer-logo{width:min(220px,100%);height:auto;margin:0 0 14px}
.safety-about-photo{width:100%;height:auto;border-radius:2px;box-shadow:20px 20px 0 #FF8A00;object-fit:cover}


/* Fundo lateral do Hero em telas largas.
   O banner continua limitado a 1200px; esta faixa preenche somente as laterais
   com um azul próximo ao próprio banner. */
.safety-hero-backdrop{
  width:100%;
  background:#101747;
}

/* Hero — mantém a janela visual aprovada sem esticar em monitores grandes */
.safety-hero-v3{
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  background-color:#080E34!important;
  background-image:linear-gradient(120deg,rgba(8,14,52,.95),rgba(21,18,71,.78) 50%,rgba(44,56,237,.58)),url('https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?auto=format&fit=crop&w=2000&q=85')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  min-height:560px!important;
  padding-top:60px!important;
  padding-bottom:60px!important;
}
.safety-hero-v3:after{
  content:"";
  position:absolute;
  width:680px;
  height:260px;
  border-radius:50%;
  background:rgba(255,138,0,.17);
  filter:blur(90px);
  right:-180px;
  top:-40px;
  pointer-events:none;
}
.safety-hero-v3>.elementor-container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 40px),1040px)!important;
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (min-width:1200px){
  .safety-hero-v3{
    width:1200px!important;
    max-width:1200px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    min-height:560px!important;
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  .safety-hero-v3>.elementor-container{
    width:min(calc(100% - 64px),1080px)!important;
    max-width:1080px!important;
  }
}

/* Serviços */
.safety-service-row,
.safety-service-row>.elementor-container,
.safety-service-row>.elementor-container>.elementor-row{background:transparent!important}
.safety-service-card{background:transparent!important}
.safety-service-card>.elementor-widget-wrap,
.safety-service-card>.elementor-column-wrap>.elementor-widget-wrap{
  background:#fff!important;
  border-top:7px solid #FF8A00!important;
  box-shadow:0 18px 50px rgba(0,0,0,.18)!important;
  min-height:390px!important;
  padding:34px 28px 30px!important;
  display:flex!important;
  flex-direction:column!important;
}
.safety-service-card .elementor-widget-button{margin-top:auto!important}
.safety-service-card .elementor-button{
  background:#2C38ED!important;
  color:#fff!important;
  border:none!important;
  border-radius:2px!important;
  font-weight:800!important;
}

/* Saúde ocupacional */
.safety-v3-health-photo{
  min-height:610px;
  width:100%;
  position:relative;
  background-image:linear-gradient(180deg,rgba(8,14,52,.04),rgba(8,14,52,.18)),url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1400&q=85');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
}
.safety-v3-health-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(8,14,52,.65))}
.safety-v3-health-badge{position:absolute;left:24px;bottom:22px;z-index:2;background:#FF8A00;color:#fff;padding:9px 13px;font:800 .75rem/1 Montserrat,Arial,sans-serif;letter-spacing:.08em}

/* Perícias */
.safety-pericia-row,
.safety-pericia-row>.elementor-container,
.safety-pericia-row>.elementor-container>.elementor-row{background:transparent!important}
.safety-pericia-card{background:transparent!important}
.safety-pericia-card>.elementor-widget-wrap,
.safety-pericia-card>.elementor-column-wrap>.elementor-widget-wrap{
  background:#fff!important;
  border:1px solid #DFE2EE!important;
  box-shadow:0 12px 34px rgba(8,14,52,.07)!important;
  min-height:190px!important;
  padding:28px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.safety-pericia-card h3{margin-bottom:12px!important}

/* Carrossel de empresas */
.safety-v3-carousel{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;margin-top:28px}
.safety-v3-carousel-viewport{overflow:hidden;width:100%;scroll-snap-type:x mandatory;scrollbar-width:none}
.safety-v3-carousel-viewport::-webkit-scrollbar{display:none}
.safety-v3-carousel-track{display:flex;gap:18px;will-change:scroll-position}
.safety-v3-client-card{flex:0 0 calc((100% - 72px)/5);height:122px;background:#fff;border:1px solid #E5E7F0;display:flex;align-items:center;justify-content:center;padding:18px;box-shadow:0 8px 24px rgba(8,14,52,.06);scroll-snap-align:start}
.safety-v3-client-card img{max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain}
.safety-v3-arrow{width:42px;height:42px;border:0!important;border-radius:50%!important;background:#FF8A00!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer;box-shadow:0 6px 18px rgba(8,14,52,.18)}
.safety-v3-arrow:hover{filter:brightness(1.05)}
.safety-v3-arrow:focus-visible{outline:3px solid rgba(44,56,237,.28);outline-offset:3px}

/* Formulário */
.safety-v3-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:26px;border-radius:8px}
.safety-v3-field{display:flex;flex-direction:column;gap:7px}
.safety-v3-field label{color:#fff;font:800 .76rem/1.2 Montserrat,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.safety-v3-field input,.safety-v3-field select,.safety-v3-field textarea{width:100%!important;box-sizing:border-box!important;border:1px solid #D8DCED!important;border-radius:7px!important;background:#fff!important;color:#15172A!important;padding:14px 15px!important;font:400 15px/1.4 Montserrat,Arial,sans-serif!important;outline:none!important}
.safety-v3-field input:focus,.safety-v3-field select:focus,.safety-v3-field textarea:focus{border-color:#FF8A00!important;box-shadow:0 0 0 3px rgba(255,138,0,.18)!important}
.safety-v3-field textarea{min-height:135px!important;resize:vertical}
.safety-v3-full,.safety-v3-submit{grid-column:1/-1}
button.safety-v3-submit,.safety-v3-contact-form .safety-v3-submit{appearance:none!important;-webkit-appearance:none!important;min-height:52px!important;border:2px solid #FF8A00!important;border-radius:3px!important;background:#FF8A00!important;color:#fff!important;font:800 .82rem/1 Montserrat,Arial,sans-serif!important;letter-spacing:.06em!important;cursor:pointer!important;box-shadow:none!important;text-shadow:none!important;text-transform:uppercase!important}
button.safety-v3-submit:hover,.safety-v3-contact-form .safety-v3-submit:hover{background:#e97d00!important;border-color:#e97d00!important;color:#fff!important}
button.safety-v3-submit:focus-visible{outline:3px solid rgba(255,138,0,.28);outline-offset:3px}

/* Redes sociais — A SAFETY */
.safety-social-about-bottom{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:42px!important;margin-top:8px!important}
.safety-socials{display:flex;align-items:center;gap:12px;padding-bottom:2px;white-space:nowrap}
.safety-social-link{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #2C38ED;border-radius:10px;color:#2C38ED!important;background:#fff;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.safety-social-link svg{width:23px;height:23px;display:block;fill:currentColor}
.safety-social-link:hover,.safety-social-link:focus-visible{color:#fff!important;background:#FF8A00!important;border-color:#FF8A00!important;transform:translateY(-2px);outline:none}
.safety-social-link:focus-visible{box-shadow:0 0 0 4px rgba(255,138,0,.2)}

@media (max-width:1024px){
  .safety-header-logo{max-width:180px;max-height:68px}
  .safety-v3-client-card{flex-basis:calc((100% - 36px)/3)}
  .safety-v3-health-photo{min-height:470px}
  .safety-service-card>.elementor-widget-wrap,
  .safety-service-card>.elementor-column-wrap>.elementor-widget-wrap{min-height:360px!important}
}

@media (max-width:767px){
  .safety-header-logo{max-width:170px;max-height:64px}
  .safety-hero-v3{min-height:520px!important;padding-top:48px!important;padding-bottom:48px!important}
  .safety-hero-v3>.elementor-container{width:min(calc(100% - 28px),540px)!important;max-width:540px!important}
  .safety-about-photo{box-shadow:10px 10px 0 #FF8A00}
  .safety-v3-health-photo{min-height:360px}
  .safety-v3-client-card{flex-basis:100%;height:110px}
  .safety-v3-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px}
  .safety-v3-arrow{width:36px!important;height:36px!important}
  .safety-v3-contact-form{grid-template-columns:1fr}
  .safety-v3-full,.safety-v3-submit{grid-column:auto}
  .safety-service-card>.elementor-widget-wrap,
  .safety-service-card>.elementor-column-wrap>.elementor-widget-wrap{min-height:0!important}
  .safety-pericia-card>.elementor-widget-wrap,
  .safety-pericia-card>.elementor-column-wrap>.elementor-widget-wrap{min-height:0!important}
  .safety-social-about-bottom{grid-template-columns:1fr!important;gap:20px!important}
  .safety-socials{justify-content:flex-start;padding-top:2px}
}

@media (prefers-reduced-motion:reduce){
  .safety-social-link{transition:none}
  .safety-social-link:hover,.safety-social-link:focus-visible{transform:none}
}
