/* VIVA_COMMUNITY_TOP_V1 — estilos isolados */
.viva-main-top--community{
  --vct-burgundy:#5b0b22;
  --vct-ink:#32141d;
  --vct-line:#eadbde;
  --vct-shadow:0 18px 42px rgba(69,13,31,.09);
  --vct-radius:24px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100%;
  margin:0 0 22px;
  padding:26px 20px 18px;
  border:1px solid #eadfe0;
  border-radius:var(--vct-radius);
  color:var(--vct-ink);
  background:linear-gradient(135deg,rgba(255,255,255,.99),rgba(249,241,234,.96));
  box-shadow:var(--vct-shadow);
}
.viva-main-top--community *{box-sizing:border-box}
.viva-main-top--community::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 18%,rgba(238,200,174,.28),transparent 34%),
    radial-gradient(circle at 10% 90%,rgba(117,24,51,.05),transparent 38%);
}
.viva-main-top--community .viva-main-top__head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
}
.viva-main-top--community .viva-main-top__eyebrow{
  display:block;
  margin-bottom:8px;
  color:#80656d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.viva-main-top--community .viva-main-top__rule{
  display:block;
  width:48px;
  height:2px;
  margin-bottom:12px;
  background:#651027;
}
.viva-main-top--community h1{
  margin:0;
  color:#620d24;
  font-family:"Libre Caslon Display",Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4.7vw,4.4rem);
  line-height:.88;
  letter-spacing:-.045em;
}
.viva-main-top--community .viva-main-top__subtitle{
  margin:9px 0 0;
  color:#713046;
  font-family:"Libre Caslon Display",Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.8vw,1.35rem);
}
.viva-main-top--community .viva-main-top__aside{
  align-self:center;
  max-width:150px;
  padding-left:18px;
  border-left:1px solid currentColor;
  color:#6d2c3e;
  font-size:10px;
  font-weight:900;
  line-height:1.45;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.viva-main-top--community .viva-main-top__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.viva-main-top--community .viva-top-card{
  position:relative;
  display:block;
  overflow:hidden;
  min-width:0;
  border-radius:20px;
  text-decoration:none;
  background:#fff;
  box-shadow:0 8px 22px rgba(64,8,25,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.viva-main-top--community .viva-top-card:hover,
.viva-main-top--community .viva-top-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(64,8,25,.12);
}
.viva-main-top--community .viva-top-card:focus-visible{
  outline:3px solid rgba(91,11,34,.28);
  outline-offset:3px;
}
.viva-main-top--community .viva-community-card{aspect-ratio:3/5}
.viva-main-top--community .viva-community-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.viva-main-top--community .viva-main-top__footer{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:16px;
  color:#713047;
  font:400 14px/1.2 "Libre Caslon Display",Georgia,"Times New Roman",serif;
}
.viva-main-top--community .viva-main-top__footer p{margin:0}
.viva-main-top--community .viva-main-top__footer span{
  width:52px;
  height:1px;
  background:rgba(100,20,42,.42);
}
@media(max-width:940px){
  .viva-main-top--community .viva-main-top__grid{
    grid-auto-flow:column;
    grid-auto-columns:minmax(180px,28vw);
    grid-template-columns:none;
    overflow-x:auto;
    padding:2px 2px 8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .viva-main-top--community .viva-main-top__grid::-webkit-scrollbar{display:none}
  .viva-main-top--community .viva-top-card{scroll-snap-align:start}
}
@media(max-width:650px){
  .viva-main-top--community{
    margin-bottom:16px;
    padding:18px 11px 14px;
    border-radius:18px;
  }
  .viva-main-top--community .viva-main-top__head{grid-template-columns:1fr;gap:7px}
  .viva-main-top--community .viva-main-top__aside{display:none}
  .viva-main-top--community h1{font-size:clamp(2rem,10vw,2.8rem)}
  .viva-main-top--community .viva-main-top__grid{grid-auto-columns:min(76vw,270px);gap:10px}
  .viva-main-top--community .viva-top-card{border-radius:18px}
  .viva-main-top--community .viva-main-top__footer span{display:none}
  .viva-main-top--community .viva-main-top__footer{text-align:center}
}
