/* /comunidade — living community hub */
.community-page{background:var(--cream)}
.community-content{padding-top:28px;padding-bottom:56px}

.community-hero-floaters img:nth-child(1){top:8%;right:8%;transform:rotate(8deg)}
.community-hero-floaters img:nth-child(2){top:38%;right:28%;transform:rotate(-10deg);opacity:.38}
.community-hero-floaters img:nth-child(3){bottom:10%;right:6%;transform:rotate(4deg)}
.community-hero-floaters img:nth-child(4){top:58%;right:42%;transform:rotate(-4deg);opacity:.32}

/* Participation portals */
.community-portals{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
  margin:0 0 40px;
}
.community-portal{
  position:relative;display:flex;flex-direction:column;gap:8px;
  min-height:180px;padding:22px 20px 24px;
  border-radius:18px;text-decoration:none;color:#e8f0ea;overflow:hidden;
  isolation:isolate;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;
}
.community-portal:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(4,31,23,.18);
}
.community-portal::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(80% 90% at 100% 0%,rgba(177,238,120,.18),transparent 55%),
    linear-gradient(160deg,#041f17 0%,#0a3a2a 100%);
}
.community-portal--share::before{
  background:
    radial-gradient(70% 80% at 0% 100%,rgba(177,238,120,.22),transparent 50%),
    linear-gradient(145deg,#05291e,#0d4a34);
}
.community-portal--xi::before{
  background:
    radial-gradient(60% 70% at 100% 100%,rgba(230,170,71,.18),transparent 55%),
    linear-gradient(145deg,#041c16,#0a3328);
}
.community-portal--rate::before{
  background:
    radial-gradient(70% 80% at 50% 0%,rgba(177,238,120,.14),transparent 50%),
    linear-gradient(160deg,#062419,#0c3d2e);
}
.community-portal--play::before{
  background:
    radial-gradient(80% 70% at 0% 0%,rgba(255,255,255,.08),transparent 45%),
    linear-gradient(155deg,#031a14,#0a2f24);
}
.community-portal-kicker{
  font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);
}
.community-portal strong{
  font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.55rem);
  font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#fff;
}
.community-portal > span:not(.community-portal-kicker):not(.community-portal-go){
  font-size:13px;line-height:1.45;color:#b7caba;max-width:28ch;margin-top:auto;
}
.community-portal-go{
  position:absolute;right:16px;bottom:16px;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  color:#fff;font-size:16px;
  transition:background .25s ease,transform .25s ease;
}
.community-portal:hover .community-portal-go{
  background:var(--lime);color:var(--forest-3);transform:translateX(2px);
}

/* Sections */
.community-section{margin:0 0 44px}
.community-section-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:12px 24px;margin-bottom:18px;
}
.community-section-head h2{
  margin:4px 0 6px;font-size:clamp(1.45rem,2.6vw,1.9rem);letter-spacing:-.03em;color:var(--forest);
}
.community-section-head p{margin:0;font-size:14px;color:var(--muted);max-width:48ch}

/* Submission wall mosaic */
.community-wall{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:minmax(140px,18vw);
  gap:12px;
}
.community-tile{
  position:relative;grid-column:span 3;border-radius:16px;overflow:hidden;
  background:#0a2a20;text-decoration:none;color:#fff;
  isolation:isolate;min-height:160px;
}
.community-tile--hero{grid-column:span 6;grid-row:span 2}
.community-tile img,
.community-tile-empty{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.community-tile-empty{
  background:
    repeating-linear-gradient(0deg,rgba(177,238,120,.08) 0 12px,transparent 12px 24px),
    linear-gradient(160deg,#05291e,#0c3d2e);
}
.community-tile:hover img{transform:scale(1.04)}
.community-tile-meta{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  display:flex;flex-direction:column;gap:2px;
  padding:40px 14px 14px;
  background:linear-gradient(180deg,transparent,rgba(4,31,23,.88));
}
.community-tile-meta strong{
  font-family:var(--serif);font-size:1.05rem;font-weight:750;letter-spacing:-.02em;
}
.community-tile-meta > span:not(.community-tile-tag){
  font-size:12px;opacity:.85;
}
.community-tile-tag{
  align-self:flex-start;margin-bottom:4px;
  padding:3px 8px;border-radius:999px;
  background:rgba(177,238,120,.2);border:1px solid rgba(177,238,120,.35);
  font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);
}
.community-tile--hero .community-tile-meta strong{font-size:clamp(1.3rem,2.4vw,1.7rem)}

/* Empty wall invite */
.community-wall-invite{
  display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch;
}
.community-invite{
  padding:32px clamp(22px,3vw,36px);
  border-radius:22px;
  background:
    radial-gradient(70% 90% at 100% 0%,rgba(177,238,120,.14),transparent 50%),
    linear-gradient(125deg,#041f17,#0c3d2e);
  color:#e8f0ea;
}
.community-invite .eyebrow{color:var(--lime)}
.community-invite h2{
  margin:8px 0 12px;font-size:clamp(1.6rem,3vw,2.2rem);
  color:#fff;letter-spacing:-.03em;max-width:16ch;
}
.community-invite p{margin:0 0 20px;font-size:14.5px;line-height:1.55;color:#b7caba;max-width:42ch}
.community-invite-aside{
  padding:24px;border-radius:22px;background:#fff;border:1px solid var(--line);
  display:flex;flex-direction:column;gap:14px;justify-content:center;
}
.community-invite-label{margin:0;font-size:13px;color:var(--muted);line-height:1.4}
.community-loved-mini{display:flex;gap:8px}
.community-loved-mini a{
  flex:1;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:#ebe9e0;
}
.community-loved-mini img{width:100%;height:100%;object-fit:contain;padding:6px}

/* XI strip */
.community-xis{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.community-xi{
  display:flex;flex-direction:column;gap:10px;
  text-decoration:none;color:inherit;min-width:0;
}
.community-xi-thumb{
  display:block;border-radius:14px;overflow:hidden;
  background:#05291e;aspect-ratio:1200/630;
  box-shadow:0 10px 24px rgba(4,31,23,.1);
  transition:transform .35s ease,box-shadow .35s ease;
}
.community-xi:hover .community-xi-thumb{
  transform:translateY(-3px);box-shadow:0 16px 32px rgba(4,31,23,.16);
}
.community-xi-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.community-xi-meta{display:flex;flex-direction:column;gap:4px;padding:0 2px}
.community-xi-meta strong{
  font-family:var(--serif);font-size:1.05rem;font-weight:750;
  letter-spacing:-.02em;color:var(--forest);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.community-xi-meta > span{
  display:flex;gap:12px;font-size:12px;font-weight:700;color:var(--muted);
}
.community-xis-actions{margin-top:16px}

/* Challenges */
.community-challenges{display:grid;gap:14px}
.community-challenge{
  display:grid;grid-template-columns:1.2fr .8fr;gap:0;
  border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);
}
.community-challenge-copy{padding:24px 26px;display:flex;flex-direction:column;justify-content:center}
.community-challenge-copy h3{margin:0 0 8px;font-size:1.35rem;letter-spacing:-.02em}
.community-challenge-copy h3 a{color:var(--forest);text-decoration:none}
.community-challenge-copy h3 a:hover{color:#0a4a32}
.community-challenge-copy p{margin:0 0 12px;font-size:14px;color:var(--muted);max-width:42ch}
.community-challenge-meta{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0;
}
.community-challenge-meta li{
  padding:5px 10px;border-radius:999px;background:rgba(5,41,30,.06);
  font-size:11px;font-weight:700;color:var(--forest);
}
.community-challenge-shirts{
  display:flex;align-items:center;justify-content:center;gap:0;
  padding:20px;background:
    radial-gradient(60% 60% at 50% 50%,rgba(177,238,120,.12),transparent 70%),
    linear-gradient(180deg,#0a2a20,#05291e);
}
.community-challenge-shirts img{
  width:clamp(90px,14vw,120px);height:auto;object-fit:contain;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.35));
  transform:rotate(-6deg);margin:0 -10px;
}
.community-challenge-shirts img:nth-child(2){transform:rotate(3deg) translateY(-8px);z-index:1}
.community-challenge-shirts img:nth-child(3){transform:rotate(8deg)}

.community-loved-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;
}

@media (max-width:1100px){
  .community-portals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-xis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-xis a:nth-child(n+5){display:none}
  .community-loved-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .community-tile{grid-column:span 4}
  .community-tile--hero{grid-column:span 8}
  .community-wall-invite{grid-template-columns:1fr}
  .community-challenge{grid-template-columns:1fr}
  .community-challenge-shirts{min-height:160px}
}
@media (max-width:640px){
  .community-portals{grid-template-columns:1fr}
  .community-portal{min-height:150px}
  .community-xis{grid-template-columns:1fr;gap:12px}
  .community-xis a:nth-child(n+4){display:none}
  .community-wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(180px,42vw);
  }
  .community-tile,
  .community-tile--hero{grid-column:span 1;grid-row:span 1}
  .community-loved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-hero-floaters img:nth-child(n+3){display:none}
}
@media (prefers-reduced-motion:reduce){
  .community-portal,
  .community-xi-thumb,
  .community-tile img{transition:none}
}
