/* TERRA ecosystem footer — public invitation + admin controls */
.terra-ecosystem-footer {
  --terra-gold: #c99b4b;
  --terra-gold-light: #f4dfaa;
  --terra-ink: #21160d;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  padding: 28px 16px 34px;
  background: #f7f2e9;
  color: var(--terra-ink);
  font-family: "DM Sans", Arial, sans-serif;
}
.terra-ecosystem-footer * { box-sizing: border-box; }
.terra-ecosystem-footer-inner {
  position: relative;
  overflow: hidden;
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 20px 20px 15px;
  border: 1px solid rgba(124, 82, 28, .18);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 12%, rgba(235, 198, 118, .25), transparent 28%),
    linear-gradient(145deg, #fffdf8 0%, #f4ead8 100%);
  box-shadow: 0 18px 42px rgba(85, 55, 20, .09);
}
.terra-ecosystem-footer-inner::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 48px;
  height: 1px;
  background: linear-gradient(90deg, rgba(164,113,44,.1), rgba(198,148,70,.55), rgba(164,113,44,.1));
}
.terra-ecosystem-brandline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  padding-bottom: 14px;
  color: #8f682f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}
.terra-ecosystem-brandline i {
  width: 22px;
  height: 1px;
  background: #c69a51;
}
.terra-ecosystem-content {
  position: relative;
  z-index: 1;
  min-height: 174px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 18px;
  align-items: end;
  padding-top: 14px;
}
.terra-ecosystem-footer:not(.has-image) .terra-ecosystem-content { grid-template-columns: 1fr; min-height: auto; }
.terra-ecosystem-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  min-width: 0;
  padding: 3px 0 7px;
}
.terra-ecosystem-copy small {
  display: block;
  margin-bottom: 8px;
  color: #a87934;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.terra-ecosystem-copy strong {
  display: block;
  max-width: 440px;
  color: #29190c;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 4vw, 34px);
  font-weight: 600;
  line-height: 1.04;
  text-wrap: balance;
}
.terra-ecosystem-copy p {
  max-width: 410px;
  margin: 10px 0 15px;
  color: #715e4a;
  font-size: 13px;
  line-height: 1.5;
}
.terra-ecosystem-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid rgba(141, 95, 34, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  color: #5a3c19;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.terra-ecosystem-link:hover { transform: translateY(-1px); border-color: rgba(141,95,34,.42); background: #fff; }
.terra-ecosystem-image {
  position: relative;
  align-self: stretch;
  min-height: 174px;
}
.terra-ecosystem-image::before {
  content: "";
  position: absolute;
  inset: 16px 5px 0;
  border-radius: 50% 50% 18px 18px / 42% 42% 18px 18px;
  background: radial-gradient(circle at 50% 26%, rgba(255,235,192,.9), rgba(204,157,74,.18) 45%, transparent 68%);
}
.terra-ecosystem-image img {
  position: absolute;
  z-index: 1;
  right: -4px;
  bottom: -4px;
  width: 178px;
  height: 190px;
  object-fit: cover;
  object-position: center 24%;
  border-radius: 90px 90px 20px 20px;
  filter: saturate(.92) contrast(1.02);
  -webkit-mask-image: linear-gradient(to bottom, #000 76%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 76%, transparent 100%);
}
.terra-ecosystem-signature {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(132, 92, 40, .11);
  color: #9b876c;
  font-size: 9px;
  letter-spacing: .04em;
}

/* Admin */
.terra-ecosystem-admin-card { gap: 18px; }
.terra-ecosystem-admin-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.terra-ecosystem-admin-head h3 { margin:0 0 5px; font-size:18px; }
.terra-ecosystem-admin-head p { margin:0; max-width:650px; color:var(--muted, #776f66); font-size:13px; line-height:1.5; }
.terra-ecosystem-admin-status { flex:0 0 auto; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.08em; }
.terra-ecosystem-admin-status.is-on { background:#e8f4eb; color:#2b6b3b; }
.terra-ecosystem-admin-status.is-off { background:#f3ebe8; color:#8a4b3c; }
.terra-ecosystem-fields { margin-top:2px; }
.terra-ecosystem-admin-preview {
  position:relative;
  overflow:hidden;
  min-height:170px;
  padding:20px;
  border:1px solid rgba(124,82,28,.18);
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf8,#f1e3ca);
}
.terra-ecosystem-admin-preview-copy { position:relative; z-index:2; max-width:62%; display:grid; gap:6px; }
.terra-ecosystem-admin-preview-copy small { color:#a87934; font-size:9px; font-weight:800; letter-spacing:.18em; }
.terra-ecosystem-admin-preview-copy strong { color:#29190c; font-family:"Playfair Display",Georgia,serif; font-size:23px; line-height:1.06; }
.terra-ecosystem-admin-preview-copy p { margin:0; color:#715e4a; font-size:12px; }
.terra-ecosystem-admin-preview-copy > span { width:max-content; margin-top:4px; padding:7px 10px; border:1px solid rgba(141,95,34,.25); border-radius:999px; color:#5a3c19; font-size:10px; font-weight:800; }
.terra-ecosystem-admin-preview img { position:absolute; right:0; bottom:-10px; width:180px; height:190px; object-fit:cover; object-position:center 20%; border-radius:90px 0 0 0; -webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent); mask-image:linear-gradient(to bottom,#000 75%,transparent); }

@media (max-width: 620px) {
  .terra-ecosystem-footer { padding: 22px 12px 28px; }
  .terra-ecosystem-footer-inner { padding: 17px 15px 13px; border-radius: 22px; }
  .terra-ecosystem-footer-inner::before { left:15px; right:15px; top:45px; }
  .terra-ecosystem-content { grid-template-columns: minmax(0, 1fr) 112px; gap:8px; min-height:156px; }
  .terra-ecosystem-copy strong { font-size:23px; }
  .terra-ecosystem-copy p { max-width:250px; font-size:11px; margin:8px 0 12px; }
  .terra-ecosystem-link { padding:8px 10px; font-size:10px; }
  .terra-ecosystem-image { min-height:156px; }
  .terra-ecosystem-image img { right:-12px; width:136px; height:166px; }
  .terra-ecosystem-brandline { font-size:8px; }
  .terra-ecosystem-admin-head { flex-direction:column; }
  .terra-ecosystem-admin-preview-copy { max-width:60%; }
  .terra-ecosystem-admin-preview-copy strong { font-size:18px; }
  .terra-ecosystem-admin-preview img { width:145px; height:170px; }
}
