* { box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }

:root{
  
}

/* Seção 1 — Hero (só imagem) */
.signa-hero{
  padding-inline: max(clamp(12px, 3vw, 40px), env(safe-area-inset-left));
  padding-inline-end: max(clamp(12px, 3vw, 40px), env(safe-area-inset-right));
  padding-block: clamp(8px, 2.2vw, 24px);
}
.signa-hero__wrap{
  max-width: clamp(980px, 92vw, 1440px);
  margin: 0 auto;
  border-radius: clamp(10px, 1.2vw, 18px);
  overflow: hidden;
}
.signa-hero__media,
.signa-hero__img{ width: 100%; }

/* Seção 2 — Features (4 lado a lado; scroll só quando não couber) */
.signa-features{
  --gap: clamp(12px, 2.2vw, 24px);
  padding-inline: max(clamp(12px, 3vw, 40px), env(safe-area-inset-left));
  padding-inline-end: max(clamp(12px, 3vw, 40px), env(safe-area-inset-right));
  padding-block: clamp(16px, 3.5vw, 40px);
}
.signa-features__wrap{
  position: relative;
  max-width: clamp(1000px, 92vw, 1440px);
  margin: 0 auto;
}

/* Desktop (sem scroll): 4 colunas fixas */
.signa-features__rail{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
  overflow: visible;
  mask-image: none;
  -webkit-mask-image: none;
}
.signa-features__card{
  margin: 0;
  border-radius: clamp(10px, 1.2vw, 14px);
  overflow: hidden;
}
.signa-features__card img{
  width: 100%;
  object-fit: cover;
}

/* Setas ocultas por padrão (só no modo scroll) */
.rail-arrow{ display: none; }

/* Modo SCROLL (ativado por classe via JS) */
.signa-features__wrap.is-scrollable .signa-features__rail{
  display: flex;
  gap: var(--gap);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: 2px;
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.signa-features__wrap.is-scrollable .signa-features__card{
  flex: 0 0 var(--minw, 280px);
  scroll-snap-align: start;
}
.signa-features__wrap.is-scrollable .rail-arrow{
  display: flex;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  height: 40px; width: 40px;
  border: none; border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 2px 12px rgba(0,0,0,.15);
  font: 700 22px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  align-items: center; justify-content: center;
  cursor: pointer;
  backdrop-filter: saturate(1.2) blur(2px);
}
.rail-arrow--left{ left: 6px; }
.rail-arrow--right{ right: 6px; }
.rail-arrow:active{ transform: scale(.97); }

/* Seção 3 — Overview (imagem) */
.signa-overview{
  padding-inline: max(clamp(12px, 3vw, 40px), env(safe-area-inset-left));
  padding-inline-end: max(clamp(12px, 3vw, 40px), env(safe-area-inset-right));
  padding-block: clamp(20px, 3.8vw, 56px);
}
.signa-overview__wrap{
  max-width: clamp(1000px, 92vw, 1440px);
  margin: 0 auto;
  border-radius: clamp(10px, 1.2vw, 18px);
  overflow: hidden;
  isolation: isolate;
}
.signa-overview__media,
.signa-overview__img{ width: 100%; }

/* Acessibilidade */
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
