/*
 * SkinsFlow — trust pieces (loaded on every page via theme.php "styles"):
 *
 *   .site-footer__trust   footer band: newsletter sign-up + official profiles
 *   .nl-form              newsletter form (footer and /newsletter), honeypot .nl-form__hp
 *   .social-links         round icon links to the configured profiles
 *   .nl-page .nl-card .nl-state   /newsletter and the unsubscribe page
 *   .trust-cols .trust-list .check-list--no   /official
 */

.site-footer__trust { display: flex; flex-wrap: wrap; gap: 28px 56px; justify-content: space-between; align-items: flex-start; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.site-footer__news { flex: 1 1 360px; max-width: 520px; display: flex; flex-direction: column; gap: 10px; }
.site-footer__news > p { color: var(--muted); }
.site-footer__social { display: flex; flex-direction: column; gap: 12px; }

.nl-form { display: flex; flex-direction: column; gap: 10px; }
.nl-form__row { display: flex; gap: 8px; }
.nl-form__row .field__input { flex: 1 1 auto; min-width: 0; }
.nl-form__row .btn { flex: none; }
.nl-form__consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--muted); cursor: pointer; }
.nl-form__consent input { flex: none; margin-top: 3px; width: 16px; height: 16px; accent-color: var(--mint); }
.nl-form__consent a { color: var(--fg); text-decoration: underline; text-underline-offset: 2px; }
.nl-form__hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.nl-form .captcha:empty { display: none; }
@media (max-width: 480px) { .nl-form__row { flex-direction: column; } }

.social-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); color: var(--muted); background: var(--panel); transition: color .15s, border-color .15s; }
.social-links a:hover, .social-links a:focus-visible { color: var(--fg); border-color: var(--mint); }
.social-links .icon { width: 18px; height: 18px; }

.nl-page { display: flex; flex-direction: column; gap: 24px; max-width: 640px; }
.nl-card { padding: clamp(20px, 3vw, 28px); border-radius: 18px; display: flex; flex-direction: column; gap: 14px; }
.nl-state { display: flex; gap: 16px; align-items: flex-start; padding: clamp(18px, 2.6vw, 24px); border-radius: 18px; }
.nl-state .feature__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; }
.nl-state h2 { margin-bottom: 4px; }

.trust-cols { display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
@media (max-width: 860px) { .trust-cols { grid-template-columns: minmax(0, 1fr); } }
.trust-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.trust-list li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.trust-list li > .icon { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--mint); }
.trust-list li > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.trust-list small { color: var(--muted); font-size: 13px; }
.check-list--no li svg { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, transparent); }

/* /status: the uptime promise line */
.status-promise { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }
.status-promise .icon { width: 16px; height: 16px; color: var(--mint); }
