/* West Coast Swingers: newsletter signup and share buttons. Uses the design tokens from styles.css. */
.wcs-engage { margin: var(--sp-10, 2.5rem) 0 var(--sp-8, 2rem); display: grid; gap: var(--sp-6, 1.5rem); }
.wcs-engage--wide { max-width: var(--max-w, 1200px); margin-inline: auto; padding-inline: var(--sp-4, 1rem); }

/* Share bar */
.wcs-share { border-top: 1px solid var(--border, #3a1520); border-bottom: 1px solid var(--border, #3a1520); padding: var(--sp-4, 1rem) 0; }
.wcs-share .wcs-share__label { margin: 0 0 var(--sp-3, .75rem); font-weight: 600; color: var(--text-primary, #f2eaed); }
.wcs-share ul.wcs-share__list { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.wcs-share ul.wcs-share__list li { margin: 0 !important; padding: 0 !important; list-style: none; }
.wcs-share ul.wcs-share__list li::before { content: none; display: none; }
.wcs-share a, .wcs-share button {
  display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: 0 .95rem;
  border-radius: 999px; border: 1px solid var(--border-light, #4e2030); background: var(--bg-raised, #241016);
  color: var(--text-primary, #f2eaed); font: inherit; font-size: .92rem; font-weight: 600; text-decoration: none; cursor: pointer;
}
.wcs-share a:hover, .wcs-share button:hover { border-color: var(--brand-glow, #e05d8a); color: #fff; }
.wcs-share a:focus-visible, .wcs-share button:focus-visible { outline: 3px solid var(--brand-glow, #e05d8a); outline-offset: 2px; }
.wcs-share svg { width: 16px; height: 16px; flex: 0 0 16px; fill: currentColor; }
.wcs-share [hidden] { display: none !important; }

/* Signup card (end of posts, homepage band) */
.wcs-signup { background: linear-gradient(135deg, var(--bg-raised, #241016), rgba(148,3,43,.45)); border: 1px solid var(--border-light, #4e2030);
  border-radius: var(--radius-lg, 14px); padding: var(--sp-6, 1.5rem); scroll-margin-top: 96px; }
.wcs-signup__kicker { margin: 0 0 .35rem; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--brand-glow, #e05d8a); }
.wcs-signup h2, .wcs-signup .wcs-signup__title { margin: 0 0 .5rem; font-size: 1.45rem; line-height: 1.25; color: var(--text-primary, #f2eaed); }
.wcs-signup p { margin: 0 0 1rem; color: var(--text-secondary, #c4a8b0); }
.wcs-signup__row { display: flex; flex-wrap: wrap; gap: .6rem; }
.wcs-signup__row input[type="email"] { flex: 1 1 220px; min-width: 0; min-height: 48px; padding: 0 1rem; border-radius: var(--radius, 8px);
  border: 1px solid var(--border-light, #4e2030); background: var(--bg-page, #0f0508); color: var(--text-primary, #f2eaed); font: inherit; }
.wcs-signup__row input[type="email"]:focus { outline: 3px solid var(--brand-glow, #e05d8a); outline-offset: 1px; border-color: var(--brand-glow, #e05d8a); }
.wcs-signup__row input[aria-invalid="true"] { border-color: #ff8a8a; }
.wcs-signup__row button { min-height: 48px; padding: 0 1.3rem; border: 0; border-radius: var(--radius, 8px); background: var(--brand, #94032b);
  color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.wcs-signup__row button:hover { background: var(--brand-mid, #b0163a); }
.wcs-signup__row button:focus-visible { outline: 3px solid var(--brand-glow, #e05d8a); outline-offset: 2px; }
.wcs-signup__row button[disabled] { opacity: .6; cursor: default; }
.wcs-signup__fine { margin: .75rem 0 0 !important; font-size: .82rem; color: var(--text-muted, #8a6672) !important; }
.wcs-signup__fine a { color: var(--text-secondary, #c4a8b0); }
.wcs-signup__msg { margin: .75rem 0 0 !important; font-weight: 600; color: #8fe0b4 !important; }
.wcs-signup__msg:empty { display: none; }
.wcs-signup__msg.is-bad { color: #ff9a9a !important; }
.wcs-signup .is-done .wcs-signup__row { display: none; }
.wcs-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.wcs-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Homepage band */
.wcs-signup-band { padding: var(--sp-12, 3rem) 0; }
.wcs-signup-band .wcs-signup { max-width: 820px; margin-inline: auto; padding: var(--sp-8, 2rem); text-align: center; }
.wcs-signup-band .wcs-signup__row { justify-content: center; max-width: 560px; margin-inline: auto; }

/* Footer signup */
.footer-signup { display: grid; gap: .75rem; padding: 0 0 var(--sp-6, 1.5rem); margin: 0 0 var(--sp-6, 1.5rem); border-bottom: 1px solid var(--border, #3a1520); }
@media (min-width: 860px) { .footer-signup { grid-template-columns: 1fr minmax(320px, 440px); align-items: center; gap: 2rem; } }
.footer-signup .wcs-signup__title { margin: 0 0 .2rem; font-size: 1.1rem; font-weight: 700; color: var(--text-primary, #f2eaed); }
.footer-signup p { margin: 0; color: var(--text-secondary, #c4a8b0); font-size: .95rem; }
.footer-signup .wcs-signup__row input[type="email"] { min-height: 44px; }
.footer-signup .wcs-signup__row button { min-height: 44px; }
.footer-signup .is-done .wcs-signup__row { display: none; }

@media print { .wcs-engage, .footer-signup, .wcs-signup-band { display: none !important; } }

/* v2: framed share panel and a compact top row (buttons keep the original colors) */
.wcs-share { border: 1px solid var(--border-light, #4e2030); border-radius: var(--radius-lg, 14px);
  background: linear-gradient(135deg, var(--bg-raised, #241016), rgba(148,3,43,.28)); padding: var(--sp-5, 1.25rem); }
.wcs-share .wcs-share__label { font-size: 1.1rem; font-weight: 700; }
.wcs-share--top { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: var(--sp-4, 1rem) 0 var(--sp-6, 1.5rem); padding: .7rem .9rem; }
.wcs-share--top .wcs-share__label { margin: 0 .25rem 0 0; font-size: .95rem; }
.wcs-share--top a, .wcs-share--top button { min-height: 38px; padding: 0 .8rem; font-size: .85rem; }
.wcs-share ul.wcs-share__list li:has(> [hidden]) { display: none; }
/* v2: equal-width buttons on a grid. Phones: rows of 4. Wider screens: one row. */
.wcs-share ul.wcs-share__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
@media (min-width: 700px) { .wcs-share ul.wcs-share__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.wcs-share ul.wcs-share__list li { display: flex; min-width: 0; }
.wcs-share ul.wcs-share__list li:has(> [hidden]) { display: none; }
.wcs-share ul.wcs-share__list a, .wcs-share ul.wcs-share__list button { width: 100%; justify-content: center; padding: 0 .4rem; white-space: nowrap; }
.wcs-share--top .wcs-share__list { flex: 1 1 auto; }
@media (max-width: 699px) { .wcs-share--top { display: block; } .wcs-share--top .wcs-share__label { margin: 0 0 .6rem; } }
.wcs-share ul.wcs-share__list a, .wcs-share ul.wcs-share__list button { border-radius: 10px; }
@media (max-width: 480px) { .wcs-share ul.wcs-share__list a, .wcs-share ul.wcs-share__list button { font-size: .8rem; padding: 0 .25rem; } }
