/* =========================================================
   EIVOR — Design system custom pro tema Nuvemshop
   Tudo namespaced com prefixo "ev-" pra ZERO colisão com o
   tema base (preserva carrinho/checkout/produto/conta).
   Aplica-se só aos elementos das seções custom da home.
   ========================================================= */

:root {
  /* Paleta oficial EIVOR */
  --ev-azul:        #212DF3;
  --ev-primary:     #212DF3;
  --ev-primary-hover:#4555ff;
  --ev-primary-soft:rgba(33, 45, 243, 0.14);
  --ev-primary-glow:0 0 32px rgba(33, 45, 243, 0.45);
  --ev-white:       #FFFFFF;
  --ev-preto:       #050507;
  --ev-black:       #000000;

  /* Light mode (seções claras) */
  --ev-bg:          #FFFFFF;
  --ev-bg-1:        #F7F7F8;
  --ev-text:        #0A0A0C;
  --ev-text-soft:   #4A4A52;
  --ev-text-dim:    #82828A;
  --ev-text-mute:   #C8C8CC;
  --ev-surface:     rgba(0, 0, 0, 0.04);
  --ev-surface-2:   rgba(0, 0, 0, 0.07);
  --ev-border:      rgba(0, 0, 0, 0.08);
  --ev-border-2:    rgba(0, 0, 0, 0.16);
  --ev-border-3:    rgba(0, 0, 0, 0.24);

  --ev-font:        'Rubik', sans-serif;
  --ev-radius-pill: 999px;
  --ev-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --ev-container:   1280px;
}

/* ---- Animações ---- */
@keyframes ev-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .5; transform: scale(0.85); }
}
@keyframes ev-shine {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
@keyframes ev-marquee {
  to { transform: translateX(-50%); }
}
@keyframes ev-titleBoltStrike {
  0%, 100% { stroke-dashoffset: 90; opacity: 0; }
  2%       { stroke-dashoffset: 0;  opacity: 1; }
  4%       { opacity: 0.25; }
  5%       { opacity: 0.95; }
  7%       { opacity: 0.4; }
  9%       { opacity: 0.85; }
  11%      { opacity: 0.15; }
  13%      { opacity: 0; }
}
@keyframes ev-titleSparkFlash {
  0%, 100% { opacity: 0; transform: scale(0.4); }
  3%       { opacity: 1; transform: scale(1.6); }
  6%       { opacity: 0.3; transform: scale(0.9); }
  9%       { opacity: 0.9; transform: scale(1.3); }
  12%      { opacity: 0; transform: scale(0.5); }
}

/* ---- Container ---- */
.ev-container {
  width: 100%;
  max-width: min(var(--ev-container), 100vw);
  margin: 0 auto;
  padding: 0 28px;
  box-sizing: border-box;
}

/* ---- Botões ---- */
.ev-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 32px;
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: var(--ev-radius-pill);
  transition: all .25s var(--ev-ease);
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  text-decoration: none;
  line-height: 1;
}
.ev-btn--primary {
  background: var(--ev-primary);
  color: var(--ev-white);
  border-color: var(--ev-primary);
  box-shadow: 0 8px 24px rgba(33,45,243,.25);
}
.ev-btn--primary:hover {
  background: var(--ev-primary-hover);
  border-color: var(--ev-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(33,45,243,.45), 0 0 0 4px rgba(33,45,243,.15);
  color: var(--ev-white);
}
.ev-btn--ghost {
  background: transparent;
  color: var(--ev-text);
  border-color: var(--ev-border-3);
}
.ev-btn--ghost:hover {
  background: var(--ev-surface-2);
  border-color: var(--ev-text);
  color: var(--ev-text);
}
.ev-btn--large { padding: 20px 40px; font-size: 14px; }

/* =========================================================
   HERO — Vista sua Evolução
   ========================================================= */
.ev-hero {
  position: relative;
  padding: 24px 0 0;
  overflow: hidden;
  min-height: 86vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--ev-bg);
}
.ev-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 30%, rgba(33,45,243,0.12), transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 70%, rgba(8,176,0,0.05), transparent 60%);
  pointer-events: none;
}
.ev-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 40px 0 64px;
}
.ev-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  border: 1px solid var(--ev-border-2);
  border-radius: var(--ev-radius-pill);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ev-text-soft);
  background: var(--ev-surface);
  margin-bottom: 36px;
}
.ev-hero-eyebrow .ev-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ev-primary);
  box-shadow: var(--ev-primary-glow);
  animation: ev-pulse 1.8s ease-in-out infinite;
}
.ev-hero-title {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(40px, 7.6vw, 128px);
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: 0 0 36px;
  color: var(--ev-text);
  padding: 0.26em 0.5em 0.42em 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.ev-hero-title__line { display: block; }
.ev-hero-title__accent {
  display: inline-block;
  padding-right: 0.35em;
  margin-right: -0.15em;
  background: linear-gradient(120deg, var(--ev-primary) 0%, #6b78ff 50%, var(--ev-primary) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: ev-shine 8s linear infinite;
}
.ev-hero-sub {
  font-size: clamp(16px, 1.4vw, 19px);
  color: var(--ev-text-soft);
  max-width: 580px;
  margin: 0 0 48px;
  line-height: 1.6;
}
.ev-hero-sub strong { color: var(--ev-text); font-weight: 600; }
.ev-hero-cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 72px;
}
.ev-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 600px;
  gap: 32px;
}
.ev-hero-stats > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 18px;
  border-left: 2px solid var(--ev-primary);
}
.ev-hero-stats strong {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 36px;
  letter-spacing: 0.02em;
  color: var(--ev-text);
  line-height: 1;
}
.ev-hero-stats span {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ev-text-dim);
  margin-top: 6px;
}
.ev-hero-pattern {
  position: absolute;
  right: -220px;
  top: 60%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  opacity: 0.10;
}
.ev-hero-pattern span {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(72px, 9vw, 132px);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ev-text-mute);
}
.ev-hero-pattern span:nth-child(4) {
  color: var(--ev-primary);
  -webkit-text-stroke: 0;
  opacity: 0.5;
}

/* =========================================================
   SHOWCASE — Destaques abrindo a home (hero-vitrine)
   ========================================================= */
.ev-showcase {
  position: relative;
  padding: 56px 0 72px;
  overflow: hidden;
  background: var(--ev-bg);
}
.ev-showcase::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 80% 0%, rgba(33,45,243,0.10), transparent 60%);
  pointer-events: none;
}
.ev-showcase-head {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: 8px;
}
.ev-showcase-head .ev-hero-eyebrow { margin-bottom: 24px; }
.ev-showcase-title {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(40px, 6vw, 92px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin: 0 0 16px;
  color: var(--ev-text);
  padding-right: 0.18em;
}
.ev-showcase-dot { color: var(--ev-primary); }
.ev-showcase-sub {
  font-size: clamp(15px, 1.3vw, 18px);
  color: var(--ev-text-soft);
  max-width: none;
  white-space: nowrap; /* desktop: frase inteira numa linha so */
  margin: 0 auto 12px;
  line-height: 1.6;
}
.ev-showcase-sub strong { color: var(--ev-text); font-weight: 600; }
.ev-showcase .section-featured-home { position: relative; z-index: 2; }
/* titulo nativo "Destaques" (vem do painel) sai — o header custom assume */
.ev-showcase .section-title { display: none !important; }
.ev-showcase-cta {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-top: 36px;
}

/* Carrossel dos Destaques — scroll-snap puro (independe do formato do painel) */
.ev-showcase-carousel {
  position: relative;
  z-index: 2;
}
.ev-showcase .row-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 20px;
  margin: 0 !important;
  padding: 10px 4px 26px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.ev-showcase .row-grid::-webkit-scrollbar { display: none; }
.ev-showcase .row-grid > .js-item-product {
  flex: 0 0 300px !important;
  max-width: 300px !important;
  width: 300px !important;
  scroll-snap-align: start;
  padding: 0 !important;
}
.ev-showcase-arrow {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--ev-border-2);
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
  font-size: 19px;
  font-weight: 700;
  color: var(--ev-text);
  cursor: pointer;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 26px rgba(5,5,7,0.10);
  transition:
    transform .3s cubic-bezier(.34, 1.56, .64, 1),
    background .25s ease, color .25s ease,
    border-color .25s ease, box-shadow .25s ease, opacity .25s ease;
}
/* ancoradas na borda do .container dos produtos (nao na extremidade da tela) */
.ev-showcase-arrow--prev { left: max(12px, calc(50% - (var(--container-width) / 2) - 10px)); }
.ev-showcase-arrow--next { right: max(12px, calc(50% - (var(--container-width) / 2) - 10px)); }
@media (max-width: 1199px) {
  .ev-showcase-arrow--prev { left: max(12px, calc(50% - (var(--container-width-large) / 2) - 6px)); }
  .ev-showcase-arrow--next { right: max(12px, calc(50% - (var(--container-width-large) / 2) - 6px)); }
}
.ev-showcase-arrow:hover {
  background: var(--ev-primary);
  border-color: var(--ev-primary);
  color: #fff;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 14px 32px rgba(33,45,243,0.35);
}
.ev-showcase-arrow:active { transform: translateY(-50%) scale(0.92); }
.ev-showcase-arrow-glyph { display: inline-block; line-height: 1; }
.ev-showcase-arrow--next:hover .ev-showcase-arrow-glyph { animation: ev-arrow-nudge-r .7s ease-in-out infinite; }
.ev-showcase-arrow--prev:hover .ev-showcase-arrow-glyph { animation: ev-arrow-nudge-l .7s ease-in-out infinite; }
@keyframes ev-arrow-nudge-r { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@keyframes ev-arrow-nudge-l { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-4px); } }
/* chegou no fim do carrossel: seta apaga */
.ev-showcase-arrow.is-end { opacity: 0.3; pointer-events: none; }

/* Cards dos Destaques — visual "prod-card" da demo (MAIS VESTIDOS) */
.ev-showcase .js-item-product .item {
  background: #fff;
  border: 1px solid var(--ev-border-2);
  border-radius: 18px;
  overflow: hidden;
  height: 100%;
  margin-bottom: 0 !important;
  display: flex;
  flex-direction: column;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.ev-showcase .js-item-product:hover .item {
  transform: translateY(-6px);
  border-color: rgba(33,45,243,0.4);
  box-shadow: 0 24px 48px rgba(5,5,7,0.14);
}
.ev-showcase .item-image {
  position: relative;
  background: linear-gradient(135deg, #1a1a22 0%, #060608 100%) !important;
  border-radius: 0 !important;
}
.ev-showcase .item-image .placeholder-fade { opacity: 0 !important; }
/* produto sem foto: a Nuvemshop injeta um img "no-photo" (camera cinza) —
   esconde pra sobrar so o fundo dark (fotos reais aparecem normal) */
.ev-showcase .item-image img[data-srcset*="no-photo"],
.ev-showcase .item-image img[srcset*="no-photo"] { opacity: 0 !important; }
.ev-showcase .item-description {
  text-align: left !important;
  padding: 18px 18px 20px !important;
  background: var(--ev-surface);
  flex: 1;
}
.ev-showcase .item-name {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 17px !important;
  line-height: 1.2;
  color: var(--ev-text);
  opacity: 1 !important;
}
.ev-showcase .item-price {
  font-family: var(--ev-font);
  font-weight: 700;
  font-size: 19px;
  color: var(--ev-text);
}

/* =========================================================
   COMUNIDADE — #ATLETASANÔNIMOS (da demo)
   ========================================================= */
.ev-community { background: var(--ev-bg); }
.ev-community-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px 32px; /* row-gap curto: quando o sub quebra pra linha de baixo, nao abre abismo */
  margin-bottom: 48px;
  flex-wrap: wrap;
}
/* o .ev-section-title generico tem margin-bottom 48px — na comunidade o respiro vem do head */
.ev-community .ev-section-title { margin-bottom: 0; padding-bottom: 0.14em; }
.ev-community-sub {
  color: var(--ev-text-soft);
  max-width: 380px;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}
.ev-community-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin-bottom: 48px;
}
.ev-community-tile {
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  border: 1px solid var(--ev-border);
  display: flex;
  align-items: flex-end;
  padding: 14px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
  letter-spacing: 0.08em;
  position: relative;
  overflow: hidden;
  transition: all .3s ease;
}
.ev-community-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85) 100%),
    linear-gradient(135deg, #1c1c1c 0%, #050505 100%);
}
.ev-community-tile span { position: relative; z-index: 1; }
.ev-community-tile:hover {
  border-color: var(--ev-primary);
  transform: scale(1.04);
  z-index: 2;
}
.ev-community-tile--0::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #1a2030 0%, #050505 100%); }
.ev-community-tile--1::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #20221c 0%, #060606 100%); }
.ev-community-tile--2::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #1e1418 0%, #050505 100%); }
.ev-community-tile--3::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #181822 0%, #060606 100%); }
.ev-community-tile--4::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #1a1c20 0%, #050505 100%); }
.ev-community-tile--5::before { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85)), linear-gradient(135deg, #20181c 0%, #050505 100%); }

/* =========================================================
   MARQUEE
   ========================================================= */
.ev-marquee {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--ev-border);
  border-bottom: 1px solid var(--ev-border);
  padding: 22px 0;
  background: var(--ev-bg-1);
}
.ev-marquee-track {
  display: flex;
  gap: 56px;
  animation: ev-marquee 45s linear infinite;
  white-space: nowrap;
  width: max-content;
}
.ev-marquee-track span {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 32px;
  letter-spacing: 0.04em;
  color: var(--ev-text);
  display: inline-flex;
  align-items: center;
}
.ev-marquee-track .ev-star {
  color: var(--ev-primary);
  font-style: normal;
  font-weight: 700;
}

