/* Penta Laser overrides on top of main.css */

/* logo: the Penta Laser mark is wider than the template's */
.site-logo .logo {
  max-width: 200px;
}
.hamburger_logo .mobile_logo {
  max-width: 170px;
}
@media (max-width: 575px) {
  .site-logo .logo {
    max-width: 160px;
  }
}

/* footer contact column (replaces the newsletter form) */
.footer-newsletter-form .penta-footer-text {
  margin: 20px 0 30px;
  color: var(--tj-color-common-white-2);
}
.copyright-content-area .penta-footer-logo {
  display: inline-block;
  max-width: 170px;
  margin-inline-end: 24px;
}
.copyright-content-area .copyright-text {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 0;
}

/* footer-2: quatro colunas iguais, sem a divisória vertical do template */
.footer-2 .footer-widget.footer2-col-1,
.footer-2 .footer-widget.footer2-col-2,
.footer-2 .footer-widget.footer2-col-4 {
  padding-inline: 0;
}
.footer-2 .footer-widget.footer2-col-1 {
  padding-inline-end: 30px;
}
.footer-copyright-area-2 .copyright-2 {
  padding-inline-start: 0;
  border-top: 1px solid var(--tj-color-border-1);
}
@media (max-width: 991px) {
  .footer-2 .footer-widget.footer2-col-1 {
    padding-inline-end: 0;
  }
}

/* "230+" and other wider numbers than the template's "3K+" */
.funfact-item-one .number,
.counter-item .number {
  white-space: nowrap;
}

