/* Solvago launch-list signup form — reusable component, currently used on
   dlugie-weekendy.html. Markup contract: see the header of assets/js/launch-list.js.
   Variant: .sv-ll--ink (on a dark card). */
.sv-ll { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 540px; font-family: 'Hanken Grotesk', sans-serif; text-align: left; box-sizing: border-box; }
.sv-ll * { box-sizing: border-box; }
.sv-ll-fields, .sv-ll-done { display: flex; flex-direction: column; gap: 12px; }
.sv-ll-title { font-family: 'Spline Sans Mono', monospace; font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; margin: 0; }
.sv-ll .sv-ll-sub { margin: 0; font-size: 15.5px; line-height: 1.5; text-wrap: pretty; }
.sv-ll-row { display: flex; gap: 6px; background: #FFFDF9; border-radius: 16px; padding: 6px; box-shadow: 0 10px 30px rgba(20,14,8,0.22); transition: box-shadow 0.2s ease; }
.sv-ll-row:focus-within { box-shadow: 0 0 0 3px rgba(242,164,126,0.75), 0 10px 30px rgba(20,14,8,0.22); }
.sv-ll-field { flex: 1; min-width: 0; display: flex; }
.sv-ll-input { flex: 1; min-width: 0; width: 100%; border: 0; background: transparent; font-family: 'Hanken Grotesk', sans-serif; font-size: 16px; color: #211C15; padding: 11px 12px; outline: none; border-radius: 10px; }
.sv-ll-input::placeholder { color: #9A9083; }
.sv-ll-btn { border: 0; border-radius: 12px; padding: 12px 22px; font-family: 'Hanken Grotesk', sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; white-space: nowrap; background: #211C15; color: #FFFDF9; transition: background 0.2s ease, opacity 0.2s ease; }
.sv-ll-btn:hover { background: #3B2010; }
.sv-ll-btn:disabled { opacity: 0.6; cursor: progress; }
.sv-ll-btn:focus-visible, .sv-ll-consent input:focus-visible, .sv-ll-again:focus-visible { outline: 3px solid #F2A47E; outline-offset: 2px; }
.sv-ll-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; cursor: pointer; text-wrap: pretty; }
.sv-ll-consent input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #A65E3B; cursor: pointer; }
.sv-ll-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.sv-ll-ts:empty { display: none; }
.sv-ll .sv-ll-status { margin: 0; font-size: 14px; line-height: 1.45; font-weight: 600; padding: 9px 13px; border-radius: 12px; }
.sv-ll-status:empty { display: none; }
.sv-ll-status[data-kind="info"] { background: rgba(255,253,249,0.16); }
.sv-ll-status[data-kind="error"] { background: #FFE7DC; color: #8A2E12; }
.sv-ll-status[data-kind="ok"] { background: #E9F0E6; color: #2E5E38; }
.sv-ll-done { display: none; }
.sv-ll.is-done .sv-ll-fields { display: none; }
.sv-ll.is-done .sv-ll-done { display: flex; }
.sv-ll .sv-ll-done-title { margin: 0; font-family: 'Newsreader', serif; font-size: 26px; font-weight: 500; line-height: 1.15; }
.sv-ll .sv-ll-done-hint { margin: 0; font-size: 14.5px; line-height: 1.5; opacity: 0.85; }
.sv-ll-again { align-self: flex-start; background: transparent; border: 0; padding: 0; font-family: 'Hanken Grotesk', sans-serif; font-size: 14.5px; font-weight: 600; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.sv-ll-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* on a dark ink card */
.sv-ll--ink { color: #FFFDF9; max-width: none; }
.sv-ll--ink .sv-ll-title { color: #FBC5A0; }
.sv-ll--ink .sv-ll-consent { color: rgba(255,253,249,0.82); }
.sv-ll--ink .sv-ll-btn { background: #F2A47E; color: #211C15; }
.sv-ll--ink .sv-ll-btn:hover { background: #FBC5A0; }
.sv-ll--ink .sv-ll-row { box-shadow: none; }

@media (max-width: 480px) {
  .sv-ll-row { flex-direction: column; }
  .sv-ll-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sv-ll-row, .sv-ll-btn { transition: none; }
}
