/* =========================================================================
 * KKRF — extra styles for the WordPress conversion.
 * Lenis + content protection (ported from the original inline styles) plus
 * small additions for the new dynamic markup (author avatars, blog-submit
 * form, validation states, thank-you page).
 * ====================================================================== */

/* -- Lenis smooth scroll -- */
html.lenis, html.lenis body { height: auto; }
html.lenis, html.lenis body, .lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* -- Disable text selection / copy across the site (admins exempt) -- */
body:not(.logged-in) , body:not(.logged-in) * {
  -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  -webkit-touch-callout: none;
}
input, textarea, [contenteditable="true"], [contenteditable="true"] * {
  -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text;
}

/* -- Honeypot spam trap (hidden from real users) -- */
.kkrf-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; overflow: hidden !important; pointer-events: none; }

/* -- Form validation state -- */
.is-invalid {
  border-color: #e05555 !important;
  box-shadow: 0 0 0 2px rgba(224, 85, 85, .15) !important;
}

/* -- Blog card author -- */
.blog-card__author {
  display: inline-flex; align-items: center; gap: 7px;
}
.blog-card__avatar {
  width: 22px; height: 22px; border-radius: 50%; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(21,116,255,.12); color: #1574FF; flex: none;
}
.blog-card__avatar svg { width: 14px; height: 14px; }

/* -- Article author block photo -- */
.art-hero__author .art-author-avatar,
.art-author-avatar {
  overflow: hidden;
}

/* -- Front-end "Submit a Blog" form -- */
.blog-submit { background: #f6f8fb; border-top: 1px solid #e6ebf2; }
.blog-submit__inner { max-width: 760px; margin: 0 auto; }
.blog-submit__head { text-align: center; margin-bottom: 28px; }
.blog-submit__head h2 { font-size: clamp(26px, 4vw, 38px); margin: 8px 0; color: #0b1b33; }
.blog-submit__head p { color: #51607a; max-width: 540px; margin: 0 auto; }
.blog-submit__form { display: grid; gap: 16px; background: #fff; border: 1px solid #e6ebf2; border-radius: 18px; padding: 28px; box-shadow: 0 18px 50px rgba(13,33,67,.06); }
.blog-submit__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.blog-submit__field { display: flex; flex-direction: column; gap: 6px; }
.blog-submit__field--full { grid-column: 1 / -1; }
.blog-submit__field label { font-size: 13px; font-weight: 600; color: #2a3a55; }
.blog-submit__field input,
.blog-submit__field select,
.blog-submit__field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #d6deea; border-radius: 10px;
  font: inherit; color: #0b1b33; background: #fff; transition: border-color .2s, box-shadow .2s;
}
.blog-submit__field input:focus,
.blog-submit__field select:focus,
.blog-submit__field textarea:focus { outline: none; border-color: #1574FF; box-shadow: 0 0 0 3px rgba(21,116,255,.12); }
.blog-submit__field textarea { min-height: 160px; resize: vertical; }
.blog-submit__btn {
  justify-self: start; border: none; cursor: pointer; padding: 14px 28px; border-radius: 10px;
  background: #1574FF; color: #fff; font-weight: 600; font-size: 15px;
  box-shadow: 0 8px 22px rgba(21,116,255,.28); transition: transform .15s, box-shadow .2s;
}
.blog-submit__btn:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(21,116,255,.34); }
.blog-submit__msg { font-size: 14px; min-height: 18px; margin: 0; }
@media (max-width: 640px) { .blog-submit__row { grid-template-columns: 1fr; } }

/* -- Thank-you page (polished) -- */
.ty { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 120px 24px 90px; background: var(--bg, #fff); }
.ty__icon { width: 72px; height: 72px; border-radius: 50%; background: rgba(21,116,255,.12); display: flex; align-items: center; justify-content: center; margin: 0 auto 28px; color: var(--blue, #1574FF); }
.ty__eyebrow { font-family: var(--mono, 'Roboto Condensed', monospace); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--blue, #1574FF); margin: 0 0 16px; }
.ty__divider { width: 48px; height: 2px; background: var(--blue, #1574FF); margin: 0 auto 28px; border-radius: 2px; }
.ty__title { font-family: 'Inter', sans-serif; font-size: clamp(32px, 5vw, 56px); font-weight: 900; letter-spacing: -.04em; line-height: 1.08; color: var(--ink, #0b1b33); margin: 0 0 18px; }
.ty__sub { font-size: clamp(16px, 2vw, 18px); color: var(--muted, #51607a); max-width: 480px; margin: 0 auto 40px; line-height: 1.7; }
.ty__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* -- Cookie consent (desktop only) -- */
.kkrf-cookie {
  position: fixed; left: 24px; right: 24px; bottom: 24px; z-index: 9999;
  background: #0b1b33; color: #e8edf6; border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.4);
  opacity: 0; transform: translateY(16px); transition: opacity .3s ease, transform .3s ease;
  max-width: 1180px; margin: 0 auto;
}
.kkrf-cookie.is-visible { opacity: 1; transform: translateY(0); }
.kkrf-cookie__inner { display: flex; align-items: center; gap: 24px; padding: 18px 24px; }
.kkrf-cookie__text { margin: 0; font-size: 13.5px; line-height: 1.6; color: #c3cee0; flex: 1; }
.kkrf-cookie__text a { color: #6aa6ff; text-decoration: underline; }
.kkrf-cookie__actions { display: flex; gap: 10px; flex: none; }
.kkrf-cookie__btn { cursor: pointer; border-radius: 10px; padding: 11px 22px; font-weight: 600; font-size: 14px; border: 1px solid transparent; white-space: nowrap; transition: transform .15s, background .2s; }
.kkrf-cookie__btn:hover { transform: translateY(-1px); }
.kkrf-cookie__btn--solid { background: #1574FF; color: #fff; }
.kkrf-cookie__btn--ghost { background: transparent; color: #c3cee0; border-color: rgba(255,255,255,.25); }
/* Hidden on mobile/tablet — desktop only, per requirement. */
@media (max-width: 768px) { .kkrf-cookie { display: none !important; } }

/* -- Careers archive grid (when not using the page template) -- */
.careers-archive { padding: 60px 0; }
