/* =========================================================================
   TERRALMA — Home
   Carrossel / hero, manifesto, atmosferas, produtos, sustentabilidade,
   editorial, FAQ, newsletter.
   ========================================================================= */

/* HERO / CARROSSEL ------------------------------------------------------- */
.hero-carousel{
  position: relative;
  height: 92vh;
  min-height: 560px;
  max-height: 960px;
  overflow: hidden;
  background: var(--color-charcoal);
}
.hero-slide{
  position: absolute; inset: 0;
  opacity: 0; visibility: hidden;
  transition: opacity var(--transition-slow);
}
.hero-slide.is-active{ opacity: 1; visibility: visible; z-index: 1; }
.hero-slide-media{ position: absolute; inset: 0; }
.hero-slide-media img{ width: 100%; height: 100%; object-fit: cover; }
.hero-slide-media picture{ display: block; height: 100%; }
.hero-slide-overlay{ position: absolute; inset: 0; background: #000; }
.hero-slide-content{
  position: relative; z-index: 2; height: 100%;
  display: flex; flex-direction: column; padding: var(--space-xl) var(--container-padding);
  max-width: var(--container-width); margin-inline: auto;
}
.hero-slide-content.valign-top{ justify-content: flex-start; }
.hero-slide-content.valign-center{ justify-content: center; }
.hero-slide-content.valign-bottom{ justify-content: flex-end; }
.hero-slide-text{ max-width: 560px; }
.hero-slide-content.align-left .hero-slide-text{ text-align: left; margin-right: auto; }
.hero-slide-content.align-center .hero-slide-text{ text-align: center; margin-inline: auto; }
.hero-slide-content.align-right .hero-slide-text{ text-align: right; margin-left: auto; }
.hero-slide-eyebrow{ font-size: var(--fs-sm); letter-spacing: var(--tracking-wider); text-transform: uppercase; margin-bottom: var(--space-sm); opacity: 0.9; }
.hero-slide-title{ font-size: var(--fs-3xl); margin-bottom: var(--space-sm); color: inherit; }
.hero-slide-subtitle{ font-size: var(--fs-md); margin-bottom: var(--space-md); max-width: 480px; opacity: 0.92; }
.hero-slide-content.align-center .hero-slide-subtitle{ margin-inline: auto; }
.hero-slide-ctas{ display: flex; gap: var(--space-sm); flex-wrap: wrap; }
.hero-slide-content.align-center .hero-slide-ctas{ justify-content: center; }
.hero-slide-content.align-right .hero-slide-ctas{ justify-content: flex-end; }
.hero-slide-text.text-light{ color: #fff; }
.hero-slide-text.text-dark{ color: var(--color-charcoal); }

.hero-nav{
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.4);
  color: #fff; width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: background var(--transition-fast);
}
.hero-nav:hover{ background: rgba(255,255,255,0.35); }
.hero-nav.prev{ left: var(--space-md); }
.hero-nav.next{ right: var(--space-md); }
@media (max-width: 640px){ .hero-nav{ width: 36px; height: 36px; } .hero-nav.prev{ left: var(--space-xs); } .hero-nav.next{ right: var(--space-xs); } }

.hero-dots{
  position: absolute; bottom: var(--space-md); left: 0; right: 0; z-index: 3;
  display: flex; justify-content: center; gap: var(--space-2xs);
}
.hero-dot{
  width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.4);
  border: none; cursor: pointer; padding: 0; transition: background var(--transition-fast), transform var(--transition-fast);
}
.hero-dot.is-active{ background: #fff; transform: scale(1.2); }
.hero-play-toggle{
  position: absolute; bottom: var(--space-md); right: var(--space-md); z-index: 3;
  background: none; border: 1px solid rgba(255,255,255,0.5); color: #fff;
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
@media (max-width: 640px){
  .hero-carousel{ height: 82vh; min-height: 460px; }
  .hero-slide-title{ font-size: var(--fs-2xl); }
}

/* MANIFESTO --------------------------------------------------------------- */
.manifesto{ text-align: center; }
.manifesto-text{
  max-width: 720px; margin-inline: auto; font-family: var(--font-display);
  font-size: var(--fs-lg); line-height: var(--lh-loose); color: var(--color-charcoal);
}
.manifesto-signature{ margin-top: var(--space-md); font-size: var(--fs-sm); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-terracotta); }

/* ATMOSFERAS --------------------------------------------------------------- */
.atmosferas-header{ text-align: center; margin-bottom: var(--space-lg); }
.atmosferas-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
@media (max-width: 900px){ .atmosferas-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .atmosferas-grid{ grid-template-columns: 1fr; } }
.atmosfera-card{ position: relative; display: block; overflow: hidden; }
.atmosfera-card .aspect-portrait{ transition: transform var(--transition-slow); }
.atmosfera-card:hover .aspect-portrait img{ transform: scale(1.05); }
.atmosfera-card .aspect-portrait img{ transition: transform var(--transition-slow); }
.atmosfera-card-overlay{
  position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(20,18,15,0.72) 100%);
}
.atmosfera-card-content{ position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-md); color: #fff; }
.atmosfera-card-name{ font-family: var(--font-display); font-size: var(--fs-xl); margin-bottom: var(--space-3xs); }
.atmosfera-card-phrase{ font-size: var(--fs-sm); opacity: 0.9; }

