/* ============================================================
   LACMOO — sections.css
   Estilos específicos de cada seção da página
   ============================================================ */

/* ----------------------------------------------------------
   HERO
---------------------------------------------------------- */

.hero {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(
    135deg,
    var(--color-bg-main) 0%,
    var(--color-bg-secondary) 60%,
    var(--color-bg-accent) 100%
  );
  display: flex;
  align-items: center;
  padding-top: var(--navbar-height);
  overflow: hidden;
}

/* Círculos decorativos de fundo */
.hero::before,
.hero::after {
  content: '';
  position: absolute;
  border-radius: var(--radius-full);
  opacity: 0.35;
  pointer-events: none;
}

.hero::before {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, var(--color-bg-accent), transparent 70%);
  top: -100px;
  right: -100px;
}

.hero::after {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, var(--color-bg-secondary), transparent 70%);
  bottom: 60px;
  left: -60px;
}

.hero__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap; /* evita esmagamento em tablets intermediários */
  gap: var(--space-12);
  padding-block: var(--space-16);
  position: relative;
  z-index: var(--z-base);
}

/* Conteúdo de texto */
.hero__content {
  flex: 1;
  min-width: 280px; /* impede que o texto fique estreito demais antes do wrap */
  max-width: 560px;
}

.hero__eyebrow {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  color: var(--color-text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}

.hero__title {
  font-family: var(--font-display);
  font-size: var(--text-5xl);
  font-weight: var(--weight-black);
  color: var(--color-text-dark);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}

.hero__title-brand {
  color: var(--color-primary);
  display: block;
}

.hero__slogan {
  font-family: var(--font-accent);
  font-size: var(--text-xl);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-5);
  line-height: var(--leading-snug);
}

.hero__description {
  font-size: var(--text-md);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-8);
  max-width: 440px;
}

.hero__actions {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
}

/* Mascote */
.hero__mascot {
  flex-shrink: 0;
  position: relative;
}

.hero__mascot-img {
  width: 380px;
  height: 380px;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(92, 74, 73, 0.2));
  animation: mascotFloat 4s ease-in-out infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Onda na base da hero */
.hero__wave {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  line-height: 0;
  pointer-events: none;
}

.hero__wave svg {
  width: 100%;
  height: 80px;
}

/* Animação de flutuação do mascote */
@keyframes mascotFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-14px); }
}

/* ----------------------------------------------------------
   QUEM SOMOS
---------------------------------------------------------- */

.section--whoweare {
  background: linear-gradient(
    135deg,
    var(--color-bg-secondary) 0%,
    var(--color-bg-main) 60%,
    var(--color-bg-accent) 100%
  );
  position: relative;
  overflow: hidden;
}

/* Círculo decorativo de fundo */
.section--whoweare::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: var(--radius-full);
  background: radial-gradient(circle, rgba(253,246,240,0.45), transparent 70%);
  top: -80px;
  right: -80px;
  pointer-events: none;
}

.whoweare__inner {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: var(--space-16);
  min-height: 480px;
  position: relative;
  z-index: var(--z-base);
}

/* Mascote */
.whoweare__mascot-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.whoweare__mascot {
  width: min(100%, 400px);
  height: auto;
  filter: drop-shadow(0 20px 36px rgba(92, 74, 73, 0.2));
  animation: mascotFloat 4.4s ease-in-out infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Conteúdo */
.whoweare__title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: var(--weight-black);
  color: var(--color-primary);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}

.whoweare__text {
  font-size: var(--text-md);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-6);
  max-width: 520px;
}

.whoweare__since {
  font-family: var(--font-accent);
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
}

.whoweare__values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.whoweare__value {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-full);
  background-color: var(--color-bg-white);
  border: var(--border-thin) solid var(--color-border-light);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

/* ----------------------------------------------------------
   CONHECA A LACMOO
---------------------------------------------------------- */

#conheca {
  position: relative;
  padding-block: var(--space-20);
  line-height: var(--leading-normal);
  background:
    linear-gradient(135deg, rgba(253, 246, 240, 0.92), rgba(245, 218, 216, 0.94)),
    repeating-linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.16) 0,
      rgba(255, 255, 255, 0.16) 1px,
      transparent 1px,
      transparent 92px
    );
  overflow: hidden;
}

/* Margem curva superior que combina com a onda da hero */
.about__wave-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  line-height: 0;
  pointer-events: none;
  transform: translateY(-1px);
}

.about__wave-top svg { width: 100%; height: 80px; display: block; }

.about__inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: var(--space-16);
  min-height: 560px;
}