/* =========================================================
   FEATURED DROP — bloco escuro da campanha (Vista sua Escuridão)
   ========================================================= */
.ev-featured-drop {
  position: relative;
  padding: 110px 0;
  background: var(--ev-black);
  color: #f7f7f9;
  overflow: hidden;
  border-top: 1px solid var(--ev-border);
  border-bottom: 1px solid var(--ev-border);
}
.ev-featured-drop::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 90% 20%, rgba(33,45,243,0.16), transparent 55%),
    radial-gradient(circle at 10% 100%, rgba(33,45,243,0.08), transparent 50%);
  pointer-events: none;
}
.ev-featured-drop .ev-container { position: relative; z-index: 3; }
.ev-featured-drop__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
}
.ev-featured-drop__label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6b78ff;
  margin-bottom: 28px;
}
.ev-featured-drop__label::before {
  content: '';
  width: 32px; height: 2px;
  background: var(--ev-primary);
}
.ev-featured-drop__title {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(38px, 7vw, 112px);
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: 0 0 28px;
  color: #f7f7f9;
  padding: 0.24em 0.22em 0.40em 0;
  max-width: 100%;
  box-sizing: border-box;
}
.ev-featured-drop__title em {
  font-style: italic;
  background: linear-gradient(180deg, #3a3a42 0%, #060606 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-stroke: 1.4px #3a3b41;
  display: inline-block;
  filter: drop-shadow(0 0 28px rgba(33,45,243,0.35));
}
.ev-featured-drop__quote {
  font-size: 18px;
  line-height: 1.55;
  color: #b8babf;
  margin-bottom: 36px;
  max-width: 520px;
}
.ev-featured-drop__quote strong { color: #f7f7f9; font-weight: 600; }
.ev-featured-drop__cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.ev-featured-drop__cta .ev-btn--ghost {
  color: #f7f7f9;
  border-color: rgba(255,255,255,0.24);
}
.ev-featured-drop__cta .ev-btn--ghost:hover {
  background: rgba(255,255,255,0.07);
  border-color: #f7f7f9;
  color: #f7f7f9;
}

/* Card lateral visual */
.ev-featured-drop__visual {
  position: relative;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #111118, #050507);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ev-featured-drop__visual-text {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(40px, 6vw, 88px);
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: #f7f7f9;
}
.ev-featured-drop__visual-text small {
  display: block;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6b78ff;
  margin-top: 16px;
}
.ev-featured-drop__corner {
  position: absolute;
  top: 16px; right: 16px;
  z-index: 4; /* acima da foto do produto e do degrade */
  padding: 6px 12px;
  background: var(--ev-primary);
  color: var(--ev-white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: var(--ev-radius-pill);
}

/* Foto real do produto preenchendo o card do drop (substitui o texto placeholder) */
.ev-featured-drop__visual-link {
  position: absolute;
  inset: 0;
  display: block;
  text-decoration: none;
  overflow: hidden;
}
.ev-featured-drop__visual-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.ev-featured-drop__visual-link:hover .ev-featured-drop__visual-img { transform: scale(1.04); }
.ev-featured-drop__visual-link::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(5,5,7,0.92) 0%,
    rgba(5,5,7,0.45) 35%,
    rgba(5,5,7,0) 65%);
  pointer-events: none;
}
.ev-featured-drop__visual-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 24px;
  text-align: left;
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #f7f7f9;
}
.ev-featured-drop__visual-caption small {
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6b78ff;
  margin-top: 10px;
}

/* =========================================================
   RAIOS ELÉTRICOS (title-electric) — em volta do "Escuridão."
   ========================================================= */
.ev-title-electric {
  position: relative;
  display: inline-block;
}
.ev-title-bolts {
  position: absolute;
  top: -18%;
  left: -6%;
  width: 112%;
  height: 136%;
  pointer-events: none;
  color: var(--ev-azul);
  z-index: 2;
  overflow: visible;
}
.ev-title-bolt {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 90;
  stroke-dashoffset: 90;
  opacity: 0;
  filter:
    drop-shadow(0 0 3px currentColor)
    drop-shadow(0 0 8px rgba(33, 45, 243, 0.75))
    drop-shadow(0 0 18px rgba(33, 45, 243, 0.4));
}
.ev-title-bolt--1 { animation: ev-titleBoltStrike 6.8s steps(1, end) infinite 0.4s; }
.ev-title-bolt--2 { animation: ev-titleBoltStrike 7.5s steps(1, end) infinite 2.2s; }
.ev-title-bolt--3 { animation: ev-titleBoltStrike 6.5s steps(1, end) infinite 4.1s; }
.ev-title-bolt--4 { animation: ev-titleBoltStrike 7.2s steps(1, end) infinite 1.3s; }
.ev-title-bolt--5 { animation: ev-titleBoltStrike 6.9s steps(1, end) infinite 5.4s; }
.ev-title-bolt--6 { animation: ev-titleBoltStrike 7.8s steps(1, end) infinite 3.3s; }
.ev-title-bolt--7 { animation: ev-titleBoltStrike 6.4s steps(1, end) infinite 0.9s; }
.ev-title-bolt--8 { animation: ev-titleBoltStrike 7.6s steps(1, end) infinite 4.8s; }
.ev-title-sparks {
  position: absolute;
  inset: -10% -6%;
  pointer-events: none;
  z-index: 2;
}
.ev-title-spark {
  position: absolute;
  width: 5px;
  height: 5px;
  background: var(--ev-white);
  border-radius: 50%;
  box-shadow:
    0 0 6px var(--ev-white),
    0 0 14px var(--ev-azul),
    0 0 24px rgba(33, 45, 243, 0.7);
  opacity: 0;
  animation: ev-titleSparkFlash 4s steps(1, end) infinite;
}
.ev-title-spark--1 { top:  -8%; left:  18%; animation-delay: 0.6s; }
.ev-title-spark--2 { top:  -4%; left:  62%; animation-delay: 2.1s; }
.ev-title-spark--3 { top:  10%; left:  -3%; animation-delay: 1.4s; }
.ev-title-spark--4 { bottom: -6%; left:  35%; animation-delay: 3.2s; }
.ev-title-spark--5 { bottom: -10%; right: 12%; animation-delay: 0.3s; }
.ev-title-spark--6 { top:  45%; right: -3%; animation-delay: 2.7s; }

/* =========================================================
   Section heading comum (Princípios etc)
   ========================================================= */
.ev-section { padding: 90px 0; position: relative; overflow: hidden; }
.ev-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ev-primary);
  margin-bottom: 20px;
}
.ev-section-tag::before {
  content: '';
  width: 24px; height: 2px;
  background: var(--ev-primary);
}
.ev-section-title {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: clamp(36px, 6.5vw, 96px);
  line-height: 1.22;
  letter-spacing: -0.01em;
  color: var(--ev-text);
  padding: 0.24em 0.22em 0.38em 0;
  margin: 0 0 48px;
  max-width: 100%;
  box-sizing: border-box;
}
.ev-section-title .ev-accent { color: var(--ev-primary); }

/* ---- Features / Princípios ---- */
.ev-features { background: var(--ev-bg-1); border-top: 1px solid var(--ev-border); border-bottom: 1px solid var(--ev-border); }
.ev-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.ev-feature {
  padding: 36px 28px;
  background: var(--ev-white);
  border: 1px solid var(--ev-border);
  border-radius: 16px;
  transition: all .3s var(--ev-ease);
  position: relative;
  overflow: hidden;
}
.ev-feature::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 36px; height: 3px;
  background: var(--ev-feat, var(--ev-primary));
  transition: width .35s var(--ev-ease);
}
.ev-feature:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
.ev-feature:hover::before { width: 100%; }
.ev-feature--1 { --ev-feat: #212DF3; }
.ev-feature--2 { --ev-feat: #A800B0; }
.ev-feature--3 { --ev-feat: #08B000; }
.ev-feature--4 { --ev-feat: #FF9800; }
.ev-feature-icon {
  display: inline-flex;
  width: 48px; height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--ev-feat, var(--ev-primary)) 14%, transparent);
  color: var(--ev-feat, var(--ev-primary));
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 900;
  font-style: italic;
  font-family: var(--ev-font);
}
.ev-feature h4 {
  font-family: var(--ev-font);
  font-style: italic;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.01em;
  color: var(--ev-text);
  margin: 0 0 12px;
  line-height: 1.15;
}
.ev-feature p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ev-text-soft);
  margin: 0;
}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width: 1080px) {
  .ev-featured-drop__inner { grid-template-columns: 1fr; gap: 48px; }
  .ev-featured-drop__visual { aspect-ratio: 16/10; max-height: 360px; }
  .ev-features-grid { grid-template-columns: repeat(2, 1fr); }
  .ev-hero-pattern { opacity: 0.06; right: -280px; }
  .ev-community-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .ev-container { padding: 0 20px; }
  .ev-hero { padding-top: 12px; min-height: auto; }
  /* So o vertical aqui (longhand + especificidade) pra o lateral ficar a cargo
     do .ev-container em todos os breakpoints e o padding-bottom nao ser zerado
     pelo shorthand do .ev-container no @media 480 (senao stats colam na marquee). */
  .ev-hero .ev-hero-inner { padding-top: 32px; padding-bottom: 60px; }
  .ev-hero-title { font-size: clamp(40px, 11vw, 78px); }
  /* stats lado a lado (3 colunas) e menores no mobile */
  .ev-hero-stats { grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: none; }
  .ev-hero-stats > div { flex-direction: column; align-items: flex-start; gap: 2px; padding-left: 10px; }
  .ev-hero-stats strong { font-size: 24px; }
  .ev-hero-stats span { font-size: 9px; letter-spacing: 0.08em; margin-top: 2px; }
  .ev-hero-pattern { display: none; }
  .ev-hero-cta .ev-btn { flex: 1; padding: 14px 18px; font-size: 11px; }
  .ev-showcase { padding: 28px 0 48px; }
  .ev-showcase-title { font-size: clamp(34px, 10vw, 60px); }
  .ev-showcase-cta { margin-top: 24px; }
  .ev-showcase-sub { white-space: normal; }
  .ev-showcase-arrow { display: none; }
  .ev-showcase .row-grid > .js-item-product {
    flex-basis: 72vw !important;
    max-width: 72vw !important;
    width: 72vw !important;
  }
  .ev-community-head { gap: 8px 18px; margin-bottom: 32px; }
  /* "#ATLETASANÔNIMOS" tem 16 chars sem espaco — no 10vw generico estoura a tela */
  .ev-community .ev-section-title { font-size: clamp(26px, 8vw, 58px); line-height: 1.15; }
  .ev-community-sub { font-size: 14px; }
  .ev-community-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; margin-bottom: 32px; }
  .ev-community-tile { font-size: 10px; padding: 12px; }
  .ev-marquee-track span { font-size: 22px; }
  .ev-marquee-track { gap: 36px; }
  .ev-featured-drop { padding: 64px 0; }
  .ev-featured-drop__cta .ev-btn { flex: 1; }
  .ev-features-grid { grid-template-columns: 1fr; }
  .ev-section { padding: 64px 0; }
}
@media (max-width: 480px) {
  .ev-container { padding: 0 16px; }
  .ev-hero-title { font-size: clamp(36px, 12vw, 64px); }
  .ev-hero-cta { flex-direction: column; }
  .ev-hero-cta .ev-btn { width: 100%; flex: none; }
  .ev-featured-drop__title { font-size: clamp(36px, 11vw, 68px); }
  .ev-section-title { font-size: clamp(32px, 10vw, 60px); }
}

