/*
Theme Name: XFOZ - Portal da Tríplice Fronteira
Theme URI: https://xfoz.com.br
Author: AI Coding Agent
Author URI: https://ai.studio/build
Description: O tema oficial do Portal XFOZ. Totalmente responsivo, veloz, elegante e otimizado para conversão de leads de turismo, compras e saúde na Tríplice Fronteira. Compatível 100% com Elementor.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xfoz
*/

/* Importação das Fontes Oficiais do Portal */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Space+Grotesk:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

/* Mapeamento de Fontes e Variáveis Universais */
:root {
  --font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  --color-brand-blue: #0B3D91;
  --color-brand-green: #28A745;
}

/* Reset Global e Tipografia */
html {
  scroll-behavior: smooth;
  font-family: var(--font-sans);
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  background-color: #f8fafc;
  color: #1e293b;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-display {
  font-family: var(--font-display) !important;
}

.font-mono {
  font-family: var(--font-mono) !important;
}

/* Sobrescrita de Compatibilidade com Elementor (Elimina espaçamentos e desalinhar de containers) */
.elementor-section.elementor-section-boxed .elementor-container {
  max-width: 1280px !important;
}

.elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-page-wrapper {
  width: 100% !important;
  overflow-x: hidden !important;
}

/* Animações e Efeitos */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes scaleUp {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

.animate-fade-in {
  animation: fadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-scale-up {
  animation: scaleUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Modal e Scrollbar Customizada */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #0B3D91;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #28A745;
}

.modal-open {
  overflow: hidden !important;
}

/* Suporte a line-clamp caso Tailwind CDN ainda esteja carregando */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
