/* GAZMOZ SA — Estilos Personalizados */

/* ===== FONTES SARALA ===== */
@font-face {
  font-family: 'Sarala';
  src: url("../assets/fonte de textos/Sarala/Sarala-Regular.ttf") format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarala';
  src: url("../assets/fonte de textos/Sarala/Sarala-Bold.ttf") format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ===== VARIÁVEIS ===== */
:root {
  --gazmoz-green:       #65a624;
  --gazmoz-dark:        #4a7a1a;
  --gazmoz-darker:      #3d6114;
  --gazmoz-light:       #e8f5d0;
  --gazmoz-amber:       #f29f05;
  --gazmoz-amber-dark:  #c07a04;
  --gazmoz-text:        #666666;
}

/* ===== GLOBAL FONT & TEXT ===== */
*, *::before, *::after { font-family: 'Sarala', ui-sans-serif, system-ui, sans-serif; }
body  { color: #666666; font-family: 'Sarala', ui-sans-serif, system-ui, sans-serif; }
p, li, label, span, td, th, input, textarea, select, button {
  font-family: 'Sarala', ui-sans-serif, system-ui, sans-serif;
}

/* ===== ANIMAÇÕES ===== */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes bounceY {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}
@keyframes ping {
  75%, 100% { transform: scale(2); opacity: 0; }
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .5; }
}
@keyframes spinSlow {
  to { transform: rotate(360deg); }
}
@keyframes bounceDot {
  0%, 80%, 100% { transform: translateY(0); }
  40%           { transform: translateY(-6px); }
}

.animate-marquee        { animation: marquee 45s linear infinite; display: flex; white-space: nowrap; }
.animate-marquee:hover  { animation-play-state: paused; }
.animate-fade-in        { animation: fadeIn .3s ease-out; }
.animate-bounce         { animation: bounceY 1s ease-in-out infinite; }
.animate-bounce-slow    { animation: bounceY 2s ease-in-out infinite; }
.animate-ping           { animation: ping 1.2s cubic-bezier(0,0,.2,1) infinite; }
.animate-pulse          { animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
.animate-spin-slow      { animation: spinSlow 3s linear infinite; }
.dot-bounce             { animation: bounceDot 1.4s ease-in-out infinite; }
.dot-bounce-2           { animation: bounceDot 1.4s ease-in-out .2s infinite; }
.dot-bounce-3           { animation: bounceDot 1.4s ease-in-out .4s infinite; }

/* ===== TABS ===== */
.tab-content            { display: none; }
.tab-content.active     { display: block; animation: fadeIn .25s ease-out; }

/* ===== MAPA ===== */
#maputo-map             { height: 240px; border-radius: 12px; overflow: hidden; z-index: 0; }
.leaflet-container      { font-family: 'Sarala', sans-serif; }

/* ===== LINE CLAMP ===== */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== RANGE ===== */
input[type="range"]     { accent-color: var(--gazmoz-green); cursor: pointer; }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar         { width: 6px; height: 6px; }
::-webkit-scrollbar-track   { background: #f5f5f5; }
::-webkit-scrollbar-thumb   { background: #d4d4d4; border-radius: 3px; }

/* ===== UTILITÁRIOS ===== */
.gazmoz-green               { color: var(--gazmoz-green); }
.bg-gazmoz-green            { background: var(--gazmoz-green); }
.border-gazmoz-green        { border-color: var(--gazmoz-green); }
.gazmoz-amber               { color: var(--gazmoz-amber); }

/* ===== HERO BG ===== */
.hero-bg {
  background-image: url('../assets/images/gazmoz_gas_refinery_1781530125470.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ===== PARTNER LOGOS FADE ===== */
.fade-left  { background: linear-gradient(to right, #111111, transparent); }
.fade-right { background: linear-gradient(to left, #111111, transparent); }

/* ===== PARTNER CAROUSEL IMAGES ===== */
.partner-img-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 12px;
  flex-shrink: 0;
  padding: 8px 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  transition: all .3s;
  cursor: pointer;
  height: 56px;
  min-width: 80px;
}
.partner-img-wrap:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(101,166,36,0.4);
}
.partner-img-wrap img {
  height: 32px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(1.4);
  opacity: 0.65;
  transition: all .3s;
}
.partner-img-wrap:hover img {
  filter: grayscale(0);
  opacity: 1;
}

/* ===== SERVIÇO DETALHE ===== */
.service-col-green  { background-color: var(--gazmoz-green); }
.service-col-amber  { background-color: var(--gazmoz-amber); }
.service-detail-panel { background:#fff; border-radius:1.25rem; overflow:hidden; border:1px solid #e5e5e5; box-shadow:0 4px 32px rgba(0,0,0,.06); }

/* ===== CHAT ===== */
#chat-messages { scroll-behavior: smooth; }
.chat-bubble-user      { border-radius: 1rem 1rem 0.25rem 1rem; background: var(--gazmoz-green); color: #fff; }
.chat-bubble-assistant { border-radius: 1rem 1rem 1rem 0.25rem; background: #fff; color: #222222; border: 1px solid #e5e5e5; }

/* ===== MODAIS ===== */
.modal-backdrop { animation: fadeIn .2s ease-out; }

/* Chat box e modal — fix display:flex quando .hidden é removido */
#chat-box:not(.hidden)    { display: flex !important; flex-direction: column; }
#quote-modal:not(.hidden) { display: flex !important; align-items: center; justify-content: center; }
#calc-aduana-panel:not(.hidden) { display: grid !important; }

/* ===== BOTÃO DOWNLOAD PERFIL ===== */
.btn-download-perfil {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gazmoz-amber);
  color: #fff;
  font-family: 'Sarala', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0.55rem 1.1rem;
  border-radius: 9999px;
  cursor: pointer;
  border: none;
  transition: background .2s, transform .1s;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 12px rgba(242,159,5,0.30);
}
.btn-download-perfil:hover  { background: var(--gazmoz-amber-dark); }
.btn-download-perfil:active { transform: scale(0.96); }
.btn-download-perfil svg    { flex-shrink: 0; }

/* ===== NAV ACTIVE ===== */
.nav-btn.nav-active { color:#fff !important; background-color:#65a624; }
.lang-btn.lang-active { background:#65a624; color:#fff; }

/* ===== PRINT ===== */
@media print { header, footer, #virtual-assistant, #quote-modal { display: none; } }