/* =========================================================
   HEADER — identidade EIVOR (logo símbolo E, nav, manifesto elétrico)
   Estiliza o header nativo do tema sem reescrevê-lo.
   ========================================================= */

/* Announcement bar (preto, igual a demo) */
.ev-announce {
  background: #000;
  color: rgba(255,255,255,0.72);
  text-align: center;
  padding: 10px 16px;
  font-family: 'Rubik', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  position: relative;
  z-index: 101;
}
.ev-announce strong { color: #fff; font-weight: 600; }
.ev-announce a {
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.3);
  margin-left: 10px;
  padding-bottom: 1px;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.ev-announce a:hover { color: var(--ev-primary); border-color: var(--ev-primary); }
.ev-announce__dot { color: var(--ev-primary); margin-right: 8px; display: inline-block; animation: ev-pulse 1.8s ease-in-out infinite; }

/* Header layout (desktop): TUDO na mesma linha, alinhado verticalmente.
   Ordem: [logo] ··· [lupa][PRODUTOS MANIFESTO] ··· [perfil][carrinho]
   (logo esquerda, lupa+nav no centro, perfil+carrinho na direita). */
@media (min-width: 1025px) {
  .head-main .js-head-logo-row > .row,
  .head-main .head-logo-row > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  /* 1. logo (esquerda) */
  .head-main .logo-container-col {
    order: 1; flex: 0 0 auto !important; width: auto !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
    text-align: left !important;
  }
  /* 2. lupa — empurrada pro centro, fica logo antes do PRODUTOS */
  .head-main .js-search-utility {
    order: 2; flex: 0 0 auto !important; width: auto !important;
    margin-left: auto !important; margin-right: 22px !important;
    padding: 0 !important;
  }
  /* 3. nav (PRODUTOS + MANIFESTO) */
  .head-main .desktop-nav-col {
    order: 3; flex: 0 0 auto !important; width: auto !important;
    display: flex !important; align-items: center;
    padding: 0 !important; align-self: center !important;
  }
  /* 4. perfil + carrinho (direita) — pega o utility-col que NÃO é a busca */
  .head-main .desktop-utility-col:not(.js-search-utility) {
    order: 4; flex: 0 0 auto !important; width: auto !important;
    margin-left: auto !important;
    display: flex !important; align-items: center; gap: 6px;
    padding: 0 !important;
  }
  .head-main .nav-desktop,
  .head-main .nav-desktop-list,
  .head-main .ev-nav,
  .head-main .ev-nav-list {
    display: flex !important; align-items: center; gap: 36px;
    justify-content: center; margin: 0; width: auto;
  }
  .head-main .nav-main-item,
  .head-main .nav-item-desktop { margin: 0 !important; }
  /* ícones uniformes */
  .head-main .js-search-utility a,
  .head-main .desktop-utility-col:not(.js-search-utility) a { display: inline-flex; align-items: center; }
  /* logo equilibrado */
  .logo-text-container .logo-text::after { font-size: 26px; }
  .logo-text-container .logo-text::before { width: 27px; height: 21px; margin-right: 10px; }
}

/* Logo: símbolo "E" + "EIVOR" em TODAS as páginas.
   2 estruturas: home tem <a class="logo-text"><h1>Nome</h1></a>,
   páginas internas tem <a class="logo-text">Nome</a> (texto direto).
   Escondemos o texto/h1 (font-size:0) e mostramos símbolo (::before) + EIVOR (::after). */
.logo-text-container .logo-text {
  display: inline-flex !important;
  align-items: center;
  text-decoration: none;
  font-size: 0 !important;       /* esconde texto direto (páginas internas) */
  white-space: nowrap;
}
.logo-text-container .logo-text h1,
.logo-text-container .logo-text .h3 {
  font-size: 0 !important;       /* esconde nome no <h1> (home) */
  line-height: 1 !important;
  margin: 0 !important;
}
.logo-text-container .logo-text::before {
  content: '';
  width: 30px;
  height: 24px;
  flex-shrink: 0;
  margin-right: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28'%3E%3Cg transform='skewX(-12)' fill='%230A0A0C'%3E%3Crect x='6' y='0' width='28' height='6.5' rx='2'/%3E%3Crect x='6' y='10.5' width='20' height='6.5' rx='2'/%3E%3Crect x='6' y='21' width='28' height='6.5' rx='2'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
}
.logo-text-container .logo-text::after {
  content: 'EIVOR';
  font-family: 'Rubik', sans-serif;
  font-weight: 900;
  font-style: italic;
  font-size: 30px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #0A0A0C;
  line-height: 1;
}

/* Nav links: hover azul Evolução */
.head-main .nav-list-link {
  font-family: 'Rubik', sans-serif !important;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color .2s ease;
}
.head-main .nav-list-link:hover { color: var(--ev-primary) !important; }

/* ===== Ícones do header (line icons + botões arredondados, identidade EIVOR) =====
   Os SVG do header agora são line (classe .ev-ico). Força fill:none/stroke pra vencer
   o tema base (que pinta glifos sólidos), padroniza tamanho e dá hover sutil. */
.head-main .ev-ico {
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  display: block;
}
.head-main .ev-ico * { fill: none !important; stroke: currentColor !important; }
/* botões dos ícones (lupa, conta, carrinho, hambúrguer): quadrado arredondado */
.head-main .btn-utility {
  width: 42px; height: 42px;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  border-radius: 11px;
  color: var(--ev-text-soft);
  background: transparent;
  transition: background .2s ease, color .2s ease, transform .2s ease;
  padding: 0 !important;
}
.head-main .btn-utility:hover { background: var(--ev-bg-1); color: var(--ev-text); }
.head-main .btn-utility:active { transform: scale(0.92); }
/* contador do carrinho — bolinha azul Evolução */
.head-main #ajax-cart, .head-main .cart-summary { position: relative; }
.head-main .js-cart-widget-amount.badge {
  position: absolute; top: 3px; right: 3px;
  min-width: 16px; height: 16px; padding: 0 4px;
  background: var(--ev-primary) !important; color: #fff !important;
  font-family: 'Rubik', sans-serif; font-size: 10px; font-weight: 700;
  border-radius: 8px; line-height: 1;
  display: inline-flex !important; align-items: center; justify-content: center;
  box-shadow: 0 0 0 2px #fff;
}

/* ===== Header MOBILE (<1025px): hambúrguer esq · logo centro · ícones dir ===== */
@media (max-width: 1024px) {
  .head-main .head-logo-row { padding-top: 6px; padding-bottom: 6px; }
  /* TUDO numa linha só, centralizado verticalmente. nowrap evita o logo (mais alto)
     quebrar a linha e empurrar hambúrguer/carrinho pra baixo (desalinhado ao scrollar). */
  /* Hambúrguer e carrinho no fluxo (pontas, via space-between). O LOGO sai do fluxo e fica
     ABSOLUTO no centro do header — imune ao reposicionamento que o tema injeta ao scrollar
     (.logo-inside-nav). Combater os efeitos da classe um a um não pegou; tirar o logo do
     fluxo garante centro perfeito em qualquer estado de scroll. */
  .head-main .head-logo-row > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px;
    position: relative;
  }
  .head-main .head-logo-row .col-utility:first-child { flex: 0 0 auto !important; }
  .head-main .desktop-utility-col:not(.js-search-utility) { flex: 0 0 auto !important; margin-left: 0 !important; }
  /* o tema põe padding-top:10px nos col de ícone (hambúrguer/carrinho), o que empurra o
     ícone 10px pra baixo do centro — desalinhava do logo. Zera o padding vertical. */
  .head-main .head-logo-row .col-utility { padding-top: 0 !important; padding-bottom: 0 !important; }
  .head-main .logo-container-col {
    position: absolute !important;
    left: 50% !important; top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important; padding: 0 !important;
    width: auto !important; min-width: 0 !important; max-width: 62% !important;
    height: auto !important; min-height: 0 !important;
    display: flex !important; justify-content: center !important; align-items: center !important;
    z-index: 2;
  }
  .head-main .logo-container-col > * { margin: 0 !important; }
  /* coluna do nav desktop fica vazia no mobile — não deve ocupar espaço */
  .head-main .desktop-nav-col { display: none !important; }
  .logo-text-container .logo-text::after { font-size: 21px; }
  .logo-text-container .logo-text::before { width: 24px; height: 19px; margin-right: 8px; }
  .head-main .btn-utility { width: 40px; height: 40px; }
  .head-main .ev-ico { width: 20px !important; height: 20px !important; }
  .head-main .col-utility .btn-utility.pl-0 { margin-left: -4px; }
  /* barra de anúncio compacta no mobile */
  .ev-announce { font-size: 9.5px; letter-spacing: 0.14em; padding: 8px 12px; }
  .ev-announce a { margin-left: 6px; }
}

/* ===== MENU LATERAL MOBILE (#nav-hamburger) — identidade EIVOR ===== */
#nav-hamburger .js-input,
#nav-hamburger input[type="search"],
#nav-hamburger input[type="text"] {
  border-radius: var(--ev-radius-pill) !important;
  border: 1px solid var(--ev-border-2) !important;
  font-family: 'Rubik', sans-serif !important;
  font-size: 14px;
}
/* Links: Rubik Black, uppercase, CENTRALIZADOS, divisórias, hover azul */
#nav-hamburger .nav-item { text-align: center; }
#nav-hamburger .nav-list-link {
  font-family: 'Rubik', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--ev-text) !important;
  padding: 15px 4px !important;
  text-align: center !important;
  justify-content: center !important;
  transition: color .2s ease, letter-spacing .2s ease;
}
#nav-hamburger .nav-list > .nav-item,
#nav-hamburger .nav-body .nav-item { border-bottom: 1px solid var(--ev-border); }
#nav-hamburger .nav-list-link:hover,
#nav-hamburger .nav-list-link.selected { color: var(--ev-primary) !important; letter-spacing: 0.12em; }
#nav-hamburger .nav-list-arrow { color: var(--ev-text-mute); }
/* Manifesto no menu mobile: MESMA fonte/estilo dos outros links (Rubik 700 uppercase)
   + os efeitos elétricos da versão PC (raios + sparks + glow). NÃO é mais pílula azul. */
