/**
 * Performance + mobile UX — área pública (web layout)
 * Carregado apenas em layouts/inc/head.blade.php
 */

/* Imagens responsivas e sem overflow horizontal */
img {
  max-width: 100%;
  height: auto;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

/* Tap targets e formulários no mobile */
@media (max-width: 767px) {
  .theme-btn,
  .theme-btn.btn-style-one,
  .theme-btn.btn-style-two,
  .theme-btn.btn-style-three,
  .theme-btn.btn-style-six,
  button.theme-btn {
    min-height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .job-search-form .form-group input,
  .job-search-form .form-group select,
  .job-search-form .form-group textarea,
  .contact-form input,
  .contact-form textarea,
  .comment-form input,
  .comment-form textarea {
    font-size: 16px; /* evita zoom automático no iOS */
    min-height: 48px;
  }

  .job-search-form .form-group .theme-btn {
    width: 100%;
    margin-top: 8px;
  }

  .job-search-form form {
    padding: 12px !important;
  }

  .banner-section-two .content-column h3 {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  .banner-section-two .title-box .text {
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .job-block .inner-box {
    padding: 16px;
  }

  .job-block .job-info {
    flex-wrap: wrap;
    gap: 6px 12px;
  }

  .job-block .job-info li {
    margin-right: 0;
  }

  .main-footer .footer-column {
    margin-bottom: 24px;
  }

  .main-footer .widgets-section {
    padding-bottom: 20px;
  }

  /* Banner de consentimento de ads no mobile */
  #ad-consent-banner {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    padding: 12px !important;
  }

  #ad-consent-banner button {
    flex: 1 1 auto;
    min-height: 44px;
  }

  /* Detalhe da vaga: botão de candidatura full-width */
  .job-detail-section .btn-box .theme-btn {
    width: 100%;
    display: block;
    text-align: center;
  }

  .job-block-seven .content {
    padding-right: 0;
  }

  /* Select nativo no mobile (chosen desativado via JS) */
  .job-search-form select.chosen-select {
    width: 100%;
    height: 48px;
    border: 1px solid #ecedf2;
    border-radius: 8px;
    padding: 0 15px 0 50px;
    background: #fff;
    appearance: auto;
    -webkit-appearance: menulist;
  }
}

/* Preferência do usuário: menos animação */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .wow {
    visibility: visible !important;
  }
}

/* Conteúdo abaixo da dobra: suaviza CLS de imagens lazy */
img[loading="lazy"] {
  content-visibility: auto;
}
