@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('./fonts/roboto/roboto-v50-latin-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/roboto/roboto-v50-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fonts/roboto/roboto-v50-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/roboto/roboto-v50-latin-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('./fonts/roboto/roboto-v50-latin-900.woff2') format('woff2');
}

body {
  font-family: 'Roboto', sans-serif;
}

.hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('./imagens/fachada-2.webp');
  background-size: cover;
  background-position: center down;
  opacity: 0.2;
}

.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.8) 100%);
  opacity: 0.8;
}

.hero-about::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('./imagens/recepcao.webp');
  background-size: cover;
  background-position: center;
  opacity: 0.25;
}

.hero-about::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(217, 4, 4, 0.45), rgba(0, 0, 0, 0.8));
}

.highlight-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('./imagens/recepcao-banner.webp') center/cover no-repeat;
  opacity: 0.15;
}

.highlight-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(17, 17, 17, 0.9), rgba(217, 4, 4, 0.6));
}

.hero-grid {
  background: radial-gradient(circle at top right, rgba(217, 4, 4, 0.3), rgba(0, 0, 0, 0.9));
}

.faq-gradient {
  background: linear-gradient(135deg, #1a1a1a 0%, #8B0000 50%, #DC143C 100%);
}

.timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #d90404, rgba(255, 255, 255, 0));
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .timeline::before {
    left: 0.75rem;
    transform: none;
  }
}

.pattern {
  background-image:
    linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%),
    linear-gradient(225deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%),
    linear-gradient(45deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%),
    linear-gradient(315deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%);
  background-position: 10px 0, 10px 0, 0 0, 0 0;
  background-size: 10px 10px;
  background-repeat: repeat;
}

.scrollbar-thin::-webkit-scrollbar {
  width: 6px;
}
.scrollbar-thin::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.scrollbar-thin::-webkit-scrollbar-thumb {
  background: #888;
}
.scrollbar-thin::-webkit-scrollbar-thumb:hover {
  background: #555;
}

details[open] summary svg {
  transform: rotate(180deg);
}

/* Animações para carrossel de marcas */
.brands-track {
  animation: brands-marquee 22s linear infinite;
}

.brands-track-reverse {
  animation: brands-marquee-reverse 22s linear infinite;
}

@keyframes brands-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

@keyframes brands-marquee-reverse {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}