#nav-hamburger .ev-nav-manifesto-item { overflow: visible; }
#nav-hamburger .ev-nav-manifesto {
  display: inline-flex !important;
  align-items: center;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 15px 4px !important;
  overflow: visible;
}
/* liga os raios/sparks (estavam escondidos na versão pílula) */
#nav-hamburger .ev-nav-manifesto .ev-nav-electric,
#nav-hamburger .ev-nav-manifesto .ev-nav-sparks { display: block !important; }
#nav-hamburger .ev-nav-manifesto-label {
  color: var(--ev-primary) !important;
  font-family: 'Rubik', sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 15px !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-shadow: 0 0 6px rgba(33,45,243,0.45), 0 0 14px rgba(33,45,243,0.30);
  animation: ev-navTextPulse 2.4s ease-in-out infinite;
}
/* Rodapé conta */
#nav-hamburger .hamburger-footer,
#nav-hamburger .nav-secondary,
#nav-hamburger .nav-secondary a {
  font-family: 'Rubik', sans-serif !important;
  font-size: 13px;
}
#nav-hamburger .nav-secondary a { color: var(--ev-text) !important; font-weight: 600; }
#nav-hamburger .nav-secondary a:hover { color: var(--ev-primary) !important; }

/* Esconde o item "Manifesto" NATIVO (a Nuvemshop adiciona a página ao menu
   automaticamente) — mantém só o nosso botão elétrico custom. */
li.nav-item:not(.ev-nav-manifesto-item):has(> a[href*="manifesto"]) {
  display: none !important;
}

/* ---- Botão Manifesto elétrico ---- */
.ev-nav-manifesto {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  isolation: isolate;
  color: var(--ev-primary) !important;
  overflow: visible;
}
.ev-nav-manifesto-label {
  position: relative;
  z-index: 2;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-shadow: 0 0 6px rgba(33,45,243,0.45), 0 0 14px rgba(33,45,243,0.30);
  animation: ev-navTextPulse 2.4s ease-in-out infinite;
}
@keyframes ev-navTextPulse {
  0%, 100% { text-shadow: 0 0 6px rgba(33,45,243,0.45), 0 0 14px rgba(33,45,243,0.30); }
  50%      { text-shadow: 0 0 10px rgba(33,45,243,0.8), 0 0 22px rgba(33,45,243,0.55), 0 0 34px rgba(33,45,243,0.3); }
}
.ev-nav-electric {
  position: absolute;
  top: -18px;
  left: -22px;
  width: calc(100% + 44px);
  height: calc(100% + 36px);
  pointer-events: none;
  color: var(--ev-primary);
  z-index: 1;
  overflow: visible;
}
.ev-bolt {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 70;
  stroke-dashoffset: 70;
  opacity: 0;
  filter: drop-shadow(0 0 2px currentColor) drop-shadow(0 0 6px rgba(33,45,243,0.8));
}
.ev-bolt--1 { animation: ev-boltStrike 4.2s steps(1, end) infinite 0.0s; }
.ev-bolt--2 { animation: ev-boltStrike 5.0s steps(1, end) infinite 1.6s; }
.ev-bolt--3 { animation: ev-boltStrike 4.8s steps(1, end) infinite 2.8s; }
.ev-bolt--4 { animation: ev-boltStrike 5.4s steps(1, end) infinite 0.7s; }
.ev-bolt--5 { animation: ev-boltStrike 4.5s steps(1, end) infinite 3.4s; }
.ev-bolt--6 { animation: ev-boltStrike 5.2s steps(1, end) infinite 2.1s; }
@keyframes ev-boltStrike {
  0%   { stroke-dashoffset: 70; opacity: 0; }
  2%   { stroke-dashoffset: 70; opacity: 0; }
  3%   { stroke-dashoffset: 0;  opacity: 1; }
  5%   { opacity: 0.2; }
  6%   { opacity: 1; }
  8%   { opacity: 0.4; }
  10%  { opacity: 0.95; }
  12%  { opacity: 0; }
  100% { stroke-dashoffset: 70; opacity: 0; }
}
.ev-nav-sparks { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.ev-nav-spark {
  position: absolute;
  width: 3px; height: 3px;
  background: var(--ev-primary);
  border-radius: 50%;
  box-shadow: 0 0 4px var(--ev-primary), 0 0 10px rgba(33,45,243,0.7);
  opacity: 0;
  animation: ev-sparkFlash 3s steps(1, end) infinite;
}
.ev-nav-spark--1 { top: -6px;  left: 12%;  animation-delay: 0.4s; }
.ev-nav-spark--2 { top: -3px;  right: 14%; animation-delay: 1.6s; }
.ev-nav-spark--3 { bottom: -5px; left: 24%; animation-delay: 2.3s; }
.ev-nav-spark--4 { bottom: -7px; right: 10%; animation-delay: 0.9s; }
@keyframes ev-sparkFlash {
  0%, 100% { opacity: 0; transform: scale(0.5); }
  4%       { opacity: 1; transform: scale(1.4); }
  8%       { opacity: 0; transform: scale(0.8); }
}
/* ===== HOVER = tempestade (igual a demo) =====
   Raios e sparks ganham keyframes proprios (mais rapidos/continuos), texto treme
   (jitter) e o brilho fica branco+azul. NAO so acelera a duracao. */
.ev-nav-manifesto:hover { color: #fff !important; }
.ev-nav-manifesto:hover .ev-nav-manifesto-label {
  text-shadow: 0 0 4px #fff, 0 0 10px var(--ev-primary), 0 0 22px var(--ev-primary), 0 0 38px var(--ev-primary);
  animation: ev-navTextJitter 0.12s steps(2, end) infinite;
}
.ev-nav-manifesto:hover .ev-bolt {
  animation: ev-boltStrikeFast 0.55s steps(1, end) infinite;
  stroke-width: 2;
  filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--ev-primary)) drop-shadow(0 0 14px var(--ev-primary));
}
.ev-nav-manifesto:hover .ev-bolt--1 { animation-delay: 0.00s; }
.ev-nav-manifesto:hover .ev-bolt--2 { animation-delay: 0.08s; }
.ev-nav-manifesto:hover .ev-bolt--3 { animation-delay: 0.16s; }
.ev-nav-manifesto:hover .ev-bolt--4 { animation-delay: 0.24s; }
.ev-nav-manifesto:hover .ev-bolt--5 { animation-delay: 0.32s; }
.ev-nav-manifesto:hover .ev-bolt--6 { animation-delay: 0.40s; }
@keyframes ev-boltStrikeFast {
  0%, 100% { stroke-dashoffset: 70; opacity: 0; }
  15%      { stroke-dashoffset: 0;  opacity: 1; }
  40%      { opacity: 0.4; }
  60%      { opacity: 1; }
  85%      { opacity: 0.7; }
}
.ev-nav-manifesto:hover .ev-nav-spark { animation: ev-sparkFlashFast 0.45s steps(1, end) infinite; }
.ev-nav-manifesto:hover .ev-nav-spark--1 { animation-delay: 0.05s; }
.ev-nav-manifesto:hover .ev-nav-spark--2 { animation-delay: 0.15s; }
.ev-nav-manifesto:hover .ev-nav-spark--3 { animation-delay: 0.25s; }
.ev-nav-manifesto:hover .ev-nav-spark--4 { animation-delay: 0.35s; }
@keyframes ev-sparkFlashFast {
  0%, 100% { opacity: 0; transform: scale(0.4); }
  20%      { opacity: 1; transform: scale(1.8); }
  60%      { opacity: 0.5; transform: scale(1.2); }
}
@keyframes ev-navTextJitter {
  0%, 100% { transform: translate(0, 0); }
  25%      { transform: translate(-0.5px, 0.5px); }
  50%      { transform: translate(0.5px, -0.5px); }
  75%      { transform: translate(-0.3px, 0.8px); }
}

/* =========================================================
   FOOTER — claro e completo (igual a demo)
   ========================================================= */
.ev-footer {
  background: #fff !important;
  color: var(--ev-text) !important;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--ev-border-2);
  padding-bottom: 28px;
  font-family: 'Rubik', sans-serif;
}

/* CTA grande */
.ev-footer-cta {
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, var(--ev-bg-1));
  border-bottom: 1px solid var(--ev-border);
}
.ev-footer-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 75% 50%, rgba(33,45,243,0.14), transparent 60%);
  pointer-events: none;
}
.ev-footer-cta__inner {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: end;
  position: relative; z-index: 1;
}
.ev-footer-cta__title {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: clamp(34px, 5.5vw, 84px); line-height: 1.04; letter-spacing: -0.015em;
  color: var(--ev-text); margin: 0; padding-bottom: 0.1em;
}
.ev-footer-cta__title em { font-style: italic; color: var(--ev-primary); text-shadow: 0 0 32px rgba(33,45,243,0.3); }
.ev-footer-cta__sub { font-size: 17px; color: var(--ev-text-soft); margin: 0 0 28px; line-height: 1.55; }

/* Grid */
.ev-footer-grid {
  display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 56px;
  padding: 72px 0 56px;
}
.ev-footer-col h4 {
  font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ev-primary); margin: 0 0 22px;
}
.ev-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ev-footer-col ul li { margin-bottom: 12px; }
.ev-footer-col ul a { font-size: 14px; color: var(--ev-text-soft); text-decoration: none; transition: color .2s ease; }
.ev-footer-col ul a:hover { color: var(--ev-text); }
.ev-footer-pay-title { margin-top: 28px !important; }