.about__media {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.about__media::before {
  /* Retângulo decorativo atrás da mascote (centralizado + borda) */
  content: '';
  position: absolute;
  width: 380px;
  height: 320px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  background: linear-gradient(135deg, rgba(234,177,174,0.95), rgba(234,177,174,0.75));
  border-radius: 18px;
  z-index: 0;
  box-shadow: var(--shadow-lg);
  border: 3px solid rgba(234,177,174,0.6);
  pointer-events: none;
}

.about__media::after {
  /* Camada de brilho animada para contorno */
  content: '';
  position: absolute;
  width: 420px;
  height: 360px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  border-radius: 20px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.45) 50%, rgba(255,255,255,0) 100%);
  background-size: 200% 100%;
  mix-blend-mode: screen;
  filter: blur(6px);
  animation: sheen 2.6s linear infinite;
}
.about__mascot {
  width: min(100%, 440px);
  height: auto;
  position: relative;
  z-index: var(--z-base);
  filter: drop-shadow(0 24px 34px rgba(92, 74, 73, 0.18));
  animation: mascotFloat 4.8s ease-in-out infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

@keyframes sheen {
  from { background-position: -100% 0; }
  to   { background-position: 100% 0; }
}

.about__content {
  max-width: 720px;
}

.about__title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: var(--weight-black);
  color: var(--color-text-dark);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}

.about__lead {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
  color: var(--color-text-primary);
  line-height: var(--leading-snug);
  margin-bottom: var(--space-6);
}

.about__text {
  font-size: var(--text-md);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-4);
}

.about__values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block: var(--space-8);
}

.about__value {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  background-color: var(--color-bg-white);
  border: var(--border-thin) solid var(--color-border-light);
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  box-shadow: var(--shadow-xs);
}

/* ----------------------------------------------------------
   FÁBRICA
---------------------------------------------------------- */

.section--factory {
  background: linear-gradient(
    to bottom,
    var(--color-bg-white) 0%,
    var(--color-bg-main) 100%
  );
}

.factory__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
}

.factory__title {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: var(--weight-bold);
  color: var(--color-text-dark);
  margin-bottom: var(--space-4);
}

.factory__text {
  font-size: var(--text-md);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-8);
}

.factory__stats {
  display: flex;
  gap: var(--space-8);
  list-style: none;
}

.factory__stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.factory__stat-number {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--weight-black);
  color: var(--color-primary);
}

.factory__stat-label {
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.factory__image-wrap {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  position: relative;
}

.factory__image-wrap::before {
  content: '';
  position: absolute;
  inset: -8px;
  border: 3px solid var(--color-bg-accent);
  border-radius: calc(var(--radius-2xl) + 8px);
  pointer-events: none;
  z-index: 0;
}

.factory__image {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* ----------------------------------------------------------
   CONTATO
---------------------------------------------------------- */

.contact__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
}

.contact__info-title {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--color-text-dark);
  margin-bottom: var(--space-6);
}

.contact__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin-bottom: var(--space-8);
}

.contact__item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  font-size: var(--text-base);
  color: var(--color-text-secondary);
}

.contact__item a {
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}

.contact__item a:hover {
  color: var(--color-primary);
}

.contact__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: var(--color-primary);
  pointer-events: none;
}

.contact__cnpj {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
  padding-top: var(--space-4);
  border-top: var(--border-thin) solid var(--color-border-light);
}

.contact__image-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact__mascot {
  width: 280px;
  height: 280px;
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(92, 74, 73, 0.15));
  animation: mascotFloat 4s ease-in-out infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* ----------------------------------------------------------
   RODAPÉ
---------------------------------------------------------- */

.footer {
  background-color: var(--color-bg-dark);
  color: var(--color-text-light);
  padding-top: var(--space-16);
}

.footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-10);
  padding-bottom: var(--space-12);
  border-bottom: var(--border-thin) solid rgba(253, 246, 240, 0.1);
}

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.footer__logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.footer__tagline {
  font-family: var(--font-accent);
  font-size: var(--text-md);
  color: var(--color-bg-accent);
  line-height: var(--leading-snug);
}

.footer__location {
  font-size: var(--text-sm);
  color: rgba(253, 246, 240, 0.5);
}

.footer__col-title {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  color: var(--color-bg-accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-5);
}

.footer__links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.footer__link {
  font-size: var(--text-sm);
  color: rgba(253, 246, 240, 0.6);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer__link:hover {
  color: var(--color-bg-accent);
}

.footer__socials {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.footer__social-link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: rgba(253, 246, 240, 0.6);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer__social-link:hover {
  color: var(--color-bg-accent);
}

.footer__social-link svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  pointer-events: none;
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: var(--space-6);
  gap: var(--space-4);
  flex-wrap: wrap;
}

.footer__copy,
.footer__industry {
  font-size: var(--text-xs);
  color: rgba(253, 246, 240, 0.35);
}

/* ----------------------------------------------------------
   CARD DE EQUIPE
---------------------------------------------------------- */

.team-card {
  background-color: var(--color-bg-white);
  border-radius: var(--radius-xl);
  padding: var(--space-8) var(--space-6);
  text-align: center;
  box-shadow: var(--shadow-card);
  border: var(--border-thin) solid var(--color-border-light);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.team-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.team-card__avatar {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  background: linear-gradient(
    135deg,
    var(--color-bg-main),
    var(--color-bg-accent)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--color-primary);
  flex-shrink: 0;
  border: 3px solid var(--color-bg-accent);
}

.team-card__name {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--color-text-dark);
}

.team-card__role {
  font-size: var(--text-sm);
  color: var(--color-primary);
  font-weight: var(--weight-semibold);
  background-color: var(--color-bg-main);
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-full);
}

.team-card__bio {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-normal);
}