/* PRODUTOS ------------------------------------------------------------------ */
.home-products-header{ display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--space-lg); gap: var(--space-md); flex-wrap: wrap; }
.home-products-header .btn-link{ white-space: nowrap; }

/* SUSTENTABILIDADE ----------------------------------------------------------- */
.sustain{ background: var(--color-sand); }
.sustain-header{ max-width: 640px; margin-bottom: var(--space-lg); }
.sustain-list{ list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-md); }
@media (max-width: 900px){ .sustain-list{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px){ .sustain-list{ grid-template-columns: repeat(2, 1fr); } }
.sustain-item{ text-align: center; }
.sustain-item .icon{ font-size: 1.9rem; margin-bottom: var(--space-xs); display: block; }
.sustain-item p{ font-size: var(--fs-sm); color: var(--color-text); margin: 0; }

/* EDITORIAL BLOCKS ------------------------------------------------------------ */
.editorial-block + .editorial-block{ border-top: 1px solid var(--color-border); }
.editorial-block-text{ max-width: 460px; }
.editorial-block-fullwidth img{ width: 100%; height: auto; }
.editorial-block-cta{ margin-top: var(--space-md); }
.editorial-block-media video{ width: 100%; display: block; }

/* NEWSLETTER --------------------------------------------------------------- */
.newsletter-section{ background: var(--color-charcoal); color: #fff; text-align: center; }
.newsletter-section h2{ color: #fff; }
.newsletter-section .lede{ color: rgba(247,246,240,0.75); margin-bottom: var(--space-md); }
.newsletter-form{ display: flex; gap: var(--space-2xs); max-width: 440px; margin-inline: auto; }
.newsletter-form input{ background: transparent; border-color: rgba(255,255,255,0.35); color: #fff; }
.newsletter-form input::placeholder{ color: rgba(255,255,255,0.55); }
.newsletter-feedback{ margin-top: var(--space-sm); font-size: var(--fs-sm); }
@media (max-width: 480px){ .newsletter-form{ flex-direction: column; } }

/* FAQ ----------------------------------------------------------------------- */
.faq-section .section-intro{ margin-bottom: var(--space-lg); }
.faq-list{ max-width: 760px; }
.faq-category-tabs{ display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-md); }
.faq-category-tab{
  font-size: var(--fs-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase;
  padding: 0.5em 1em; border: 1px solid var(--color-border-strong); background: none; cursor: pointer; border-radius: var(--radius-sm);
}
.faq-category-tab.is-active{ background: var(--color-charcoal); color: #fff; border-color: var(--color-charcoal); }

/* DESCUBRA SUA FRAGRÂNCIA ---------------------------------------------------- */
.discovery-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); }
@media (max-width: 900px){ .discovery-grid{ grid-template-columns: repeat(2, 1fr); } }
.discovery-card{ text-align: center; padding: var(--space-lg) var(--space-sm); border: 1px solid var(--color-border); transition: border-color var(--transition-fast); }
.discovery-card:hover{ border-color: var(--color-terracotta); }
.discovery-card .icon{ font-size: 1.8rem; margin-bottom: var(--space-xs); }