/* Brand col */
.ev-footer-logo { display: inline-flex; align-items: center; text-decoration: none; margin-bottom: 4px; }
.ev-footer-logo-mark {
  width: 36px; height: 28px; margin-right: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28'%3E%3Cg transform='skewX(-12)' fill='%230A0A0C'%3E%3Crect x='6' y='0' width='28' height='6.5' rx='2'/%3E%3Crect x='6' y='10.5' width='20' height='6.5' rx='2'/%3E%3Crect x='6' y='21' width='28' height='6.5' rx='2'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
}
.ev-footer-logo-text { font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; font-size: 34px; color: var(--ev-text); letter-spacing: 0.02em; }
.ev-footer-tagline {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: 24px; letter-spacing: -0.005em; color: var(--ev-text); margin: 18px 0 12px; line-height: 1.1;
}
.ev-footer-tagline em { font-style: italic; color: var(--ev-primary); }
.ev-footer-desc { font-size: 14px; line-height: 1.6; color: var(--ev-text-soft); margin: 0 0 28px; max-width: 360px; }
.ev-socials { display: flex; gap: 8px; }
.ev-socials a {
  width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--ev-border-2); border-radius: 50%; color: var(--ev-text-soft); transition: all .25s ease;
}
.ev-socials a svg { width: 18px; height: 18px; }
.ev-socials a:hover { background: var(--ev-primary); color: #fff; border-color: var(--ev-primary); transform: translateY(-2px); box-shadow: var(--ev-primary-glow); }
/* Força fill/stroke corretos (sobrescreve o tema base, normal E hover) */
/* Instagram = contorno: rect/circle só com stroke, nunca preenchido; o dot é fill */
.ev-socials a[aria-label="Instagram"] svg { fill: none !important; }
.ev-socials a[aria-label="Instagram"] svg rect,
.ev-socials a[aria-label="Instagram"] svg circle { fill: none !important; stroke: currentColor !important; stroke-width: 1.8px; }
.ev-socials a[aria-label="Instagram"] svg circle[r="1"],
.ev-socials a[aria-label="Instagram"] svg [fill="currentColor"] { fill: currentColor !important; stroke: none !important; }
/* WhatsApp = sólido: path sempre preenchido com a cor atual */
.ev-socials a[aria-label="WhatsApp"] svg,
.ev-socials a[aria-label="WhatsApp"] svg path { fill: currentColor !important; stroke: none !important; }

/* Pay methods */
.ev-pay-methods { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-pay-methods span {
  display: inline-block; padding: 6px 10px; border: 1px solid var(--ev-border-2); border-radius: 6px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.1em; color: var(--ev-text-soft);
}

/* Bottom */
.ev-footer-bottom {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  padding-top: 28px; border-top: 1px solid var(--ev-border);
  font-size: 11px; letter-spacing: 0.06em; color: var(--ev-text-dim);
}
.ev-footer-credits { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ev-footer-credits a { color: var(--ev-text-dim); }
.ev-footer-ssl { text-transform: uppercase; letter-spacing: 0.1em; }

/* Massive outline (escuro sobre branco) */
.ev-footer-massive {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: clamp(80px, 24vw, 360px); line-height: 0.82; letter-spacing: -0.03em;
  text-align: center; color: transparent;
  -webkit-text-stroke: 2px rgba(0,0,0,0.12);
  padding: 24px 16px 8px; margin: 0;
  overflow: hidden; white-space: nowrap; user-select: none; pointer-events: none;
  max-width: 100vw; box-sizing: border-box;
}

/* Footer responsivo */
@media (max-width: 1080px) {
  .ev-footer-cta__inner { grid-template-columns: 1fr; gap: 40px; align-items: start; }
  .ev-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 720px) {
  .ev-footer-cta { padding: 56px 0; }
  .ev-footer-grid { grid-template-columns: 1fr; gap: 32px; padding: 48px 0 36px; }
  .ev-footer-bottom { flex-direction: column; text-align: center; align-items: center; }
}

/* =========================================================
   MANIFESTO — página dark imersiva (Vista Sua Escuridão)
   ========================================================= */
.ev-manifesto {
  position: relative;
  background: #000;
  color: #f7f7f9;
  padding: 120px 0 140px;
  overflow: hidden;
  min-height: 90vh;
}
/* Vinheta */
.ev-manifesto::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 80% at 50% 50%, transparent 30%, rgba(0,0,0,0.7) 100%);
  pointer-events: none;
  z-index: 1;
}
.ev-manifesto-inner {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Névoa */
.ev-manifesto-fog { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.ev-fog-layer { position: absolute; border-radius: 50%; filter: blur(80px); mix-blend-mode: screen; }
.ev-fog-layer--1 { top: -10%; left: -15%; width: 70vw; height: 70vw; background: radial-gradient(circle, rgba(33,45,243,0.28), transparent 60%); animation: ev-fogDrift1 22s ease-in-out infinite; }
.ev-fog-layer--2 { bottom: -15%; right: -15%; width: 65vw; height: 65vw; background: radial-gradient(circle, rgba(168,0,176,0.18), transparent 60%); animation: ev-fogDrift2 28s ease-in-out infinite; }
.ev-fog-layer--3 { top: 25%; left: 30%; width: 55vw; height: 55vw; background: radial-gradient(circle, rgba(80,80,90,0.35), transparent 60%); animation: ev-fogDrift3 34s ease-in-out infinite; }
.ev-fog-layer--4 { top: 60%; left: 10%; width: 40vw; height: 40vw; background: radial-gradient(circle, rgba(33,45,243,0.14), transparent 60%); animation: ev-fogDrift1 26s ease-in-out infinite reverse; }
@keyframes ev-fogDrift1 { 0%,100% { transform: translate(0,0) scale(1); opacity:0.85; } 50% { transform: translate(80px,60px) scale(1.18); opacity:1; } }
@keyframes ev-fogDrift2 { 0%,100% { transform: translate(0,0) scale(1); opacity:0.7; } 50% { transform: translate(-100px,-50px) scale(1.15); opacity:0.95; } }
@keyframes ev-fogDrift3 { 0%,100% { transform: translate(0,0) scale(0.9); opacity:0.55; } 50% { transform: translate(60px,-90px) scale(1.1); opacity:0.85; } }

/* God rays */
.ev-god-rays {
  position: absolute; top: -10%; left: 0; right: 0; height: 70%;
  background: repeating-linear-gradient(100deg, transparent 0, transparent 70px, rgba(255,255,255,0.022) 70px, rgba(255,255,255,0.022) 73px, transparent 73px, transparent 150px);
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% -10%, black 0%, transparent 65%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% -10%, black 0%, transparent 65%);
  animation: ev-raysShift 16s ease-in-out infinite alternate;
  pointer-events: none; z-index: 0;
}
@keyframes ev-raysShift { from { transform: translateX(-50px) skewX(-2deg); opacity:0.6; } to { transform: translateX(50px) skewX(2deg); opacity:1; } }

/* Partículas */
.ev-particles { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.ev-particles span {
  position: absolute; bottom: -10px; width: 3px; height: 3px;
  background: rgba(255,255,255,0.7); border-radius: 50%;
  box-shadow: 0 0 8px rgba(33,45,243,0.7), 0 0 14px rgba(33,45,243,0.35);
  animation: ev-floatUp linear infinite; opacity: 0;
}
.ev-particles span:nth-child(1)  { left:4%;  animation-duration:16s; animation-delay:0s;  width:2px; height:2px; }
.ev-particles span:nth-child(2)  { left:12%; animation-duration:22s; animation-delay:3s; }
.ev-particles span:nth-child(3)  { left:21%; animation-duration:18s; animation-delay:6s;  width:4px; height:4px; }
.ev-particles span:nth-child(4)  { left:29%; animation-duration:24s; animation-delay:1s; }
.ev-particles span:nth-child(5)  { left:37%; animation-duration:20s; animation-delay:9s;  width:2px; height:2px; }
.ev-particles span:nth-child(6)  { left:45%; animation-duration:26s; animation-delay:4s; }
.ev-particles span:nth-child(7)  { left:53%; animation-duration:19s; animation-delay:11s; width:4px; height:4px; }
.ev-particles span:nth-child(8)  { left:61%; animation-duration:23s; animation-delay:2s; }
.ev-particles span:nth-child(9)  { left:69%; animation-duration:17s; animation-delay:7s; }
.ev-particles span:nth-child(10) { left:77%; animation-duration:25s; animation-delay:13s; width:2px; height:2px; }
.ev-particles span:nth-child(11) { left:85%; animation-duration:21s; animation-delay:5s; }
.ev-particles span:nth-child(12) { left:93%; animation-duration:27s; animation-delay:10s; width:4px; height:4px; }
@keyframes ev-floatUp {
  0%   { transform: translateY(0) translateX(0); opacity: 0; }
  10%  { opacity: 1; }
  50%  { transform: translateY(-50vh) translateX(30px); opacity: 0.8; }
  90%  { opacity: 0.5; }
  100% { transform: translateY(-95vh) translateX(-20px); opacity: 0; }
}

/* Storm — raios grandes orgânicos no fundo (Stranger Things vibe) */
.ev-storm { position: absolute; inset: 0; pointer-events: none; z-index: 1; overflow: hidden; }
.ev-storm-bolt { position: absolute; opacity: 0; will-change: opacity; }
.ev-storm-bolt path {
  fill: none; stroke: rgba(220,222,255,0.95); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.9)) drop-shadow(0 0 12px var(--ev-azul)) drop-shadow(0 0 28px rgba(33,45,243,0.7)) drop-shadow(0 0 60px rgba(168,0,176,0.35));
}
.ev-storm-bolt--1 { top:-3%; left:6%;  width:140px; height:60vh; animation: ev-stormStrike 7s steps(1,end) infinite 0.4s; }
.ev-storm-bolt--2 { top:-2%; right:8%; width:130px; height:50vh; animation: ev-stormStrike 8s steps(1,end) infinite 1.8s; }
.ev-storm-bolt--3 { top:-4%; left:56%; width:150px; height:58vh; animation: ev-stormStrike 9s steps(1,end) infinite 3.2s; }
.ev-storm-bolt--4 { top:-1%; left:28%; width:120px; height:45vh; animation: ev-stormStrike 10s steps(1,end) infinite 5s; }
@keyframes ev-stormStrike {
  0%,78% { opacity:0; } 79% { opacity:1; } 81% { opacity:0.15; } 83% { opacity:0.95; }
  85% { opacity:0.4; } 87% { opacity:0.85; } 90% { opacity:0.1; } 93% { opacity:0; }
}

/* Lightning flash — clarão sincronizado */
.ev-lightning-flash { position: absolute; inset: 0; pointer-events: none; opacity: 0; z-index: 1; mix-blend-mode: screen; will-change: opacity; }
.ev-lightning-flash--a { background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(33,45,243,0.45) 0%, transparent 60%), rgba(33,45,243,0.06); animation: ev-lightningFlash 13s steps(1,end) infinite 1.5s; }
.ev-lightning-flash--b { background: radial-gradient(ellipse 60% 40% at 30% 10%, rgba(168,0,176,0.30) 0%, transparent 60%), rgba(255,255,255,0.03); animation: ev-lightningFlash 17s steps(1,end) infinite 6s; }
.ev-lightning-flash--c { background: radial-gradient(ellipse 70% 50% at 70% 5%, rgba(33,45,243,0.35) 0%, transparent 60%), rgba(33,45,243,0.05); animation: ev-lightningFlash 19s steps(1,end) infinite 11s; }
@keyframes ev-lightningFlash {
  0%,92% { opacity:0; } 92.5% { opacity:1; } 93% { opacity:0.25; } 94% { opacity:0.9; }
  95% { opacity:0.45; } 96% { opacity:0.8; } 97% { opacity:0.12; } 98% { opacity:0; }
}

/* Ground fog — neblina rasteira (Silent Hill vibe) */
.ev-ground-fog {
  position: absolute; top: 12%; bottom: 0; left: 0; right: 0; pointer-events: none; overflow: hidden; z-index: 1;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.30) 12%, rgba(0,0,0,0.60) 45%, rgba(0,0,0,0.85) 78%, black 100%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.30) 12%, rgba(0,0,0,0.60) 45%, rgba(0,0,0,0.85) 78%, black 100%);
}
.ev-ground-fog__band {
  position: absolute; width: 220%; height: 100%; filter: blur(28px); will-change: transform;
  background:
    radial-gradient(ellipse 50% 28% at 25% 75%, rgba(180,185,205,0.22) 0%, transparent 65%),
    radial-gradient(ellipse 45% 24% at 65% 60%, rgba(150,155,180,0.18) 0%, transparent 65%),
    radial-gradient(ellipse 35% 18% at 50% 90%, rgba(110,115,140,0.22) 0%, transparent 60%),
    radial-gradient(ellipse 38% 22% at 85% 80%, rgba(140,145,170,0.16) 0%, transparent 65%);
}
.ev-ground-fog__band--1 { bottom:-5%;  left:-60%;  opacity:0.95; animation: ev-groundFogDrift 42s linear infinite; }
.ev-ground-fog__band--2 { bottom:20%;  left:-110%; opacity:0.7;  animation: ev-groundFogDrift 64s linear infinite reverse; }
.ev-ground-fog__band--3 { bottom:45%;  left:-80%;  opacity:0.5;  animation: ev-groundFogDrift 90s linear infinite; }
.ev-ground-fog__band--4 { top:5%;      left:-130%; opacity:0.35; animation: ev-groundFogDrift 110s linear infinite reverse; }
@keyframes ev-groundFogDrift { from { transform: translateX(0); } to { transform: translateX(50%); } }

