/* Vita Sapien — plain email subscribe bar
   Reuses the nav's colour tokens (--vn-soil, --vn-amber, etc.) so it
   matches automatically on any page that already loads nav.css.

   Mobile behaviour: the full form (name/name/email/button, stacked
   vertically) was taking up ~40% of the viewport when permanently
   sticky-pinned. It now renders collapsed by default as a slim
   clickable pill; tapping it expands the same form in place via
   .vs-sub-content. .vs-sub-content uses display:contents so its
   children (text, form, status) become direct flex items of
   .vs-sub-bar exactly as before — this means none of the original
   desktop flex/row rules below needed to change at all. */

#vs-subscribe-root, #vs-subscribe-root * { box-sizing: border-box; }

#vs-subscribe-root {
  margin-top: var(--vn-height, 68px);
  min-height: 64px;
  position: sticky;
  top: var(--vn-height, 68px);
  z-index: 900;
}

@media (max-width: 600px) {
  #vs-subscribe-root {
    min-height: 48px;
  }
}

.vs-sub-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  background: var(--vn-soil, #000721);
  color: var(--vn-cream, #d8e4ee);
  padding: 14px 20px;
  font-family: 'Lato', sans-serif;
}

.vs-sub-bar span {
  font-size: 14px;
  letter-spacing: .3px;
}

/* .vs-sub-content wraps the text/form/status so they can be hidden as
   one unit on mobile. display:contents makes the wrapper invisible to
   layout — its children act as if they were direct children of
   .vs-sub-bar, so every rule above and below that targets
   ".vs-sub-bar span" / ".vs-sub-form" etc. still applies unchanged. */
.vs-sub-content { display: contents; }

/* Toggle pill: hidden by default (desktop never shows it, regardless
   of the is-collapsed class, since this rule isn't inside a media
   query and there's no override making it visible outside mobile). */
.vs-sub-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: none;
  border: none;
  color: var(--vn-amber-light, #2ec4bb);
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  padding: 2px 0;
}
.vs-sub-toggle .vs-sub-caret {
  font-size: 11px;
  transition: transform .2s ease;
}
.vs-sub-toggle[aria-expanded="true"] .vs-sub-caret {
  transform: rotate(180deg);
}

.vs-sub-form {
  display: flex;
  gap: 8px;
}

.vs-sub-form input[type="email"],
.vs-sub-form input[type="text"].vs-sub-name {
  padding: 8px 12px;
  border-radius: 20px;
  border: 1px solid rgba(216,228,238,.3);
  background: rgba(255,255,255,.05);
  color: var(--vn-cream, #d8e4ee);
  font-family: inherit;
  font-size: 13px;
  min-width: 220px;
}

.vs-sub-form input[type="email"]::placeholder,
.vs-sub-form input[type="text"].vs-sub-name::placeholder {
  color: var(--vn-muted, #8090a0);
}

.vs-sub-form button {
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid rgba(34,161,152,.4);
  background: rgba(34,161,152,.15);
  color: var(--vn-amber-light, #2ec4bb);
  font-family: inherit;
  font-size: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
}

.vs-sub-form button:hover { background: rgba(34,161,152,.25); }

.vs-sub-become {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid rgba(34,161,152,.4);
  background: var(--vn-amber, #22a198);
  color: #fff;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
.vs-sub-become:hover { background: var(--vn-amber-light, #2ec4bb); }

.vs-sub-status {
  font-size: 13px;
  color: var(--vn-amber-light, #2ec4bb);
}

@media (max-width: 600px) {
  .vs-sub-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 12px 20px;
    gap: 10px;
  }

  .vs-sub-bar span {
    text-align: center;
  }

  .vs-sub-toggle {
    display: flex;
  }

  /* Collapsed = default state. Only .vs-sub-content is hidden, so the
     toggle pill itself always stays visible and clickable. */
  .vs-sub-bar.is-collapsed {
    padding: 12px 20px;
  }
  .vs-sub-bar.is-collapsed .vs-sub-content {
    display: none;
  }

  .vs-sub-form {
    flex-direction: column;
    gap: 8px;
  }

  .vs-sub-form input[type="email"],
  .vs-sub-form input[type="text"].vs-sub-name {
    min-width: 0;
    width: 100%;
  }

  .vs-sub-form button,
  .vs-sub-become {
    width: 100%;
    text-align: center;
  }
}
