/* ---------- jialong theme extras (WP specifics) ---------- */

/* language switcher */
.lang-switch a { text-decoration: none; }
.lang-switch { background: #fff; }
.header-lang { margin-left: 6px; }

/* mobile menu */
.jl-mobile-nav { display: none; }
.jl-mobile-nav.open { display: block; }
.jl-mobile-nav a.active { color: #2b3990; font-weight: 700; }
@media (min-width: 1024px) { .jl-mobile-nav { display: none !important; } }

/* prose (news / product overview / generic pages) */
.jl-prose { color: #3f4756; font-size: 15px; line-height: 1.85; }
.jl-prose p { margin: 0 0 1em; }
.jl-prose p:last-child { margin-bottom: 0; }
.jl-prose h2 { font-size: 20px; font-weight: 800; color: #0f1f4b; margin: 1.6em 0 0.6em; }
.jl-prose h3 { font-size: 17px; font-weight: 700; color: #0f1f4b; margin: 1.4em 0 0.5em; }
.jl-prose ul { list-style: disc; padding-left: 1.3em; margin: 0 0 1em; }
.jl-prose ol { list-style: decimal; padding-left: 1.3em; margin: 0 0 1em; }
.jl-prose li { margin-bottom: 0.4em; }
.jl-prose a { color: #2b3990; text-decoration: underline; text-underline-offset: 2px; }
.jl-prose strong { color: #0f1f4b; font-weight: 700; }
.jl-prose img { max-width: 100%; height: auto; border-radius: 6px; }

/* contact form 7 styling to match site design */
.jl-cf7 .wpcf7-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.jl-cf7 .wpcf7-form p { margin: 0; }
.jl-cf7 .wpcf7-form p:nth-of-type(1),
.jl-cf7 .wpcf7-form p:nth-of-type(2) { }
.jl-cf7 label { display: block; font-size: 12px; font-weight: 700; color: #3a4356; margin-bottom: 6px; }
.jl-cf7 input[type="text"],
.jl-cf7 input[type="email"],
.jl-cf7 input[type="tel"],
.jl-cf7 input[type="url"],
.jl-cf7 select,
.jl-cf7 textarea {
  width: 100%; border: 1px solid #cbd5e1; border-radius: 4px;
  padding: 10px 12px; font-size: 14px; color: #0f1f4b; background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.jl-cf7 input:focus, .jl-cf7 select:focus, .jl-cf7 textarea:focus {
  outline: none; border-color: #2b3990; box-shadow: 0 0 0 3px rgba(43,57,144,.12);
}
.jl-cf7 textarea { min-height: 110px; resize: vertical; }
.jl-cf7 .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 32px; border: 0; border-radius: 6px;
  background: #f5a419; color: #fff; font-weight: 700; font-size: 14px;
  cursor: pointer; transition: background .15s; box-shadow: 0 6px 14px rgba(0,0,0,.15);
}
.jl-cf7 .wpcf7-submit:hover { background: #d98e0c; }
.jl-cf7 .wpcf7-not-valid-tip { font-size: 12px; color: #b91c1c; margin-top: 4px; }
.jl-cf7 .wpcf7-invalid { border-color: #b91c1c !important; }
.jl-cf7 .wpcf7-response-output {
  grid-column: 1 / -1; margin: 4px 0 0; padding: 10px 14px;
  border-radius: 6px; font-size: 13px; border-width: 1px;
}
.jl-cf7 .wpcf7-spinner { visibility: hidden; }

/* pagination */
.jl-pagination { margin-top: 28px; display: flex; justify-content: center; gap: 6px; }
.jl-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px; border-radius: 6px;
  border: 1px solid #e2e8f0; font-size: 14px; font-weight: 600; color: #2b3990;
  text-decoration: none; background: #fff;
}
.jl-pagination .page-numbers.current { background: #0f1f4b; border-color: #0f1f4b; color: #fff; }
.jl-pagination .page-numbers:hover:not(.current) { background: #f1f5f9; }

/* wp admin bar offset for sticky header */
.admin-bar .jl-site-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .jl-site-header { top: 46px; } }

/* keep font stack consistent with original site */
body { -webkit-font-smoothing: antialiased; }