/* Tipografia do manifesto */
.ev-manifesto .ev-breadcrumb {
  font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-bottom: 28px;
}
.ev-manifesto .ev-breadcrumb a { color: rgba(255,255,255,0.4); }
.ev-manifesto .ev-section-tag { color: #6b78ff; }
.ev-manifesto-title {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: clamp(48px, 9vw, 124px); line-height: 1.04; letter-spacing: -0.015em;
  margin: 16px 0 40px; color: #f7f7f9; padding-bottom: 0.1em;
}
.ev-manifesto-title em {
  display: inline-block; font-style: italic;
  background: linear-gradient(180deg, #3a3a42 0%, #060606 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  -webkit-text-stroke: 1.5px #3a3b41;
  filter: drop-shadow(0 0 24px rgba(33,45,243,0.4)) drop-shadow(0 0 48px rgba(33,45,243,0.2));
  animation: ev-emberPulse 6s ease-in-out infinite;
}
@keyframes ev-emberPulse {
  0%,100% { filter: drop-shadow(0 0 24px rgba(33,45,243,0.4)) drop-shadow(0 0 48px rgba(33,45,243,0.2)); }
  50%     { filter: drop-shadow(0 0 36px rgba(33,45,243,0.6)) drop-shadow(0 0 72px rgba(168,0,176,0.25)); }
}
.ev-manifesto-body {
  font-family: 'Rubik', sans-serif;
  font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; color: #b8babf; max-width: 720px;
}
.ev-manifesto-body p { margin: 0 0 24px; }
.ev-manifesto-body strong { color: #f7f7f9; font-weight: 700; }
.ev-manifesto-body .ev-pause { display: block; height: 2px; width: 56px; background: var(--ev-primary); margin: 36px 0; }
/* textão editável pelo painel — força claro sobre o fundo escuro (vence estilos colados) */
.ev-manifesto-body .user-content,
.ev-manifesto-body .user-content p,
.ev-manifesto-body .user-content span,
.ev-manifesto-body .user-content em,
.ev-manifesto-body .user-content li { font-family: 'Rubik', sans-serif !important; color: #b8babf !important; background-color: transparent !important; }
.ev-manifesto-body .user-content strong, .ev-manifesto-body .user-content b { color: #f7f7f9 !important; }
.ev-manifesto-body .user-content p { margin: 0 0 24px; }
.ev-manifesto-sign {
  margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.1);
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: 32px; color: #f7f7f9;
}
.ev-manifesto-sign small {
  display: block; font-style: normal; font-size: 12px; font-weight: 500;
  letter-spacing: 0.2em; color: rgba(255,255,255,0.4); text-transform: uppercase; margin-top: 6px;
}
.ev-manifesto-cta { margin-top: 48px; display: flex; gap: 14px; flex-wrap: wrap; }

@media (max-width: 720px) {
  .ev-manifesto { padding: 72px 0 90px; }
  .ev-manifesto-title { font-size: clamp(40px, 12vw, 72px); }
  .ev-manifesto-body { font-size: 16px; }
}

/* =========================================================
   EFEITOS GLOBAIS — xadrez, reveal, whatsapp float
   ========================================================= */

/* Grid xadrez (fundo sutil) */
.ev-bg-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}
.ev-hero { position: relative; }
.ev-hero .ev-hero-inner { position: relative; z-index: 2; }
/* .ev-hero-pattern fica position:absolute (base) — decoracao de fundo, NAO no fluxo.
   Se entrar no fluxo (relative) + .ev-hero flex-column, ele empilha embaixo do
   conteudo e estica o hero ~700px (abismo vertical). Manter SEMPRE absolute. */

/* Reveal on scroll */
.ev-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s cubic-bezier(0.4,0,0.2,1), transform .8s cubic-bezier(0.4,0,0.2,1);
}
.ev-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* WhatsApp flutuante */
.ev-wpp-float {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 56px; height: 56px;
  background: #25d366;
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.5);
  transition: transform .25s ease;
  animation: ev-wppPulse 2.4s ease-in-out infinite;
  text-decoration: none;
}
.ev-wpp-float svg { width: 26px; height: 26px; }
.ev-wpp-float:hover { transform: scale(1.08); }
@keyframes ev-wppPulse {
  0%,100% { box-shadow: 0 8px 24px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.5); }
  50%     { box-shadow: 0 8px 24px rgba(37,211,102,0.4), 0 0 0 16px rgba(37,211,102,0); }
}
@media (max-width: 720px) { .ev-wpp-float { width: 50px; height: 50px; bottom: 16px; right: 16px; } }

/* =========================================================
   NEWSLETTER (nativa) estilizada igual a demo — pill + botão azul
   ========================================================= */
.ev-footer-cta .newsletter { max-width: 100%; width: 100%; }
.ev-footer-cta .newsletter form { width: 100%; }
.ev-footer-cta .newsletter form .input-append {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  width: 100%;
  background: #fff;
  border: 1px solid var(--ev-border-2);
  border-radius: var(--ev-radius-pill);
  transition: border-color .3s ease;
}
.ev-footer-cta .newsletter form .input-append:focus-within { border-color: var(--ev-primary); }
.ev-footer-cta .newsletter .input-group,
.ev-footer-cta .newsletter .form-group { flex: 1; margin: 0 !important; }
.ev-footer-cta .newsletter input[type="email"],
.ev-footer-cta .newsletter input.form-control,
.ev-footer-cta .newsletter .js-input {
  width: 100%;
  flex: 1;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
  font-family: 'Rubik', sans-serif;
  font-size: 15px;
  color: var(--ev-text);
  height: auto !important;
}
.ev-footer-cta .newsletter .newsletter-btn {
  flex-shrink: 0;
  padding: 14px 24px !important;
  background: var(--ev-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ev-radius-pill) !important;
  font-family: 'Rubik', sans-serif !important;
  font-style: italic !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background .25s ease, box-shadow .25s ease;
  text-decoration: none !important;
  width: auto !important;
}
.ev-footer-cta .newsletter .newsletter-btn:hover {
  background: var(--ev-primary-hover) !important;
  box-shadow: var(--ev-primary-glow);
}

/* =========================================================
   NAV CUSTOM DESKTOP — Produtos (dropdown) + Manifesto
   ========================================================= */
.ev-nav { display: flex; justify-content: center; width: 100%; }
.ev-nav-list { display: flex; gap: 38px; align-items: center; list-style: none; margin: 0; padding: 0; }
.ev-nav-link {
  font-family: 'Rubik', sans-serif;
  font-weight: 600; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ev-text); text-decoration: none;
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  transition: color .2s ease; white-space: nowrap; background: none; border: none;
}
.ev-nav-link:hover { color: var(--ev-primary); }
.ev-caret {
  display: inline-block; width: 0; height: 0;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor; transition: transform .2s ease;
}
.ev-nav-dropdown { position: relative; }
.ev-nav-dropdown:hover .ev-caret { transform: rotate(180deg); }
.ev-nav-submenu {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(14px);
  background: #fff; border: 1px solid var(--ev-border-2); border-radius: 12px;
  padding: 8px; min-width: 200px;
  opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease;
  box-shadow: 0 20px 50px rgba(0,0,0,0.12); z-index: 300;
}
.ev-nav-dropdown:hover .ev-nav-submenu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(10px); }
/* ponte de hover pra não fechar ao mover o mouse */
.ev-nav-submenu::before { content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.ev-nav-submenu a {
  display: block; padding: 11px 16px;
  font-family: 'Rubik', sans-serif; font-size: 13px; font-weight: 500;
  color: var(--ev-text-soft); text-decoration: none; border-radius: 8px;
  transition: background .15s ease, color .15s ease;
  text-transform: none; letter-spacing: 0;
}
.ev-nav-submenu a:hover { background: var(--ev-primary-soft); color: var(--ev-primary); }
/* destaque do "Todos" (item ver-tudo) só no 1º dropdown = Loja; no Marca os itens ficam uniformes */
.ev-nav-dropdown:first-of-type .ev-nav-submenu a:first-child { font-weight: 700; color: var(--ev-text); border-bottom: 1px solid var(--ev-border); border-radius: 8px 8px 0 0; margin-bottom: 4px; }

/* =========================================================
   PÁGINAS INSTITUCIONAIS — Quem Somos, Como Comprar, Trocas,
   Privacidade, FAQ. Layout claro com identidade EIVOR.
   ========================================================= */
.ev-page {
  position: relative;
  overflow: hidden;
  padding: 64px 0 100px;
  background: linear-gradient(180deg, #fff, var(--ev-bg-1));
  border-bottom: 1px solid var(--ev-border);
}
.ev-page-inner { position: relative; z-index: 2; }

.ev-page .ev-breadcrumb {
  font-family: 'Rubik', sans-serif; font-size: 12px; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--ev-text-dim); margin-bottom: 26px;
}
.ev-page .ev-breadcrumb a { color: var(--ev-text-dim); text-decoration: none; transition: color .2s ease; }
.ev-page .ev-breadcrumb a:hover { color: var(--ev-primary); }
.ev-page .ev-breadcrumb span { color: var(--ev-text); }

/* hero */
.ev-page-hero { max-width: 820px; margin-bottom: 44px; }
.ev-page-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 7px 16px; border: 1px solid var(--ev-border-2); border-radius: var(--ev-radius-pill);
  font-family: 'Rubik', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ev-text-soft); margin-bottom: 22px;
}
.ev-page-eyebrow .ev-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--ev-primary);
  box-shadow: var(--ev-primary-glow); animation: ev-pulse 1.8s ease-in-out infinite;
}
.ev-page-title {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: clamp(40px, 6.5vw, 76px); line-height: 1.03; letter-spacing: -0.015em;
  color: var(--ev-text); margin: 0 0 22px; text-transform: uppercase; padding-bottom: 0.05em;
}
.ev-page-title em { font-style: italic; color: var(--ev-primary); text-shadow: 0 0 32px rgba(33,45,243,0.22); }
.ev-page-lead { font-size: clamp(17px, 2vw, 21px); line-height: 1.6; color: var(--ev-text-soft); margin: 0; max-width: 650px; }

/* prose */
.ev-page-body { max-width: 760px; }
.ev-page-body h2 {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: clamp(22px, 3vw, 30px); text-transform: uppercase; letter-spacing: -0.01em;
  color: var(--ev-text); margin: 46px 0 16px; padding-left: 16px; border-left: 4px solid var(--ev-primary);
}
.ev-page-body h3 { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 18px; color: var(--ev-text); margin: 0 0 6px; }
.ev-page-body p { font-size: 16px; line-height: 1.75; color: var(--ev-text-soft); margin: 0 0 16px; }
.ev-page-body a { color: var(--ev-primary); text-decoration: none; border-bottom: 1px solid rgba(33,45,243,0.3); transition: border-color .2s ease; }
.ev-page-body a:hover { border-color: var(--ev-primary); }
.ev-page-body strong { color: var(--ev-text); font-weight: 700; }
.ev-page-body ul { margin: 0 0 20px; padding: 0; list-style: none; }
.ev-page-body ul li { position: relative; padding-left: 22px; margin-bottom: 10px; font-size: 16px; line-height: 1.6; color: var(--ev-text-soft); }
.ev-page-body ul li::before { content: ''; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--ev-primary); }

/* stats (quem somos) */
.ev-page-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 34px 0; max-width: 560px; }
.ev-page-stats > div { padding-left: 16px; border-left: 2px solid var(--ev-primary); }
.ev-page-stats strong { display: block; font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; font-size: 30px; line-height: 1; color: var(--ev-text); }
.ev-page-stats span { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ev-text-dim); }

/* steps numerados */
.ev-steps { list-style: none; margin: 8px 0 0; padding: 0; }
.ev-steps li { display: flex; gap: 20px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid var(--ev-border); }
.ev-steps li:last-child { border-bottom: none; }
.ev-step-num {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ev-primary); color: #fff; font-family: 'Rubik', sans-serif;
  font-style: italic; font-weight: 900; font-size: 19px; box-shadow: var(--ev-primary-glow);
}
.ev-steps p { margin: 0; }
.ev-steps--compact li { padding: 14px 0; border-bottom: none; }
.ev-steps--compact .ev-step-num { width: 34px; height: 34px; font-size: 15px; border-radius: 9px; }