/* machine pictures are transparent PNGs, so show them whole on a light panel */
.penta-machine-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
  margin: -10px -10px 30px;
  padding: 16px;
  background: #eef1f5;
  overflow: hidden;
}
.penta-machine-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.4s ease;
}
.service-style-2:hover .penta-machine-thumb img {
  transform: scale(1.04);
}
.service-style-2 .penta-machine-specs {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.service-style-2 .penta-machine-specs li {
  display: flex;
  gap: 8px;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 6px;
}
.service-style-2 .penta-machine-specs li strong {
  white-space: nowrap;
}

/* project slider on the home page uses machine pictures */
.project-item .project-image.penta-machine-slide a {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 442 / 552;
  padding: 30px 20px 140px;
  background: #eef1f5;
}
.project-item .project-image.penta-machine-slide a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* machine detail page */
.tj-post-thumb.penta-machine-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: #eef1f5;
}
.tj-post-thumb.penta-machine-hero img {
  max-height: 440px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.penta-spec-table {
  width: 100%;
  margin: 10px 0 30px;
  border-collapse: collapse;
}
.penta-spec-table th,
.penta-spec-table td {
  padding: 14px 18px;
  border: 1px solid var(--tj-color-border-2);
  vertical-align: top;
  text-align: start;
}
.penta-spec-table th {
  width: 34%;
  font-weight: 600;
  color: var(--tj-color-heading-primary);
}
.penta-optional {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  margin: 10px 0 30px;
  border: 1px solid var(--tj-color-border-2);
}
.penta-optional img {
  width: 96px;
  height: 96px;
  object-fit: contain;
  flex-shrink: 0;
}
.penta-optional h5 {
  margin-bottom: 6px;
}
.penta-optional p {
  margin: 0;
}

/* hero da página de máquinas: texto à esquerda, máquina em destaque num painel claro à direita */
.penta-page-hero {
  /* padding-bottom: 110px; */
}
.penta-page-hero::before {
  background: linear-gradient(90deg, rgba(5, 18, 41, 0.92) 0%, rgba(5, 18, 41, 0.78) 55%, rgba(5, 18, 41, 0.55) 100%);
}
.penta-page-hero .tj-page-title {
  font-size: clamp(32px, 3.6vw, 54px);
  line-height: 1.2;
  max-width: 680px;
}
.penta-page-hero-desc {
  max-width: 620px;
  margin: 20px 0 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--tj-color-common-white-2);
}
.penta-page-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 36px;
  list-style: none;
  padding: 28px 0 0;
  margin: 32px 0 0;
  border-top: 1px solid rgba(247, 247, 247, 0.15);
}
.penta-page-hero-stats li {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.penta-page-hero-stats strong {
  font-family: var(--tj-ff-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--tj-color-common-white);
}
.penta-page-hero-stats span {
  font-size: 14px;
  color: var(--tj-color-common-white-2);
}
.penta-page-hero-card {
  display: block;
  position: relative;
  padding: 30px 24px 84px;
  border-radius: 16px;
  background: #eef1f5;
  overflow: hidden;
}
.penta-page-hero-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1280 / 562;
  object-fit: contain;
  transition: transform 0.4s ease;
}
.penta-page-hero-card:hover img {
  transform: scale(1.04);
}
.penta-page-hero-card-label {
  position: absolute;
  inset-inline: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--tj-color-common-white);
  font-size: 14px;
  color: var(--tj-color-text-body);
}
.penta-page-hero-card-label strong {
  display: block;
  font-size: 16px;
  color: var(--tj-color-heading-primary);
}
.penta-page-hero-card-label i {
  color: var(--tj-color-theme-primary);
  transition: transform 0.3s ease;
}
.penta-page-hero-card:hover .penta-page-hero-card-label i {
  transform: translateX(4px);
}
@media (max-width: 991px) {
  .penta-page-hero {
    padding-bottom: 80px;
  }
  .penta-page-hero-card {
    max-width: 560px;
  }
}
@media (max-width: 767px) {
  .penta-page-hero .tj-page-header-content {
    text-align: center;
  }
  .penta-page-hero .tj-page-title,
  .penta-page-hero-desc,
  .penta-page-hero-card {
    margin-inline: auto;
  }
  .penta-page-hero-stats {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .penta-page-hero-desc {
    font-size: 16px;
  }
  .penta-page-hero-stats {
    gap: 16px 24px;
  }
  .penta-page-hero-stats strong {
    font-size: 19px;
  }
}

/* hero de cada produto: a foto principal (PNG transparente) à direita, sobre um brilho no fundo escuro */
.penta-product-hero {
  background-image: radial-gradient(ellipse 42% 62% at 72% 64%, #3f5884 0%, #16264a 55%, rgba(5, 18, 41, 0) 100%);
}
.penta-product-hero::before {
  background: linear-gradient(90deg, rgba(5, 18, 41, 0.6) 0%, rgba(5, 18, 41, 0.15) 45%, rgba(5, 18, 41, 0) 70%);
}
.penta-product-hero .container {
  position: relative;
  z-index: 1;
}
.penta-product-hero .tj-page-header-content {
  text-align: start !important;
  max-width: 44%;
}
.penta-product-hero-image {
  position: absolute;
  inset-inline-end: 4%;
  bottom: 4%;
  width: auto;
  height: 76%;
  max-width: 54%;
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
}
@media (max-width: 991px) {
  .penta-product-hero {
    padding-bottom: 330px;
    background-image: radial-gradient(ellipse 60% 38% at 50% 80%, #3f5884 0%, #16264a 55%, rgba(5, 18, 41, 0) 100%);
  }
  .penta-product-hero::before {
    background: none;
  }
  .penta-product-hero .tj-page-header-content {
    text-align: center !important;
    max-width: none;
  }
  .penta-product-hero-image {
    inset-inline: 0;
    bottom: 24px;
    width: min(92%, 620px);
    height: 300px;
    max-width: none;
    margin-inline: auto;
    object-position: center bottom;
  }
}
@media (max-width: 575px) {
  .penta-product-hero {
    padding-bottom: 250px;
  }
  .penta-product-hero-image {
    height: 220px;
  }
}

/* blog / post flow lines such as "Corte → preparação → chanfro → soldagem" */
.penta-flow {
  display: inline-block;
  padding: 12px 20px;
  margin: 0 0 20px;
  font-weight: 600;
  background: #eef1f5;
}

/* hero shows a landscape machine picture instead of the template's portrait photo */
@media (min-width: 992px) {
  .tj-hero-section .hero-wrapper {
    align-items: center;
  }
}

/* ---------- home (modelo "Home 2" do template) ---------- */

/* fotos da Penta são paisagem; os espaços do template são retrato ou têm proporção fixa */
.penta-about-image > img {
  width: 100%;
  aspect-ratio: 399 / 532;
  object-fit: cover;
}
.penta-about-image .about-author .signature img {
  max-width: 56px;
}
.funfact-item-two .funfact-box .number {
  white-space: nowrap;
  font-size: clamp(56px, 6vw, 90px);
}
.penta-progress-image img {
  width: 100%;
  max-width: 600px;
}
.penta-support-list {
  margin: 10px 0 35px;
}
.project-style-2 .project-images img {
  width: 100%;
  aspect-ratio: 573 / 524;
  object-fit: cover;
}
.penta-testimonial-image > img {
  width: 100%;
  aspect-ratio: 550 / 630;
  object-fit: cover;
}
.blog-style-2 .blog-images img {
  width: 100%;
  aspect-ratio: 630 / 405;
  object-fit: cover;
}
.penta-author-logo img {
  object-fit: contain;
  background: #fff;
  padding: 10px;
}
.slider-feature-box .slider-logo img {
  max-width: 80px;
}

/* CTA da sidebar: símbolo da Penta no lugar do ícone do template (55px) */
.tj-sidebar-cta .icon img {
  width: 72px;
}

/* slider de soluções: ícones menores e cards da mesma altura, com o link sempre no rodapé */
.tj-service-slider .swiper-slide {
  height: auto;
}
.tj-service-slider .service-style-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}
.tj-service-slider .service-style-2 .service-icon {
  width: 80px;
  height: 80px;
  font-size: 50px;
  margin-bottom: 40px;
}
.tj-service-slider .service-style-2 .service-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-grow: 1;
  width: 100%;
}
.tj-service-slider .service-style-2 .service-content .desc {
  flex-grow: 1;
}
/* fundo do hover: foto do produto (PNG transparente) sobre um degradê escuro com brilho */
.service-style-2 .thumb.penta-thumb-product {
  background: radial-gradient(circle at 60% 28%, #4a638f 0%, #1a2a47 38%, var(--tj-color-theme-dark) 75%);
}
.service-style-2 .thumb.penta-thumb-product img {
  object-fit: contain;
  object-position: center 22%;
  padding: 10px 14px;
  opacity: 0.9;
}
.service-style-2 .thumb.penta-thumb-product::before {
  background: linear-gradient(180deg, rgba(5, 18, 41, 0) 0%, rgba(5, 18, 41, 0.2) 35%, rgba(5, 18, 41, 0.85) 75%, rgba(5, 18, 41, 0.95) 100%);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .tj-service-slider .service-style-2 .service-icon {
    width: 70px;
    height: 70px;
    font-size: 44px;
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .tj-service-slider .service-style-2 .service-icon {
    width: 64px;
    height: 64px;
    font-size: 40px;
    margin-bottom: 25px;
  }
}

/* hero único da home: sem o swiper, os textos não dependem do slide ativo para aparecer */
.penta-hero .slider-title,
.penta-hero .slider-button {
  animation: penta-hero-in 1s ease-out both;
}
.penta-hero .slider-button {
  animation-delay: 0.3s;
}
@keyframes penta-hero-in {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 767px) {
  .penta-hero .slider-content {
    margin-inline: auto;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .penta-hero .slider-title {
    font-size: 45px;
  }
}

/* botões: o azul do hover cobre o botão inteiro, inclusive a borda (padding) externa */
.tj-primary-btn {
  --penta-btn-pad: 5.5px;
}
.tj-primary-btn.header_btn {
  --penta-btn-pad: 4.5px;
}
@media (max-width: 575px) {
  .tj-primary-btn {
    --penta-btn-pad: 4.5px;
  }
}
.tj-primary-btn:hover .btn_inner::before {
  top: calc(var(--penta-btn-pad) * -1);
  inset-inline-start: calc(var(--penta-btn-pad) * -1);
  width: calc(100% + 2 * var(--penta-btn-pad));
  height: calc(100% + 2 * var(--penta-btn-pad));
}

/* contato: ícones menores dentro dos mesmos quadrados, sem o "balanço" no hover */
.contact-item.style-2 .contact-icon i {
  font-size: 24px;
}
@media only screen and (min-width: 576px) and (max-width: 991px) {
  .contact-item.style-2 .contact-icon i {
    font-size: 20px;
  }
}
.contact-item.style-2:hover .contact-icon i {
  -webkit-animation: none;
          animation: none;
}
/* contato: os quatro quadrados sempre do mesmo tamanho, inclusive entre linhas (grid com linhas iguais) */
.tj-contact-area .row:has(> [class*="col-"] > .contact-item.style-2) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
}
.tj-contact-area .row > [class*="col-"]:has(> .contact-item.style-2) {
  display: flex;
  width: 100%;
}
@media (max-width: 1199px) {
  .tj-contact-area .row:has(> [class*="col-"] > .contact-item.style-2) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .tj-contact-area .row:has(> [class*="col-"] > .contact-item.style-2) {
    grid-template-columns: 1fr;
  }
}
.tj-contact-area .contact-item.style-2 {
  width: 100%;
  height: 100%;
}
.tj-contact-area .contact-item.style-2 a,
.tj-contact-area .contact-item.style-2 p {
  overflow-wrap: anywhere;
}

/* sobre: ícones menores nos diferenciais e quadrados sempre da mesma altura */
.tj-feature-section .row > [class*="col-"] {
  display: flex;
}
.tj-feature-section .feature-item {
  width: 100%;
  height: 100%;
}
.tj-feature-section .feature-item .feature-icon {
  max-width: 52px;
  margin-bottom: 25px;
}
.tj-feature-section .feature-item .feature-icon svg {
  display: block;
  width: 100%;
  height: auto;
}

/* sobre: título curto acima do título da equipe técnica (mesmo estilo do sub-title das seções) */
.skill-wrapper .sub-title {
  display: inline-block;
  position: relative;
  font-size: 14px;
  font-weight: var(--tj-fw-bold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tj-color-common-white);
  padding-inline: 16px;
  margin-bottom: 15px;
}
.skill-wrapper .sub-title::before,
.skill-wrapper .sub-title::after {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  top: 50%;
  inset-inline-start: 0;
  transform: translateY(-50%);
  background-color: var(--tj-color-theme-primary);
}
.skill-wrapper .sub-title::after {
  inset-inline-start: auto;
  inset-inline-end: 0;
}

/* sobre: overlay escuro sobre a foto da seção da equipe técnica */
.tj-skill-section {
  position: relative;
  z-index: 1;
}
.tj-skill-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(17, 17, 17, 0.35) 0%, rgba(17, 17, 17, 0.7) 100%);
  z-index: -1;
}
