/* Shared additions for the live site (page styles live in each page). */
.yls .logo-d { display: none !important; }
@media (prefers-color-scheme: dark) {
  .yls[data-theme="auto"] .logo-l { display: none !important; }
  .yls[data-theme="auto"] .logo-d { display: block !important; }
}
.yls[data-theme="dark"] .logo-l { display: none !important; }
.yls[data-theme="dark"] .logo-d { display: block !important; }

/* Skip link */
.skip-link { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 10px; background: #25313d; color: #fff; font: 600 15px 'Hanken Grotesk', Arial, sans-serif; text-decoration: none; }
.skip-link:focus { top: 12px; }

/* Forms */
.yls .hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.yls .form-status { margin: 0; font-size: 15px; font-weight: 600; }
.yls .form-status:empty { display: none; }
.yls .form-status.is-error { padding: 14px 16px; border-radius: 10px; background: var(--state-danger-tint, #fbf3f3); color: var(--state-danger, #a13e3e); }
.yls form.was-validated :is(input, select, textarea):invalid { border-color: var(--state-danger, #a13e3e); }
.yls form.was-validated input[type="checkbox"]:invalid { outline: 2px solid var(--state-danger, #a13e3e); outline-offset: 2px; }
.yls .form-done { padding: 28px; border-radius: 16px; background: var(--brand-tint); color: var(--text-primary); display: flex; flex-direction: column; gap: 8px; }
.yls .form-done h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-weight: 500; font-size: 26px; }
.yls .form-done p { margin: 0; color: var(--text-supporting); }
.yls button[disabled] { opacity: 0.6; cursor: progress; }

/* Mobile menu */
.yls .mobile-nav { display: none; border-bottom: 1px solid var(--border-default); background: var(--surface-page); }
.yls .mobile-nav.is-open { display: block; }
.yls .mobile-nav .wrap { display: flex; flex-direction: column; padding-top: 8px; padding-bottom: 20px; }
.yls .mobile-nav a { display: block; padding: 13px 4px; border-bottom: 1px solid var(--border-default); color: var(--text-primary); text-decoration: none; font-weight: 600; font-size: 17px; }
.yls .mobile-nav .mobile-head { margin: 0; padding: 16px 4px 6px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); }
.yls .mobile-nav a.sub { padding-left: 22px; font-weight: 400; font-size: 16px; color: var(--text-supporting); }
.yls .mobile-nav a[aria-current="page"] { color: var(--text-brand); }
.yls .mobile-nav .mobile-actions { display: flex; flex-direction: column; gap: 10px; padding-top: 16px; }
.yls .mobile-nav .mobile-actions a { border: 0; padding: 0; }
.yls .mobile-nav .mobile-actions .btn { width: 100%; color: #fff; }
.yls .mobile-nav .mobile-actions .btn-outline { color: var(--text-primary); }
@media (min-width: 1280px) { .yls .mobile-nav { display: none !important; } }

/* Cookie banner */
.yls .cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; max-width: 560px; margin-left: auto; padding: 22px; border-radius: 16px; background: var(--surface-card); color: var(--text-primary); border: 1px solid var(--border-card); box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 14px; font-size: 15px; }
.yls .cookie-banner[hidden] { display: none; }
.yls .cookie-banner h2 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-weight: 500; font-size: 22px; }
.yls .cookie-banner p { margin: 0; color: var(--text-supporting); }
.yls .cookie-banner .cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.yls .cookie-banner .cookie-actions .btn { flex: 1 1 160px; }

@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Fixes found in testing */
.yls .mobile-nav .mobile-actions a.btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 22px; border-radius: 10px; }
.yls .mobile-nav .mobile-actions a.btn-outline { border: 1px solid var(--border-card); background: var(--surface-card); }
@media (max-width: 520px) { .yls fieldset .g-form { grid-template-columns: minmax(0, 1fr) !important; } }