/* cards (trocas) */
.ev-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 8px 0; }
.ev-card { background: #fff; border: 1px solid var(--ev-border-2); border-radius: 16px; padding: 24px; transition: border-color .2s ease, transform .2s ease; }
.ev-card:hover { border-color: var(--ev-primary); transform: translateY(-3px); }
.ev-card-tag { display: inline-block; padding: 4px 12px; border-radius: var(--ev-radius-pill); background: var(--ev-primary-soft); color: var(--ev-primary); font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 14px; }
.ev-card h3 { margin-bottom: 8px; }
.ev-card p { font-size: 14.5px; line-height: 1.6; color: var(--ev-text-soft); margin: 0; }

/* checklist (sobrescreve o bullet redondo do ul) */
.ev-page-body .ev-checklist li { padding-left: 32px; }
.ev-page-body .ev-checklist li::before {
  content: '✓'; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--ev-primary); color: #fff; font-size: 11px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}

/* faq accordion */
.ev-faq { margin: 8px 0 0; border-top: 1px solid var(--ev-border); }
.ev-faq details { border-bottom: 1px solid var(--ev-border); }
.ev-faq summary {
  list-style: none; cursor: pointer; padding: 20px 44px 20px 0; position: relative;
  font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 16.5px; color: var(--ev-text); transition: color .2s ease;
}
.ev-faq summary::-webkit-details-marker { display: none; }
.ev-faq summary::after { content: '+'; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 300; color: var(--ev-primary); }
.ev-faq summary:hover { color: var(--ev-primary); }
.ev-faq details[open] summary { color: var(--ev-primary); }
.ev-faq details[open] summary::after { content: '−'; }
.ev-faq-a { padding: 0 44px 22px 0; }
.ev-faq-a p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--ev-text-soft); }

/* legal (privacidade) */
.ev-page-legal p, .ev-page-legal li { font-size: 15px; }
.ev-page-legal h2 { font-size: clamp(19px, 2.4vw, 24px); margin-top: 34px; }

/* nota / cta */
.ev-page-note { font-size: 13.5px; font-style: italic; color: var(--ev-text-dim); border-left: 3px solid var(--ev-border-2); padding-left: 14px; margin-top: 24px; }
.ev-page-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 46px; padding-top: 34px; border-top: 1px solid var(--ev-border); }

@media (max-width: 720px) {
  .ev-page { padding: 36px 0 64px; }
  .ev-cards { grid-template-columns: 1fr; }
  .ev-page-stats { gap: 12px; }
  .ev-page-stats strong { font-size: 22px; }
  .ev-page-body h2 { margin-top: 36px; }
  .ev-steps li { gap: 14px; }
  .ev-page-cta .ev-btn { flex: 1 1 100%; text-align: center; }
}

/* ===== FALE CONOSCO (contato) ===== */
.ev-contact-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 44px; align-items: start; margin-top: 8px; }
.ev-contact-info h2, .ev-contact-form h2 {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; text-transform: uppercase;
  font-size: 22px; color: var(--ev-text); margin: 0 0 8px; letter-spacing: -0.01em;
}
.ev-contact-sub { font-size: 15px; color: var(--ev-text-soft); margin: 0 0 22px; line-height: 1.5; }

.ev-contact-channel {
  display: flex; align-items: center; gap: 14px;
  padding: 15px 18px; border: 1px solid var(--ev-border-2); border-radius: 14px;
  margin-bottom: 12px; text-decoration: none; color: var(--ev-text);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.ev-contact-channel:hover { border-color: var(--ev-primary); transform: translateY(-2px); }
.ev-contact-ico { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: var(--ev-primary-soft); color: var(--ev-primary); }
.ev-contact-ico svg { width: 22px; height: 22px; }
.ev-contact-txt { display: flex; flex-direction: column; line-height: 1.3; }
.ev-contact-txt strong { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 15px; color: var(--ev-text); }
.ev-contact-txt small { font-size: 13px; color: var(--ev-text-dim); }
.ev-contact-channel--wpp { background: var(--ev-primary); border-color: var(--ev-primary); box-shadow: var(--ev-primary-glow); }
.ev-contact-channel--wpp:hover { background: var(--ev-primary-hover); }
.ev-contact-channel--wpp .ev-contact-ico { background: rgba(255,255,255,0.18); color: #fff; }
.ev-contact-channel--wpp .ev-contact-txt strong { color: #fff; }
.ev-contact-channel--wpp .ev-contact-txt small { color: rgba(255,255,255,0.82); }
.ev-contact-note { font-size: 13px; color: var(--ev-text-dim); line-height: 1.55; margin-top: 18px; }

.ev-contact-form { background: #fff; border: 1px solid var(--ev-border); border-radius: 18px; padding: 28px; box-shadow: 0 10px 40px rgba(0,0,0,0.04); }
.ev-contact-form .form-group, .ev-contact-form .input-group, .ev-contact-form .form-row { margin-bottom: 16px; }
.ev-contact-form label { font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ev-text-soft); margin-bottom: 6px; display: block; }
.ev-contact-form input, .ev-contact-form textarea, .ev-contact-form select, .ev-contact-form .form-control {
  width: 100%; font-family: 'Rubik', sans-serif; font-size: 15px; color: var(--ev-text);
  background: var(--ev-bg-1); border: 1px solid var(--ev-border-2); border-radius: 10px;
  padding: 12px 14px; transition: border-color .2s ease, box-shadow .2s ease;
}
.ev-contact-form input:focus, .ev-contact-form textarea:focus, .ev-contact-form .form-control:focus {
  outline: none; border-color: var(--ev-primary); box-shadow: 0 0 0 3px var(--ev-primary-soft); background: #fff;
}
.ev-contact-form textarea { resize: vertical; min-height: 120px; }
.ev-contact-form [type="submit"], .ev-contact-form button.btn, .ev-contact-form .btn {
  width: 100%; margin-top: 6px; padding: 14px 24px;
  background: var(--ev-primary) !important; color: #fff !important; border: none !important;
  border-radius: var(--ev-radius-pill) !important; cursor: pointer;
  font-family: 'Rubik', sans-serif !important; font-style: italic !important; font-weight: 900 !important;
  font-size: 13px !important; letter-spacing: 0.08em; text-transform: uppercase;
  transition: background .2s ease, box-shadow .2s ease;
}
.ev-contact-form [type="submit"]:hover, .ev-contact-form .btn:hover { background: var(--ev-primary-hover) !important; box-shadow: var(--ev-primary-glow); }
.ev-contact-product { font-size: 14px; color: var(--ev-text-soft); margin: 0 0 18px; padding: 10px 14px; background: var(--ev-bg-1); border-radius: 10px; }
.ev-contact-product a { color: var(--ev-primary); }

.ev-alert { padding: 16px 20px; border-radius: 12px; font-size: 15px; line-height: 1.5; margin-bottom: 28px; max-width: 820px; }
.ev-alert--ok { background: rgba(8,176,0,0.08); border: 1px solid rgba(8,176,0,0.3); color: #0a7a05; }
.ev-alert--err { background: rgba(220,38,38,0.07); border: 1px solid rgba(220,38,38,0.3); color: #c62828; }

@media (max-width: 820px) {
  .ev-contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .ev-contact-form { padding: 22px; }
}

/* =========================================================
   VITRINE DE PRODUTOS — header de categoria + cards do grid
   (CSS sobre as classes nativas; funcionalidade preservada)
   ========================================================= */
/* ----- header de categoria ----- */
.ev-cat-head { padding: 52px 28px 28px; max-width: var(--ev-container); margin: 0 auto; }
.ev-cat-head .ev-breadcrumb { font-family: 'Rubik', sans-serif; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ev-text-dim); margin-bottom: 18px; }
.ev-cat-head .ev-breadcrumb a { color: var(--ev-text-dim); text-decoration: none; transition: color .2s ease; }
.ev-cat-head .ev-breadcrumb a:hover { color: var(--ev-primary); }
.ev-cat-head .ev-breadcrumb span { color: var(--ev-text); }
.ev-cat-head .ev-page-eyebrow { margin-bottom: 16px; }
.ev-cat-title { font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; text-transform: uppercase; font-size: clamp(36px, 6vw, 66px); line-height: 1; letter-spacing: -0.02em; color: var(--ev-text); margin: 0; padding-bottom: 0.06em; }
.ev-cat-desc { font-size: 16px; line-height: 1.6; color: var(--ev-text-soft); margin: 16px 0 0; max-width: 640px; }

/* ----- card do produto ----- */
.js-item-product { margin-bottom: 10px; }
.js-item-product .js-item-info-container.item {
  background: #fff; border: 1px solid var(--ev-border); border-radius: 16px; overflow: hidden;
  height: 100%; margin-bottom: 0;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.js-item-product:hover .js-item-info-container.item {
  border-color: var(--ev-primary); transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}
/* imagem com proporção fixa (placeholder ou foto uniformes) */
.js-item-product .item-image {
  position: relative; aspect-ratio: 4 / 5; max-height: none; background: var(--ev-bg-1); overflow: hidden;
}
.js-item-product .item-image img { transition: transform .5s var(--ev-ease); }
.js-item-product:hover .item-image img { transform: scale(1.05); }
/* texto */
.js-item-product .item-description { padding: 15px 16px 16px; text-align: left; }
.js-item-product .js-item-name, .js-item-product .item-name {
  font-family: 'Rubik', sans-serif !important; font-weight: 600 !important; font-size: 14px !important;
  line-height: 1.35; color: var(--ev-text) !important; text-transform: none; letter-spacing: 0; opacity: 1 !important;
  margin-bottom: 8px; min-height: 2.7em;
}
.js-item-product .item-price-container { font-size: 16px; line-height: 1.3; }
.js-item-product .js-price-display, .js-item-product .item-price {
  font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 16px; color: var(--ev-text);
}
.js-item-product .price-compare { color: var(--ev-text-dim); font-size: 13px; }
.js-item-product .item-installments { color: var(--ev-text-dim); }
/* labels flutuantes */
.label.label-accent { background: var(--ev-primary) !important; color: #fff !important; border-radius: var(--ev-radius-pill); font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: 0.06em; padding: 5px 11px; }
.label.label-default { background: var(--ev-text) !important; color: #fff !important; border-radius: var(--ev-radius-pill); font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 10px; letter-spacing: 0.04em; padding: 5px 11px; }
/* botão comprar (quickshop / add direto) */
.js-item-product .item-actions { padding: 0 16px 16px; margin-top: 0 !important; }
.js-item-product .btn-small-quickshop,
.js-item-product .item-actions .js-addtocart {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; width: 100%;
  padding: 10px 16px; border-radius: var(--ev-radius-pill); background: var(--ev-primary); color: #fff !important;
  border: none; cursor: pointer; font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900;
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; transition: background .2s ease, box-shadow .2s ease;
}
.js-item-product .btn-small-quickshop:hover,
.js-item-product .item-actions .js-addtocart:hover { background: var(--ev-primary-hover); box-shadow: var(--ev-primary-glow); }

/* "Filtrar" / controles */
.category-controls .btn-link, .js-category-controls .btn-link { font-family: 'Rubik', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; }

@media (max-width: 720px) {
  .ev-cat-head { padding: 32px 20px 20px; }
  .js-item-product .item-description { padding: 12px 12px 14px; }
  .js-item-product .js-item-name, .js-item-product .item-name { font-size: 13px !important; }
}

/* =========================================================
   PÁGINA DE PRODUTO — galeria, preço, variantes, descrição
   ========================================================= */
.template-product #single-product { padding-top: 26px; }
/* breadcrumb */
.template-product .breadcrumb, .template-product .breadcrumbs, .template-product nav[aria-label="breadcrumb"] {
  font-family: 'Rubik', sans-serif; font-size: 12px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ev-text-dim);
}
/* galeria com cantos arredondados e fundo */
.template-product .product-detail-slider,
.template-product .js-swiper-product { border-radius: 18px; overflow: hidden; background: var(--ev-bg-1); }
.template-product .js-product-slide, .template-product .product-slide { background: var(--ev-bg-1); }
.template-product .product-thumbs-container .swiper-slide img,
.template-product .js-swiper-product-thumbs .swiper-slide { border-radius: 10px; overflow: hidden; }
/* nome (ajusta o tamanho do override global Rubik Black) */
.template-product #single-product h2.h4 { font-size: clamp(24px, 3vw, 34px); line-height: 1.08; margin-bottom: 8px; letter-spacing: -0.01em; }
.template-product .js-product-sku { font-family: 'Rubik', sans-serif; }
/* preço */
.template-product #price_display, .template-product .price-container .js-price-display {
  font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; font-size: clamp(26px, 3vw, 34px);
  color: var(--ev-text); line-height: 1;
}
.template-product .price-container .price-compare { color: var(--ev-text-dim); font-weight: 500; }
/* botão comprar (já azul via override; refina forma e tipografia) */
.template-product .btn-add-to-cart, .template-product .js-buy-button-container .btn {
  border-radius: var(--ev-radius-pill) !important; padding: 16px 24px !important;
  font-family: 'Rubik', sans-serif !important; font-style: italic !important; font-weight: 900 !important;
  font-size: 14px !important; letter-spacing: 0.06em; text-transform: uppercase;
  box-shadow: var(--ev-primary-glow); transition: background .2s ease, box-shadow .2s ease, transform .15s ease;
}
.template-product .btn-add-to-cart:hover { box-shadow: 0 0 44px rgba(33,45,243,0.55); }
.template-product .btn-add-to-cart:active { transform: scale(0.99); }
/* variantes (tamanho/cor) */
.template-product .form-label { font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ev-text-soft); margin-bottom: 8px; }
.template-product .form-select, .template-product select.js-variation-option {
  font-family: 'Rubik', sans-serif; border: 1px solid var(--ev-border-2); border-radius: 10px; padding: 12px 14px; background: #fff; color: var(--ev-text);
}
.template-product .form-select:focus { border-color: var(--ev-primary); box-shadow: 0 0 0 3px var(--ev-primary-soft); outline: none; }
.template-product .btn-variant {
  border: 1px solid var(--ev-border-2) !important; border-radius: 10px !important; background: #fff !important;
  font-family: 'Rubik', sans-serif; font-weight: 600; color: var(--ev-text); padding: 0; transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.template-product .btn-variant .btn-variant-content { padding: 10px 16px; }
.template-product .btn-variant:hover { border-color: var(--ev-primary) !important; }
.template-product .btn-variant.selected { border-color: var(--ev-primary) !important; background: var(--ev-primary) !important; color: #fff !important; }
.template-product .btn-variant.selected .btn-variant-content { color: #fff; }
/* descrição (user-content) + tabela de medidas */
.template-product .user-content { font-size: 15.5px; line-height: 1.75; color: var(--ev-text-soft); }
.template-product .user-content p { margin-bottom: 14px; }
.template-product .user-content strong, .template-product .user-content b { color: var(--ev-text); }
.template-product .user-content h2, .template-product .user-content h3, .template-product .user-content h4 {
  font-family: 'Rubik', sans-serif !important; font-style: italic !important; font-weight: 900 !important; text-transform: uppercase;
  color: var(--ev-text) !important; font-size: clamp(18px, 2.2vw, 22px) !important; margin: 28px 0 12px;
}
.template-product .user-content table { width: 100%; border-collapse: collapse; margin: 12px 0 20px; font-size: 14px; }
.template-product .user-content table th, .template-product .user-content table td { border: 1px solid var(--ev-border); padding: 9px 12px; text-align: center; }
.template-product .user-content table th { background: var(--ev-bg-1); font-family: 'Rubik', sans-serif; font-weight: 700; color: var(--ev-text); text-transform: uppercase; font-size: 12px; letter-spacing: 0.04em; }
.template-product .user-content a { color: var(--ev-primary); }
/* produtos relacionados — herdam o estilo de card (.js-item-product) */
.template-product .product-related .ev-section-title, .template-product .swiper-slide-related h2 { font-family: 'Rubik', sans-serif; }

/* descrição: força a identidade sobre os estilos inline colados de editor (DM Sans/cores fixas) */
.template-product .user-content,
.template-product .user-content p,
.template-product .user-content span,
.template-product .user-content em,
.template-product .user-content li,
.template-product .user-content strong,
.template-product .user-content b { font-family: 'Rubik', sans-serif !important; }
.template-product .user-content p,
.template-product .user-content span,
.template-product .user-content li,
.template-product .user-content em { color: var(--ev-text-soft) !important; background-color: transparent !important; }
.template-product .user-content strong, .template-product .user-content b { color: var(--ev-text) !important; }

/* tabela de medidas (gerada do markdown pelo JS) */
.ev-size-table-wrap { overflow-x: auto; margin: 18px 0 24px; border: 1px solid var(--ev-border); border-radius: 12px; }
.ev-size-table { width: 100%; border-collapse: collapse; font-family: 'Rubik', sans-serif; font-size: 14px; }
.template-product .ev-size-table th, .template-product .ev-size-table td { padding: 12px 14px; text-align: center; border-bottom: 1px solid var(--ev-border); border-right: 1px solid var(--ev-border); }
.template-product .ev-size-table th:last-child, .template-product .ev-size-table td:last-child { border-right: none; }
.template-product .ev-size-table tbody tr:last-child th, .template-product .ev-size-table tbody tr:last-child td { border-bottom: none; }
.template-product .ev-size-table thead th { background: var(--ev-primary) !important; color: #fff !important; font-weight: 700; text-transform: uppercase; font-size: 11.5px; letter-spacing: 0.05em; border-right-color: rgba(255,255,255,0.18); }
.template-product .ev-size-table tbody th { background: var(--ev-bg-1) !important; color: var(--ev-text) !important; font-weight: 700; text-align: left; text-transform: uppercase; font-size: 12px; }
.template-product .ev-size-table tbody td { color: var(--ev-text-soft) !important; font-weight: 500; }
.template-product .ev-size-table tbody tr:hover th, .template-product .ev-size-table tbody tr:hover td { background: var(--ev-primary-soft) !important; }

/* =========================================================
   CONTEÚDO EDITÁVEL DO LOJISTA (page.content) nas páginas
   institucionais — mantém o padrão EIVOR. O .ev-page-body já
   estiliza h2/h3/p/ul/a; aqui força a fonte sobre estilos colados
   e transforma listas numeradas em "passos" + estiliza tabelas.
   ========================================================= */
.ev-page .user-content { max-width: 760px; }
.ev-page .user-content,
.ev-page .user-content p,
.ev-page .user-content span,
.ev-page .user-content li,
.ev-page .user-content em,
.ev-page .user-content strong,
.ev-page .user-content b,
.ev-page .user-content td,
.ev-page .user-content th { font-family: 'Rubik', sans-serif !important; }
.ev-page .user-content p,
.ev-page .user-content span,
.ev-page .user-content li,
.ev-page .user-content em { color: var(--ev-text-soft) !important; background-color: transparent !important; }
.ev-page .user-content strong, .ev-page .user-content b { color: var(--ev-text) !important; }
.ev-page .user-content a { color: var(--ev-primary) !important; }
/* lista comum (ul) → checklist com ✓ azul, igual ao original */
.ev-page .user-content ul { list-style: none; padding: 0; margin: 12px 0 22px; }
.ev-page .user-content ul > li { position: relative; padding: 6px 0 6px 34px; margin: 0; }
.ev-page .user-content ul > li::before { content: '✓'; position: absolute; left: 0; top: 7px; width: 21px; height: 21px; border-radius: 50%; background: var(--ev-primary); color: #fff !important; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
/* lista numerada → passos com número azul.
   Número absoluto à esquerda, conteúdo flui normal (SEM flex, que espremia
   título+descrição quando o texto vem do editor). strong no início = título. */
.ev-page .user-content ol { list-style: none; counter-reset: ev-ol; padding: 0; margin: 10px 0 22px; }
.ev-page .user-content ol > li { counter-increment: ev-ol; position: relative; padding: 15px 0 15px 62px; margin: 0; min-height: 42px; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--ev-border); }
.ev-page .user-content ol > li:last-child { border-bottom: none; }
.ev-page .user-content ol > li::before { content: counter(ev-ol); position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 12px; background: var(--ev-primary); color: #fff; font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; font-size: 17px; display: inline-flex; align-items: center; justify-content: center; box-shadow: var(--ev-primary-glow); }
.ev-page .user-content ol > li > strong:first-child { display: block; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 16px; color: var(--ev-text) !important; margin-bottom: 3px; }
.ev-page .user-content ol > li p { margin: 0; }
/* tabelas do editor */
.ev-page .user-content table { width: 100%; border-collapse: collapse; margin: 16px 0 22px; font-family: 'Rubik', sans-serif; font-size: 14px; border: 1px solid var(--ev-border); border-radius: 12px; overflow: hidden; }
.ev-page .user-content table th, .ev-page .user-content table td { border: 1px solid var(--ev-border); padding: 11px 14px; text-align: center; }
.ev-page .user-content table th { background: var(--ev-primary) !important; color: #fff !important; text-transform: uppercase; font-weight: 700; font-size: 12px; letter-spacing: 0.04em; }
.ev-page .user-content table td { color: var(--ev-text-soft) !important; }
.ev-page .user-content img { max-width: 100%; height: auto; border-radius: 12px; }
.ev-page .user-content blockquote { border-left: 4px solid var(--ev-primary); padding-left: 18px; margin: 18px 0; font-style: italic; color: var(--ev-text); }
/* FAQ: perguntas (heading terminando com "?") viram accordion via JS → .ev-faq-item */
.ev-page .user-content details.ev-faq-item { border-bottom: 1px solid var(--ev-border); }
.ev-page .user-content details.ev-faq-item:first-of-type { border-top: 1px solid var(--ev-border); margin-top: 8px; }
.ev-page .user-content details.ev-faq-item summary {
  list-style: none; cursor: pointer; padding: 18px 44px 18px 0; position: relative;
  font-family: 'Rubik', sans-serif !important; font-weight: 700 !important; font-size: 16px !important;
  color: var(--ev-text) !important; transition: color .2s ease;
}
.ev-page .user-content details.ev-faq-item summary::-webkit-details-marker { display: none; }
.ev-page .user-content details.ev-faq-item summary::after { content: '+'; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 300; color: var(--ev-primary); }
.ev-page .user-content details.ev-faq-item summary:hover { color: var(--ev-primary) !important; }
.ev-page .user-content details.ev-faq-item[open] summary { color: var(--ev-primary) !important; }
.ev-page .user-content details.ev-faq-item[open] summary::after { content: '−'; }
.ev-page .user-content details.ev-faq-item .ev-faq-a { padding: 0 44px 18px 0; }
.ev-page .user-content details.ev-faq-item .ev-faq-a p { margin: 0; }
/* primeiro parágrafo do conteúdo editado = lead em destaque (como era no original) */
.ev-page-body .user-content > p:first-child { font-size: clamp(17px, 2vw, 20px) !important; line-height: 1.6; color: var(--ev-text-soft) !important; margin-bottom: 24px; }
/* 2+ <h3> seguidos → cartões lado a lado (montados pelo JS no layout.tpl) */
.ev-page .user-content .ev-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 20px 0 28px; }
.ev-page .user-content .ev-cards-2 { grid-template-columns: repeat(2, 1fr); }
.ev-page .user-content .ev-cards-4 { grid-template-columns: repeat(2, 1fr); }
.ev-page .user-content .ev-card { background: #fff; border: 1px solid var(--ev-border-2); border-radius: 16px; padding: 22px 22px 24px; transition: border-color .2s ease, transform .2s ease; }
.ev-page .user-content .ev-card:hover { border-color: var(--ev-primary); transform: translateY(-3px); }
.ev-page .user-content .ev-card .ev-card-tag { display: inline-block; padding: 4px 12px; border-radius: var(--ev-radius-pill); background: var(--ev-primary-soft); color: var(--ev-primary) !important; font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 13px; }
.ev-page .user-content .ev-card h3 { margin: 0 0 8px !important; padding: 0 !important; font-family: 'Rubik', sans-serif; font-style: italic; font-weight: 900; font-size: 18px; color: var(--ev-text) !important; border: none !important; }
.ev-page .user-content .ev-card h3::before, .ev-page .user-content .ev-card h3::after { display: none !important; content: none !important; }
.ev-page .user-content .ev-card p { margin: 0 !important; font-size: 14.5px; line-height: 1.6; color: var(--ev-text-soft) !important; }
@media (max-width: 720px){ .ev-page .user-content .ev-cards, .ev-page .user-content .ev-cards-2, .ev-page .user-content .ev-cards-4 { grid-template-columns: 1fr; } }

